Jie Chen's Home Page
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.
Run Control Server:
- Asynchronous network communication protocol.
- Multi-threaded design and implementation.
-
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.