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

Jaswinder Pal Singh

dblp:s/JaswinderPalSingh · DBLP profile ↗
← Back
60ranked-venue papers
8as first author
0since 2021 · last 2009
0000-0003-1343-4740ORCID · corroborated

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

Systems, architecture and hardware · 44 · 8 first-authorSoftware engineering, systems software and programming languages · 16 · 1 first-authorArtificial intelligence and machine learning · 5Applied, interdisciplinary, general and emerging computing · 3Databases, data management, data science and information retrieval · 2Theory of computation · 2Computer networks · 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
33 papers
Memory systems · 41% Parallel and multicore computing · 22% High-performance computing · 10%
Software engineering, system software, and programming languages
2 papers
Runtime systems and virtual machines · 62% Operating systems · 38%
Databases, data mining, and information retrieval
2 papers
Recommender systems · 71% Web and social media mining · 22% Information retrieval · 7%
Interdisciplinary, comprehensive, and emerging computing
4 papers
Bioinformatics and computational biology · 100%

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

TopicWeightPapersLastEvidence papers
Memory systems
cache coherence
0.2101999
Shared virtual memory: progress and challenges · Proc. IEEE 1999
Parallel Sorting on Cache-coherent DSM Multiprocessors · SC 1999
Scaling Application Performance on a Cache-Coherent Multiprocessors · ISCA 1999
Memory systems › virtual memory management
shared virtual memory
0.282001
Accelerating shared virtual memory via general-purpose network interface support · ACM Trans. Comput. Syst. 2001
Shared virtual memory: progress and challenges · Proc. IEEE 1999
Using Network Interface Support to Avoid Asynchronous Protocol Processing in Shared Virtual Memory Systems · ISCA 1999
Runtime systems and virtual machines
garbage collection
0.122002
Exploiting prolific types for memory management and optimizations · POPL 2002
Creating and preserving locality of java applications at allocation and garbage collection times · OOPSLA 2002
Operating systems › resource management
memory management
0.122002
Exploiting prolific types for memory management and optimizations · POPL 2002
Creating and preserving locality of java applications at allocation and garbage collection times · OOPSLA 2002
Memory systems › shared memory
distributed shared memory
0.131999
Using Network Interface Support to Avoid Asynchronous Protocol Processing in Shared Virtual Memory Systems · ISCA 1999
Relaxed Consistency and Coherence Granularity in DSM Systems: A Performance Evaluation · PPoPP 1997
Application and Architectural Bottlenecks in Large Scale Distributed Shared Memory Machines · ISCA 1996
Parallel and multicore computing › parallel computing
parallel application performance
0.122003
Latency, Occupancy, and Bandwidth in DSM Multiprocessors: A Performance Evaluation · IEEE Trans. Computers 2003
Understanding Application Performance on Shared Virtual Memory Systems · ISCA 1996
Parallel and multicore computing
parallel algorithms
0.131999
Parallel Sorting on Cache-coherent DSM Multiprocessors · SC 1999
Parallel Hierarchical Molecular Structure Estimation · SC 1996
Parallel protein structure determination from uncertain data · SC 1994
Parallel and multicore computing › multiprocessor system
shared-memory multiprocessor
0.061996
The Impact of Shared-Cache Clustering in Small-Scale Shared-Memory Multiprocessors · HPCA 1996
The Performance Advantages of Integrating Block Data Trabsfer in Cache-Coherent Multiprocessors · ASPLOS 1994
An empirical comparison of the Kendall Square Research KSR-1 and Stanford DASH multiprocessors · SC 1993
Memory systems › cache coherence
cache-coherent shared memory
0.032001
Parallel Sorting on Cache-coherent DSM Multiprocessors · SC 1999
Application and Architectural Bottlenecks in Large Scale Distributed Shared Memory Machines · ISCA 1996
Accelerating shared virtual memory via general-purpose network interface support · ACM Trans. Comput. Syst. 2001
Distributed systems › publish/subscribe systems
content-based event matching
0.012004
Efficient event routing in content-based publish/subscribe service network · INFOCOM 2004
Distributed systems
publish/subscribe systems
0.012004
Efficient event routing in content-based publish/subscribe service network · INFOCOM 2004
Memory systems › shared memory › distributed shared memory
software distributed shared memory
0.021999
Shared virtual memory: progress and challenges · Proc. IEEE 1999
Limits to the Performance of Software Shared Memory: A Layered Approach · HPCA 1999
Parallel and multicore computing › multiprocessor system › shared-memory multiprocessor
distributed shared-memory multiprocessor
0.012003
Latency, Occupancy, and Bandwidth in DSM Multiprocessors: A Performance Evaluation · IEEE Trans. Computers 2003
High-performance computing › cluster computing
SMP cluster
0.032001
Home-Based SVM Protocols for SMP Clusters: Design and Performance · HPCA 1998
Accelerating shared virtual memory via general-purpose network interface support · ACM Trans. Comput. Syst. 2001
Using Network Interface Support to Avoid Asynchronous Protocol Processing in Shared Virtual Memory Systems · ISCA 1999
Recommender systems
user modeling
0.012002
Predicting category accesses for a user in a structured information space · SIGIR 2002
Recommender systems › user modeling
user preference modeling
0.012002
Predicting category accesses for a user in a structured information space · SIGIR 2002
Runtime systems and virtual machines
object representation
0.012002
Exploiting prolific types for memory management and optimizations · POPL 2002
Memory systems › data locality
cache locality
0.012002
Creating and preserving locality of java applications at allocation and garbage collection times · OOPSLA 2002
Parallel and multicore computing › locality optimization
data locality optimization
0.012002
Creating and preserving locality of java applications at allocation and garbage collection times · OOPSLA 2002
Parallel and multicore computing
programming models
0.022000
A Comparison of Three Programming Models for Adaptive Applications on the Origin2000 · SC 2000
Parallel Sorting on Cache-coherent DSM Multiprocessors · SC 1999
Performance modeling and evaluation
workload characterization
0.041996
The SPLASH-2 Programs: Characterization and Methodological Considerations · ISCA 1995
A Model of Workloads and Its Use in Miss-Rate Prediction for Fully Associative Caches · IEEE Trans. Computers 1992
Application and Architectural Bottlenecks in Large Scale Distributed Shared Memory Machines · ISCA 1996
Recommender systems
rating aggregation
0.012001
Computing and using reputations for internet ratings · EC 2001
Web and social media mining › trust assessment
reputation system
0.012001
Computing and using reputations for internet ratings · EC 2001
Interconnection networks and networks-on-chip
network interface
0.021999
Using Network Interface Support to Avoid Asynchronous Protocol Processing in Shared Virtual Memory Systems · ISCA 1999
Home-Based SVM Protocols for SMP Clusters: Design and Performance · HPCA 1998
Interconnection networks and networks-on-chip
cluster interconnect
0.021999
Limits to the Performance of Software Shared Memory: A Layered Approach · HPCA 1999
The Impact of Shared-Cache Clustering in Small-Scale Shared-Memory Multiprocessors · HPCA 1996
Bioinformatics and computational biology › structural biology
molecular structure determination
0.021996
Parallel Hierarchical Molecular Structure Estimation · SC 1996
Parallel protein structure determination from uncertain data · SC 1994
Memory systems › memory hierarchy
cache hierarchy
0.021996
The Impact of Shared-Cache Clustering in Small-Scale Shared-Memory Multiprocessors · HPCA 1996
Working Sets, Cache Sizes, and Node Granularity Issues for Large-Scale Multiprocessors · ISCA 1993
Bioinformatics and computational biology
protein structure prediction
0.011999
Using imperfect secondary structure predictions to improve molecular structure computations · Bioinform. 1999
Memory systems › memory consistency
memory consistency model
0.011999
Shared virtual memory: progress and challenges · Proc. IEEE 1999
Parallel and multicore computing › parallel algorithms › sorting
parallel sorting
0.011999
Parallel Sorting on Cache-coherent DSM Multiprocessors · SC 1999

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

