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

Jarek Nieplocha

dblp:53/1812 · DBLP profile ↗
← Back
47ranked-venue papers
10as first author
0since 2021 · last 2010
—ORCID · none

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

Systems, architecture and hardware · 45 · 10 first-authorTheory of computation · 1

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
12 papers
Parallel and multicore computing · 36% High-performance computing · 20% Storage systems · 14%
Interdisciplinary, comprehensive, and emerging computing
3 papers
Bioinformatics and computational biology · 52% Computational science and engineering · 48%

Topics — the 30 heaviest of 35, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Parallel and multicore computing
parallel programming models
0.142006
M12 - Overview of the global arrays parallel software development toolkit · SC 2006
Optimizing All-to-All Collective Communication by Exploiting Concurrency in Modern Networks · SC 2005
Global arrays: a portable "shared-memory" programming model for distributed memory computers · SC 1994
Parallel and multicore computing › load balancing
dynamic load balancing
0.112009
Scalable work stealing · SC 2009
Parallel and multicore computing › load balancing › dynamic load balancing
work stealing
0.112009
Scalable work stealing · SC 2009
Parallel and multicore computing › parallel programming models › distributed memory programming models
global address space programming
0.122006
M12 - Overview of the global arrays parallel software development toolkit · SC 2006
Data management and query - Hypergraph partitioning for automatic memory hierarchy management · SC 2006
Distributed systems › distributed communication
remote memory access
0.122006
Blue Gene system software - Design and implementation of a one-sided communication interface for the IBM eServer Blue Gene® supercomputer · SC 2006
Shared Memory NUMA Programming on I-WAY · HPDC 1996
Storage systems › file systems › distributed file system
parallel file system
0.122007
Evaluation of active storage strategies for the lustre parallel file system · SC 2007
An out-of-core implementation of the COLUMBUS massively-parallel multireference configuration interaction program · SC 1998
Storage systems › computational storage
active storage
0.112007
Evaluation of active storage strategies for the lustre parallel file system · SC 2007
High-performance computing › scientific data analysis
in-situ analysis
0.112007
Evaluation of active storage strategies for the lustre parallel file system · SC 2007
Cloud and datacenter computing › datacenter architecture
storage-compute integration
0.112007
Evaluation of active storage strategies for the lustre parallel file system · SC 2007
Bioinformatics and computational biology
sequence alignment
0.112006
ScalaBLAST: A Scalable Implementation of BLAST for High-Performance Data-Intensive Bioinformatics Analysis · IEEE Trans. Parallel Distributed Syst. 2006
High-performance computing
distributed memory systems
0.112006
ScalaBLAST: A Scalable Implementation of BLAST for High-Performance Data-Intensive Bioinformatics Analysis · IEEE Trans. Parallel Distributed Syst. 2006
Memory systems › memory bandwidth
memory bandwidth optimization
0.112006
Blue Gene system software - Design and implementation of a one-sided communication interface for the IBM eServer Blue Gene® supercomputer · SC 2006
Memory systems › memory hierarchy
memory hierarchy management
0.112006
Data management and query - Hypergraph partitioning for automatic memory hierarchy management · SC 2006
Parallel and multicore computing › parallel computing › parallel communication
one-sided communication
0.112006
Blue Gene system software - Design and implementation of a one-sided communication interface for the IBM eServer Blue Gene® supercomputer · SC 2006
Interconnection networks and networks-on-chip › network topology
torus network
0.112006
Blue Gene system software - Design and implementation of a one-sided communication interface for the IBM eServer Blue Gene® supercomputer · SC 2006
Computational science and engineering
computational chemistry
0.122005
Multilevel Parallelism in Computational Chemistry using Common Component Architecture and Global Arrays · SC 2005
Global arrays: a portable "shared-memory" programming model for distributed memory computers · SC 1994
Interconnection networks and networks-on-chip › interprocessor communication
all-to-all communication
0.112005
Optimizing All-to-All Collective Communication by Exploiting Concurrency in Modern Networks · SC 2005
High-performance computing
collective communication
0.112005
Optimizing All-to-All Collective Communication by Exploiting Concurrency in Modern Networks · SC 2005
High-performance computing
parallel i/o
0.022006
Distant I/O: One-Sided Access to Secondary Storage on Remote Processors · HPDC 1998
ScalaBLAST: A Scalable Implementation of BLAST for High-Performance Data-Intensive Bioinformatics Analysis · IEEE Trans. Parallel Distributed Syst. 2006
Parallel and multicore computing › parallel programming models
shared-memory parallelization
0.021998
Shared Memory NUMA Programming on I-WAY · HPDC 1996
An out-of-core implementation of the COLUMBUS massively-parallel multireference configuration interaction program · SC 1998
Storage systems › file systems › distributed file system › parallel file system
lustre file system
0.012007
Evaluation of active storage strategies for the lustre parallel file system · SC 2007
Parallel and multicore computing › parallel programming runtimes
active messages
0.011998
Distant I/O: One-Sided Access to Secondary Storage on Remote Processors · HPDC 1998
Storage systems
out-of-core computation
0.011998
An out-of-core implementation of the COLUMBUS massively-parallel multireference configuration interaction program · SC 1998
Storage systems › networked storage › remote storage
remote storage access
0.011998
Distant I/O: One-Sided Access to Secondary Storage on Remote Processors · HPDC 1998
High-performance computing
scientific computing systems
0.011998
An out-of-core implementation of the COLUMBUS massively-parallel multireference configuration interaction program · SC 1998
Memory systems › cache › prefetching
data prefetching
0.012006
ScalaBLAST: A Scalable Implementation of BLAST for High-Performance Data-Intensive Bioinformatics Analysis · IEEE Trans. Parallel Distributed Syst. 2006
Parallel and multicore computing › parallelization strategies
multi-level parallelism
0.012006
ScalaBLAST: A Scalable Implementation of BLAST for High-Performance Data-Intensive Bioinformatics Analysis · IEEE Trans. Parallel Distributed Syst. 2006
Parallel and multicore computing › parallel computing › parallel software engineering
parallel application development
0.012006
M12 - Overview of the global arrays parallel software development toolkit · SC 2006
Parallel and multicore computing
task scheduling
0.012006
ScalaBLAST: A Scalable Implementation of BLAST for High-Performance Data-Intensive Bioinformatics Analysis · IEEE Trans. Parallel Distributed Syst. 2006
Parallel and multicore computing › parallel programming models
distributed memory programming
0.011994
Global arrays: a portable "shared-memory" programming model for distributed memory computers · SC 1994

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

