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.

Xingbin Zhang

dblp:15/1979 · DBLP profile ↗
← Back
7ranked-venue papers
2as first author
0since 2021 · last 2000
0009-0007-5892-6198ORCID · corroborated

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

Systems, architecture and hardware · 4 · 2 first-authorSoftware engineering, systems software and programming languages · 2

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
3 papers
Parallel and multicore computing · 44% Distributed systems · 24% Performance modeling and evaluation · 24%
Software engineering, system software, and programming languages
2 papers
Compilers and program optimization · 57% Programming languages and type systems · 43%

Topics — the 8 heaviest of 9, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Distributed systems
grid computing
0.012000
The MicroGrid: a Scientific Tool for Modeling Computational Grids · SC 2000
Performance modeling and evaluation
simulation
0.012000
The MicroGrid: a Scientific Tool for Modeling Computational Grids · SC 2000
Compilers and program optimization › parallel program optimization
communication optimization
0.011997
Dynamic Pointer Alignment: Tiling and Communication Optimizations for Parallel Pointer-based Computations · PPoPP 1997
Parallel and multicore computing › parallel program transformation
tiling
0.011997
Dynamic Pointer Alignment: Tiling and Communication Optimizations for Parallel Pointer-based Computations · PPoPP 1997
Programming languages and type systems › concurrent programming languages
concurrent object-oriented programming
0.011995
Obtaining Sequential Efficiency for Concurrent Object-Oriented Languages · POPL 1995
Parallel and multicore computing
parallel programming models
0.011995
A Hybrid Execution Model for Fine-Grained Languages on Distributed Memory Multicomputers · SC 1995
Parallel and multicore computing
parallel programming runtimes
0.011995
A Hybrid Execution Model for Fine-Grained Languages on Distributed Memory Multicomputers · SC 1995
Parallel and multicore computing
multicomputer
0.011995
A Hybrid Execution Model for Fine-Grained Languages on Distributed Memory Multicomputers · SC 1995

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

