|
James C. Hu
|
jxh@yahoo.com
http://www.ungerhu.com/jxh/
|
|
|
Objective
Pursue research interests in the development of high performance
distributed systems.
|
|
|
Technical Skills
|
Distributed and System Software Architecture,
Object-Oriented Design, C and C++ Programming,
Multi-threaded Programming, UNIX and POSIX Programming,
Network Programming with Sockets, Formal Specification,
Formal Verification, System Administration, BSD Kernel,
Technical Writing
|
|
Experience
|
- Brocade, July 2002 - Present
- Staff Software Engineer
July 2002 - May 2003
Member of Core Services Team. Team technical lead
for the V-Switch product. Area technical lead for
the high port count switch product. Team technical
lead for the scalability effort.
Collaborated in the design of a scalable zone database
merge protocol. Implemented a stream based IPC API
to reduce latency of first byte of output.
June 2003 - Present
Member of Fabric Infrastructure Team. Co-lead
of the Management Server daemon. Designed an
asynchronous state machine for the management
server and implemented a prototype. Implemented
build infrastructure to facilitate the bring-up of
the software system on new hardware platforms.
Participated in the development of the FICON feature
of the switch software. Owner of the logical path
database implementation and link control functionality.
Assumed ownership of other SB3 functionality when
the original implementor was reallocated to a different
project. Designed a fairness algorithm for concurrent
handling of multiple channel devices.
- Cacheflow, December 2000 - July 2002
- Principal Engineer
February 2002 - July 2002
Contributor to HTTP Application Group. Responsible
for specification, design, and implementation of
SOCKSv4/4a/5 proxy server. Applied object-oriented
multi-threaded design. Implementation in C++.
Target platform is a proprietary embedded OS
(CacheOS).
October 2001 - February 2002
Responsible for research, analysis, design, and
implementation of software prototypes. Provided
engineering support to various projects.
December 2000 - October 2001
Team and technical lead for Web Protocols and
Application Services group with 5 members.
Architect for UNIX kernel HTTP proxy cache and user
space plugin framework. Designed and implemented
state machine framework. Applied object-oriented
design patterns. Implementation in C. Partitioned
work and assigned projects to team members, and
helped track their progress. Wrote detailed
functional specifications and design documents.
Established software development process. Enforced
process through code review. Tracked defects.
- Entera, August 1998 - December 2000
- Principal Engineer
April 2000 - December 2000
Project lead for the Advanced Agent Framework
project. Architected, designed, and implemented
a new multi-threaded software framework to solve
specific performance problems in the existing
HTTP proxy cache implementation. Guided team
of 3 members toward a new HTTP proxy cache
implemtation. Prototype showed a 15% performance
improvement while using only 5 threads. The
existing implementation required hundreds of
threads.
August 1998 - December 2000
Team leader for the HTTP proxy agent. Maintained
a multi-threaded HTTP proxy cache application
on Solaris 2.7. Implemented critical features
escalated from customer support, including support
for range requests and SSL tunnels. Provided
assistance in the use of C++, ACE and design
patterns. Involved in hiring process.
- Washington University in Saint Louis, MO
Distributed Object Computing Laboratory
- Research Assistant, 1996-1998
MDA Fellow, 1997-1998
Doctoral Candidate,
Dr. Douglas C. Schmidt, Advisor,
1997-1998
Doctoral Student,
Dr. Douglas C. Schmidt, Advisor,
1996-1997
The research focused on studying optimization
strategies for high performance Web servers
over high speed networks. Demonstrated that
optimal performance can be achieved by developing
Web servers that can adapt their concurrency
strategies, I/O, caching, and protocol handling to
changing conditions.
- Washington University in Saint Louis, MO
Computer Visualization Laboratory
- System Administrator, 1994-1996
Research Assistant, 1993-1996
Doctoral Student,
Dr. Catalin Roman, Advisor,
1993-1996
Siemens Fellow, 1995-1996
Research activities focused on developing a
methodology that allows the construction of large
distributed systems by a discipline of composing
together reliable components following a set of
simple rules. The work is directed toward systems
whose control and communication structure is
isomorphic with its physical organization. It is
conjectured that such systems provide intuitive
boundaries along which decomposition can be applied
to create subsystems, and that these subsystems can
later be reconnected in a compositional fashion to
create arbitrary instances of the application.
|
|
Education
|
- Doctoral Candidate in Computer Science, 1995-1998 (ABD)
- Washington University in Saint Louis, MO
- M.S. in Computer Science, May 1995,
- Washington University in Saint Louis, MO
- B.S. in Mathematics and Computer Science, May 1992
- Kansas State University, Manhattan, KS
|
|
Research Interests
|
Object-Oriented Design, Client-Server Performance Optimizations,
Dynamic Software Adaptation, Static Software Adaptation,
High Performance Web Systems,
Adaptation in Web System Design, Design Patterns,
Reusable Software Components, Formal Design Methods,
Compositional Correctness
|
|
Selected Publications
|
- Developing Flexible and High-performance Web Servers with
Frameworks and Patterns, with Douglas C. Schmidt, in
ACM Computing Surveys, Vol. 32, Issue 1es,
Mohamed E. Fayad ed., March 2000.
- JAWS: A Framework for High-performance Web
Servers, with Douglas C. Schmidt, in Domain-Specific
Application Frameworks: Frameworks Experience by Industry,
Mohamed E. Fayad ed., John Wiley & Sons, 1999.
- Techniques for Developing and Measuring High-Performance Web
Servers over ATM Networks, with Sumedh Mungee and
Douglas C. Schmidt, in Proceedings of the IEEE
INFOCOM '98, April 1998.
- Measuring the Impact of Event Dispatching and Concurrency
Models on Web Server Performance over High-speed
Networks, with Irfan Pyarali and Douglas C. Schmidt,
in Proceedings of the IEEE GLOBECOM '97,
November 1997.
|
|
References
|
Available upon request.
|