global arrays · 0.2distributed work stealing · 0.1microbenchmarking · 0.1application-level evaluation · 0.1latency hiding · 0.1interrupt-driven communication · 0.1hypergraph partitioning · 0.1database distribution · 0.1data prefetching · 0.1coarray fortran · 0.1UPC · 0.1MPI · 0.1ARMCI · 0.1common component architecture · 0.1one-sided communication · 0.0asynchronous remote memory access · 0.0
YearPublicationVenuePosition
2010 Implementation and evaluation of active storage in modern parallel file systems
Juan Piernas, Jarek Nieplocha
Parallel Comput.2
2009 Scalable work stealing
abstract
Irregular and dynamic parallel applications pose significant challenges to achieving scalable performance on large-scale multicore clusters. These applications often require ongoing, dynamic load balancing in order to maintain efficiency. Scalable dynamic load balancing on large clusters is a challenging problem which can be addressed with distributed dynamic load balancing systems. Work stealing is a popular approach to distributed dynamic load balancing; however its performance on large-scale clusters is not well understood. Prior work on work stealing has largely focused on shared memory machines. In this work we investigate the design and scalability of work stealing on modern distributed memory systems. We demonstrate high efficiency and low overhead when scaling to 8,192 processors for three benchmark codes: a producer-consumer benchmark, the unbalanced tree search benchmark, and a multiresolution analysis kernel.
James Dinan, D. Brian Larkins, P. Sadayappan, Sriram Krishnamoorthy, Jarek Nieplocha
SC5
2009 Design and implementation of a high-performance CCA event service
abstract
Abstract Event services based on publish–subscribe architectures are well‐established components of distributed computing applications. Recently, an event service has been proposed as part of the common component architecture (CCA) for high‐performance computing (HPC) applications. In this paper we describe our implementation, experimental evaluation, and initial experience with a high‐performance CCA event service that exploits efficient communications mechanisms commonly used on HPC platforms. We describe the CCA event service model and briefly discuss the possible implementation strategies of the model. We then present the design and implementation of the event service using the aggregate remote memory copy interface as an underlying communication layer for this mechanism. Two alternative implementations are presented and evaluated on a Cray XD‐1 platform. The performance results demonstrate that event delivery latencies are low and that the event service is able to achieve high‐throughput levels. Finally, we describe the use of the event service in an application for high‐speed processing of data from a mass spectrometer and conclude by discussing some possible extensions to the event service for other HPC applications. Published in 2009 by John Wiley & Sons, Ltd.
Ian Gorton, Daniel G. Chavarría-Miranda, Jarek Nieplocha
Concurr. Comput. Pract. Exp.3
2008 Efficient Management of Complex Striped Files in Active Storage
Juan Piernas, Jarek Nieplocha
Euro-Par2
2008 Scioto: A Framework for Global-View Task Parallelism
abstract
We introduce Scioto, shared collections of task objects, a lightweight framework for providing task management on distributed memory machines under one-sided and global-view parallel programming models. Scioto provides locality aware dynamic load balancing and interoperates with MPI, ARMCI, and global arrays. Additionally, Scioto's task model and programming interface are compatible with many other existing parallel models including UPC, SHMEM, and CAF. Through task parallelism, the Scioto framework provides a solution for overcoming irregularity, load imbalance, and heterogeneity as well as dynamic mapping of computation onto emerging architectures. In this paper, we present the design and implementation of the Scioto framework and demonstrate its effectiveness on the unbalanced tree search (UTS) benchmark and two quantum chemistry codes: the closed shell self-consistent field (SCF) method and a sparse tensor contraction kernel extracted from a coupled cluster computation. We explore the efficiency and scalability of Scioto through these sample applications and demonstrate that is offers low overhead, achieves good performance on heterogeneous and multicore clusters, and scales to hundreds of processors.
James Dinan, Sriram Krishnamoorthy, D. Brian Larkins, Jarek Nieplocha, P. Sadayappan
ICPP4
2008 Early experience with out-of-core applications on the Cray XMT
abstract
This paper describes our early experiences with a pre- production Cray XMT system that implements a scalable shared memory architecture with hardware support for multithreading. Unlike its predecessor, the Cray MTA-2 that had very limited I/O capability, the Cray XMT offers Lustre, a scalable high-performance parallel filesystem. Therefore it enables development of out-of-core applications that can deal with very large data sets that otherwise would not fit in the system main memory. Our application performs statistically-based anomaly detection for categorical data that can be used for analysis of Internet traffic data. Experimental results indicate that the preproduction version of the machine is able to achieve good performance and scalability for the in- and out-of-core versions of the application.
Daniel G. Chavarría-Miranda, Andrés Márquez 0001, Jarek Nieplocha, Kristyn J. Maschhoff, Chad Scherrer
IPDPS3
2007 Non-collective parallel I/O for global address space programming models
abstract
Achieving high performance for out-of-core applications typically involves explicit management of the movement of data between the disk and the physical memory. We are developing a programming environment in which the different levels of the memory hierarchy are handled efficiently in a unified transparent framework. In this paper, we present our experiences with implementing efficient non-collective I/O (GPCIO) as part of this framework. As a generalization of the Remote Procedure Call (RPC) that was used as a foundation for the Sun NFS system, we developed a global procedure call (GPC) to invoke procedures on a remote node to handle non-collective I/O. We consider alternative approaches that can be employed in implementing this functionality. The approaches are evaluated using a representative computation from quantum chemistry. The results demonstrate that GPC-IO achieves better absolute execution times, strong-scaling, and weak-scaling than the alternatives considered.
Sriram Krishnamoorthy, Juan Piernas, Vinod Tipparaju, Jarek Nieplocha, P. Sadayappan
CLUSTER4
2007 Transparent system-level migration of PGAS applications using Xen on InfiniBand
abstract
Checkpoint-restart is considered one of the most natural approaches to achieving fault-tolerance in a high-performance cluster. While experiences has focused attention on user-level solutions, the advent of efficient system-level virtualization software, such as Xen and VMWare, has opened the door to the possibility of efficient and scalable cluster-level virtualization. In this paper we present an innovative approach to cluster fault tolerance by integrating the Xen virtualization with the latest generation of the InfiniBand network. A major contribution of this approach is the automatic identification of global recovery lines to freeze the status of the machine. Our focus is on the partitioned global address space (PGAS) programming models. PGAS models has been receiving an increasing amount of attention in the recent years. We have developed a global coordination mechanism and deployed it in the Aggregate Remote Memory Copy Interface (ARMCI) one-sided communication library that has been used as a run-time system for several PGAS languages and libraries. The experimental results show that it is possible to virtualize communication and computation with minimal overhead and to provide seamless migration capabilities.
Daniele Paolo Scarpazza, Patrick Mullaney, Oreste Villa, Fabrizio Petrini, Vinod Tipparaju, David M. L. Brown, Jarek Nieplocha
CLUSTER7
2007 A global address space framework for locality aware scheduling of block-sparse computations
abstract
In this paper, we present a mechanism for automatic management of the memory hierarchy, including secondary storage, in the context of a global address space parallel programming framework. The programmer specifies the parallelism and locality in the computation. The scheduling of the computation into stages, together with the movement of the associated data between secondary storage and global memory, and between global memory and local memory, is automatically managed. A novel formulation of hypergraph partitioning is used to model the optimization problem of minimizing disk I/O. Experimental evaluation using a sub-computation from the quantum chemistry domain shows a reduction in the disk I/O cost by up to a factor of 11, and a reduction in turnaround time by up to 49%, as compared to alternative approaches used in state-of-the-art quantum chemistry codes.
Sriram Krishnamoorthy, Ümit V. Çatalyürek, Jarek Nieplocha, Atanas Rountev, P. Sadayappan
IPDPS3
2007 Scalable Visual Analytics of Massive Textual Datasets
abstract
This paper describes the first scalable implementation of a text processing engine used in visual analytics tools. These tools aid information analysts in interacting with and understanding large textual information content through visual interfaces. By developing a parallel implementation of the text processing engine, we enabled visual analytics tools to exploit cluster architectures and handle massive datasets. The paper describes key elements of our parallelization approach and demonstrates virtually linear scaling when processing multi-gigabyte data sets such as Pubmed. This approach enables interactive analysis of large datasets beyond capabilities of existing state-of-the art visual analytics tools.
Manojkumar Krishnan, S. Bohn, W. Cowley, Vernon L. Crow, Jarek Nieplocha
IPDPS5
2007 Probability Convergence in a Multithreaded Counting Application
abstract
The problem of counting specified combinations of a given set of variables arises in many statistical and data mining applications. To solve this problem, we introduce the PDtree data structure, which avoids exponential time and space complexity associated with prior work by allowing user specification of the tree structure. A straightforward parallelization approach using a Cray MTA-2 provides a speedup that is linear in the number of processors, but introduces nondeterminism into probability estimates. We prove a general convergence result that bounds the non-deterministic deviation of probability estimates relative to a sequential implementation. Beyond PDtrees, this convergence result applies to any counting application that takes a multithreaded streaming approach.
Chad Scherrer, Nathaniel Beagley, Jarek Nieplocha, Andrés Márquez 0001, John Feo, Daniel G. Chavarría-Miranda
IPDPS3
2007 Evaluation of Remote Memory Access Communication on the Cray XT3
abstract
This paper evaluates remote memory access (RMA) communication capabilities and performance on the Cray XT3. We discuss properties of the network hardware and portals networking software layer and corresponding implementation issues for SHMEM and ARMCI portable RMA interfaces. The performance of these interfaces is studied and compared to MPI performance.
Vinod Tipparaju, Andriy Kot, Jarek Nieplocha, Monika ten Bruggencate, Nikos Chrisochoides
IPDPS3
2007 Evaluation of active storage strategies for the lustre parallel file system
abstract
Active Storage provides an opportunity for reducing the amount of data movement between storage and compute nodes of a parallel filesystem such as Lustre, and PVFS. It allows certain types of data processing operations to be performed directly on the storage nodes of modern parallel filesystems, near the data they manage. This is possible by exploiting the underutilized processor and memory resources of storage nodes that are implemented using general purpose servers and operating systems. In this paper, we present a novel user-space implementation of Active Storage for Lustre, and compare it to the traditional kernel-based implementation. Based on microbenchmark and application level evaluation, we show that both approaches can reduce the network traffic, and take advantage of the extra computing capacity offered by the storage nodes at the same time. However, our user-space approach has proved to be faster, more flexible, portable, and readily deployable than the kernel-space version.
Juan Piernas, Jarek Nieplocha, Evan J. Felix
SC2
2007 Using the GA and TAO toolkits for solving large-scale optimization problems on parallel computers
abstract
Challenges in the scalable solution of large-scale optimization problems include the development of innovative algorithms and efficient tools for parallel data manipulation. This article discusses two complementary toolkits from the collection of Advanced CompuTational Software (ACTS), namely, Global Arrays (GA) for parallel data management and the Toolkit for Advanced Optimization (TAO), which have been integrated to support large-scale scientific applications of unconstrained and bound constrained minimization problems. Most likely to benefit are minimization problems arising in classical molecular dynamics, free energy simulations, and other applications where the coupling among variables requires dense data structures. TAO uses abstractions for vectors and matrices so that its optimization algorithms can easily interface to distributed data management and linear algebra capabilities implemented in the GA library. The GA/TAO interfaces are available both in the traditional library mode and as components compliant with the Common Component Architecture (CCA). We highlight the design of each toolkit, describe the interfaces between them, and demonstrate their use.
Steven Benson, Manojkumar Krishnan, Lois C. McInnes, Jarek Nieplocha, Jason Sarich
ACM Trans. Math. Softw.4
2006 A Performance Instrumentation Framework to Characterize Computation-Communication Overlap in Message-Passing Systems
abstract
Effective overlap of computation and communication is a well understood technique for latency hiding and can yield significant performance gains for applications on high-end computers. In this paper, we propose an instrumentation framework for message-passing systems to characterize the degree of overlap of communication with computation in the execution of parallel applications. The inability to obtain precise time-stamps for pertinent communication events is a significant problem, and is addressed by generation of minimum and maximum bounds on achieved overlap. The overlap measures can aid application developers and system designers in investigating scalability issues. The approach has been used to instrument two MPI implementations as well as the ARMCI system. The implementation resides entirely within the communication library and thus integrates well with existing approaches that operate outside the library. The usefulness of the framework is shown by analyzing available overlap for microbenchmarks and NAS benchmarks, and the insights obtained are used to improve achieved overlap by modifying the NAS SP benchmark
Aniruddha G. Shet, P. Sadayappan, David E. Bernholdt, Jarek Nieplocha, Vinod Tipparaju
CLUSTER4
2006 An extensible global address space framework with decoupled task and data abstractions
abstract
Although message passing using MPI is the dominant model for parallel programming today, the significant effort required to develop high-performance MPI applications has prompted the development of several parallel programming models that are more convenient. Programming models such as Co-Array Fortran, Global Arrays, Titanium, and UPC provide a more convenient global view of the data, but face significant challenges in delivering high performance over a range of applications. It is particularly challenging to achieve high performance using global-address-space languages for unstructured applications with irregular data structures. In this paper, we describe a global-address-space parallel programming framework with decoupled task and data abstractions. The framework centers around the use of task pools, where tasks specify operands in a distributed, globally addressable pool of data chunks. The data chunks can be addressed in a logical multidimensional "tuple" space, and are distributed among the nodes of the system. Locality-aware load balancing of tasks in the task pool is achieved through judicious mapping via hyper-graph partitioning, as well as dynamic task/data migration. The framework implements a transparent interface for out-of-core data, so that explicit orchestration of movement of data between disks and memory is not required of the programmer. The use of the framework for implementation of parallel block-sparse tensor computations in the context of a quantum chemistry application is illustrated.
Sriram Krishnamoorthy, Ümit V. Çatalyürek, Jarek Nieplocha, Atanas Rountev, P. Sadayappan
IPDPS3
2006 An approach to locality-conscious load balancing and transparent memory hierarchy management with a global-address-space parallel programming model
abstract
The development of efficient parallel out-of-core applications is often tedious, because of the need to explicitly manage the movement of data between files and data structures of the parallel program. Several large-scale applications require multiple passes of processing over data too large to fit in memory, where significant concurrency exists within each pass. This paper describes a global-address-space framework for the convenient specification and efficient execution of parallel out-of-core applications operating on block-sparse data. The programming model provides a global view of block-sparse matrices and a mechanism for the expression of parallel tasks that operate on block-sparse data. The tasks are automatically partitioned into phases that operate on memory-resident data, and mapped onto processors to optimize load balance and data locality. Experimental results are presented that demonstrate the utility of the approach
Sriram Krishnamoorthy, Ümit V. Çatalyürek, Jarek Nieplocha, P. Sadayappan
IPDPS3
2006 Blue Gene system software - Design and implementation of a one-sided communication interface for the IBM eServer Blue Gene® supercomputer
abstract
This paper discusses the design and implementation of a one-sided communication interface for the IBM Blue Gene/L supercomputer. This interface facilitates ARMCI and the Global Arrays toolkit and can be used by other one-sided communication libraries. New protocols, interrupt driven communication, and compute node kernel enhancements were required to enable these libraries. Three possible methods for enabling ARMCI on the Blue Gene/L software stack are discussed. A detailed look into the development process shows how the implementation of the one-sided communication interface was completed. This was accomplished on a compressed time scale with the collaboration of various organizations within IBM and open source communities. In addition to enabling the one-sided libraries, bandwidth enhancements were made for communication along a diagonal on the Blue Gene/L torus network. The maximum bandwidth improved by a factor of three. This work will enable a variety of one-sided applications to run on Blue Gene/L.
Michael Blocksome, Charles Archer, Todd Inglett, Patrick McCarthy, Michael B. Mundy, Joe Ratterman, A. Sidelnik, Brian E. Smith, Gheorghe Almási 0001, José G. Castaños, Derek Lieber, José E. Moreira, Sriram Krishnamoorthy, Vinod Tipparaju, Jarek Nieplocha
SC15
2006 Data management and query - Hypergraph partitioning for automatic memory hierarchy management
abstract
In this paper, we present a mechanism for automatic management of the memory hierarchy, including secondary storage, in the context of a global address space parallel programming framework. The programmer specifies the parallelism and locality in the computation. The scheduling of the computation into stages, together with the movement of the associated data between secondary storage and global memory, and between global memory and local memory, is automatically managed. A novel formulation of hypergraph partitioning is used to model the optimization problem of minimizing disk I/O. Experimental evaluation of the proposed approach using a sub-computation from the quantum chemistry domain shows a reduction in the disk I/O cost by up to a factor of 11, and a reduction in turnaround time by up to 49%, as compared to alternative approaches used in state-of-the-art quantum chemistry codes.
Sriram Krishnamoorthy, Ümit V. Çatalyürek, Jarek Nieplocha, Atanas Rountev, P. Sadayappan
SC3
2006 M12 - Overview of the global arrays parallel software development toolkit
abstract
The Global Arrays (GA) toolkit provides a global address space programming model to MPI applications. GA library allows programmers to distribute data while maintaining the type of global index space and programming syntax similar to what is available when programming on a single processor. The goal of GA is to free the programmers from the low level management of communication and allow them to deal with their problems at the level at which they were originally formulated. The compatibility of GA with MPI makes it possible to use distributed and global views of the data in the same application. The variety of applications that have been implemented using Global Arrays attests to the attractiveness of using higher level abstractions to write parallel code. The tutorial will provide an overview of GA toolkit, its applications, and compare GA to related programming models such as UPC, Co-Array Fortran, and X10.
Jarek Nieplocha, Bruce J. Palmer, Manojkumar Krishnan, P. Sadayappan
SC1
2006 Layout transformation support for the disk resident arrays framework
Sriram Krishnamoorthy, Gerald Baumgartner, Chi-Chung Lam, Jarek Nieplocha, P. Sadayappan
J. Supercomput.4
2006 ScalaBLAST: A Scalable Implementation of BLAST for High-Performance Data-Intensive Bioinformatics Analysis
abstract
Genes in an organism's DNA (genome) have embedded in them information about proteins, which are the molecules that do most of a cell's work. A typical bacterial genome contains on the order of 5,000 genes. Mammalian genomes can contain tens of thousands of genes. For each genome sequenced, the challenge is to identify protein components (proteome) being actively used for a given set of conditions. Fundamentally, sequence alignment is a sequence matching problem focused on unlocking protein information embedded in the genetic code, making it possible to assemble a "tree of life” by comparing new sequences against all sequences from known organisms. But, the memory footprint of sequence data is growing more rapidly than per-node core memory. Despite years of research and development, high-performance sequence alignment applications either do not scale well, cannot accommodate very large databases in core, or require special hardware. We have developed a high-performance sequence alignment application, ScalaBLAST, which accommodates very large databases and which scales linearly to as many as thousands of processors on both distributed memory and shared memory architectures, representing a substantial improvement over the current state-of-the-art in high-performance sequence alignment with scaling and portability. ScalaBLAST relies on a collection of techniques—distributing the target database over available memory, multilevel parallelism to exploit concurrency, parallel I/O, and latency hiding through data prefetching—to achieve high-performance and scalability. This demonstrated approach of database sharing combined with effective task scheduling should have broad ranging applications to other informatics-driven sciences.
Christopher S. Oehmen, Jarek Nieplocha
IEEE Trans. Parallel Distributed Syst.2
2005 Symmetric Data Objects and Remote Memory Access Communication for Fortran-95 Applications
Jarek Nieplocha, Doug Baxter, Vinod Tipparaju, Craig Edward Rasmussen, Robert W. Numrich
Euro-Par1
2005 Data and Computation Abstractions for Dynamic and Irregular Computations
Sriram Krishnamoorthy, Jarek Nieplocha, P. Sadayappan
HiPC2
2005 Multilevel Parallelism in Computational Chemistry using Common Component Architecture and Global Arrays
abstract
The development of complex scientific applications for high-end systems is a challenging task. Addressing complexity of the involved software and algorithms is becoming increasingly difficult and requires appropriate software engineering approaches to address interoperability, maintenance, and software composition challenges. At the same time, the requirements for performance and scalability to thousand processor configurations magnifies the level of difficulties facing the scientific programmer due to the variable levels of parallelism available in different algorithms or functional modules of the application. This paper demonstrates how the Common Component Architecture (CCA) and Global Arrays (GA) can be used in context of computational chemistry to express and manage multi-level parallelism through the use of processor groups. For example, the numerical Hessian calculation using three levels of parallelism in NWChem computational chemistry package outperformed the original version of the NWChem code based on single level parallelism by a factor of 90% when running on 256 processors.
Manojkumar Krishnan, Yuri Alexeev, Theresa L. Windus, Jarek Nieplocha
SC4
2005 Optimizing All-to-All Collective Communication by Exploiting Concurrency in Modern Networks
abstract
The paper proposes a novel approach for optimizing performance of all-to-all collective communication by taking advantage of concurrency available in modern networks such as Infiniband or Quadrics. Using the MPI AllGather operation as an example, we describe how network concurrency can be exploited in an optimized implementation of this operation. For example, compared to leading MPI implementations for a 32-KB message on 128 processors, our new algorithm yields a 65% improvement on the Infiniband at Virginia Tech and an 89% improvement on the Quadrics cluster at Pacific Northwest National Laboratory.
Vinod Tipparaju, Jarek Nieplocha
SC2
2004 Co-array Python: A Parallel Extension to the Python Language
Craig Edward Rasmussen, Matthew J. Sottile, Jarek Nieplocha, Robert W. Numrich
Euro-Par3
2004 Efficient Layout Transformation for Disk-Based Multidimensional Arrays
Sriram Krishnamoorthy, Gerald Baumgartner, Chi-Chung Lam, Jarek Nieplocha, P. Sadayappan
HiPC4
2004 Toward Efficient Compilation of User-Defined Extensible Fortran Directives
Matthew Rosing, Jarek Nieplocha, Steve Yabusaki
HIPS2
2004 Optimizing Parallel Multiplication Operation for Rectangular and Transposed Matrices
Manojkumar Krishnan, Jarek Nieplocha
ICPADS2
2004 SRUMMA: A Matrix Multiplication Algorithm Suitable for Clusters and Scalable Shared Memory Systems
abstract
Summary form only given. We describe a novel parallel algorithm that implements a dense matrix multiplication operation with algorithmic efficiency equivalent to that of Cannon's algorithm. It is suitable for clusters and scalable shared memory systems. The current approach differs from the other parallel matrix multiplication algorithms by the explicit use of shared memory and remote memory access (RMA) communication rather than message passing. The experimental results on clusters (IBM SP, Linux-Myrinet) and shared memory systems (SGI Altix, Cray XI) demonstrate consistent performance advantages over pdgemm from the ScaLAPACK/PBBLAS suite, the leading implementation of the parallel matrix multiplication algorithms used today. In the best case on the SGI Altix, the new algorithm performs 20 times better than pdgemm for a matrix size of 1000 on 128 processors. The impact of zero-copy nonblocking RMA communications and shared memory communication on matrix multiplication performance on clusters are investigated.
Manojkumar Krishnan, Jarek Nieplocha
IPDPS2
2004 Host-Assisted Zero-Copy Remote Memory Access Communication on InfiniBand
abstract
Summary form only given. The remote memory access (RMA) is an increasingly important communication model due to its excellent potential for overlapping communication and computations and achieving high performance on modern networks with RDMA hardware such as Infiniband. RMA plays a vital role in supporting the emerging global address space programming models. We describe how RMA can be implemented efficiently over InfiniBand. The capabilities not offered directly by the Infiniband verb layer can be implemented efficiently using the novel host-assisted approach while achieving zero-copy communication and supporting an excellent overlap of computation with communication. For contiguous data we are able to achieve a small message latency of 6/spl mu/s and a peak bandwidth of 830 MB/s for 'put' and a small message latency of 12/spl mu/s and a peak bandwidth of 765 Megabytes for 'get'. These numbers are almost as good as the performance of the native VAPI layer. For the noncontiguous data, the host assisted approach can deliver bandwidth close to that for the contiguous data. We also demonstrate the superior tolerance of host-assisted data-transfer operations to CPU intensive tasks due to minimum host involvement in our approach as compared to the traditional host-based approach. Our implementation also supports a very high degree of overlap of computation and communication. 99% overlap for contiguous and up to 95% for noncontiguous in case of large message sizes were achieved. The NAS MG and matrix multiplication benchmarks were used to validate effectiveness of our approach, and demonstrated excellent overall performance.
Vinod Tipparaju, Gopalakrishnan Santhanaraman, Jarek Nieplocha, Dhabaleswar K. Panda 0001
IPDPS3
2003 Optimizing Mechanisms for Latency Tolerance in Remote Memory Access Communication on Clusters
abstract
This paper describes the design and implementation of mechanisms for latency tolerance in the remote memory access communication on clusters equipped with high-performance networks such as Myrinet. It discusses strategies that bridge the gap between user-level requirements and network-specific communication interfaces while attempting to increase opportunities for latency hiding. Mechanisms for overlapping communication with computation and coalescing small messages (trading latency for bandwidth) are explored. The effectiveness of these techniques is evaluated using microbenchmarks and application kernels including the NAS parallel benchmark suite. The microbenchmark results showed a better degree of overlap for nonblocking operations in ARMCI as compared to MPI. Application results showed up 30% to 45% improvement over MPI on using nonblocking operations. The aggregation of small messages yielded performance improvement of up to 78% over non-aggregated communication.
Jarek Nieplocha, Vinod Tipparaju, Manojkumar Krishnan, Gopalakrishnan Santhanaraman, Dhabaleswar K. Panda 0001
CLUSTER1
2003 Shared Memory Mirroring for Reducing Communication Overhead on Commodity Networks
abstract
This paper proposes using shared memory for caching latency sensitive distributed data structures on symmetric multiprocessor nodes of clusters connected with commodity networks. Shared memory mirroring is a hybrid approach that replicates data across cluster nodes and distributes data within each node. The user is responsible for managing consistency of the data cached within the mirrored data structures. The method is shown to be very effective in improving the performance of a real scientific application on clusters equipped with Ethernet, Myrinet, or quadric networks.
Bruce J. Palmer, Jarek Nieplocha, Edoardo Aprà
CLUSTER2
2003 Exploiting Non-blocking Remote Memory Access Communication in Scientific Benchmarks
Vinod Tipparaju, Manojkumar Krishnan, Jarek Nieplocha, Gopalakrishnan Santhanaraman, Dhabaleswar K. Panda 0001
HiPC3
2002 Efficient Barrier Using Remote Memory Operations on VIA-Based Clusters
abstract
Most high performance scientific applications require efficient support for collective communication. Point-to-point message-passing communication in current generation clusters are based on the Send/Recv communication model. Collective communication operations built on top of such point-to-point message-passing operations might achieve suboptimal performance. VIA and the emerging InfiniBand architecture support remote DMA operations, which allow data to be moved between the nodes with low overhead; they also allow to create and provide a logical shared memory address space across the nodes. In this paper we focus on barrier, a frequently-used collective operations. We demonstrate how RDMA write operations can be used to support an inter-node barrier in a cluster with SMP nodes. Combining this with a scheme to exploit shared memory within a SMP node, we develop a fast barrier algorithm for a cluster of SMP nodes with a cLAN VIA interconnect. Compared to current barrier algorithms using the Send/Recv communication model, the new approach is shown to reduce barrier latency on a 64 processor (32 dual nodes) system by up to 66%. These results demonstrate that high performance and scalable barrier implementations can be delivered on current and next generation VIA/Infiniband-based clusters with RDMA support.
Rinku Gupta, Vinod Tipparaju, Jarek Nieplocha, Dhabaleswar K. Panda 0001
CLUSTER3
2001 One-sided Communication on the Myrinet-based SMP Clusters using the GM Message-Passing Library
abstract
Introduction In the past five years, the Myrinet network has received much attention in the literature on high-performance communication. Multiple projects have focused on developing efficient messaging middleware (e.g., AM[1], PM[2], BIP[3], and HPVM FM [4]) by exploiting the programmable network interface card (NIC) of Myrinet. The most common use of these interfaces has been support of MPI and other internal research projects. The HPVM project used its FM system to implement MPI and other programming interfaces including two one-sided: the Cray SHMEM and Global Arrays. In the last few years, because of the good scalability and rather moderate cost, Myrinet has become the primary network for building medium and large-scale clusters based on commodity processing nodes (e.g., Intel or Alpha Linux systems). To our best knowledge, with the exception of the NCSA Windows NT SuperCluster that operates in the HPVM environment, the majority of medium and large Myrinet-based clusters used in
Jarek Nieplocha, Jialin Ju, Edoardo Aprà
IPDPS1
2000 A Multiprotocol Communication Support for the Global Address Space Programming Model on the IBM SP
Jarek Nieplocha, Jialin Ju, Tjerk P. Straatsma
Euro-Par1
2000 Computational chemistry on Fujitsu vector-parallel processors: Hardware and programming environment
Ross H. Nobes, Alistair P. Rendell, Jarek Nieplocha
Parallel Comput.3
1998 Distant I/O: One-Sided Access to Secondary Storage on Remote Processors
abstract
We propose a new parallel, noncollective I/O strategy called Distant I/O that targets clustered computer systems in which disks are attached to compute nodes. Distant I/O allows one sided access to remote secondary storage without installing server processes or daemons on remote compute nodes. We implemented this model using Active Messages and demonstrated its performance advantages over the PIOFS parallel filesystem for an I/O intensive parallel application on the IBM SP.
Jarek Nieplocha, Ian T. Foster, Holger Dachsel
HPDC1
1998 An out-of-core implementation of the COLUMBUS massively-parallel multireference configuration interaction program
abstract
In this paper, we describe a novel parallelization approach we developed to solve the largest multireference configuration interaction (MRCI) problem ever attempted. From the mathematical perspective, the program solves the eigenvalue problem for a very large, sparse, symmetric Hamilton matrix. Using an out-of-core approach, shared memory programming model, improved data compression algorithms, and dynamic load balancing we were able to solve a problem six times larger than previously reported. The potential curve for the chromium dimer was calculated with a Hamilton matrix of dimension 1.3 billion (1,295,937,374). This task involved moving 1.5 terabytes of data between main memory and secondary storage per MRCI iteration. Furthermore, by employing Active Messages and user-level striping to combine multiple files on local disks on the IBM SP into a single logically-shared file, the execution time of the program was reduced by a factor of three, as compared to our initial implementation on top of the IBM PIOFS parallel filesystem.
Holger Dachsel, Jarek Nieplocha, Robert J. Harrison
SC2
1997 Optimizing Collective I/O Performance on Parallel Computers: A Multisystem Study
abstract
While individual parallel I/O systems can incorporate sophisticated techniques and achieve impressive performance in particular situations, researchers as yet have only limited m~derstanding of the impact of various design decisions or of the techniques required for performance robustness.One remedy is to perform detailed comparative studies of different I/O libraries.In this paper, we describe such a study for the Disk Resident Array and Panda libraries, both designed to support high-performance I/O for arrays.While the two systems have many similarities, their designs and implementations are based on different assumptions and target different applications.We base our study on two I/O structures commonly encountered in scientific applications: the collective read/write of an entire array and the collective read/write of an arbitrary array section.Experiments are performed on two parallel file systems (IBM PIOFS and Intel PFS) antI one commodity Unix file system (AIX JFS).Our results yield insights into
Ying Chen 0001, Jarek Nieplocha, Ian T. Foster, Marianne Winslett
International Conference on Supercomputing2
1997 Shared Memory Programming in Metacomputing Environments: The Global Array Approach
Jarek Nieplocha, Robert J. Harrison
J. Supercomput.1
1996 Shared Memory NUMA Programming on I-WAY
abstract
The performance of the Global Array shared-memory non-uniform memory-access programming model is explored on the I-WAY, wide-area network distributed supercomputer environment. The Global Array model is extended by introducing a concept of mirrored arrays. Latencies and bandwidths for remote memory access are studied, and the performance of a large application from computational chemistry is evaluated using both fully distributed and also mirrored arrays. Excellent performance can be obtained with mirroring if even modest (0.5 MB/s) network bandwidth is available.
Jarek Nieplocha, Robert J. Harrison
HPDC1
1996 High-performance computing in chemistry: NW Chem
Martyn F. Guest, Edoardo Aprà, David E. Bernholdt, Herbert A. Früchtl, Robert J. Harrison, Ricky A. Kendall, R. A. Kutteh, X. Long, John B. Nicholas, Jeffrey A. Nichols, H. L. Taylor, Adrian T. Wong, George I. Fann, Richard J. Littlefield, Jarek Nieplocha
Future Gener. Comput. Syst.15
1996 Global arrays: A nonuniform memory access programming model for high-performance computers
Jarek Nieplocha, Robert J. Harrison, Richard J. Littlefield
J. Supercomput.1
1994 Global arrays: a portable "shared-memory" programming model for distributed memory computers
abstract
Portability, efficiency and ease of coding are all important considerations in choosing the programming model for a scalable parallel application. The message-passing programming model is widely used because of its portability, yet some applications are too complex to code in it while also trying to maintain a balanced computation load and avoid redundant computations. The shared-memory programming model simplifies coding, but it is not portable and often provides little control over interprocessor data transfer costs. This paper describes a new approach, called Global Arrays (GA) that combines the better features of both other models, leading to both simple coding and efficient execution. The key concept of GA is that it provides a portable interface through which each process in a MIMD parallel program can asynchronously access logical blocks of physically distributed matrices, with no need for explicit cooperation by other processes. We have implemented GA libraries on a variety of computer systems, including the Intel DELTA and Paragon, the IBM SP-1 (all message-passers), the Kendall Square KSR-2 (a nonuniform access shared-memory machine), and networks of Unix workstations. We discuss the design and implementation of these libraries, report their performance, illustrate the use of GA in the context of computational chemistry applications, and describe the use of a GA performance visualization tool.>
Jarek Nieplocha, Robert J. Harrison, Richard J. Littlefield
SC1