Jie Chen

Senior Computer Scientist

Postal Address E-mail Address
12000, Jefferson Ave.
Suite 3
Thomas Jefferson National Accelerator Facility
Newport News, VA 23606 chen@jlab.org
(757)269-5046 (757)269-6248


I am working in the scientific computing department of Computational Sciences and Technology (CST) Division at Thomas Jefferson National Accelerator Facility (Jefferson Lab) (formerly known as CEBAF). I am currently leading the Computer/Computational Science group and involved in the development of high performance Lattice QCD software systems, design and management of scientific computing and data clusters. In addition, I have extensive experience in design and implementation of distributed system such as Jefferson Lab accelerator control system and data acquisition system.

I specialize in these technologies:

Parallel software development on GPUs including GPU kernels.
High performance tensor contractions and tensor permutations on multi-core CPUs and GPUs.
Multi-threaded software development on multi-core processors.
Parallel computing message passing software development.
Inter networking device driver development and user level communication technology.
High performance computing cluster design and management.
Computer cryptography software (SSL, X509 and PKCS).
Object-oriented design, analysis and development
Concurrent (multi-threaded) network server/client development
Software development for realtime/embedded system.
C++, C, Python, Java, CUDA, ROCm, MPI, OpenMP, OpenCL, Linux, UNIX, VxWorks and Windows.

Major Software:

Redstar for LQCD: A LQCD analysis software suite developed with the Jefferson Lab theory center to calculate correlation functions utilizing novel graph contraction method.

Hadron Contraction for LQCD: A highly performant hadron (multi-layer tensor) contraction library on GPUs and multi-core CPUs.

LQCD FileDB: A file based database implementation using dynamic hash algorithm to allow fast key/data pair retrieval. This implementation allows a huge data item (upto 48 TB) stored under one key and also reduces disk usage compared to some traditional dynamic hash implementations such as Berkeley DB.

QMT: QCD Multi-Threading Library. QMT is a light weight multi-threading library for Lattice QCD calculations. It utilizes an optimized barrier algorithm and very low overhead locking primitives on x86 architecture to deliver performance better than some of the best OpenMP compilers can offer.

QMP: QCD Message Passing . QMP is a light weight message passing system designed for Lattice QCD calculations on various computing platforms. Currently there are 2 C implementations available: QMP over MPICH, and QMP over M-VIA for a meshed Gigabit Ethernet network architecture. The MVIA is a local enhanced version based on M-VIA version 1.2. This version offers hardware and software checksum capabilities. A new version for Linux kernel 2.6 is also available.

JPARSS: Java Parallel Secure Socket (Stream). JPARSS is a pure java package that divides data into partitions that are sent over several parallel Java streams simultaneously and allows Java and Web applications to achieve optimal bandwidth in a grid computing environment. The package offers several derived classes from java.net.In(Out)putStream and java.net.Socket so that applications can utilize this package easily. In addition SSL based user authentications and SSL connections are integrated into this package. Finally several applications including a parallel file transfer engine that enables peer-to-peer and 3rd party transfers are provided.

CMLOG: A Common Message Logging System. CMLOG is a multi-threaded network server which can log/retrieve arbitrary type data from a high performance database. CMLOG server runs on a Unix host, and its client can run on either Unix or VxWorks. In addition, CMLOG browser can display real-time logging data or review data from database. See cmlog documentation in pdf or ps format. Also a cmlog paper presented at icalepcs97 conference.Also: snap shots of a Motif browser. Currently the CMLOG system is being used at several sites including SLAC, BNL, BESSY, JLAB and others.

CDEV: An Object-Oriented Class Library for Developing Device Control Applications. CDEV is an evolving standard interface to accelerator control systems, and has been adopted as such by TJNAF (CEBAF), SLAC, BESSY, PSI, and being evaluated by number of sites including CERN. In other words, CDEV is a concurrent network client dispatcher working with multiple network servers. See Paper at icalepcs95 conference.

A network resource discovery and management software.

Multi-threaded network Run Control Server/Client for CODA.

Graphical editor for network configuration. See a snap shot

Motif display of structured physics event. Snap shot.

Using CDEV as communication layer inside medm.

A Motif plotting package that displays device attributes against their s-coordinates.