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.

Beng-Hong Lim

dblp:68/3191 · DBLP profile ↗
← Back
19ranked-venue papers
5as first author
0since 2021 · last 2005
—ORCID · none

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

Systems, architecture and hardware · 18 · 5 first-authorSoftware engineering, systems software and programming languages · 5 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 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
15 papers
Parallel and multicore computing · 29% Memory systems · 27% Cloud and datacenter computing · 22%
Software engineering, system software, and programming languages
3 papers
Operating systems · 100%

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

TopicWeightPapersLastEvidence papers
Cloud and datacenter computing
virtualization
0.122005
Fast Transparent Migration for Virtual Machines · USENIX ATC, General Track 2005
Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor · USENIX ATC, General Track 2001
Memory systems
cache coherence
0.141999
Coherence Controller Architectures for Scalable Shared-Memory Multiprocessors · IEEE Trans. Computers 1999
The MIT Alewife Machine · Proc. IEEE 1999
Coherence Controller Architectures for SMP-Based CC-NUMA Multiprocessors · ISCA 1997
Cloud and datacenter computing › virtualization
virtual machine migration
0.112005
Fast Transparent Migration for Virtual Machines · USENIX ATC, General Track 2005
Parallel and multicore computing
parallel programming models
0.131999
The MIT Alewife Machine · Proc. IEEE 1999
Performance Implications of Communication Mechanisms in All-Software Global Address Space Systems · PPoPP 1997
Integrating Message-Passing and Shared-Memory: Early Experience · PPoPP 1993
Memory systems › shared memory
distributed shared memory
0.021999
The MIT Alewife Machine · Proc. IEEE 1999
PRISM: An Integrated Architecture for Scalable Shared Memory · HPCA 1998
Parallel and multicore computing
synchronization
0.031995
Scalable Concurrent Counting · ACM Trans. Comput. Syst. 1995
Reactive Synchronization Algorithms for Multiprocessors · ASPLOS 1994
Waiting Algorithms for Synchronization in Large-Scale Multiprocessors · ACM Trans. Comput. Syst. 1993
Operating systems › virtualization
hypervisor
0.012001
Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor · USENIX ATC, General Track 2001
Cloud and datacenter computing › virtualization
i/o virtualization
0.012001
Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor · USENIX ATC, General Track 2001
Processor architecture and microarchitecture
multiprocessor architecture
0.031995
The MIT Alewife Machine: Architecture and Performance · ISCA 1995
Integrating Message-Passing and Shared-Memory: Early Experience · PPoPP 1993
APRIL: A Processor Architecture for Multiprocessing · ISCA 1990
Processor architecture and microarchitecture › multiprocessor architecture
scalable shared-memory multiprocessor
0.011999
Coherence Controller Architectures for Scalable Shared-Memory Multiprocessors · IEEE Trans. Computers 1999
Parallel and multicore computing › parallel programming models › hybrid programming models
shared memory and message passing
0.011999
The MIT Alewife Machine · Proc. IEEE 1999
Processor architecture and microarchitecture
multithreading
0.021996
Limits on the Performance Benefits of Multithreading and Prefetching · SIGMETRICS 1996
APRIL: A Processor Architecture for Multiprocessing · ISCA 1990
Memory systems › cache coherence
cache coherence protocol
0.011998
PRISM: An Integrated Architecture for Scalable Shared Memory · HPCA 1998
Memory systems
memory management
0.011998
PRISM: An Integrated Architecture for Scalable Shared Memory · HPCA 1998
Parallel and multicore computing › parallel programming models
message passing
0.031997
Integrating Message-Passing and Shared-Memory: Early Experience · PPoPP 1993
Performance Implications of Communication Mechanisms in All-Software Global Address Space Systems · PPoPP 1997
The MIT Alewife Machine: Architecture and Performance · ISCA 1995
Parallel and multicore computing › parallel computing › parallel communication
communication mechanisms
0.011997
Performance Implications of Communication Mechanisms in All-Software Global Address Space Systems · PPoPP 1997
Parallel and multicore computing › parallel programming models › distributed memory programming models
global address space
0.011997
Performance Implications of Communication Mechanisms in All-Software Global Address Space Systems · PPoPP 1997
High-performance computing
performance optimization at scale
0.011997
Performance Implications of Communication Mechanisms in All-Software Global Address Space Systems · PPoPP 1997
Parallel and multicore computing › multiprocessor system
shared-memory multiprocessor
0.011997
Message Proxies for Efficient, Protected Communication on SMP Clusters · HPCA 1997
Distributed systems
fault tolerance
0.012005
Fast Transparent Migration for Virtual Machines · USENIX ATC, General Track 2005
Memory systems
cache
0.011996
Limits on the Performance Benefits of Multithreading and Prefetching · SIGMETRICS 1996
Memory systems › cache
prefetching
0.011996
Limits on the Performance Benefits of Multithreading and Prefetching · SIGMETRICS 1996
Memory systems
software prefetching
0.011996
Limits on the Performance Benefits of Multithreading and Prefetching · SIGMETRICS 1996
Processor architecture and microarchitecture
memory latency tolerance
0.021999
The MIT Alewife Machine · Proc. IEEE 1999
APRIL: A Processor Architecture for Multiprocessing · ISCA 1990
Parallel and multicore computing › multiprocessor system
scalable multiprocessor
0.011995
The MIT Alewife Machine: Architecture and Performance · ISCA 1995
Parallel and multicore computing › multiprocessor system
large-scale multiprocessor
0.011993
Waiting Algorithms for Synchronization in Large-Scale Multiprocessors · ACM Trans. Comput. Syst. 1993
Parallel and multicore computing › parallel programming models
shared-memory parallelization
0.011993
Integrating Message-Passing and Shared-Memory: Early Experience · PPoPP 1993
Interconnection networks and networks-on-chip › network topology
mesh network
0.011999
The MIT Alewife Machine · Proc. IEEE 1999
Performance modeling and evaluation
simulation
0.011999
Coherence Controller Architectures for Scalable Shared-Memory Multiprocessors · IEEE Trans. Computers 1999
Operating systems › distributed systems
distributed operating system
0.011998
PRISM: An Integrated Architecture for Scalable Shared Memory · HPCA 1998

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

