Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Gengbin Zheng

dblp:87/6971 · DBLP profile ↗
← Back
20ranked-venue papers
4as first author
0since 2021 · last 2020
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 19 · 4 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
7 papers
Parallel and multicore computing · 53% High-performance computing · 25% Interconnection networks and networks-on-chip · 8%
Interdisciplinary, comprehensive, and emerging computing
1 paper
Computational science and engineering · 50% Bioinformatics and computational biology · 50%

Topics — the 16 heaviest of 18, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Parallel and multicore computing
parallel programming models
0.532017
Why is MPI so slow?: analyzing the fundamental limits in implementing MPI-3.1 · SC 2017
Using Migratable Objects to Enhance Fault Tolerance Schemes in Supercomputers · IEEE Trans. Parallel Distributed Syst. 2015
Poster reception - Charm++ simplifies coding for the cell processor · SC 2006
High-performance computing
performance optimization at scale
0.322017
Why is MPI so slow?: analyzing the fundamental limits in implementing MPI-3.1 · SC 2017
NAMD: biomolecular simulation on thousands of processors · SC 2002
Parallel and multicore computing › parallel programming models › message passing
MPI implementation
0.322017
Why is MPI so slow?: analyzing the fundamental limits in implementing MPI-3.1 · SC 2017
Performance evaluation of adaptive MPI · PPoPP 2006
Parallel and multicore computing › parallel programming models
message passing
0.312017
Why is MPI so slow?: analyzing the fundamental limits in implementing MPI-3.1 · SC 2017
Parallel and multicore computing
parallel programming runtimes
0.242011
Enabling and scaling biomolecular simulations of 100 million atoms on petascale machines with a multicore-optimized message-driven runtime · SC 2011
Performance evaluation of adaptive MPI · PPoPP 2006
NAMD: biomolecular simulation on thousands of processors · SC 2002
Distributed systems
fault tolerance
0.212015
Using Migratable Objects to Enhance Fault Tolerance Schemes in Supercomputers · IEEE Trans. Parallel Distributed Syst. 2015
High-performance computing › scientific computing systems
molecular dynamics simulation
0.112012
Optimizing fine-grained communication in a biomolecular simulation application on Cray XK6 · SC 2012
High-performance computing › scientific computing systems
biomolecular simulation
0.112011
Enabling and scaling biomolecular simulations of 100 million atoms on petascale machines with a multicore-optimized message-driven runtime · SC 2011
Parallel and multicore computing › parallel programming runtimes
message-driven runtime
0.112011
Enabling and scaling biomolecular simulations of 100 million atoms on petascale machines with a multicore-optimized message-driven runtime · SC 2011
High-performance computing › supercomputing
exascale computing
0.112015
Using Migratable Objects to Enhance Fault Tolerance Schemes in Supercomputers · IEEE Trans. Parallel Distributed Syst. 2015
Hardware accelerators and domain-specific architectures
accelerator programming models
0.112006
Poster reception - Charm++ simplifies coding for the cell processor · SC 2006
Processor architecture and microarchitecture › chip multiprocessor
cell processor
0.112006
Poster reception - Charm++ simplifies coding for the cell processor · SC 2006
Cloud and datacenter computing › virtualization › resource virtualization
processor virtualization
0.112006
Performance evaluation of adaptive MPI · PPoPP 2006
High-performance computing
parallel i/o
0.012011
Enabling and scaling biomolecular simulations of 100 million atoms on petascale machines with a multicore-optimized message-driven runtime · SC 2011
Bioinformatics and computational biology › molecular informatics › molecular modeling
biomolecular simulation
0.012002
NAMD: biomolecular simulation on thousands of processors · SC 2002
Computational science and engineering › computational chemistry › molecular simulation
molecular dynamics
0.012002
NAMD: biomolecular simulation on thousands of processors · SC 2002

Methods — techniques the papers use, named apart from their topics