message pipelining · 0.0loop tiling · 0.0communication aggregation · 0.0microbenchmarking · 0.0NAS Parallel Benchmarks · 0.0fine-grained concurrency · 0.0compiler optimization · 0.0
YearPublicationVenuePosition
2000 The MicroGrid: a Scientific Tool for Modeling Computational Grids
abstract
The complexity and dynamic nature of the Internet (and the emerging Computational Grid) demand that middleware and applications adapt to the changes in configuration and availability of resources. However, to the best of our knowledge there are no simulation tools which support systematic exploration of dynamic Grid software (or Grid resource) behavior. We describe our vision and initial efforts to build tools to meet these needs. Our MicroGrid simulation tools enable Globus applications to be run in arbitrary virtual grid resource environments, enabling broad experimentation. We describe the design of these tools, and their validation on micro- benchmarks, the NA parallel benchmarks, and an entire Grid application. These validation experiments show that the MicroGrid can match actual experiments within a few percent (2% to 4%).
Hyo Jung Song, Xianan Liu, Dennis Jakobsen, Ranjita Bhagwan, Xingbin Zhang, Kenjiro Taura, Andrew A. Chien
SC5
1998 Evaluating High Level Parallel Programming Support for Irregular Applications in ICC++
abstract
Object-oriented techniques have been proffered as aids for managing complexity, enhancing reuse, and improving readability of irregular parallel applications. However, as performance is the major reason for employing parallelism, programmability and high performance must be delivered together. Using a suite of seven challenging irregular applications and the mature Illinois Concert system (a high-level concurrent object-oriented programming model) and an aggressive implementation (whole program compilation plus microsecond threading and communication primitives in the runtime), we evaluate what programming efforts are required to achieve high performance. For all seven applications, we achieve performance comparable to the best achievable via low-level programming means on large-scale parallel systems. In general, a high-level concurrent object-oriented programming model supported by aggressive implementation techniques can eliminate programmer management of many concerns – procedure and computation granularity, namespace management, and low-level concurrency management. Our study indicates that these concerns are fully automated for these applications. Decoupling these concerns makes managing the remaining fundamental concerns – data locality and load balance – much easier. In several cases, data locality and load balance for the complex algorithm and pointer data structures is automatically managed by the compiler and runtime, but in general programmer intervention was required. In a few cases, more detailed control is required, specifically explicit task priority, data consistency, and task placement. Our system integrates the expression of such information cleanly into the programming interface. Finally, only small changes to the sequential code were required to express concurrency and performance optimizations, less than 5 per cent of the source code lines were changed in all cases. This bodes well for supporting both sequential and parallel performance in a single code base. © 1998 John Wiley & Sons, Ltd.
Andrew A. Chien, Julian Dolby, Bishwaroop Ganguly, Vijay Karamcheti, Xingbin Zhang
Softw. Pract. Exp.5
1997 Supporting High Level Programming with High Performance: The Illinois Concert Syste
abstract
Programmers of concurrent applications are faced with a complex performance space in which data distribution and concurrency management exacerbate the difficulty of building large, complex applications. To address these challenges, the Illinois Concert system provides a global names-pace, implicit concurrency control and granularity management, implicit storage management, and object oriented programming features. These features are embodied in a language ICC++ (derived from C++) which has been used to build a number of kernels and applications. As high level features can potentially incur overhead, the Concert system employs a range of compiler and runtime optimization techniques to efficiently support the high level programming model. The compiler techniques include type inference, inlining and specialization; and the runtime techniques include caching, prefetching and hybrid stack/heap multithreading. The effectiveness of these techniques permits the construction of complex parallel applications that are flexible, enabling convenient application modification or tuning. We present performance results for a number of application programs which attain good speedups and absolute performance.
Andrew A. Chien, Julian Dolby, Bishwaroop Ganguly, Vijay Karamcheti, Xingbin Zhang
HIPS5
1997 Architectural Adaptation for Application-Specific Locality Optimization
abstract
We propose a machine architecture that integrates programmable logic into key components of the system with the goal of customizing architectural mechanisms and policies to match an application. This approach presents an improvement over the traditional approach of exploiting programmable logic as a separate co-processor by pre-serving machine usability through software and on a traditional computer architecture by providing application-specific hardware. We present two case studies of architectural customization to enhance latency tolerance and efficiently utilize network bisection on multiprocessors for sparse matrix computations. We demonstrate that application-specific hardware and policies can provide substantial improvements in performance on a per application basis. Based on these preliminary results, we propose that an application-driven machine customization provides a promising approach to achieve high performance and combat performance fragility.
Xingbin Zhang, Ali Dasdan, Martin Schulz 0001, Rajesh K. Gupta 0001, Andrew A. Chien
ICCD1
1997 Dynamic Pointer Alignment: Tiling and Communication Optimizations for Parallel Pointer-based Computations
abstract
Loop tiling and communication optimization, such as message pipelining and aggregation, can achieve optimized and robust memory performance by proactively managing storage and data movement. In this paper, we generalize these techniques to pointer-based data structures (PBDSs). Our approach, dynamic pointer alignment (DPA), has two components. The compiler decomposes a program into non-blocking threads that operate on specific pointers and labels thread creation sites with their corresponding pointers. At runtime, an explicit mapping from pointers to dependent threads is updated at thread creation and is used to dynamically schedule both threads and communication, such that threads using the same objects execute together, communication overlaps with local work, and messages are aggregated. We have implemented DPA to optimize remote reads to global PBDSs on parallel machines. Our empirical results on the force computation phases of two applications that use sophisticated PBDSs, Barnes-Hut and FMM, show that DPA achieves good absolute performance and speedups by enabling tiling and communication optimization on the CRAY T3D.
Xingbin Zhang, Andrew A. Chien
PPoPP1
1995 Obtaining Sequential Efficiency for Concurrent Object-Oriented Languages
abstract
Concurrent object-oriented programming (COOP) languages focus the abstraction and encapsulation power of abstract data types on the problem of concurrency control. In particular, pure fine-grained concurrent object-oriented languages (as opposed to hybrid or data parallel) provides the programmer with a simple, uniform, and flexible model while exposing maximum concurrency. While such languages promise to greatly reduce the complexity of large-scale concurrent programming, the popularity of these languages has been hampered by efficiency which is often many orders of magnitude less than that of comparable sequential code. We present a sufficiency set of techniques which enables the efficiency of fine-grained concurrent object-oriented languages to equal that of traditional sequential languages (like C) when the required data is available. These techniques are empirically validated by the application to a COOP implementation of the Livermore Loops.
John Plevyak, Xingbin Zhang, Andrew A. Chien
POPL2
1995 A Hybrid Execution Model for Fine-Grained Languages on Distributed Memory Multicomputers
abstract
While fine-grained concurrent languages can naturally capture concurrency in many irregular and dynamic problems, their flexibility has generally resulted in poor execution effciency. In such languages the computation consists of many small threads which are created dynamically and synchronized implicitly. In order to minimize the overhead of these operations, we propose a hybrid execution model which dynamically adapts to runtime data layout, providing both sequential efficiency and low overhead parallel execution. This model uses separately optimized sequential and parallel versions of code. Sequential efficiency is obtained by dynamically coalescing threads via stack-based execution and parallel efficiency through latency hiding and cheap synchronization using heap-allocated activation frames. Novel aspects of the stack mechanism include handling return values for futures and executing forwarded messages (the responsibility to reply is passed along, like call/cc in Scheme) on the stack. In addition, the hybrid execution model is expressed entirely in C, and therefore is easily portable to many systems. Experiments with function-call intensive programs show that this model achieves sequential efficiency comparable to C programs. Experiments with regular and irregular application kernels on the CM5 and T3D demonstrate that it can yield 1.5to 3 times better performance than code optimized for parallel execution alone.
John Plevyak, Vijay Karamcheti, Xingbin Zhang, Andrew A. Chien
SC3