simulation · 0.1performance modeling · 0.1transparent migration · 0.1prefetching · 0.0block multithreading · 0.0direct cache-update · 0.0software-extended coherent shared memory · 0.0benchmarking · 0.0experimental measurement · 0.0analytical modeling · 0.0
YearPublicationVenuePosition
2005 Fast Transparent Migration for Virtual Machines
Beng-Hong Lim, Greg Hutchins
USENIX ATC, General Track2
2001 Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor
Jeremy Sugerman, Ganesh Venkitachalam, Beng-Hong Lim
USENIX ATC, General Track3
1999 The MIT Alewife Machine
abstract
A variety of models for parallel architectures, such as shared memory, message passing, and data flow, have converged in the recent past to a hybrid architecture form called distributed shared memory (DSM). Alewife, an early prototype of such DSM architectures, uses hybrid software and hardware mechanisms to support coherent shared memory, efficient user level messaging, fine grain synchronization, and latency tolerance. Alewife supports up to 512 processing nodes connected over a scalable and cost effective mesh network at a constant cost per node. Four mechanisms combine to achieve Alewife's goals of scalability and programmability: software extended coherent shared memory provides a global, linear address space; integrated message passing allows compiler and operating system designers to provide efficient communication and synchronization; support for fine grain computation allows many processors to cooperate on small problem sizes; and latency tolerance mechanisms-including block multithreading and prefetching-mask unavoidable delays due to communication. Extensive results from microbenchmarks, together with over a dozen complete applications running on a 32-node prototype, demonstrate that integrating message passing with shared memory enables a cost efficient solution to the cache coherence problem and provides a rich set of programming primitives. Our results further show that messaging and shared memory operations are both important because each helps the programmer to achieve the best performance for various machine configurations.
Anant Agarwal, Ricardo Bianchini, David Chaiken, Fred Chong, Kirk L. Johnson, David A. Kranz, John Kubiatowicz, Beng-Hong Lim, Kenneth Mackenzie, Donald Yeung
Proc. IEEE8
1999 Coherence Controller Architectures for Scalable Shared-Memory Multiprocessors
abstract
Scalable distributed shared-memory architectures rely on coherence controllers on each processing node to synthesize cache-coherent shared memory across the entire machine. The coherence controllers execute coherence protocol handlers that may be hardwired in custom hardware or programmed in a protocol processor within each coherence controller. Although custom hardware runs faster, a protocol processor allows the coherence protocol to be tailored to specific application needs and may shorten hardware development time. Previous research shows minimal increase in application execution time due to protocol processors over custom hardware. With the advent of SMP nodes and faster processors and networks, the trade-off between custom hardware and protocol processors needs to be reexamined. This paper studies the performance of custom hardware and protocol-processor-based coherence controllers in SMP-node-based CC-NUMA systems on applications from the SPLASH-2 suite. Using realistic parameters and detailed models of state-of-the-art system components, it shows that the occupancy of coherence controllers can limit the performance of applications with high communication requirements, where the execution time using commodity protocol processors can be twice as long as using custom hardware. We also investigate the effect of varying several architectural parameters that influence the communication characteristics of the applications and the underlying system on coherence controller performance. We identify measures of applications' communication requirements and their impact on performance. We also study the potential of improving the performance of coherence controllers by separating or duplicating critical components.
Maged M. Michael, Ashwini K. Nanda, Beng-Hong Lim
IEEE Trans. Computers3
1998 PRISM: An Integrated Architecture for Scalable Shared Memory
abstract
This paper describes PRISM, a distributed shared memory architecture that relies on a tightly integrated hardware and operating system design for scalable and reliable performance. PRISM's hardware provides mechanisms for flexible management and dynamic configuration of shared memory pages with different behaviors. As an example, PRISM can configure individual shared memory pages in both CC-NUMA and Simple-COMA styles, maintaining the advantages of both without incorporating any of their disadvantages. PRISM's operating system is structured as multiple independent kernels, where each kernel manages the resources on its local node. PRISM's system structure minimizes the amount of global coordination when managing shared memory. Page faults do not involve global TLB invalidates, and pages can be replicated and migrated without requiring global coordination. The structure also provides natural fault containment boundaries around each node because physical addresses do not address remote memory directly. We simulate PRISM's hardware, cache coherence protocol and memory management algorithms. Results from SPLASH applications on the simulated machine demonstrate a tradeoff between CC-NUMA and Simple-COMA styles of memory management. Adaptive, run-time policies that take advantage of PRISM's ability to dynamically configure shared memory pages with different behaviors significantly outperform pure CC-NUMA or Simple-COMA configurations and are usually within 10% of optimal performance.
Kattamuri Ekanadham, Beng-Hong Lim, Pratap Pattnaik, Marc Snir
HPCA2
1997 Lazy home migration for distributed shared memory systems
abstract
In a distributed shared memory system, each memory page is associated with a home node that maintains the directory state for cache lines within that page. Memory access patterns and home node locations have a strong influence on performance, especially if remote communication is costly. Since access patterns are difficult to predict and may change dynamically, it is useful to dynamically migrate home nodes to reduce the amount of remote communication. The paper presents a new and efficient algorithm for migrating home nodes in distributed shared memory systems. Unlike previous page migration algorithms, our algorithm avoids global coordination. Allowing the system to be more responsive to changing workloads. We verify the algorithm's correctness with the Mur/spl sigma/ protocol verification tool. We explore several policies for deciding when and where to migrate home nodes. Trace driven simulations of several SPLASH-2 benchmarks show that our home migration algorithm and policies can reduce the amount of remote communication by 50%. The results also emphasize the importance of minimizing the cost of migration.
Sandra Johnson Baylor, Kattamuri Ekanadham, Joefon Jann, Beng-Hong Lim, Pratap Pattnaik
HiPC4
1997 Message Proxies for Efficient, Protected Communication on SMP Clusters
abstract
This research addresses the problem of providing efficient, protected communication in an SMP cluster without incurring the overhead of system calls or the cost of custom hardware. It analyzes an approach that uses an idle SMP processor to run a message proxy, a communication process that provides protected access to the network. We implement message proxy based communication between a pair of IBM Model G30 SMPs and analyze the resulting overheads. We derive a performance model that shows that cache-miss latency within an SMP influences message proxy performance significantly. Simulations of a suite of ten parallel applications demonstrate that message proxies match the performance of custom hardware for three of the ten applications, and are between 10-30% slower for the other seven applications. A direct cache-update mechanism to reduce cache misses improves the performance of message proxies on communication-intensive programs by 7-25%. We conclude that message proxies provide a viable alternative to custom hardware for protected communication.
Beng-Hong Lim, Philip Heidelberger, Pratap Pattnaik, Marc Snir
HPCA1
1997 Coherence Controller Architectures for SMP-Based CC-NUMA Multiprocessors
abstract
Scalable distributed shared-memory architectures rely on coherence controllers on each processing node to synthesize cache-coherent shared memory across the entire machine. The coherence controllers execute coherence protocol handlers that may be hardwired in custom hardware or programmed in a protocol processor within each coherence controller. Although custom hardware runs faster, a protocol processor allows the coherence protocol to be tailored to specific application needs and may shorten hardware development time. Previous research show that the increase in application execution time due to protocol processors over custom hardware is minimal.With the advent of SMP nodes and faster processors and networks, the tradeoff between custom hardware and protocol processors needs to be reexamined. This paper studies the performance of custom-hardware and protocol-processor-based coherence controllers in SMP-node-based CC-NUMA systems on applications from the SPLASH-2 suite. Using realistic parameters and detailed models of existing state-of-the-art system components, it shows that the occupancy of coherence controllers can limit the performance of applications with high communication requirements, where the execution time using protocol processors can be twice as long as using custom hardware.To gain a deeper understanding of the tradeoff, we investigate the effect of varying several architectural parameters that influence the communication characteristics of the applications and the underlying system on coherence controller performance. We identify measures of applications' communication requirements and their impact on the performance penalty of protocol processors, which can help system designers predict performance penalties for other applications. We also study the potential of improving the performance of hardware-based and protocol-processor-based coherence controllers by separating or duplicating critical components.
Maged M. Michael, Ashwini K. Nanda, Beng-Hong Lim, Michael L. Scott
ISCA3
1997 Performance Implications of Communication Mechanisms in All-Software Global Address Space Systems
abstract
Global addressing of shared data simplifies parallel programming and complements message passing models commonly found in distributed memory machines. A number of programming systems have been designed that synthesize global addressing purely in software on such machines. These systems provide a number of communication mechanisms to mitigate the effect of high communication latencies and overheads. This study compares the mechanisms in two representative all-software systems: CRL and Split-C. CRL uses region-based caching while Split-C uses split-phase and push-based data transfers for optimizing communication performance. Both systems take advantage of bulk data transfers. By implementing a set of parallel applications in both CRL and Split-C, and running them on the IBM SP2, Meiko CS-2 and two simulated architectures, we find that split-phase and push-based bulk data transfers are essential for good performance. Regionbased caching benefits applications with irregular structure and w...
Beng-Hong Lim, Chi-Chao Chang, Grzegorz Czajkowski, Thorsten von Eicken
PPoPP1
1996 Limits on the Performance Benefits of Multithreading and Prefetching
abstract
This paper presents new analytical models of the performance benefits of multithreading and prefetching, and experimental measurements of parallel applications on the MIT Alewife multiprocessor. For the first time, both techniques are evaluated on a real machine as opposed to simulations. The models determine the region in the parameter space where the techniques are most effective, while the measurements determine the region where the applications lie. We find that these regions do not always overlap significantly.The multithreading model shows that only 2-4 contexts are necessary to maximize this technique's potential benefit in current multiprocessors. Multithreading improves execution time by less than 10% for most of the applications that we examined. The model also shows that multithreading can significantly improve the performance of the same applications in multiprocessors with longer latencies. Reducing context-switch overhead is not crucial.The software prefetching model shows that allowing 4 outstanding prefetches is sufficient to achieve most of this technique's potential benefit on current multiprocessors. Prefetching improves performance over a wide range of parameters, and improves execution time by as much as 20-50% even on current multiprocessors. The two models show that prefetching has a significant advantage over multithreading for machines with low memory latencies and/or applications with high cache miss rates because a prefetch instruction consumes less time than a context-switch.
Beng-Hong Lim, Ricardo Bianchini
SIGMETRICS1
1996 Evaluating the Performance of Multithreading and Prefetching in Multiprocessors
Ricardo Bianchini, Beng-Hong Lim
J. Parallel Distributed Comput.2
1995 The MIT Alewife Machine: Architecture and Performance
abstract
Alewife is a multiprocessor architecture that supports up to 512 processing nodes connected over a scalable and cost-effective mesh network at a constant cost per node. The MIT Alewife machine, a prototype implementation of the architecture, demonstrates that a parallel system can be both scalable and programmable. Four mechanisms combine to achieve these goals: software-extended coherent shared memory provides a global, linear address space; integrated message passing allows compiler and operating system designers to provide efficient communication and synchronization; support for fine-grain computation allows many processors to cooperate on small problem sizes; and latency tolerance mechanisms --- including block multithreading and prefetching --- mask unavoidable delays due to communication.Microbenchmarks, together with over a dozen complete applications running on the 32-node prototype, help to analyze the behavior of the system. Analysis shows that integrating message passing with shared memory enables a cost-efficient solution to the cache coherence problem and provides a rich set of programming primitives. Block multithreading and prefetching improve performance by up to 25% individually, and 35% together. Finally, language constructs that allow programmers to express fine-grain synchronization can improve performance by over a factor of two.
Anant Agarwal, Ricardo Bianchini, David Chaiken, Kirk L. Johnson, David A. Kranz, John Kubiatowicz, Beng-Hong Lim, Kenneth Mackenzie, Donald Yeung
ISCA7
1995 Scalable Concurrent Counting
abstract
The notion of counting is central to a number of basic multiprocessor coordination problems, such as dynamic load balancing, barrier synchronization, and concurrent data structure design. We investigate the scalability of a variety of counting techniques for large-scale multiprocessors. We compare counting techniques based on: (1) spin locks, (2) message passing, (3) distributed queues, (4) software combining trees, and (5) counting networks. Our comparison is based on a series of simple benchmarks on a simulated 64-processor Alewife machine, a distributed-memory multiprocessor currently under development at MIT. Although locking techniques are known to perform well on small-scale, bus-based multiprocessors, serialization limits performance, and contention can degrade performance. Both counting networks and combining trees outperform the other methods substantially by avoiding serialization and alleviating contention, although combining-tree throughput is more sensitive to variations in load. A comparison of shared-memory and message-passing implementations of counting networks and combining trees shows that message-passing implementations have substantially higher throughput.
Maurice Herlihy, Beng-Hong Lim, Nir Shavit
ACM Trans. Comput. Syst.2
1994 Reactive Synchronization Algorithms for Multiprocessors
abstract
Synchronization algorithms that are efficient across a wide range of applications and operating conditions are hard to design because their performance depends on unpredictable run-time factors. The designer of a synchronization algorithm has a choice of protocols to use for implementing the synchronization operation. For example, candidate protocols for locks include test-and-set protocols and queueing protocols. Frequently, the best choice of protocols depends on the level of contention: previous research has shown that test-and-set protocols for locks outperform queueing protocols at low contention, while the opposite is true at high contention.
Beng-Hong Lim, Anant Agarwal
ASPLOS1
1994 Performance of Switch Blocking on Multithreaded Architectures
abstract
Block multithreaded architectures tolerate large memory and synchronization latencies by switching contexts on every remote-memory-access or on a failed synchronization request. We study the performance of a waiting mechanism called switch-blocking where waiting threads are disabled (but not unloaded) and signalled at the completion of the wait in comparison with switch-spinning where waiting threads poll and execute in a round-robin fashion. We present an implementation of switch-blocking on a simulator for Alewife (a block multithreaded machine) for both remote memory accesses and synchronization operations and discuss results from the simulator. Our results indicate that switch-blocking has the same problems that switch-spinning has under heavy lock contention and that support for switch-blocking for remote memory accesses may not be judicious at current range of memory access times but may be so in the future due to its strong interactions with synchronization operations.
K. Gopinath, M. K. Krishna Narasimhan, Beng-Hong Lim, Anant Agarwal
ICPP (1)3
1993 Integrating Message-Passing and Shared-Memory: Early Experience
abstract
This paper discusses some of the issues involved in implementing a shared-address space programming model on large-scale, distributed-memory multiprocessors. While such a programming model can be implemented on both shared-memory and message-passing architectures, we argue that the transparent, coherent caching of global data provided by many shared-memory architectures is of crucial importance. Because message-passing mechanisms ar much more efficient than shared-memory loads and stores for certain types of interprocessor communication and synchronization operations, hwoever, we argue for building multiprocessors that efficiently support both shared-memory and message-passing mechnisms. We describe an architecture, Alewife, that integrates support for shared-memory and message-passing through a simple interface; we expect the compiler and runtime system to cooperate in using appropriate hardware mechanisms that are most efficient for specific operations. We report on both integrated and exclusively shared-memory implementations of our runtime system and two applications. The integrated runtime system drastically cuts down the cost of communication incurred by the scheduling, load balancing, and certain synchronization operations. We also present preliminary performance results comparing the two systems.
David A. Kranz, Kirk L. Johnson, Anant Agarwal, John Kubiatowicz, Beng-Hong Lim
PPoPP5
1993 Waiting Algorithms for Synchronization in Large-Scale Multiprocessors
abstract
Through analysis and experiments, this paper investigates two-phase waiting algorithms to minimize the cost of waiting for synchronization in large-scale multiprocessors. In a two-phase algorithm, a thread first waits by polling a synchronization variable. If the cost of polling reaches a limit L poll and further waiting is necessary, the thread is blocked, incurring an additional fixed cost, B . The choice of L poll is a critical determinant of the performance of two-phase algorithms. We focus on methods for statically determining L poll because the run-time overhead of dynamically determining L poll can be comparable to the cost of blocking in large-scale multiprocessor systems with lightweight threads. Our experiments show that always-block ( L poll = 0) is a good waiting algorithm with performance that is usually close to the best of the algorithms compared. We show that even better performance can be achieved with a static choice of L poll based on knowledge of likely wait-time distributions. Motivated by the observation that different synchronization types exhibit different wait-time distributions, we prove that a static choice of L poll can yield close to optimal on-line performance against an adversary that is restricted to choosing wait times from a fixed family of probability distributions. This result allows us to make an optimal static choice of L poll based on synchronization type. For exponentially distributed wait times, we prove that setting L poll = 1n(e-1) B results in a waiting cost that is no more than e/(e-1) times the cost of an optimal off-line algorithm. For uniformly distributed wait times, we prove that setting L poll =1/2(square root of 5 -1) B results in a waiting cost that is no more than (square root of 5 + 1)/2 (the golden ratio) times the cost of an optimal off-line algorithm. Experimental measurements of several parallel applications on the Alewife multiprocessor simulator corroborate our theoretical findings.
Beng-Hong Lim, Anant Agarwal
ACM Trans. Comput. Syst.1
1992 Low Contention Load Balancing on Large-Scale Multiprocessors
abstract
Article Free Access Share on Low contention load balancing on large-scale multiprocessors Authors: Maurice Herlihy View Profile , Beng-Hong Lim View Profile , Nir Shavit View Profile Authors Info & Claims SPAA '92: Proceedings of the fourth annual ACM symposium on Parallel algorithms and architecturesJune 1992 Pages 219–227https://doi.org/10.1145/140901.140924Published:01 June 1992Publication History 25citation297DownloadsMetricsTotal Citations25Total Downloads297Last 12 Months7Last 6 weeks3 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Maurice Herlihy, Beng-Hong Lim, Nir Shavit
SPAA2
1990 APRIL: A Processor Architecture for Multiprocessing
abstract
Processors in large-scale multiprocessors must be able to tolerate large communication latencies and synchronization delays. This paper describes the architecture of a rapid-context-switching processor called APRIL with support for fine-grain threads and synchronization. APRIL achieves high single-thread performance and supports virtual dynamic threads. A commercial RISC-based implementation of APRIL and a run-time software system that can switch contexts in about 10 cycles is described. Measurements taken for several parallel applications on an APRIL simulator show that the overhead for supporting parallel tasks based on futures is reduced by a factor of two over a corresponding implementation on the Encore Multimax. The scalability of a multiprocessor based on APRIL is explored using a performance model. We show that the SPARC-based implementation of APRIL can achieve close to 80% processor utilization with as few as three resident threads per processor in a large-scale cache-based machine with an average base network latency of 55 cycles.
Anant Agarwal, Beng-Hong Lim, David A. Kranz, John Kubiatowicz
ISCA2