instruction-level analysis · 0.3communication stack optimization · 0.3performance modeling · 0.2experimental evaluation · 0.2runtime optimization · 0.1performance analysis · 0.1node-aware optimization · 0.1hierarchical load balancing · 0.1charm++ runtime · 0.1checkpoint/restart · 0.1spatial decomposition · 0.0predictive load balancing · 0.0particle mesh ewald · 0.0
YearPublicationVenuePosition
2020 Minimizing the usage of hardware counters for collective communication using triggered operations
Nusrat S. Islam, Gengbin Zheng, Sayantan Sur, Akhil Langer, María Jesús Garzarán
Parallel Comput.2
2019 Minimizing the usage of hardware counters for collective communication using triggered operations
abstract
Triggered operations and counting events or counters are building blocks that can be used by communication libraries, such as MPI, to offload collective operations to the Host Fabric Interface (HFI) or Network Interface Card (NIC). Triggered operations can be used to schedule a network or arithmetic operation to occur in the future, when a trigger counter reaches a specified threshold. On completion of the operation, the value of a completion counter increases by one. With this mechanism, it is possible to create a chain of dependent operations, so that the execution of an operation is triggered when all its dependent operations have completed its execution.
Nusrat S. Islam, Gengbin Zheng, Sayantan Sur, Akhil Langer, María Jesús Garzarán
EuroMPI2
2017 Why is MPI so slow?: analyzing the fundamental limits in implementing MPI-3.1
abstract
This paper provides an in-depth analysis of the software overheads in the MPI performance-critical path and exposes mandatory performance overheads that are unavoidable based on the MPI-3.1 specification. We first present a highly optimized implementation of the MPI-3.1 standard in which the communication stack---all the way from the application to the low-level network communication API---takes only a few tens of instructions. We carefully study these instructions and analyze the root cause of the overheads based on specific requirements from the MPI standard that are unavoidable under the current MPI standard. We recommend potential changes to the MPI standard that can minimize these overheads. Our experimental results on a variety of network architectures and applications demonstrate significant benefits from our proposed changes.
Kenneth Raffenetti, Abdelhalim Amer, Lena Oden, Charles Archer, Wesley Bland, Hajime Fujita 0002, Yanfei Guo, Tomislav Janjusic, Dmitry Durnov, Michael Blocksome, Min Si, Akhil Langer, Gengbin Zheng, Masamichi Takagi, Paul K. Coffman, Sayantan Sur, Alexander Sannikov, Sergey Oblomov, Michael Chuvelev, Masayuki Hatanaka, Paul F. Fischer, Thilina Ratnayaka, Matthew Otten, Misun Min, Pavan Balaji
SC14
2015 Using Migratable Objects to Enhance Fault Tolerance Schemes in Supercomputers
abstract
Supercomputers have seen an exponential increase in their size in the last two decades. Such a high growth rate is expected to take us to exascale in the timeframe 2018-2022. But, to bring a productive exascale environment about, it is necessary to focus on several key challenges. One of those challenges is fault tolerance. Machines at extreme scale will experience frequent failures and will require the system to avoid or overcome those failures. Various techniques have recently been developed to tolerate failures. The impact of these techniques and their scalability can be substantially enhanced by a parallel programming model called migratable objects. In this paper, we demonstrate how the migratable-objects model facilitates and improves several fault tolerance approaches. Our experimental results on thousands of cores suggest fault tolerance schemes based on migratable objects have low performance overhead and high scalability. Additionally, we present a performance model that predicts a significant benefit of using migratable objects to provide fault tolerance at extreme scale.
Esteban Meneses, Xiang Ni, Gengbin Zheng, Celso L. Mendes, Laxmikant V. Kalé
IEEE Trans. Parallel Distributed Syst.3
2014 Scaling the ISAM Land Surface Model through Parallelization of Inter-component Data Transfer
abstract
We present the progression of developments necessary to scale the ISAM landsurface model from single nodes and small clusters with unusually largeper-node memory to much larger systems with more common configurations. These efforts include load balancing, conventional library-based output parallelization to reduce memory load, and parallel-in-time data input. On Hopper, a Cray XE6 machine, the result was strong scaling from 256 cores to 16k coreswith an efficiency of 32.9%. On Edison, a Cray XC30 machine, the code strong scales from 256 cores to 16k cores with an efficiency of 51.4%. These large-scale gains, and the associated performance increases at smaller scale, enable greater scientific productivity for the users of ISAM and open the possibilities of increased resolution in time and space and greater physical fidelity for the simulated processes while remaining computationally feasible.
Phil Miller, Michael P. Robson, Bassil El-Masri, Rahul Barman, Gengbin Zheng, Atul Jain, Laxmikant V. Kalé
ICPP5
2013 Communication and topology-aware load balancing in Charm++ with TreeMatch
abstract
Programming multicore or manycore architectures is a hard challenge particularly if one wants to fully take advantage of their computing power. Moreover, a hierarchical topology implies that communication performance is heterogeneous and this characteristic should also be exploited. We developed two load balancers for Charm++ that take into account both aspects, depending on the fact that the application is compute-bound or communication-bound. This work is based on our TREEMATCH library that computes process placement in order to reduce an application communication costs based on the hardware topology. We show that the proposed load-balancing schemes manage to improve the execution times for the two aforementioned classes of parallel applications.
Emmanuel Jeannot, Esteban Meneses, Guillaume Mercier, Francois Tessier, Gengbin Zheng
CLUSTER5
2012 Automated Load Balancing Invocation Based on Application Characteristics
abstract
Performance of applications executed on large parallel systems suffer due to load imbalance. Load balancing is required to scale such applications to large systems. However, performing load balancing incurs a cost which may not be known a priori. In addition, application characteristics may change due to its dynamic nature and the parallel system used for execution. As a result, deciding when to balance the load to obtain the best performance is challenging. Existing approaches put this burden on the users, who rely on educated guess and extrapolation techniques to decide on a reasonable load balancing period, which may not be feasible and efficient. In this paper, we propose the Meta-Balancer framework which relieves the application programmers of deciding when to balance load. By continuously monitoring the application characteristics and using a set of guiding principles, Meta-Balancer invokes load balancing on its own without any prior application knowledge. We demonstrate that Meta-Balancer improves or matches the best performance that can be obtained by fine tuning periodic load balancing. We also show that in some cases Meta-Balancer improves performance by 18% whereas periodic load balancing gives only a 1.5% benefit.
Harshitha Menon, Gengbin Zheng, Laxmikant V. Kalé
CLUSTER3
2012 A uGNI-based Asynchronous Message-driven Runtime System for Cray Supercomputers with Gemini Interconnect
abstract
Gemini, the network for the new Cray XE/XK systems, features low latency, high bandwidth and strong scalability. Its hardware support for remote direct memory access enables efficient implementation of the global address space programming languages. Although the user Generic Network Interface (uGNI) provides a low-level interface for Gemini with support to the message-passing programming model (MPI), it remains challenging to port alternative programming models with scalable performance. CHARM++ is an object-oriented message-driven programming model. Its applications have been shown to scale up to the full Jaguar Cray XT machine. In this paper, we present an implementation of this programming model on uGNI for the Cray XE/XK systems. Several techniques are presented to exploit the uGNI capabilites by reducing memory copy and registration overhead, taking advantage of the persistent communication, and improving intra-node communication. Our microbenchmark results demonstrate that the uGNI-based runtime system outperforms the MPI-based implementation by up to 50% in terms of message latency. For communication intensive applications such as N-Queens, this implementation scales up to 15, 360 cores of a Cray XE6 machine and is 70% faster than the MPI-based implementation. In molecular dynamics application NAMD, the performance is also considerably improved by as much as 18%.
Yanhua Sun, Gengbin Zheng, Laximant V. Kalé, Terry R. Jones, Ryan Olson
IPDPS2
2012 Optimizing fine-grained communication in a biomolecular simulation application on Cray XK6
abstract
Achieving good scaling for fine-grained communication intensive applications on modern supercomputers remains challenging. In our previous work, we have shown that such an application -- NAMD -- scales well on the full Jaguar XT5 without long-range interactions; Yet, with them, the speedup falters beyond 64K cores. Although the new Gemini interconnect on Cray XK6 has improved network performance, the challenges remain, and are likely to remain for other such networks as well. We analyze communication bottlenecks in NAMD and its CHARM++ runtime, using the Projections performance analysis tool. Based on the analysis, we optimize the runtime, built on the uGNI library for Gemini. We present several techniques to improve the fine-grained communication. Consequently, the performance of running 92224-atom Apoa1 with GPUs on TitanDev is improved by 36%. For 100-million-atom STMV, we improve upon the prior Jaguar XT5 result of 26 ms/step to 13 ms/step using 298,992 cores on Jaguar XK6.
Yanhua Sun, Gengbin Zheng, Eric J. Bohm, James C. Phillips, Laximant V. Kalé, Terry R. Jones
SC2
2011 Simulation-Based Performance Analysis and Tuning for a Two-Level Directly Connected System
abstract
Hardware and software co-design is becoming increasingly important due to complexities in supercomputing architectures. Simulating applications before there is access to the real hardware can assist machine architects in making better design decisions that can optimize application performance. At the same time, the application and runtime can be optimized and tuned beforehand. BigSim is a simulation-based performance prediction framework designed for these purposes. It can be used to perform packet-level network simulations of parallel applications using existing parallel machines. In this paper, we demonstrate the utility of BigSim in analyzing and optimizing parallel application performance for future systems based on the PERCS network. We present simulation studies using benchmarks and real applications expected to run on future supercomputers. Future petascale systems will have more than 100,000 cores, and we present simulations at that scale.
Ehsan Totoni, Abhinav Bhatele, Eric J. Bohm, Celso L. Mendes, Ryan M. Mokos, Gengbin Zheng, Laxmikant V. Kalé
ICPADS7
2011 Automatic Handling of Global Variables for Multi-threaded MPI Programs
abstract
Conventional implementations of the MPI standard tend to associate one MPI process per processor, which limits their support for modern multi-core platforms. An increasingly popular approach is to combine MPI with threads where MPI "processes" are light-weight threads. Global variables in legacy MPI applications, however, present a challenge because they may be accessed by multiple MPI threads simultaneously. Thus, transforming legacy MPI applications to become thread-safe in such MPI execution environments requires proper handling of global variables. In this paper, we present three approaches to automatically eliminate global variables to ensure thread-safety for an MPI program. These approaches include: (a) a compiler-based refactoring technique, using a Photran-based tool as an example, which automates the source-to-source transformation for programs written in Fortran, (b) a technique based on a global offset table (GOT); and (c) a technique based on thread local storage (TLS). The second and third methods automatically detect global variables and privatize them for each thread at runtime. We discuss the advantages and disadvantages of these approaches and compare their performance using both synthetic benchmarks, such as the NAS Benchmarks, and a real scientific application, the FLASH code.
Gengbin Zheng, Stas Negara, Celso L. Mendes, Laxmikant V. Kalé, Eduardo Rocha Rodrigues
ICPADS1
2011 Enabling and scaling biomolecular simulations of 100 million atoms on petascale machines with a multicore-optimized message-driven runtime
abstract
A 100-million-atom biomolecular simulation with NAMD is one of the three benchmarks for the NSF-funded sustainable petascale machine. Simulating this large molecular system on a petascale machine presents great challenges, including handling I/O, large memory footprint and getting good strong-scaling results. In this paper, we present parallel I/O techniques to enable the simulation. A new SMP model is designed to efficiently utilize ubiquitous wide multicore clusters by extending the Charm++ asynchronous message-driven runtime. We exploit node-aware techniques to optimize both the application and the underlying SMP runtime. Hierarchical load balancing is further exploited to scale NAMD to the full Jaguar PF Cray XT5 (224,076 cores) at Oak Ridge National Laboratory, both with and without PME full electrostatics, achieving 93% parallel efficiency (vs 6720 cores) at 9 ms per step for a simple cutoff calculation. Excellent scaling is also obtained on 65,536 cores of the Intrepid Blue Gene/P at Argonne National Laboratory.
Yanhua Sun, Gengbin Zheng, Eric J. Bohm, Laxmikant V. Kalé, James C. Phillips, Chris Harrison 0001
SC3
2010 Simulating Large Scale Parallel Applications Using Statistical Models for Sequential Execution Blocks
abstract
Predicting sequential execution blocks of a large scale parallel application is an essential part of accurate prediction of the overall performance of the application. When simulating a future machine, or a prototype system only available at a small scale, it becomes a significant challenge. Using hardware simulators may not be feasible due to excessively slowed down execution times and insufficient resources. The difficulty of these challenges increases proportionally with the scale of the simulation. In this paper, we propose an approach based on statistical models to accurately predict the performance of the sequential execution blocks that comprise a parallel application. We deployed these techniques in a trace-driven simulation framework to capture both the detailed behavior of the application as well as the overall predicted performance. The technique is validated using both synthetic benchmarks and the NAMD application.
Gengbin Zheng, Gagan Raj Gupta 0001, Eric J. Bohm, Isaac Dooley, Laxmikant V. Kalé
ICPADS1
2008 Overcoming scaling challenges in biomolecular simulations across multiple platforms
abstract
NAMD is a portable parallel application for biomolecular simulations. NAMD pioneered the use of hybrid spatial and force decomposition, a technique now used by most scalable programs for biomolecular simulations, including Blue Matter and Desmond developed by IBM and D. E. Shaw respectively. NAMD has been developed using Charm++ and benefits from its adaptive communication-computation overlap and dynamic load balancing. This paper focuses on new scalability challenges in biomolecular simulations: using much larger machines and simulating molecular systems with millions of atoms. We describe new techniques developed to overcome these challenges. Since our approach involves automatic adaptive runtime optimizations, one interesting issue involves dealing with harmful interaction between multiple adaptive strategies. NAMD runs on a wide variety of platforms, ranging from commodity clusters to supercomputers. It also scales to large machines: we present results for up to 65,536 processors on IBM’s Blue Gene/L and 8,192 processors on Cray XT3/XT4. In addition, we present performance results on NCSA’s Abe, SDSC’s DataStar and TACC’s LoneStar cluster, to demonstrate efficient portability. We also compare NAMD with Desmond and Blue Matter.
Abhinav Bhatele, Sameer Kumar 0001, James C. Phillips, Gengbin Zheng, Laxmikant V. Kalé
IPDPS5
2006 Performance evaluation of adaptive MPI
abstract
Processor virtualization via migratable objects is a powerful technique that enables the runtime system to carry out intelligent adaptive optimizations like dynamic resource management. CHARM++ is an early language/system that supports migratable objects. This paper describes Adaptive MPI (or AMPI), an MPI implementation and extension, that supports processor virtualization. AMPI implements virtual MPI processes (VPs), several of which may be mapped to a single physical processor. AMPI includes a powerful runtime support system that takes advantage of the degree of freedom afforded by allowing it to assign VPs onto processors. With this runtime system, AMPI supports such features as automatic adaptive overlapping of communication and computation, automatic load balancing, flexibility of running on arbitrary number of processors, and checkpoint/restart support. It also inherits communication optimization from CHARM++ framework. This paper describes AMPI, illustrates its performance benefits through a series of benchmarks, and shows that AMPI is a portable and mature MPI implementation that offers various performance benefits to dynamic applications.
Chao Huang 0029, Gengbin Zheng, Laxmikant V. Kalé, Sameer Kumar 0001
PPoPP2
2006 Poster reception - Charm++ simplifies coding for the cell processor
abstract
While the Cell processor, jointly developed by IBM, Sony, and Toshiba, has great computational power, it also presents many challenges including portability and ease of programming. We have been adapting the Charm++ Runtime System to utilize the Cell. We believe that the Charm++ model fits well with the Cell for many reasons: encapsulation of data, effective prefetching, the ability to peak ahead in message queues, virtualization, etc. To these ends, we have developed the Offload API (an independent code) which allows Charm++ applications to easily take advantage of the Cell. Our goal is to allow Charm++ programs to run on Cell-based and non-Cell-based platforms without modification to application code. Example Charm++ programs using the Offload API already exist. We have also begun modifying NAMD, a popular molecular dynamics code, to use the Cell. In this poster, we plan to present current progress and future plans for this work.
David M. Kunzman, Gengbin Zheng, Eric J. Bohm, James C. Phillips, Laxmikant V. Kalé
SC2
2006 Scaling applications to massively parallel machines using Projections performance analysis tool
Laxmikant V. Kalé, Gengbin Zheng, Chee Wai Lee, Sameer Kumar 0001
Future Gener. Comput. Syst.2
2004 FTC-Charm++: an in-memory checkpoint-based fault tolerant runtime for Charm++ and MPI
abstract
As high performance clusters continue to grow in size, the mean time between failures shrinks. Thus, the issues of fault tolerance and reliability are becoming one of the challenging factors for application scalability. The traditional disk-based method of dealing with faults is to checkpoint the state of the entire application periodically to reliable storage and restart from the recent checkpoint. The recovery of the application from faults involves (often manually) restarting applications on all processors and having it read the data from disks on all processors. The restart can therefore take minutes after it has been initiated. Such a strategy requires that the failed processor can be replaced so that the number of processors at checkpoint-time and recovery-time are the same. We present FTC-Charms ++, a fault-tolerant runtime based on a scheme for fast and scalable in-memory checkpoint and restart. At restart, when there is no extra processor, the program can continue to run on the remaining processors while minimizing the performance penalty due to losing processors. The method is useful for applications whose memory footprint is small at the checkpoint state, while a variation of this scheme - in-disk checkpoint/restart can be applied to applications with large memory footprint. The scheme does not require any individual component to be fault-free. We have implemented this scheme for Charms++ and AMPI (an adaptive version of MPl). This work describes the scheme and shows performance data on a cluster using 128 processors.
Gengbin Zheng, Lixia Shi, Laxmikant V. Kalé
CLUSTER1
2004 BigSim: A Parallel Simulator for Performance Prediction of Extremely Large Parallel Machines
abstract
Summary form only given. We present a parallel simulator - BigSim - for predicting performance of machines with a very large number of processors. The simulator provides the ability to make performance predictions for machines such as BlueGene/L, based on actual execution of real applications. We present this capability using case-studies of some application benchmarks. Such a simulator is useful to evaluate the performance of specific applications on such machines even before they are built. A sequential simulator may be too slow or infeasible. However, a parallel simulator faces problems of causality violations. We describe our scheme based on ideas from parallel discrete event simulation and utilize inherent determinacy of many parallel applications. We also explore techniques for optimizing such parallel simulations of machines with large number of processors on existing machines with fewer number of processors.
Gengbin Zheng, Gunavardhan Kakulapati, Laxmikant V. Kalé
IPDPS1
2002 NAMD: biomolecular simulation on thousands of processors
abstract
NAMD is a fully featured, production molecular dynamics program for high performance simulation of large biomolecular systems. We have previously, at SC2000, presented scaling results for simulations with cutoff electrostatics on up to 2048 processors of the ASCI Red machine, achieved with an object-based hybrid force and spatial decomposition scheme and an aggressive measurement-based predictive load balancing framework. We extend this work by demonstrating similar scaling on the much faster processors of the PSC Lemieux Alpha cluster, and for simulations employing efficient (order N log N) particle mesh Ewald full electrostatics. This unprecedented scalability in a biomolecular simulation code has been attained through latency tolerance, adaptation to multiprocessor nodes, and the direct use of the Quadrics Elan library in place of MPI by the Charm++/Converse parallel runtime system.
James C. Phillips, Gengbin Zheng, Sameer Kumar 0001, Laxmikant V. Kalé
SC2