simulation · 0.2prolific type analysis · 0.1locality-based graph traversal · 0.1parallelization · 0.1reputation computation · 0.1empirical evaluation · 0.1microbenchmarking · 0.0workload characterization · 0.0analytical modeling · 0.0temporal frequency analysis · 0.0performance measurement · 0.0markov model · 0.0programmable network interface · 0.0asynchronous home-based LRC protocol · 0.0probabilistic algorithm · 0.0probabilistic modeling · 0.0disjunctive constraints · 0.0probabilistic least squares · 0.0
YearPublicationVenuePosition
2009 Optimizing Communication Scheduling Using Dataflow Semantics
abstract
We show how coarse grain dataflow semantics (CGD) applied to SPMD algorithms makes application development and design space exploration simpler compared to message passing, at the same time providing on par performance. CGD applications are specified as dependencies between computation modules and data distributions. Communication and synchronization are added automatically and optimized for specific architectures, relieving programmers of this task. Many high level algorithm changes are easy to implement in CGD by redefining data distributions. These include exposing communication overlap by decreasing task grain, and aggregating communication by replicating data and computation. We briefly present a coordination language with dataflow semantics that implements the CGD model. Our implementation currently supports MPI, SHMEM, and pthreads. Results on Altix 4700 show our optimized CGD FT is 27% faster than original NPB 2.3 MPI implementation, and optimized CGD stencil has a 41% advantage over handwritten MPI.
Adrian Soviani, Jaswinder Pal Singh
ICPP2
2008 The PARSEC benchmark suite: characterization and architectural implications
abstract
This paper presents and characterizes the Princeton Application Repository for Shared-Memory Computers (PARSEC), a benchmark suite for studies of Chip-Multiprocessors (CMPs). Previous available benchmarks for multiprocessors have focused on high-performance computing applications and used a limited number of synchronization methods. PARSEC includes emerging applications in recognition, mining and synthesis (RMS) as well as systems applications which mimic large-scale multithreaded commercial programs. Our characterization shows that the benchmark suite covers a wide spectrum of working sets, locality, data sharing, synchronization and off-chip traffic. The benchmark suite has been made available to the public.
Christian Bienia, Jaswinder Pal Singh, Kai Li 0001
PACT3
2005 MEDYM: Match-Early with Dynamic Multicast for Content-Based Publish-Subscribe Networks
Fengyun Cao, Jaswinder Pal Singh
Middleware2
2005 Combining Flexibility and Scalability in a Peer-to-Peer Publish/Subscribe System
Chi Zhang 0070, Arvind Krishnamurthy, Randolph Y. Wang, Jaswinder Pal Singh
Middleware4
2004 Efficient event routing in content-based publish/subscribe service network
abstract
Efficient event delivery in a content-based publish/subscribe system has been a challenging problem. Existing group communication solutions, such as IP multicast or application-level multicast techniques, are not readily applicable due to the highly heterogeneous communication pattern in such systems. We first explore the design space of event routing strategies for content-based publish/subscribe systems. Two major existing approaches are studied: filter-hosed approach, which performs content-based filtering on intermediate routing servers to dynamically guide routing decisions, and multicast-based approach, which delivers events through a few high-quality multicast groups that are pre-constructed to approximately match user interests. These approaches have different trade-offs in the routing quality achieved and the implementation cost and system load generated. We then present a new routing scheme called Kyra that carefully balance these trade-offs. Kyra combines the advantages of content-based filtering and event-space partitioning in the existing approaches to achieve better overall routing efficiency. We use detailed simulations to evaluate Kyra and compare it with existing approaches. The results demonstrate the effectiveness of Kyra in achieving high network efficiency, reducing implementation cost and balancing system load across the publish-subscribe service network.
Fengyun Cao, Jaswinder Pal Singh
INFOCOM2
2003 Content Distribution for Publish/Subscribe Services
Mao Chen 0001, Andrea S. LaPaugh, Jaswinder Pal Singh
Middleware3
2003 Shared virtual memory clusters: bridging the cost-performance gap between SMPs and hardware DSM systems
Angelos Bilas, Dongming Jiang, Jaswinder Pal Singh
J. Parallel Distributed Comput.3
2003 Message passing and shared address space parallelism on an SMP cluster
Hongzhang Shan, Jaswinder Pal Singh, Leonid Oliker, Rupak Biswas
Parallel Comput.2
2003 Latency, Occupancy, and Bandwidth in DSM Multiprocessors: A Performance Evaluation
abstract
While the desire to use commodity parts in the communication architecture of a DSM multiprocessor offers advantages in cost and design time, the impact on application performance is unclear. We study this performance impact through detailed simulation, analytical modeling, and experiments on a flexible DSM prototype, using a range of parallel applications. We adapt the logP model to characterize the communication architectures of DSM machines. The l (network latency) and o (controller occupancy) parameters are the keys to performance in these machines, with the g (node-to-network bandwidth) parameter becoming important only for the fastest controllers. We show that, of all the logP parameters, controller occupancy has the greatest impact on application performance. Of the two contributions of occupancy to performance degradation-the latency it adds and the contention it induces-it is the contention component that governs performance regardless of network latency, showing a quadratic dependence on o. As expected, techniques to reduce the impact of latency make controller occupancy a greater bottleneck. Surprisingly, the performance impact of occupancy is substantial, even for highly-tuned applications and even in the absence of latency hiding techniques. Scaling the problem size is often used as a technique to overcome limitations in communication latency and bandwidth. Through experiments on a DSM prototype, we show that there are important classes of applications for which the performance lost by using higher occupancy controllers cannot be regained easily, if at all, by scaling the problem size.
Mainak Chaudhuri, Mark A. Heinrich, Chris Holt, Jaswinder Pal Singh, Edward Rothberg, John L. Hennessy
IEEE Trans. Computers4
2002 Categorizing information objects from user access patterns
abstract
Many web sites have dynamic information objects whose topics change over time. Classifying these objects automatically and promptly is a challenging and important problem for site masters. Traditional content-based and link structure based classification techniques have intrinsic limitations for this task. This paper proposes a framework to classify an object into an existing category structure by analyzing the users' traversals in the category structure. The key idea is to infer an object's topic from the predicted preferences of users when they access the object. We compare two approaches using this idea. One analyzes collective user behavior and the other each user's accesses. We present experimental results on actual data that demonstrate a much higher prediction accuracy and applicability with the latter approach. We also analyze the correlation between classification quality and various factors such as the number of users accessing the object. To our knowledge, this work is the first effort in combining object classification with user access prediction.
Mao Chen 0001, Andrea S. LaPaugh, Jaswinder Pal Singh
CIKM3
2002 Creating and preserving locality of java applications at allocation and garbage collection times
abstract
The growing gap between processor and memory speeds is motivating the need for optimization strategies that improve data locality. A major challenge is to devise techniques suitable for pointer-intensive applications. This paper presents two techniques aimed at improving the memory behavior of pointer-intensive applications with dynamic memory allocation, such as those written in Java. First, we present an allocation time object placement technique based on the recently introduced notion of prolific (frequently instantiated) types. We attempt to co-locate, at allocation time, objects of prolific types that are connected via object references. Then, we present a novel locality based graph traversal technique. The benefits of this technique, when applied to garbage collection (GC), are twofold: (i) it improves the performance of GC due to better locality during a heap traversal and (ii) it restructures surviving objects in a way that enhances locality. On multiprocessors, this technique can further reduce overhead due to synchronization and false sharing. The experimental results, on a well-known suite of Java benchmarks (SPECjvm98 [26], SPECjbb2000 [27], and jOlden [4]), from an implementation of these techniques in the Jikes RVM [1], are very encouraging. The object co-allocation technique improves application performance by up to 21% (10% on average) in the Jikes RVM configured with a non-copying mark-and-sweep collector. The locality-based traversal technique reduces GC times by up to 20% (10% on average) and improves the performance of applications by up to 14% (6% on average) in the Jikes RVM configured with a copying semi-space collector. Both techniques combined can improve application performance by up to 22% (10% on average) in the Jikes RVM configured with a non-copying mark-and-sweep collector.
Yefim Shuf, Manish Gupta 0002, Hubertus Franke, Andrew W. Appel, Jaswinder Pal Singh
OOPSLA5
2002 Exploiting prolific types for memory management and optimizations
abstract
In this paper, we introduce the notion of prolific and non-prolific types, based on the number of instantiated objects of those types. We demonstrate that distinguishing between these types enables a new class of techniques for memory management and data locality, and facilitates the deployment of known techniques. Specifically, we first present a new type-based approach to garbage collection that has similar attributes but lower cost than generational collection. Then we describe the short type pointer technique for reducing memory requirements of objects (data) used by the program. We also discuss techniques to facilitate the recycling of prolific objects and to simplify object co-allocation decisions.We evaluate the first two techniques on a standard set of Java benchmarks (SPECjvm98 and SPECjbb2000). An implementation of the type-based collector in the Jalapeño VM shows improved pause times, elimination of unnecessary write barriers, and reduction in garbage collection time (compared to the analogous generational collector) by up to 15%. A study to evaluate the benefits of the short-type pointer technique shows a potential reduction in the heap space requirements of programs by up to 16%.
Yefim Shuf, Manish Gupta 0002, Rajesh Bordawekar, Jaswinder Pal Singh
POPL4
2002 Predicting category accesses for a user in a structured information space
abstract
In a categorized information space, predicting users ’ information needs at the category level can facilitate personalization, caching and other topic-oriented services. This paper presents a two-phase model to predict the category of a user’s next access based on previous accesses. Phase 1 generates a snapshot of a user’s preferences among categories based on a temporal and frequency analysis of the user’s access history. Phase 2 uses the computed preferences to make predictions at different category granularities. Several alternatives for each phase are evaluated, using the rating behaviors of on-line raters as the form of access considered. The results show that a method based on re-access pattern and frequency analysis of a user’s whole history has the best prediction quality, even over a path-based method (Markov model) that uses the combined history of all users.
Mao Chen 0001, Andrea S. LaPaugh, Jaswinder Pal Singh
SIGIR3
2002 A Comparison of Three Programming Models for Adaptive Applications on the Origin2000
Hongzhang Shan, Jaswinder Pal Singh, Leonid Oliker, Rupak Biswas
J. Parallel Distributed Comput.2
2001 Message Passing Vs. Shared Address Space on a Clusters of SMPs
abstract
The emergence of scalable computer architectures using clusters of PCs (or PC-SMPs) with commodity networking has made them attractive platforms for high-end scientific computing. Currently, message passing (MP) and shared address space (SAS) are the two leading programming paradigms for these systems. MP has been standardized with MPI, and is the most common and mature parallel programming approach. However, MP code development can be extremely difficult, especially for irregularly structured computations. SAS offers substantial ease of programming, but may suffer from performance limitations due to poor spatial locality and high protocol overhead. In this paper, we compare the performance of and programming effort required for six applications under both programming models on a 32-CPU PC-SMP cluster. Our application suite consists of codes that typically do not exhibit scalable performance under shared-memory programming due to their high communication-to-computation ratios and complex communication patterns. Results indicate that SAS can achieve about half the parallel efficiency of MPI for most of our applications; however on certain classes of problems, SAS performance is competitive with MPI.
Hongzhang Shan, Jaswinder Pal Singh, Leonid Oliker, Rupak Biswas
IPDPS2
2001 Computing and using reputations for internet ratings
abstract
Ratings for products and services are increasingly important on the Internet, as they allow users to harvest the wisdom of the community in making decisions. However, the difficulty with ratings is that little is known about the people providing them. Interpreting ratings well requires that the reputations of raters be factored into the scores computed for rated objects, even though these reputations are not explicitly available. Taking advantage of the insight that reputation can be computed implicitly from ratings, this paper addresses the reputation problem for raters and its application to evaluating rated objects. We develop a general method to automatically compute reputations for raters based on the ratings they and others give to objects, and incorporate these reputations to generate value-added information about rated objects. We evaluate our mechanisms by performing experiments on data from major rating sites, and show that they have the desired properties of a good reputation system. In the process, we analyze some key characteristics of different types of Internet ratings. To our knowledge, this is the first investigation into automatically computing raters'reputations and applying these reputations to better evaluate rated objects.
Mao Chen 0001, Jaswinder Pal Singh
EC2
2001 Accelerating shared virtual memory via general-purpose network interface support
abstract
Clusters of symmetric multiprocessors (SMPs) are important platforms for high-performance computing. With the success of hardware cache-coherent distributed shared memory (DSM), a lot of effort has also been made to support the coherent shared-address-space programming model in software on clusters. Much research has been done in fast communication on clusters and in protocols for supporting software shared memory across them. However, the performance of software virtual memory (SVM) is still far from that achieved on hardware DSM systems. The goal of this paper is to improve the performance of SVM on system area network clusters by considering communication and protocol layer interactions. We first examine what are the important communication system bottlenecks that stand in the way of improving parallel performance of SVM clusters; in particular, which parameters of the communication architecture are most important to improve further relative to processor speed, which ones are already adequate on modern systems for most applications, and how will this change with technology in the future. We find that the most important communication subsystem cost to improve is the overhead of generating and delivery interrupts for asynchronous protocol processing. Then we proceed to show, that by providing simple and general support for asynchronous message handling in a commodity network interface (NI) and by altering SVM protocols appropriately, protocol activity can be decoupled from asynchronous message handling, and the need for interrupts or polling can be eliminated. The NI mechanisms needed are generic, not SVM-dependent. We prototype the mechanisms and such asynchronous home-basedLRCprotocol, calledGeNIMA(GEneral-purpose Network Interface support for shared Memory Abstractions), on a cluster of SMPs with a programmable NI. We find that the performance improvements are substantial, bringing performance on a small-scale SMP cluster much closer to that of hardware-coherent shared memory for many applications, and we show the value of each of the mechanisms in different applications.
Angelos Bilas, Dongming Jiang, Jaswinder Pal Singh
ACM Trans. Comput. Syst.3
2000 A Comparison of Three Programming Models for Adaptive Applications on the Origin2000
Hongzhang Shan, Jaswinder Pal Singh, Leonid Oliker, Rupak Biswas
SC2
1999 Limits to the Performance of Software Shared Memory: A Layered Approach
abstract
Much research has been done in fast communication on clusters and in protocols for supporting software shared memory across them. However, the end performance of applications that were written for the more proven hardware-coherent shared memory is still not very good on these systems. Three major layers of software (and hardware) stand between the end user and parallel performance, each with its own functionality and performance characteristics. They include the communication layer, the software protocol layer that supports the programming model, and the application layer. These layers provide a useful framework to identify the key remaining limitations and bottlenecks in software shared memory systems, as well as the areas where optimization efforts might yield the greatest performance improvements. This paper performs such an integrated study, using this layered framework, for two types of software distributed shared memory systems: page-based shared virtual memory (SVM) and fine-grained software systems (FG). For the two system layers (communication and protocol), we focus on the performance costs of basic operations in the layers rather than on their functionalities. This is possible because their functionalities are now fairly mature. The less mature applications layer is treated through application restructuring. We examine the layers individually and in combination, understanding their implications for the two types of protocols and exposing the synergies among layers.
Angelos Bilas, Dongming Jiang, Yuanyuan Zhou 0001, Jaswinder Pal Singh
HPCA4
1999 Shared virtual memory with automatic update support
abstract
Shared virtual memory systems provide the abstraction of a shared address space on top of a messagepassing communication architecture. The overall performance of an SVM system therefore depends on both the raw performance of the underlying communication mechanism and the e#ciency with which the SVM protocol uses that mechanism. The Automatic Update Release Consistency (AURC) protocol was proposed to take advantage of simple memory-mapped communication and automatic update support to accelerate a shared virtual memory protocol. However, there has not yet been a real system on which an implementation of this protocol could be evaluated. This paper reports our evaluation of AURC on the SHRIMP multicomputer, the only hardware platform that supports an automatic update mechanism. Automatic update propagates local memory writes to remote memory locations automatically. We compare the AURC protocol with its all-software counterpart protocol, Home-based Lazy Release Consistency (HLRC). By int...
Liviu Iftode, Matthias A. Blumrich, Cezary Dubnicki, David Oppenheimer, Jaswinder Pal Singh, Kai Li 0001
International Conference on Supercomputing5
1999 Application scaling under shared virtual memory on a cluster of SMPs
abstract
In this paper we examine how application performance scales on a state-of-the-art shared virtual memory (SVM) system on a cluster with 64 processors, comprising 4-way SMPs connected with a fast system area network.The protocol we use is home-based and takes advantage of general-purpose data movement and mutual exclusion support provided by a programmable network interface.We find that while the level of application restructuring needed is quite high compared to applications that perform well on a hardware-coherent system of this scale, and larger problem sizes are needed for good performance, SVM, surprisingly, performs quite well at the 64-processor scale for a fairly wide range of applications, achieving at least half the parallel efficiency of a high-end hardware-coherent system and often much more.We explore further application restructurings than those developed earlier for smaller-scale SVM systems, examine the main remaining system and application bottlenecks, and point out directions for future research.
Dongming Jiang, Brian O'Kelley, Angelos Bilas, Jaswinder Pal Singh
International Conference on Supercomputing6
1999 A comparison of MPI, SHMEM and cache-coherent shared address space programming models on the SGI Origin2000
abstract
We compare the performance of three major programming models -- a load-store cache-coherent shared address space (CC-SAS), message passing (MP) and the segmented SHMEM model -- on a modern, 64-processor hardware cache-coherent machine, one of the two major types of platforms upon which high-performance computing is converging. We focus on applications that are either regular and predictable or at least do not require fine-grained dynamic replication of irregularly accessed data. Within this class, we use programs with a range of important communication patterns. We examine whether the basic parallel algorithm and communication structuring approaches needed for best performance are similar or different among the models, whether some models have substantial performance advantages over others as problem size and number of processors change, what the sources of these performance differences are, where the programs spend their time, and whether substantial improvements can be obtained by mo...
Hongzhang Shan, Jaswinder Pal Singh
International Conference on Supercomputing2
1999 Using Network Interface Support to Avoid Asynchronous Protocol Processing in Shared Virtual Memory Systems
abstract
The performance of page-based software shared virtual memory (SVM) is still far from that achieved on hardware-coherent distributed shared memory (DSM) systems. The interrupt cost for asynchronous protocol processing has been found to be a key source of performance loss and complexity. This paper shows that by providing simple and general support for asynchronous message handling in a commodity network interface (NI), and by altering SVM protocols appropriately, protocol activity can be decoupled from asynchronous message handling and the need for interrupts or polling can be eliminated. The NI mechanisms needed are generic, not SVM-dependent. They also require neither visibility into the node memory system nor code instrumentation to identify memory operations. We prototype the mechanisms and such a synchronous home-based LRC protocol, called GeNIMA (GEneral-purpose Network Interface support in a shared Memory Abstraction), on a cluster of SMPs with a programmable NI, though the mechanisms are simple and do not require programmability. We find that the performance improvements are substantial, bringing performance on a small-scale SMP cluster much closer to that of hardware-coherent shared memory for many applications, and we show the value of each of the mechanisms in different applications. Application performance improves by about 37% on average for reasonably well performing applications, even on our relatively slow programmable NI, and more for others. We discuss the key remaining bottlenecks at the protocol level and use a firmware performance monitor in the NI to understand the interactions with and the implications for the communication layer.
Angelos Bilas, Jaswinder Pal Singh
ISCA3
1999 Scaling Application Performance on a Cache-Coherent Multiprocessors
abstract
Hardware-coherent, distributed shared address space systems are increasingly successful at moderate scale. However, it is unclear whether, or with how much difficulty, the performance of a load-store shared address space programming model scales to large processor counts on real applications. We examine this question using an aggressive case-study machine, the SGI Origin2000, up to 128 processors. We show for the first time that scalable performance can indeed be achieved in this programming model on a wide range of applications, including challenging kernels like FFT. However, this does not come easily, even for applications considered to be already highly optimized, and is very often not simply a matter of increasing problem size. Rather, substantial further application restructuring is often needed, which is usually quite algorithmic in nature. We examine how the restructurings compare with those needed for performance portability to shared virtual memory on clusters, and we comment on common programming guidelines for performance portability and scalability as well as on how the programming difficulty compares with that of explicit message passing. We also examine where applications spend their time on this large machine, the impact of special hardware features that the machine provides, and the impact of mapping to the network topology.
Dongming Jiang, Jaswinder Pal Singh
ISCA2
1999 Parallel Sorting on Cache-coherent DSM Multiprocessors
abstract
The performance of parallel sorting is not well understood on hardware cachecoherent shared address space (CC-SAS) multiprocessors, which increasingly dominate the market for tightly-coupled multiprocessing.We study two high-performance parallel sorting algorithms, radix and sample sorting, under three major programming models-a load-store CC-SAS, message passing, and the segmented SHMEM model-on a 64-processor SGI Origin2000.We observe surprisingly good speedups on this demanding application.The performance of radix sort is greatly affected by the programming model and particular implementation used.Sample sort exhibits more uniform performance across programming models on this platform, but it is usually not so good as that of the best radix sort for larger data sets if each is allowed to use the best programming model for itself.The best combination of algorithm and programming model is radix sorting under the SHMEM model for larger data sets and sample sorting under CC-SAS for smaller data sets.Recently, a new type of platform has begun to dominate tightly-coupled multiprocessing, and together with less tightly-coupled commodity clusters constitutes the stateof-the-art going forward in multiprocessing.This type of platform supports a shared address space with implicit coherent replication of data in hardware, even though memory is physically distributed.It is very different from the traditional message-passing 1
Hongzhang Shan, Jaswinder Pal Singh
SC2
1999 Evaluating Synchronization on Shared Address Space Multiprocessors: Methodology and Performance
abstract
Synchronization is an area that exhibits rich hardware-software interactions in multiprocessors.It was studied extensively using microbenchmarks a decade ago.However, its performance implications are not well understood on modern systems or on real applications.We study the impact of synchronization primitives and algorithms on a modern, 64processor, hardware-coherent shared address space multiprocessor: the SGI Origin 2000.In addition to the actual results on a modern system, we examine the key methodological issues in studying synchronization, for both microbenchmarks and applications.We find that although the efficient hardware support (Fetch&Op) for synchronization provided on our machine usually helps lock and barrier microbenchmarks, it does not help in improving application performance when compared to good software algorithms that use the processor-provided LL-SC instructions.This is true even in applications that spend a significant amount of time in synchronization operations.More elaborate hardware support is unlikely to have a significant benefit either.From the applications' perspective, it is usually the waiting time due to load imbalance or serialization that dominates synchronization time, not the overhead of the synchronization operations themselves, even in apparently balanced cases where the overhead may be expected to be substantial.
Dongming Jiang, Rohit Chandra, Jaswinder Pal Singh
SIGMETRICS4
1999 Using imperfect secondary structure predictions to improve molecular structure computations
abstract
MOTIVATION: Until ab initio structure prediction methods are perfected, the estimation of structure for protein molecules will depend on combining multiple sources of experimental and theoretical data. Secondary structure predictions are a particularly useful source of structural information, but are currently only approximately 70% correct, on average. Structure computation algorithms which incorporate secondary structure information must therefore have methods for dealing with predictions that are imperfect. EXPERIMENTS PERFORMED: We have modified our algorithm for probabilistic least squares structural computations to accept 'disjunctive' constraints, in which a constraint is provided as a set of possible values, each weighted with a probability. Thus, when a helix is predicted, the distances associated with a helix are given most of the weight, but some weights can be allocated to the other possibilities (strand and coil). We have tested a variety of strategies for this weighting scheme in conjunction with a baseline synthetic set of sparse distance data, and compared it with strategies which do not use disjunctive constraints. RESULTS: Naive interpretations in which predictions were taken as 100% correct led to poor-quality structures. Interpretations that allow disjunctive constraints are quite robust, and even relatively poor predictions (58% correct) can significantly increase the quality of computed structures (almost halving the RMS error from the known structure). CONCLUSIONS: Secondary structure predictions can be used to improve the quality of three-dimensional structural computations. In fact, when interpreted appropriately, imperfect predictions can provide almost as much improvement as perfect predictions in three-dimensional structure calculations.
Cheng Che Chen, Jaswinder Pal Singh, Russ B. Altman
Bioinform.2
1999 Shared virtual memory: progress and challenges
abstract
Shared virtual memory, a technique for supporting a shared address space in software on parallel systems, has undergone a decade of research, with significant maturing of protocols and communication layers having now been achieved. We provide a survey of the key developments in this research, placing the multitrack flow of ideas and results obtained so far in a comprehensive new framework. Four major research tracks are covered: relaxed consistency models; protocol laziness; architectural support; and application-driven research. Several related avenues are also discussed, such as fine grained software coherence, software protocols across multiprocessor nodes, and performance scalability. We summarize comparative performance results from the literature, discuss their limitations, and identify lessons learned so far, key outstanding questions, and important directions for future research in this area.
Liviu Iftode, Jaswinder Pal Singh
Proc. IEEE2
1998 Home-Based SVM Protocols for SMP Clusters: Design and Performance
abstract
As small-scale shared memory multiprocessors proliferate in the market, it is very attractive to construct large-scale systems by connecting smaller multiprocessors together in software using efficient commodity, network interfaces and networks. Using a shared virtual memory (SVM) layer for this purpose preserves the attractive shared memory programming abstraction across nodes. In this paper: We describe home-based SVM protocols that support symmetric multiprocessor (SMP) nodes, taking advantage of the intra-node hardware cache coherence and synchronization mechanisms. Our protocols take no special advantage of the network interface and network except as a fast communication link, and as such are very portable. We present the key design tradeoffs, discuss our choices, and describe key data structures that enable us to implement these choices quite simply. We present an implementation on a network of 4-way Intel PentiumPro SMPs interconnected with Myrinet, and provide performance results. We explore the advantages of SMP nodes over uniprocessor nodes with this protocol, as well as other performance tradeoffs, through both real implementation and simulation as appropriate, since both have important roles to play. We find one approach to deliver good parallel performance on many real applications (at least at the scale we examine) and to improve performance over SVM across uniprocessor nodes.
Rudrajit Samanta, Angelos Bilas, Liviu Iftode, Jaswinder Pal Singh
HPCA4
1998 Evaluation of Hardware Write Propagation Support for Next-generation Shared Virtual Memory Clusters
abstract
Clusters of symmetric multiprocessors (SMPs), connected by commodity system-area networks (SANs) and interfaces are fast being adopted as platforms for parallel computing. Page-grained shared virtual memory (SVM) is a popular way to support a coherent shared address space programming model on these clusters. Previous research has identified several key bottlenecks in the communication, protocol and application layers of a software SVM system that are not so significant in more mainstream, hardware-coherent multiprocessors. A key question for the communication layer is how much and what kind of hardware support is particularly valuable in improving the performance of such systems. This paper examines a popular form of hardware support---namely, support for automatic, hardware propagation of writes to remote memories---discussing new design issues and evaluating performance in the context of emerging clusters. Since much of the performance difference is due to differences in contention effects in various parts of the system, performance is examined through very detailed simulation, utilizing the deep visibility into the simulated system to analyze the causes of observed effects.
Angelos Bilas, Liviu Iftode, Jaswinder Pal Singh
International Conference on Supercomputing3
1998 The hierarchical organization of molecular structure computations
abstract
The task of computing molecular structure from combinations of experimental and theoretical constraints is expensive because of the large number of estimated parameters (the 3D coordinates of each atom) and the rugged landscape of many objective functions. For large molecular ensembles with multiple protein and nucleic acid components, the problem of maintaining tractability in structural computations becomes critical. A well known strategy for solving difficult problems is divide and conquer. For molecular computations, there are two ways in which problems can be divided: (1) using the natural hierarchy within biological macromolecules (taking advantage of primary sequence, secondary structural subunits and tertiary structural motifs, when they are known), and (2) using the hierarchy that results from analyzing the distribution of structural constraints (providing information about which substructures are constrained to one another). In this paper, we show that these two hierarchies can be complementary and can provide information for efficient decomposition of structural computations. We demonstrate four methods for building such hierarchies---two automated heuristics that use both natural and empirical hierarchies, one knowledge-based process using both hierarchies, and one method based on the natural hierarchy alone---and apply them to a data set for the procaryotic 30S ribosomal subunit using our probabilistic least squares structure estimation algorithm. We show that the three methods that combine natural hierarchies with empirical hierarchies create decompositions which increase the empirical efficiency of computations by as much as 50-fold. There is only half this gain when using the natural decomposition alone. Although the knowledge-based method performs margi...
Cheng Che Chen, Jaswinder Pal Singh, Russ B. Altman
RECOMB2
1998 A Methodology and an Evaluation of the SGI Origin2000
abstract
As hardware-coherent, distributed shared memory (DSM) multiprocessing becomes popular commercially, it is important to evaluate modern realizations to understand how they perform and scale for a range of interesting applications and to identify the nature of the key bottlenecks. This paper evaluates the SGI Origin2000---the machine that perhaps has the most aggressive communication architecture of the recent cache-coherent offerings---and, in doing so, articulates a sound methodology for evaluating real systems. We examine data access and synchronization microbenchmarks; speedups for different application classes, problem sizes and scaling models; detailed interactions and time breakdowns using performance tools; and the impact of special hardware support. We find that overall the Origin appears to deliver on the promise of cache-coherent shared address space multiprocessing, at least at the 32-processor scale we examine. The machine is quite easy to program for performance and has fewer organizational problems than previous systems we have examined. However, some important trouble spots are also identified, especially related to contention that is apparently caused by engineering decisions to share resources among processors.
Dongming Jiang, Jaswinder Pal Singh
SIGMETRICS2
1998 Scope Consistency: A Bridge between Release Consistency and Entry Consistency
Liviu Iftode, Jaswinder Pal Singh, Kai Li 0001
Theory Comput. Syst.2
1997 Parallel Shear-Warp Volume Rendering on Shared Address Space Multiprocessors
abstract
This paper presents a new parallel volume rendering algorithm and implementation, based on shear warp factorization, for shared address space multiprocessors. Starting from an existing parallel shear-warp renderer, we use increasingly detailed performance measurements on real machines and simulators to understand performance bottlenecks. This leads us to a new parallel implementation that substantially outperforms and out-scales the old one on a range of shared address space platforms, from bus-based centralized memory machine to hardware-coherent distributed memory machines to networks of computers connected by page-based shared virtual memory. The results demonstrate that real time volume rendering is promising on general purpose multiprocessors, and illustrate the utility of tool hierarchies in conjunction with algorithmic and application knowledge to understand memory system interactions and improve parallel algorithms.
Dongming Jiang, Jaswinder Pal Singh
PPoPP2
1997 Application Restructuring and Performance Portability on Shared Virtual Memory and Hardware-Coherent Multiprocessors
abstract
The performance portability of parallel programs across a wide range of emerging coherent shared address space systems is not well understood. Programs that run well on efficient, hardware cache-coherent systems often do not perform well on less optimal or more commodity-based communication architectures. This paper studies this issue of performance portability, with the commodity communication architecture of interest being page-grained shared virtual memory. We begin with applications that perform well on moderat scale hardware cache-coherent systems, and find that they do not do so well on SVM systems. Then, we examine whether and how the applications can be improved for SVM systems --- through data structuring or algorithmic enhancements---and the nature and difficulty of the optimization. Finally, we examine the impact of the successful optimizations on hardware-coherent platforms themselves, to see whether they are helpful, harmful or neutral on those platforms. We develop a systematic methodology to explore optimizations in different structured classes. The results, and the difficulty of the optimizations, lead insight not only into performance portability but also into the viability of SVM as a platform for these types of applications.
Dongming Jiang, Hongzhang Shan, Jaswinder Pal Singh
PPoPP3
1997 Relaxed Consistency and Coherence Granularity in DSM Systems: A Performance Evaluation
abstract
During the past few years, two main approaches have been taken to improve the performance of software shared memory implementations: relaxing consistency models and providing fine-grained access control. Their performance tradeoffs, however, we not well understood. This paper studies these tradeoffs on a platform that provides access control in hardware but runs coherence protocols in software, We compare the performance of three protocols across four coherence granularities, using 12 applications on a 16-node cluster of workstations. Our results show that no single combination of protocol and granularity performs best for all the applications. The combination of a sequentially consistent (SC) protocol and fine granularity works well with 7 of the 12 applications. The combination of a multiple-writer, home-based lazy release consistency (HLRC) protocol and page granularity works well with 8 out of the 12 applications. For applications that suffer performance losses in moving to coarser granularity under sequential consistency, the performance can usually be regained quite effectively using relaxed protocols, particularly HLRC. We also find that the HLRC protocol performs substantially better than a single-writer lazy release consistent (SW-LRC) protocol at coase granularity for many irregular applications. For our applications and platform, when we use the original versions of the applications ported directly from hardware-coherent shared memory, we find that the SC protocol with 256-byte granularity performs best on average. However, when the best versions of the applications are compared, the balance shifts in favor of HLRC at page granularity.
Yuanyuan Zhou 0001, Liviu Iftode, Jaswinder Pal Singh, Kai Li 0001, Brian R. Toonen, Ioannis Schoinas, Mark D. Hill, David A. Wood 0001
PPoPP3
1997 The Effects of Communication Parameters on End Performance of Shared Virtual Memory Clusters
abstract
Recently there has been a lot of effort in providing cost-effective Shared Memory systems by employing software only solutions on clusters of high-end workstations coupled with high-bandwidth, low-latency commodity networks. Much of the work so far has focused on improving protocols, and there has been some work on restructuring applications to perform better on SVM systems. The result of this progress has been the promise for good performance on a range of applications at least in the 16-32 processor range. New system area networks and network interfaces provide significantly lower overhead, lower latency and higher bandwidth communication in clusters, inexpensive SMPs have become common as the nodes of these clusters, and SVM protocols are now quite mature. With this progress, it is now useful to examine what are the important system bottlenecks that stand in the way of effective parallel performance; in particular, which parameters of the communication architecture are most important to improve further relative to processor speed, which ones are already adequate on modern systems for most applications, and how will this change with technology in the future. Such information can assist system designers in determining where to focus their energies in improving performance, and users in determining what system characteristics are appropriate for their applications.We find that the most important system cost to improve is the overhead of generating and delivering interrupts. Improving network interface (and I/O bus) bandwidth relative to processor speed helps some bandwidth-bound applications, but currently available ratios of bandwidth to processor speed are already adequate for many others. Surprisingly, neither the processor overhead for handling messages nor the occupancy of the communication interface in preparing and pushing packets through the network appear to require much improvement.
Angelos Bilas, Jaswinder Pal Singh
SC2
1996 The Impact of Shared-Cache Clustering in Small-Scale Shared-Memory Multiprocessors
abstract
As processor performance continues to increase, greater demands are placed on the bus and memory systems of small-scale shared-memory multiprocessors. In this paper, we investigate how to reduce these demands by organizing groups of processors into clusters which are then connected together using a shared global bus. We take advantage of the high-bandwidth, low-latency interconnections available from multichip module (MCM) technology, to build clusters with multiple high-performance processors sharing an L2 cache. The use of MCM technology allows for significantly lower shared-cache access times, and higher shared cache to processor bandwidth, than is possible using printed circuit board (PCB) designs. Our results show that for an eight processor bus-based system, bus contention can be a large portion of the overall execution time, and that clustering can eliminate much or all of it. Clustering also tends to reduce read stall times due to shared working set effects and a reduction in the effect of communication misses. The same is true for two and four processor systems, although to a lesser extent. Overall, we find that clustering can result in significant performance gains for applications which heavily utilize the memory system.
Basem A. Nayfeh, Kunle Olukotun, Jaswinder Pal Singh
HPCA3
1996 Application and Architectural Bottlenecks in Large Scale Distributed Shared Memory Machines
abstract
Many of the programming challenges encountered in small to moderate-scale hardware cache-coherent shared memory machines have been extensively studied. While work remains to be done, the basic techniques needed to efficiently program such machines have been well explored. Recently, a number of researchers have presented architectural techniques for scaling a cache coherent shared address space to much larger processor counts. In this paper, we examine the extent to which applications can achieve reasonable performance on such large-scale, cache-coherent, distributed shared address space machines, by determining the problems sizes needed to achieve a reasonable level of efficiency. We also look at how much programming effort and optimization is needed to achieve high efficiency, beyond that needed at small processor counts. For each application, we discuss the main architectural bottlenecks that prevent smaller problem sizes or less optimized programs from achieving good efficiency. Our results show that while there are some applications that either do not scale or must be heavily optimized to do so, for most of the applications we studied it is not necessary to heavily modify the code or restructure algorithms to scale well upto several hundred processors, once the basic techniques for load balancing and data locality are used that are needed for small-scale systems as well. Programs written with some care perform well without substantially compromising the ease of programming advantage of a shared address space, and the problem sizes required to achieve good performance are surprisingly small. It is important to be careful about how data structures and layouts interact with system granularities, but these optimizations are usually needed for moderate-scale machines as well.
Chris Holt, Jaswinder Pal Singh, John L. Hennessy
ISCA2
1996 Understanding Application Performance on Shared Virtual Memory Systems
abstract
Many researchers have proposed interesting protocols for shared virtual memory (SVM) systems, and demonstrated performance improvements on parallel programs. However, there is still no clear understanding of the performance potential of SVM systems for different classes of applications. This paper begins to fill this gap, by studying the performance of a range of applications in detail and understanding it in light of application characteristics.We first develop a brief classification of the inherent data sharing patterns in the applications, and how they interact with system granularities to yield the communication patterns relevant to SVM systems. We then use detailed simulation to compare the performance of two SVM approaches---Lazy Released Consistency (LRC) and Automatic Update Release Consistency (AURC)---with each other and with an all-hardware CC-NUMA approach. We examine how performance is affected by problem size, machine size, key system parameters, and the use of less optimized program implementations. We find that SVM can indeed perform quite well for systems of at leant up to 32 processors for several nontrivial applications. However, performance is much more variable across applications than on CC-NUMA systems, and the problem sizes needed to obtain good parallel performance are substantially larger. The hardware-assisted AURC system tends to perform significantly better than the all-software LRC under our system assumptions, particularly when realistic cache hierarchies are used.
Liviu Iftode, Jaswinder Pal Singh, Kai Li 0001
ISCA2
1996 Parallel Hierarchical Molecular Structure Estimation
abstract
Determining the structure of biological macromolecules such as proteins and nucleic acids is an important element of molecular biology because of the intimate relation between form and function of these molecules. Individual sources of data about molecular structure are subject to varying degrees of uncertainty. Previously we have examined the parallelization of a probabilistic algorithm for combining multiple sources of uncertain data to estimate the three-dimensional structure of molecules and also predict a measure of the uncertainty in the estimated structure. In this paper we extend our work on two major fronts. First we present a hierarchiacal decomposition of the original algorithm which reduces the sequential computational complexity tremendously. The hierarchical decomposition in turn reveals a new axis of parallelism not present in the "flat" organization of the problems, as well as new parallelization problems. We demonstrate good speedups on two cache-coherent shared-memory multiprocessors, the Stanford DASH and the SGI Challenge, with distributed and centralized memory organization, respectively. Our results point to several areas of further study to make both the hierarchiacal and the parallel aspects more flexible for general problems: automatic structure decomposition, processor load balancing across the hierarchy, and data locality management in conjunction with load balancing. Finally we outline the directions we are investigating to incorporate these extensions.
Cheng Che Chen, Jaswinder Pal Singh, Russ B. Altman
SC2
1996 Scope Consistency: A Bridge Between Release Consistency and Entry Consistency
abstract
Systems that maintain coherence at large granularity, such as shared virtual memory systems, suffer from false sharing and extra communication. Relaxed memory consistency models have been used to alleviate these problems, but at a cost in programming complexity. Release Consistency (RC) and Lazy Release Consistency (LRC) are accepted to offer a reasonable tradeoff between performance and programming complexity. Entry Consistency (EC) offers a more relaxed consistency model, but it requires explicit association of shared data objects with synchronization variables. The programming burden of providing such associations can be substantial.
Liviu Iftode, Jaswinder Pal Singh, Kai Li 0001
SPAA2
1996 Computational complexity reduction for BN2O networks using similarity of states
Alexander V. Kozlov, Jaswinder Pal Singh
UAI2
1995 The SPLASH-2 Programs: Characterization and Methodological Considerations
abstract
The SPLASH-2 suite of parallel applications has recently been released to facilitate the study of centralized and distributed shared-address-space multiprocessors. In this context, this paper has two goals. One is to quantitatively characterize the SPLASH-2 programs in terms of fundamental properties and architectural interactions that are important to understand them well. The properties we study include the computational load balance, communication to computation ratio and traffic needs, important working set sizes, and issues related to spatial locality, as well as how these properties scale with problem size and the number of processors. The other, related goal is methodological: to assist people who will use the programs in architectural evaluations to prune the space of application and machine parameters in an informed and meaningful way. For example, by characterizing the working sets of the applications, we describe which operating points in terms of cache size and problem size are representative of realistic situations, which are not, and which re redundant. Using SPLASH-2 as an example, we hope to convey the importance of understanding the interplay of problem size, number of processors, and working sets in designing experiments and interpreting their results.
Steven Cameron Woo, Moriyoshi Ohara, Evan Torrie, Jaswinder Pal Singh, Anoop Gupta
ISCA4
1995 The Benefits of Clustering in Shared Address Space Multiprocessors: An Applications-Driven Investigation
abstract
Clustering processors together at a level of the memory hierarchy in shared address space multiprocessors appears to be an attractive technique from several standpoints: Resources are shared, packaging technologies are exploited, and processors within a cluster can share data more effectively. We investigate the performance benefits that can be obtained by clustering on a range of important scientific and engineering applications in moderate to large scale cache coherent machines with small degrees of clustering (up to one eighth of the total number of processors in a cluster). We find that except for applications with near neighbor communication topologies this degree of clustering is not very effective in reducing the inherent communication to computation ratios. Clustering is more useful in reducing the the number of remote capacity misses in unstructured applications, and can improve performance substantially when small first-level caches are clustered in these cases. This suggests that clustering at the first level cache might be useful in highly-integrated, relatively fine-grained environments. For less integrated machines such as current distributed shared memory multiprocessors, our results suggest that clustering at the first-level caches is not very useful in improving application performance; however our results also suggest that in an machine with long interprocessor communication latencies, clustering further away from the processor can provide performance benefits.
Andrew Erlichson, Basem A. Nayfeh, Jaswinder Pal Singh, Kunle Olukotun
SC3
1995 Sensitivities: An Alternative to Conditional Probabilities for Bayesian Belief Networks
Alexander V. Kozlov, Jaswinder Pal Singh
UAI2
1995 Load Balancing and Data locality in Adaptive Hierarchical N-Body Methods: Barnes-Hut, Fast Multipole, and Rasiosity
Jaswinder Pal Singh, Chris Holt, Takashi Totsuka, Anoop Gupta, John L. Hennessy
J. Parallel Distributed Comput.1
1995 Implications of Hierarchical N-Body Methods for Multiprocessor Architectures
abstract
To design effective large-scale multiprocessors, designers need to understand the characteristics of the applications that will use the machines. Application characteristics of particular interest include the amount of communication relative to computation, the structure of the communication, and the local cache and memory requirements, as well as how these characteristics scale with larger problems and machines. One important class of applications is based on hierarchical N-body methods, which are used to solve a wide range of scientific and engineering problems efficiently. Important characteristics of these methods include the nonuniform and dynamically changing nature of the domains to which they are applied, and their use of long-range, irregular communication. This article examines the key architectural implications of representative applications that use the two dominant hierarchical N-body methods: the Barnes-Hut Method and the Fast Multipole Method. We first show that exploiting temporal locality on accesses to communicated data is critical to obtaining good performance on these applications and then argue that coherent caches on shared-address-space machines exploit this locality both automatically and very effectively. Next, we examine the implications of scaling the applications to run on larger machines. We use scaling methods that reflect the concerns of the application scientist and find that this leads to different conclusions about how communication traffic and local cache and memory usage scale than scaling based only on data set size. In particular, we show that under the most realistic form of scaling, both the communication-to-computation ratio as well as the working-set size (and hence the ideal cache size per processor) grow slowly as larger problems are run on larger machines. Finally, we examine the effects of using the two dominant abstractions for interprocessor communication: a shared address space and explicit message passing between private address spaces. We show that the lack of an efficiently supported shared address space will substantially increase the programming complexity and performance overheads for these applications.
Jaswinder Pal Singh, John L. Hennessy, Anoop Gupta
ACM Trans. Comput. Syst.1
1994 The Performance Impact of Flexibility in the Stanford FLASH Multiprocessor
abstract
A flexible communication mechanism is a desirable feature in multiprocessors because it allows support for multiple communication protocols, expands performance monitoring capabilities, and leads to a simpler design and debug process. In the Stanford FLASH multiprocessor, flexibility is obtained by requiring all transactions in a node to pass through a programmable node controller, called MAGIC. In this paper, we evaluate the performance costs of flexibility by comparing the performance of FLASH to that of an idealized hardwired machine on representative parallel applications and a multiprogramming workload. To measure the performance of FLASH, we use a detailed simulator of the FLASH and MAGIC designs, together with the code sequences that implement the cache-coherence protocol. We find that for a range of optimized parallel applications the performance differences between the idealized machine and FLASH are small. For these programs, either the miss rates are small or the latency of the programmable protocol can be hidden behind the memory access time. For applications that incur a large number of remote misses or exhibit substantial hot-spotting, performance is poor for both machines, though the increased remote access latencies or the occupancy of MAGIC lead to lower performance for the flexible design. In most cases, however, FLASH is only 2%–12% slower than the idealized machine.
Mark A. Heinrich, Jeffrey Kuskin, David Ofelt, John Heinlein, Joel Baxter, Jaswinder Pal Singh, Richard Simoni, Kourosh Gharachorloo, David Nakahira, Mark Horowitz, Anoop Gupta, Mendel Rosenblum, John L. Hennessy
ASPLOS6
1994 The Performance Advantages of Integrating Block Data Trabsfer in Cache-Coherent Multiprocessors
abstract
Integrating support for block data transfer has become an important emphasis in recent cache-coherent shared address space multiprocessors. This paper examines the potential performance benefits of adding this support. A set of ambitious hardware mechanisms is used to study performance gains in five important scientific computations that appear to be good candidates for using block transfer. Our conclusion is that the benefits of block transfer are not substantial for hardware cache-coherent multiprocessors. The main reasons for this are (i) the relatively modest fraction of time applications spend in communication amenable to block transfer, (ii) the difficulty of finding enough independent computation to overlap with the communication latency that remains after block transfer, and (iii) long cache lines often capture many of the benefits of block transfer in efficient cache-coherent machines. In the cases where block transfer improves performance, prefetching can often provide comparable, if not superior, performance benefits. We also examine the impact of varying important communication parameters and processor speed on the effectiveness of block transfer, and comment on useful features that a block transfer facility should support for real applications.
Steven Cameron Woo, Jaswinder Pal Singh, John L. Hennessy
ASPLOS2
1994 Parallel protein structure determination from uncertain data
abstract
Molecular structure determination is an important task in biology because of the intimate relation between form and function of biological molecules. Individual sources of information about molecular structure are subject to uncertainty and are not sufficiently abundant to define the structure to high accuracy by themselves. The authors have examined a probabilistic algorithm, PROTEAN, which can incorporate multiple sources of uncertain data to estimate the three dimensional structure of molecules and also predict a measure of the uncertainty in the estimated structure. They have applied this algorithm successfully to several biological structure problems. Like most structure prediction methods, this algorithm is computationally expensive for realistic biological macromolecules. The authors experiment with speeding up the algorithm through the application of parallelism. They present a parallel version of the algorithm, and demonstrate good speedups on a 32-processor Stanford DASH, a cache coherent shared address space multiprocessor. The results were obtained by exploiting data locality only in the per-processor coherent caches, without attempt to distribute data intelligently in the physically distributed main memory of the machine. The authors also obtained very good speedups on a state of the art commercial multiprocessor, the Silicon Graphics Challenge. Finally, the authors propose an extension to the serial algorithm which enables it to handle a wider class of data, and discuss the potential for parallelization of the extended algorithm.>
Cheng Che Chen, Jaswinder Pal Singh, William B. Poland, Russ B. Altman
SC2
1994 A parallel Lauritzen-Spiegelhalter algorithm for probabilistic inference
abstract
Probabilistic inference in belief networks is a promising technique for diagnosis, forecasting and decision analysis tasks. Unfortunately, exact inference can be very expensive computationally. We examine whether probabilistic inference can be speeded up effectively through parallel computation on real multiprocessors. Our experiments are performed on a 32-processor Stanford DASH multiprocessor, a cache-coherent shared-address-space machine with physically distributed main memory. We find that the major part of the calculation can be moved outside the actual propagation through the network, and yields good speedups. Speedups for the propagation itself depend on the structure of the network and the size of the cliques that the algorithm creates. We demonstrate good speedup on a CPCS subnetwork used for medical diagnosis. This result as well as a tendency for the speedup to increase with the size of the network invites practical application of parallel techniques for large Bayesian networks in expert systems.>
Alexander V. Kozlov, Jaswinder Pal Singh
SC2
1994 Modeling Communication in Parallel Algorithms: A Fruitful Interaction Between Theory and Systems?
abstract
Recently, several theoretical models of parallel architectures have been proposed to replace the PRAM as the model that is presented to an algorithm designer. A primary focus of the new models is to include the cost of interprocessor communication, which is increasingly important in modern parallel architectures. We argue that modeling the communication costs in the architecture or system is only one part of the problem. The other, and usually much more difficult, part is modeling the communication properties of the algorithm itself, which provides necessary inputs into the architectural model to determine overall complexity. In this context, we make three main points in this paper: (i) It is incomplete to describe communication without regard to its relationship with replication. We propose a description of the communication-replication relationship in terms of the working set hierarchy of an algorithm. (ii) Both inherent communication and the communication-replication relationship can be very difficult to model in irregular, dynamic computations that are crucial in many real-world applications. We present some examples that demonstrate this difficulty. (iii) We believe that substantial leverage can be obtained in this effort from the computer systems community, which can provide a hierarchy of simulation and profiling tools—from abstract to detailed—tailored to the needs of the algorithm designers. We propose an initial set of simulation tools, and we discuss possible future refinements to this set.
Jaswinder Pal Singh, Edward Rothberg, Anoop Gupta
SPAA1
1994 Probabilistic Constraint Satisfaction with Non-Gaussian Noise
Russ B. Altman, Cheng Che Chen, William B. Poland, Jaswinder Pal Singh
UAI4
1993 Working Sets, Cache Sizes, and Node Granularity Issues for Large-Scale Multiprocessors
abstract
The distribution of resources among processors, memory and caches is a crucial question faced by designers of large-scale parallel machines. If a machine is to solve problems with a certain data set size, should it be built with a large number of processors each with a small amount of memory, or a smaller number of processors each with a large amount of memory? How much cache memory should be provided per processor for cost-effectiveness? And how do these decisions change as larger problems are run on larger machines?
Edward Rothberg, Jaswinder Pal Singh, Anoop Gupta
ISCA2
1993 A parallel adaptive fast multipole method
abstract
We present parallel versions of a representative N-body application that uses Greengard and Rokhlin's adaptive Fast Multipole Method (FMMJ While parallel implementations of the umform FMM are straightforward and have been developed on alfferent architectures, the aalzptive version complicates the task of obtaining eflective parallel peflormance owing to the nonunz~onn and dynamically changing nature of the problem &mains to which it is applied.We propose and evaluate two techniques for providing load balancing and data locality, both of which take advantageof key insights into the method and its typical applications.Using the better of these techm"ques, we demonstrate 45-fold speedups on galactic sinudations on a 48-processor Stanford DASH machine, a state-of-the-art shared address space multiprocessor even for relatively small problems.We also show good speedups on a 2-ring Kendall Square Research KSR-I.Finally we summarize some key architectural implications of this important computational method.Permission to copy without fee aft or pan of Ibis material is Sranted, provided that the copies am not made or distrit!uted for direct ccmtmerciaf advantage, the ACM copyright ndice and the tiUe of the ~bficstion and 54 its date appear, and notice is given that copyins is by permis$icm of the Association for Com@ing Machinery.To copy dheww, m to repubfish, requires 8 fee andh specific pxmission.
Jaswinder Pal Singh, Chris Holt, John L. Hennessy, Anoop Gupta
SC1
1993 An empirical comparison of the Kendall Square Research KSR-1 and Stanford DASH multiprocessors
abstract
Two interesting variants of large-scale shared-addressspace parallel architectures are cache-coherent non-uru~ormmemory-access machines (CC-NUMA) and cache-only memory architectures (COMA).Both have distributed main memory and use directory-based cache coherence.While both architectures m-grate and replicate data at the cache level automatically under hardware control, COIUA machines do this at the main memory level as well.Previous work had discussed the general advantages and disadvantages of the two opes of architectures, and presented results comparing the performance of small problems on simulated architectures of the two types.In this piper, we compare the parallel performance of a recent realizatwn of each type of architecturuhe Stanford DASH multiprocessor (CC-NUMA) and the Kendall Square Research KSR-1 (COMA).Using a suite of important computatwrtai kernels and complete scientific applicatwns, we examt"ne performance dl~erences resulting both from the CC-NUMAICOMA nature of the machines as well as from spectfii dt~erences in system implementation.
Jaswinder Pal Singh, Truman Joe, Anoop Gupta, John L. Hennessy
SC1
1992 Implications of hierarchical N-body methods for multiprocessor architecture
abstract
We first examine the key architectural implications of realistically scaling a representative member of this important class of applications. Using scaling methods that reflect the concerns of an application scientist leads to different conclusions than does naive scaling model, both the communication to computation ratio and the amount of cache memory per processor required for effective performance increase with scaling. We then examine the effect of a shared address space versus message passing as the communication abstraction. We show that the lack of a shared address space substantially increases the programming complexity and performance overheads of a message-passing implementation.
Jaswinder Pal Singh
ISCA1
1992 Finding and Exploiting Parallelism in an Ocean Simulation Program: Experience, Results, and Implications
abstract
How to code and compile large application programs for execution on parallel processors is perhaps the biggest challenge facing the widespread adoption of multiprocessing. To gain insight into this problem, an ocean simulation application was converted to a parallel version. The parallel program demonstrated near-linear speed-up on an Encore Multimax, a 16-processor bus-based shared-memory machine. Parallelizing an existing sequential application—not just a single loop or computational kernel—leads to interesting insights about what issues are significant in the process of finding and implementing parallelism, and what the major challenges are. Three levels of approach to the problem of finding parallelism—loop-level parallelization, program restructuring, and algorithm modification—were attempted, with widely varying results. Loop-level parallelization did not scale sufficiently. High-level restructuring was useful for much of the application, but obtaining an efficient parallel program required algorithm changes to one portion of it. Implementation issues for scalable performance, such as data locality and synchronization, are also discussed. The nature, requirements, and success of the various transformations lend insight into the design of parallelizing tools and parallel programming environments.
Jaswinder Pal Singh, John L. Hennessy
J. Parallel Distributed Comput.1
1992 A Model of Workloads and Its Use in Miss-Rate Prediction for Fully Associative Caches
abstract
A mathematical model for the behavior of programs or workloads is presented and from it is extracted the miss ratio of a finite, fully associative cache (or other first-level memory) using least-recently-used replacement under those workloads. To obtain miss ratios, the function u(t, L), defined to be the number of unique lines of size L referenced before time t, is modeled. Empirical observations show that this function appears to have the form u(t, L)=(W L/sup a/t/sup b/) (d/sup log/ /sup L log t/) where W, a, b, d are constants that are related, respectively, to the working set size, locality of references to nearby addresses (spatial locality), temporal locality (locality in time not attributable to spatial locality), and interactions between spatial locality and temporal locality. The miss ratio of a finite fully associative cache can be approximated as the time derivative of u(t, L) evaluated where the function has a value equal to the size of the cache. When the miss ratios from this model are compared to measured miss ratios for a representative trace, the accuracy is high for large caches. For smaller caches, the model is close but not highly precise.>
Jaswinder Pal Singh, Harold S. Stone, Dominique Thiébaut
IEEE Trans. Computers1