RESUME

PERSONAL DATA

Name: Zhang, Guansong  Date of Birth: Dec., 1967
Email: zgs@npac.syr.edu  Tel: (315)-443-3872
Homepage: http://www.npac.syr.edu/users/zgs

FIELDS OF INTEREST

Parallel and distribute processing, client-server application. A strong background on parallel programming and parallelizing compiler, which will help to bring the power of super computer to desktop for a variety kinds of computations.

EDUCATION

  1. 1990-1995: Ph.D. Dept. of Computer Science and Engineering. Graduate School of Harbin Institute of Technology. Specialty: Computer Organization and Architecture
  2. 1986-1990: BS degree.  Dept. of Computer Science and Engineering. Harbin Institute of Technology. Specialty: Computer Science and Application


COMPUTER SKILLS

  1. Programming languages: Java, C/C++, Fortran, HPF, Perl, Pascal and various scripting languages. The latest Java project, HPJava compiler, includes around 40K lines of Java code. The previous project, a 100K line system in C and C++.
  2. Parallel and distribute processing: MPI and client-server application. These includes classic parallel applications with MPI programming, multi-thread client-server application with socket communication and Java AWT interface.
  3. Software development tools: autoconf, cvs. A team developer on multi platforms. In charge of software packaging, branch and version control, involving programmers around the world.
  4. Cross platform development: Windows NT and UNIX, including major Unix system such as IBM AIX SP2, DEC OSF Alpha farm, SGI IRIX Challenge, SUN Solaris cluster, and Linux.
  5. Compiler tools: lex, yacc, and javacc.
  6. Other: HTML, DBASE, and PC assembly language.


RESEARCH WORK

1995-1999: at NPAC

  1. Principle designer. HPJava language design. HPJava introduces a high level structured SPMD programming model, which is funded by NSF. It is a parallel language for programming on distributed memory system based on message passing. The basic idea is to provides global name space and collective communications, which will help programmers write programs with high level construct similar to HPF, yet have full accesses to low level communication libraries, such as MPI.
  2. Project leader. HPJava compiler, the first compiler for HPJava language. It incorporates the latest Java techniques, such as JavaCC, JTB, and uses practice-proved design patterns, such as "visitor", "factory" and "wrapper". The compiler enables the object-oriented Java language to provide a new distributed array type for data across multiprocessors.
  3. Release and package manager. MPI Java binding: With JNI interface, MPI library (including MPICH MPI, SUN HPC MPI and Windows WMPI), is wrapped with an object-oriented Java interface.
  4. PCRC run-time library. Design and implement Java interface for C++ run-time library, which provides data descriptors and collective communication functions in "structured SPMD" programming model. The library is also based on JNI interface.
  5. Project leader. PCRC NPAC HPF compiler, a HPF compiler based on run-time support. It has touched the basic language features such as data alignment, distribution and inherit-directive in procedure. A new detecting communication algorithm is designed and implemented. The preliminary benchmark results show that the system out-performances commercial HPF compilers.
  6. Project leader. frontEnd system, a programming language development environment, including HPF 2.0, Java 1.1 parser, and extended Sage++ class library, auto-configured and tested on 6 UNIX platforms. The system has been successfully used as NPAC HPF compiler developing tools, and other research groups.
1989-1995: in college
  1. Compiler development: Fortran D prototype implementation, a compilation system, aimed at workstation cluster.
  2. Parallel programming analyses for system efficiency and speedup, programming in simulation tools to evaluate performance of different algorithms.
  3. System software development for ABC-90, an array based SIMD computer.
  4. Interconnection network: design and implement the interconnection network for non-conflict access of array vectors.
TEACHING EXPERIENCE
  1. August, 1994-June, 1995 Assistant in the graduate program for MS degree
  2. March, 1994-June, 1994 Assistant in the undergraduate projects.
  3. March, 1992-June, 1992 Assistant in the undergraduate projects.


IMPORTANT PAPERS

  1. Guansong Zhang, Bryan Carpenter, Geoffrey Fox, Xinying Li, and Yuhong Wen. The HPspmd model and its Java Binding, November 1998. To appear in "Cluster Computing", published by Prentice Hall.
  2. Guansong Zhang, Bryan Carpenter, Geoffrey Fox, Xinying Li, and Yuhong Wen. Considerations in HPJava language design and implementation. In 11th International Workshop on Languages and Compilers for Parallel Computing, August 1998.
  3. Guansong Zhang, Bryan Carpenter, Geoffrey Fox, Xinying Li, and Yuhong Wen. A high level SPMD programming model: HPspmd and its Java language binding. In International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA'98), July 1998.
  4. Guansong Zhang, Bryan Carpenter, Geoffrey Fox Xiaoming Li, Xinying Li, Yuhong Wen, "PCRC-based HPF compilation", In 10th International Workshop on Languages and Compilers for Parallel Computing, 1997.
  5. "HPFfe: a Front end for HPF", NPAC, SU, technical report, SCCS-771, 1996
  6. "Barrier Synchronization and Pipeline Synchronization in Distributed Memory Machines", Science Bulletin, 1996
  7. "Partitioning Data Parallel Program for Workstation Cluster", Ph.D. thesis, Harbin Institute of Technology., 1995
  8. "Predicting Execution Time of Parallel Program Based on Simulation Software", Chinese Journal on Computers., 1995
  9. "Analysis of Interconnection Functions Needed for a New Nonlinear Skewing Scheme", Chinese Journal on Computers., 1994
  10. "Software System for ABC-90jr., an Array Based Computer", IEEE TENCON'93, 1993