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.

Larry Rudolph

dblp:56/3748 · DBLP profile ↗
← Back
77ranked-venue papers
6as first author
1since 2021 · last 2021
—ORCID · none

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

Systems, architecture and hardware · 41 · 4 first-author · 1 since 2021Software engineering, systems software and programming languages · 11 · 2 first-authorTheory of computation · 10Databases, data management, data science and information retrieval · 6 · 1 first-author · 1 since 2021Artificial intelligence and machine learning · 4Human-computer interaction and ubiquitous computing · 3Graphics, computer vision, multimedia, augmented reality and games · 2Applied, interdisciplinary, general and emerging computing · 2Computer networks · 1Security and privacy · 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
23 papers
Memory systems · 40% Storage systems · 25% Cloud and datacenter computing · 19%
Artificial intelligence
2 papers
Reinforcement learning · 100%
Databases, data mining, and information retrieval
1 paper
Transaction processing and concurrency control · 100%

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

TopicWeightPapersLastEvidence papers
Memory systems
cache coherence
0.772021
A Community Cache with Complete Information · FAST 2021
Sundial: Harmonizing Concurrency Control and Caching in a Distributed OLTP Database Management System · Proc. VLDB Endow. 2018
Commit-Reconcile & Fences (CRF): A New Memory Model for Architects and Compiler Writers · ISCA 1999
Storage systems
distributed storage
0.512021
A Community Cache with Complete Information · FAST 2021
Machine learning › Reinforcement learning
deep reinforcement learning
0.412020
A Closer Look at Deep Policy Gradients · ICLR 2020
Machine learning › Reinforcement learning › policy optimization
policy gradient
0.412020
A Closer Look at Deep Policy Gradients · ICLR 2020
Machine learning › Reinforcement learning
policy optimization
0.412020
Implementation Matters in Deep RL: A Case Study on PPO and TRPO · ICLR 2020
Machine learning › Reinforcement learning › policy optimization
proximal policy optimization
0.412020
Implementation Matters in Deep RL: A Case Study on PPO and TRPO · ICLR 2020
Cloud and datacenter computing › cloud platform
bare-metal cloud
0.412019
Supporting Security Sensitive Tenants in a Bare-Metal Cloud · USENIX ATC 2019
Transaction processing and concurrency control › concurrency control
distributed concurrency control
0.312018
Sundial: Harmonizing Concurrency Control and Caching in a Distributed OLTP Database Management System · Proc. VLDB Endow. 2018
Transaction processing and concurrency control › distributed transaction processing
Distributed OLTP
0.312018
Sundial: Harmonizing Concurrency Control and Caching in a Distributed OLTP Database Management System · Proc. VLDB Endow. 2018
Systems and software security
isolation
0.112019
Supporting Security Sensitive Tenants in a Bare-Metal Cloud · USENIX ATC 2019
Memory systems › cache management
cache monitoring
0.012002
A New Memory Monitoring Scheme for Memory-Aware Scheduling and Partitioning · HPCA 2002
Memory systems › cache management
cache partitioning
0.012002
A New Memory Monitoring Scheme for Memory-Aware Scheduling and Partitioning · HPCA 2002
Performance modeling and evaluation › performance monitoring
hardware performance counters
0.012002
A New Memory Monitoring Scheme for Memory-Aware Scheduling and Partitioning · HPCA 2002
Parallel and multicore computing › task scheduling
memory-aware scheduling
0.012002
A New Memory Monitoring Scheme for Memory-Aware Scheduling and Partitioning · HPCA 2002
Memory systems
cache management
0.012000
Application-specific memory management for embedded systems using software-controlled caches · DAC 2000
Memory systems › memory consistency
memory consistency model
0.011999
Commit-Reconcile & Fences (CRF): A New Memory Model for Architects and Compiler Writers · ISCA 1999
Parallel and multicore computing
memory model
0.011999
Commit-Reconcile & Fences (CRF): A New Memory Model for Architects and Compiler Writers · ISCA 1999
Processor architecture and microarchitecture › microprocessor design › processor core design
functional units
0.011998
Accelerating Multi-Media Processing by Implementing Memoing in Multiplication and Division Units · ASPLOS 1998
Processor architecture and microarchitecture
multicore design
0.011998
StarT-Voyager: A Flexible Platform for Exploring Scalable SMP Issues · SC 1998
Interconnection networks and networks-on-chip
network interface
0.011998
StarT-Voyager: A Flexible Platform for Exploring Scalable SMP Issues · SC 1998
Processor architecture and microarchitecture › multiprocessor architecture
scalable shared-memory multiprocessor
0.011998
StarT-Voyager: A Flexible Platform for Exploring Scalable SMP Issues · SC 1998
Parallel and multicore computing
parallel algorithms
0.031988
Sublinear Parallel Algorithm for Computing the Greatest Common Divisor of Two Integers · SIAM J. Comput. 1987
The Power of Parallel Prefix · IEEE Trans. Computers 1985
A Complexity Theory of Efficient Parallel Algorithms (Extended Abstract) · ICALP 1988
Interconnection networks and networks-on-chip
sorting network
0.021989
The periodic balanced sorting network · J. ACM 1989
A Robust Sorting Network · IEEE Trans. Computers 1985
Parallel and multicore computing › synchronization
read-modify-write
0.021988
Efficient Synchronization on Multiprocessors with Shared Memory · ACM Trans. Program. Lang. Syst. 1988
Efficient Synchronization on Multiprocessors with Shared Memory · PODC 1986
Parallel and multicore computing
synchronization
0.021988
Efficient Synchronization on Multiprocessors with Shared Memory · ACM Trans. Program. Lang. Syst. 1988
Efficient Synchronization on Multiprocessors with Shared Memory · PODC 1986
Memory systems › on-chip memory
scratchpad memory
0.012000
Application-specific memory management for embedded systems using software-controlled caches · DAC 2000
Algorithms and data structures › number-theoretic algorithms
greatest common divisor
0.021987
Sublinear Parallel Algorithm for Computing the Greatest Common Divisor of Two Integers · SIAM J. Comput. 1987
Sublinear Parallel Algorithm for Computing the Greatest Common Divisor of Two Integers · FOCS 1984
Algorithms and data structures
number-theoretic algorithms
0.021987
Sublinear Parallel Algorithm for Computing the Greatest Common Divisor of Two Integers · SIAM J. Comput. 1987
Sublinear Parallel Algorithm for Computing the Greatest Common Divisor of Two Integers · FOCS 1984
Interconnection networks and networks-on-chip › network interface
programmable network interface
0.011998
StarT-Voyager: A Flexible Platform for Exploring Scalable SMP Issues · SC 1998
Memory systems
shared memory
0.011988
Efficient Synchronization on Multiprocessors with Shared Memory · ACM Trans. Program. Lang. Syst. 1988

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

optimistic concurrency control · 0.7logical leases · 0.7caching · 0.7complete information · 0.5gradient analysis · 0.4ablation study · 0.4lookup table · 0.0memoing · 0.0analytical cache model · 0.0LRU miss-rate modeling · 0.0dynamic cache partitioning · 0.0column caching · 0.0complexity theory · 0.0parallel algorithm · 0.0online algorithms · 0.0formal correctness proof · 0.0competitive ratio · 0.0z-buffer algorithm · 0.0
YearPublicationVenuePosition
2021 A Community Cache with Complete Information
Mania Abdi, Amin Mosayyebzadeh, Mohammad Hossein Hajkazemi, Emine Ugur Kaynar, Ata Turk, Larry Rudolph, Orran Krieger, Peter Desnoyers
FAST6
2020 Implementation Matters in Deep RL: A Case Study on PPO and TRPO
Logan Engstrom, Andrew Ilyas, Shibani Santurkar, Dimitris Tsipras, Firdaus Janoos, Larry Rudolph, Aleksander Madry
ICLR6
2020 A Closer Look at Deep Policy Gradients
Andrew Ilyas, Logan Engstrom, Shibani Santurkar, Dimitris Tsipras, Firdaus Janoos, Larry Rudolph, Aleksander Madry
ICLR6
2019 D3N: A multi-layer cache for the rest of us
abstract
Current caching methods for improving the performance of big-data jobs assume high (e.g., full bi-section) bandwidth; however many enterprise data centers and co-location facilities have large network imbalances due to over-subscription and incremental networking upgrades. We describe D3N, a multi-layer cooperative caching architecture that mitigates network imbalances by caching data on the access side of each layer of a hierarchical network topology, adaptively adjusting cache sizes of each layer based on observed workload patterns and network congestion. We have added (and submitted upstream) a 2-layer D3N cache to the Ceph RADOS Gateway; read bandwidth achieves the 5GB/s speed of our SSDs, and we show that it substantially improves big-data job performance while reducing network traffic.
Emine Ugur Kaynar, Mania Abdi, Mohammad Hossein Hajkazemi, Ata Turk, Raja R. Sambasivan, Larry Rudolph, Peter Desnoyers, Orran Krieger
IEEE BigData7
2019 Supporting Security Sensitive Tenants in a Bare-Metal Cloud
Amin Mosayyebzadeh, Apoorve Mohan, Sahil Tikale, Mania Abdi, Nabil Schear, Trammell Hudson, Charles Munson, Larry Rudolph, Gene Cooperman, Peter Desnoyers, Orran Krieger
USENIX ATC8
2018 Sundial: Harmonizing Concurrency Control and Caching in a Distributed OLTP Database Management System
abstract
Distributed transactions suffer from poor performance due to two major limiting factors. First, distributed transactions suffer from high latency because each of their accesses to remote data incurs a long network delay. Second, this high latency increases the likelihood of contention among distributed transactions, leading to high abort rates and low performance. We present Sundial , an in-memory distributed optimistic concurrency control protocol that addresses these two limitations. First, to reduce the transaction abort rate, Sundial dynamically determines the logical order among transactions at runtime, based on their data access patterns. Sundial achieves this by applying logical leases to each data element, which allows the database to dynamically calculate a transaction's logical commit timestamp. Second, to reduce the overhead of remote data accesses, Sundial allows the database to cache remote data in a server's local main memory and maintains cache coherence. With logical leases, Sundial integrates concurrency control and cache coherence into a simple unified protocol. We evaluate Sundial against state-of-the-art distributed concurrency control protocols. Sundial outperforms the next-best protocol by up to 57% under high contention. Sundial's caching scheme improves performance by up to 4.6× in workloads with high access skew.
Xiangyao Yu, Yu Xia 0005, Andrew Pavlo, Daniel Sánchez 0003, Larry Rudolph, Srini Devadas
Proc. VLDB Endow.5
2015 Using Open Stack for an Open Cloud Exchange(OCX)
abstract
We are developing a new public cloud, the Massachusetts Open Cloud (MOC) based on the model of an Open Cloud exchange (OCX). We discuss in this paper the vision of an OCX and how we intend to realize it using the Open Stack open-source cloud platform in the MOC. A limited form of an OCX can be achieved today by layering new services on top of Open Stack. We have performed an analysis of Open Stack to determine the changes needed in order to fully realize the OCX model. We describe these proposed changes, which although significant and requiring broad community involvement will provide functionality of value to both existing single-provider clouds as well as future multi-provider ones.
Peter Desnoyers, Jason Hennessey, Brent Holden, Orran Krieger, Larry Rudolph, Adam Young
IC2E5
2015 Thunderstrike: EFI firmware bootkits for Apple MacBooks
abstract
There are several flaws in Apple's MacBook firmware security that allows untrusted modifications to be written to the SPI Flash boot ROM of these laptops. This capability represents a new class of persistent firmware rootkits, or 'bootkits', for the popular Apple MacBook product line. Stealthy bootkits can conceal themselves from detection and prevent software attempts to remove them. Malicious modifications to the boot ROM are able to survive re-installation of the operating system and even hard-drive replacement. Additionally, the malware can install a copy of itself onto other Thunderbolt devices' Option ROMs as a means to spread virally across air-gap security perimeters. Apple has fixed some of these flaws as part of CVE 2014-4498, but there is no easy solution to this class of vulnerability, since the MacBook lacks trusted hardware to perform cryptographic validation of the firmware at boot time.
Trammell Hudson, Larry Rudolph
SYSTOR2
2009 Mining User Position Log for Construction of Personalized Activity Map
Wen-Jing Hsu, Larry Rudolph
ADMA3
2009 Cognitive personal positioning based on activity map and adaptive particle filter
abstract
This paper presents a cognitive approach for a reliable yet battery-friendly personal positioning. A user's position is learned from both historical log and possible measurements. Firstly, user's past activities recorded in the log are summarized into an activity map. Accordingly, a user-habit guided particle filtering algorithm is presented for position prediction. Specifically, our algorithm makes reference to the map to determine the most probable correct position, smoothed with occasional measurement. User's current position is modeled probabilistically by a collection of particles and her future moves are modeled with a tendency to follow a familiar path on the map; The estimate is then smoothed by Bayesian filtering. We also allow the number of particles to vary according to user's position in the map. Thus, along with better insights about user's movement experience, our approach can learn from the past and potentially improve the quality of estimates. Our experiments show that this adaptive filtering model using the activity map can deal with non-linear behaviors rather effectively. The new cognitive scheme can indeed track the user's position with a high degree of accuracy. Moreover, the algorithms exhibit low computational complexities, making them well suited for applications on wearable computers.
Wen-Jing Hsu, Larry Rudolph
MSWiM3
2008 How to Do a Million Watchpoints: Efficient Debugging Using Dynamic Instrumentation
Rodric M. Rabbah, Saman P. Amarasinghe, Larry Rudolph, Weng-Fai Wong
CC4
2008 Controlling Uncertainty in Personal Positioning at Minimal Measurement Cost
Wen-Jing Hsu, Larry Rudolph
UIC3
2007 Ubiquitous Memory Introspection
abstract
Modern memory systems play a critical role in the performance of applications, but a detailed understanding of the application behavior in the memory system is not trivial to attain. It requires time consuming simulations and detailed modeling of the memory hierarchy, often using long address traces. It is increasingly possible to access hardware performance counters to count relevant events in the memory system, but the measurements are coarse-grained and better suited for performance summaries than providing instruction level feedback. The availability of a low cost, online, and accurate methodology for deriving finegrained memory behavior profiles can prove extremely useful for runtime analysis and optimization of programs. This paper presents a new methodology for Ubiquitous Memory Introspection (UMI). It is an online and lightweight methodology that uses fast mini-simulations to analyze short memory access traces recorded from frequently executed code regions. The simulations provide profiling results at varying granularities, down to that of a single instruction or address. UMI naturally complements runtime optimizations and enables new opportunities for online memory specific optimizations. We present a prototype runtime system implementing UMI. The prototype has an average runtime overhead of 14%. This overhead is only 1% more than a state of the art binary instrumentation tool. We used 32 benchmarks, including the full suite of SPEC CPU2000 benchmarks, for evaluation. We show that the mini-simulations accurately reflect the cache performance of two existing memory systems, an Intel Pentium 4 and an AMD Athlon MP (K7). We also demonstrate that UMI predicts delinquent load instructions with an 88% rate of accuracy for applications with a relatively high number of cache misses, and 61% overall. The online profiling results are used at runtime to implement a simple software prefetching strategy that achieves an overall speedup of 64% in the best case.
Rodric M. Rabbah, Saman P. Amarasinghe, Larry Rudolph, Weng-Fai Wong
CGO4
2006 DEP: detailed execution profile
abstract
10.1145/1152154.1152180
Joon Edward Sim, Weng-Fai Wong, Larry Rudolph
PACT4
2006 Cooperative checkpointing: a robust approach to large-scale systems reliability
abstract
Cooperative checkpointing increases the performance and robustness of a system by allowing checkpoints requested by applications to be dynamically skipped at runtime. A robust system must be more than merely resilient to failures; it must be adaptable and flexible in the face of new and evolving challenges. A simulation-based experimental analysis using both probabilistic and harvested failure distributions reveals that cooperative checkpointing enables an application to make progress under a wide variety of failure distributions that periodic checkpointing lacks the flexibility to handle. Cooperative checkpointing can be easily implemented on top of existing application-initiated checkpointing mechanisms and may be used to enhance other reliability techniques like QoS guarantees and fault-aware job scheduling. The simulations also support a number of theoretical predictions related to cooperative checkpointing, including the non-competitiveness of periodic checkpointing.
Adam J. Oliner, Larry Rudolph, Ramendra K. Sahoo
ICS2
2006 Cooperative checkpointing theory
abstract
Cooperative checkpointing uses global knowledge of the state and health of the machine to improve performance and reliability by dynamically deciding when to skip checkpoint requests made by applications. Using results from cooperative checkpointing theory, this paper proves that periodic checkpointing is not expected to be competitive with the offline optimal. By leveraging probabilistic information about the future, cooperative checkpointing gives flexible algorithms that are optimally competitive. The results prove that simulating periodic checkpointing; by performing only every dth checkpoint, is not competitive with the offline optimal in the worst case; a simple modification gives a provably competitive algorithm. Calculations using failure traces from a prototype of IBM's Blue Gene/L show an application using cooperative checkpointing may make progress 4 times faster than one using periodic checkpointing, under realistic conditions. We contribute an approach to providing large-scale system reliability through cooperative checkpointing and techniques for analyzing the approach
Adam J. Oliner, Larry Rudolph, Ramendra K. Sahoo
IPDPS2
2005 Probabilistic QoS Guarantees for Supercomputing Systems
abstract
Supercomputing systems must be able to reliably and efficiently complete their assigned workloads, even in the presence of failures. This paper proposes a system that allows the system and users to negotiate a mutually desirable risk strategy; in order to accomplish this, the system makes probabilistic guarantees on quality of service (QoS), of the form, "Job j can be completed by deadline d with probability p". In order to make such guarantees, the system uses event prediction (forecasting) in conjunction with fault-aware job scheduling and cooperative checkpointing strategies. Using job logs and failure traces from actual high performance computing systems, we employ trace-based simulations to assess the effects of the prediction accuracy (a) and user risk strategy (U) on a variety of performance metrics. Compared to a system that does not use event prediction, a high forecasting accuracy resulted in QoS and utilization improvements of as much as 6%, along with an 89% reduction in the amount of lost work. Therefore, our results show that a system that makes probabilistic QoS guarantees using a market-based scheduling approach can increase both system performance and reliability.
Adam J. Oliner, Larry Rudolph, Ramendra K. Sahoo, José E. Moreira, Manish Gupta 0002
DSN2
2005 Kimono: kiosk-mobile phone knowledge sharing system
abstract
The functionality of an information kiosk can be extended by allowing it to interact with a smartphone, as demonstrated by the Kimono system, and the user interface can be greatly simplified by "associations" between pieces of information. A kiosk provides information that is relevant to a particular location and can use valuable context information, such as the fact that a user is physically standing in front of the kiosk, to tailor the display. Its graphically rich screen is suitable for presenting information to the user and has a natural input modality requiring the user to simply touch the screen. However, a kiosk lacks mobility and cannot stay with the user as he or she moves about the environment. Also, information provided by the kiosk must be remembered by the user. Finally, it is difficult to add information to the kiosk, and so the kiosk remains an information display device.All this changes when a handset, such as a PDA or smart-phone, can interact with the kiosk. The handset acts like a personalized proxy of the kiosk. It accompanies the user serving as a memory device. It is also an excellent media creation device, capable of taking pictures and recording voice memos as well as short text messages. Associating newly created content with other currently selected content makes for a simpler user interface. Content and its associations can be uploaded to a kiosk allowing others to access to it.
Albert Huang, Kari Pulli, Larry Rudolph
MUM3
2004 Parallel Job Scheduling - A Status Report
Dror G. Feitelson, Larry Rudolph, Uwe Schwiegelshohn
JSSPP2
2004 Dynamic Partitioning of Shared Cache Memory
G. Edward Suh, Larry Rudolph, Srini Devadas
J. Supercomput.2
2002 Scheduling and Load Balancing
Maciej Drozdowski, Ioannis Milis, Larry Rudolph, Denis Trystram
Euro-Par3
2002 A New Memory Monitoring Scheme for Memory-Aware Scheduling and Partitioning
abstract
We propose a low overhead, online memory monitoring scheme utilizing a set of novel hardware counters. The counters indicate the marginal gain in cache hits as the size of the cache is increased, which gives the cache miss-rate as a function of cache size. Using the counters, we describe a scheme that enables an accurate estimate of the isolated miss-rates of each process as a function of cache size under the standard LRU replacement policy. This information can be used to schedule jobs or to partition the cache to minimize the overall miss-rate. The data collected by the monitors can also be used by an analytical model of cache and memory behavior to produce a more accurate overall miss-rate for the collection of processes sharing a cache in both time and space. This overall miss-rate can be used to improve scheduling and partitioning schemes.
G. Edward Suh, Srini Devadas, Larry Rudolph
HPCA3
2001 Project Oxygen: Pervasive, Human-Centric Computing - An Initial Experience
Larry Rudolph
CAiSE1
2001 Software-Assisted Cache Replacement Mechanisms for Embedded Systems
abstract
We address the problem of improving cache predictability and performance in embedded systems through the use of software-assisted replacement mechanisms. These mechanisms require additional software controlled state information that affects the cache replacement decision. Software instructions allow a program to kill a particular cache element, i.e. effectively make the element the least recently used element, or keep that cache element, i.e. the element will never be evicted. We prove basic theorems that provide conditions under which kill and keep instructions can be inserted into program code, such that the resulting performance is guaranteed to be as good as or better than the original program run using the standard LRU policy. We developed a compiler algorithm based on the theoretical results that, given an arbitrary program, determines when to perform software-assisted replacement, i.e., when to insert either a kill or keep instruction. Empirical evidence is provided that shows that performance and predictability (worst-case performance) can be improved for many programs.
Prabhat Jain, Srini Devadas, Daniel W. Engels, Larry Rudolph
ICCAD4
2001 Developing and Refining an Adaptive Token-Passing Strategy
abstract
Token rotation algorithms play an important role in distributed computing, to support such activities as mutual exclusion, round-robin scheduling, group membership and group communication protocols. Ring-based protocols maximize throughput in busy systems but can incur a linear (in the number of processors) delay when a processor needs to obtain a token to perform an operation. This paper synthesizes new algorithmic techniques for improving the performance (responsiveness) of logical ring protocols. The parameterized technique presents the safety properties of ring protocols and maintains high throughput in busy systems, while reducing the delay in lightly loaded systems from a linear to a logarithmic function in the number of processors. The development in this paper is done using term rewriting systems, where our parameterized protocol is developed in a series of safety-preserving refinements of a basic specification.
Burkhard Englert, Larry Rudolph, Alexander A. Schwarzmann
ICDCS2
2001 Analytical cache models with applications to cache partitioning
G. Edward Suh, Srini Devadas, Larry Rudolph
ICS3
2001 Effects of Memory Performance on Parallel Job Scheduling
G. Edward Suh, Larry Rudolph, Srini Devadas
JSSPP2
2000 Application-specific memory management for embedded systems using software-controlled caches
abstract
We propose a way to improve the performance of embedded processors running data-intensive applications by allowing software to allocate on-chip memory on an application-specific basis. On-chip memory in the form of cache can be made to act like scratch-pad memory via a novel hardware mechanism, which we call column caching. Column caching enables dynamic cache partitioning in software, by mapping data regions to a specified sets of cache “columns” or “ways.” When a region of memory is exclusively mapped to an equivalent sized partition of cache, column caching provides the same functionality and predictability as a dedicated scratchpad memory for time-critical parts of a real-time application. The ratio between scratchpad size and cache size can be easily and quickly varied for each application, or each task within an application. Thus, software has much finer software control of on-chip memory, providing the ability to dynamically tradeoff performance for on-chip memory.
Derek Chiou, Prabhat Jain, Larry Rudolph, Srini Devadas
DAC3
2000 Micro-Architectures of High Performance, Multi-User System Area Network Interface Cards
abstract
This paper examines two Network Interface Card micro-architectures that support low latency, high bandwidth user level message passing in multi-user environments. The two are at different ends of a design spectrum-the Resident queues design relies completely on hardware, while the Non-resident queues design is heavily firmware driven. Through actual implementation of these designs and simulation-based micro-benchmark studies, we identify issues critical to the performance and functionality of the firmware-based approach. The firmware-based approach offers much flexibility at a moderate performance penalty, while the Resident design has superior performance for the functions it implements. This leads us to conclude that a hybrid design combining complete hardware support for common operations and a firmware implementation of less common functions achieves both high performance and flexibility.
Boon Seong Ang, Derek Chiou, Larry Rudolph, Arvind 0001
IPDPS3
2000 Valuation of Ultra-scale Computing Systems
Larry Rudolph, Paul H. Smith
JSSPP1
1999 CACHET: an adaptive cache coherence protocol for distributed shared-memory systems
abstract
Article Free AccessCACHET: an adaptive cache coherence protocol for distributed shared-memory systems Authors: Xiaowei Shen Laboratory for Computer Science, Massachusetts Institute of Technology Laboratory for Computer Science, Massachusetts Institute of TechnologyView Profile , Arvind Laboratory for Computer Science, Massachusetts Institute of Technology Laboratory for Computer Science, Massachusetts Institute of TechnologyView Profile , Larry Rudolph Laboratory for Computer Science, Massachusetts Institute of Technology Laboratory for Computer Science, Massachusetts Institute of TechnologyView Profile Authors Info & Claims ICS '99: Proceedings of the 13th international conference on SupercomputingJune 1999Pages 135–144https://doi.org/10.1145/305138.305187Published:01 May 1999Publication History 23citation491DownloadsMetricsTotal Citations23Total Downloads491Last 12 Months36Last 6 weeks12 Get Citation Alerts Save to BinderClose modalSave to BinderCreate a New BinderName256CancelCreateExport CitationPublisher SiteeReaderPDF
Arvind 0001, Larry Rudolph
International Conference on Supercomputing3
1999 Commit-Reconcile & Fences (CRF): A New Memory Model for Architects and Compiler Writers
abstract
We present a new mechanism-oriented memory model called Commit-Reconcile & Fences (CRF) and define it using algebraic rules. Many existing memory models can be described as restricted versions of CRF. The model has been designed so that it is both easy for architects to implement and stable enough to serve as a target machine interface for compilers of high-level languages. The CRF model exposes a semantic notion of caches (saches), and decomposes load and store instructions into finer-grain operations. We sketch how to integrate CRF into modern microprocessors and outline an adaptive coherence protocol to implement CRF in distributed shared-memory systems. CRF offers an upward compatible way to design next generation computer systems.
Arvind 0001, Larry Rudolph
ISCA3
1998 Accelerating Multi-Media Processing by Implementing Memoing in Multiplication and Division Units
abstract
This paper proposes a technique that enables performing multi-cycle (multiplication, division, square-root …) computations in a single cycle. The technique is based on the notion of memoing: saving the input and output of previous calculations and using the output if the input is encountered again. This technique is especially suitable for Multi-Media (MM) processing. In MM applications the local entropy of the data tends to be low which results in repeated operations on the same datum.The inputs and outputs of assembly level operations are stored in cache-like lookup tables and accessed in parallel to the conventional computation. A successful lookup gives the result of a multi-cycle computation in a single cycle, and a failed lookup doesn't necessitate a penalty in computation time.Results of simulations have shown that on the average, for a modestly sized memo-table, about 40% of the floating point multiplications and 50% of the floating point divisions, in Multi-Media applications, can be avoided by using the values within the memo-table, leading to an average computational speedup of more than 20%.
Daniel Citron, Dror G. Feitelson, Larry Rudolph
ASPLOS3
1998 Message passing support on StarT-Voyager
abstract
No single message passing mechanism can efficiently support all types of communication that commonly occur in most parallel or distributed programs. MIT's StarT-Voyager, a hybrid message passing/shared memory parallel machine, provides four message passing mechanisms to achieve high performance over a wide spectrum of communication types and sizes. Hardware and address translation enforced protection allows direct user-level access to message passing facilities in a multiuser environment. StarT-Voyager's protection scheme improves upon past designs by not requiring strictly synchronized gang-scheduling, and by supporting non-monolithic protection domains. To minimize the development effort and cost, the machine is designed to use unmodified commercial PowerPC 604-based SMP systems as the building block. A Network End-point Subsystem (NES) card which plugs into one of each SMP's processor card slots provides the interface to Arctic, a low-latency, high-bandwidth network developed at MIT. This paper describes StarT-Voyager's message passing mechanisms and their predicted performance.
Boon Seong Ang, Derek Chiou, Larry Rudolph, Arvind 0001
HiPC3
1998 Metrics and Benchmarking for Parallel Job Scheduling
Dror G. Feitelson, Larry Rudolph
JSSPP2
1998 StarT-Voyager: A Flexible Platform for Exploring Scalable SMP Issues
abstract
This paper describes StarT-Voyager, a machine designed as an experimental platform for research in cluster system communication. The heart of StarT-Voyager is a network interface unit (NIU) that connects the memory bus of a PowerPC-based SMP to the MIT Arctic network. The NIU is highly flexible, with its set of functions easily modified by firmware or by programmable hardware, making it possible to compare different communication interfaces and implementation strategies on a common platform. Its flexibility comes from a fast embedded processor and large, fast FPGAs that surround a high-speed protected communication core. Its efficiency comes from a set of primitive operations that are implemented in hardware and are designed to reduce the firmware overhead. Our initial configuration of StarT-Voyager implements four forms of message passing along with S-COMA and NUMA shared memory support. With experimentation on the machine, it can be reconfigured to introduce new mechanisms improving usability and performance.
Boon Seong Ang, Derek Chiou, Daniel L. Rosenband, Mike Ehrlich, Larry Rudolph, Arvind 0001
SC5
1997 Theory and Practice in Parallel Job Scheduling
Dror G. Feitelson, Larry Rudolph, Uwe Schwiegelshohn, Kenneth C. Sevcik, Parkson Wong
JSSPP2
1997 Implications of I/O for Gang Scheduled Workloads
Walter Lee, Matthew I. Frank, Victor Lee, Kenneth Mackenzie, Larry Rudolph
JSSPP5
1996 Towards Convergence in Job Schedulers for Parallel Supercomputers
Dror G. Feitelson, Larry Rudolph
JSSPP2
1996 A Gang Scheduling Design for Multiprogrammed Parallel Computing Environments
Hubertus Franke, Marios C. Papaefthymiou, Pratap Pattnaik, Larry Rudolph, Mark S. Squillante
JSSPP5
1996 Evaluation of Design Choices for Gang Scheduling Using Distributed Hierarchical Control
Dror G. Feitelson, Larry Rudolph
J. Parallel Distributed Comput.2
1996 ParC - An Extension of C for Shared Memory Parallel Processing
abstract
ParC is an extension of the C programming language with block-oriented parallel constructs that allow the programmer to express fine-grain parallelism in a shared-memory model. It is suitable for the expression of parallel shared-memory algorithms, and also conducive for the parallelization of sequential C programs. In addition, performance enhancing transformations can be applied within the language, without resorting to low-level programming. The language includes closed constructs to create parallelism, as well as instructions to cause the termination of parallel activities and to enforce synchronization. The parallel constructs are used to define the scope of shared variables, and also to delimit the sets of activities that are influenced by termination or synchronization instructions. The semantics of parallelism are discussed, especially relating to the discrepancy between the limited number of physical processors and the potentially much larger number of parallel activities in a program.
Yosi Ben-Asher, Dror G. Feitelson, Larry Rudolph
Softw. Pract. Exp.3
1995 Creating a Wider Bus Using Caching Techniques
abstract
The effective bandwidth of a bus and external communication ports can be increased by using a variant of data compression techniques that compacts words instead of data streams. The compaction is performed by caching the high order bits into a table and sending the index into the table along with the low order bits. A coherent table at the receiving end expands the word into it original form. Compaction/expansion units can be placed between processor and memory, between processor and local bus, and between devices that access the system bus. Simulations have shown that over 90% of all informative transferred can be sent in a single cycle when using a 32 bit processor connected by a 16 bit wide bus to a 32 bit memory module. This is for all forms of data, address, data, and instructions, and when a cache-based processor is used.>
Daniel Citron, Larry Rudolph
HPCA2
1995 Parallel Job Scheduling: Issues and Approaches
Dror G. Feitelson, Larry Rudolph
JSSPP2
1993 Electronic Kaleidoscopes for the Mind
abstract
Abstract The goal ofthis article is to present an informal introduction and tutorial on aestheticallypleasing kaleidoscopic images. The article is intended for the non‐mathematical reader interested in computer art. Simple generating formulas and recipes are included.
Clifford A. Pickover, Larry Rudolph
Comput. Graph. Forum2
1993 A Methodology for Visualizing Performance of Loosely Synchronous Programs
Sekhar R. Sarukkai, Doug Kimelman, Larry Rudolph
J. Parallel Distributed Comput.3
1992 Gang Scheduling Performance Benefits for Fine-Grain Synchronization
Dror G. Feitelson, Larry Rudolph
J. Parallel Distributed Comput.2
1991 Using Visual Tools for Developing an Asynchronous Parallel Layout Algorithm
Dror Zernik, Larry Rudolph
ICPP (2)2
1991 A Simple Load Balancing Scheme for Task Allocation in Parallel Machines
abstract
A collection of local workpiles (task queues) and a simlocal task queue is within a small constant factor of the average, i.e. total number of tasks in the system divided by the number of processors.
Larry Rudolph, Miriam Allalouf, Eli Upfal
SPAA1
1990 Mapping and Scheduling in a Shared Parallel Environment Using Distributed Hierarchical Control
Dror G. Feitelson, Larry Rudolph
ICPP (1)2
1990 Efficient Parallel Algorithms for Graph Problems
Clyde P. Kruskal, Larry Rudolph, Marc Snir
Algorithmica2
1990 A Complexity Theory of Efficient Parallel Algorithms
Clyde P. Kruskal, Larry Rudolph, Marc Snir
Theor. Comput. Sci.2
1989 Implementation of a Wait-Free Synchronization Primitive that Solves n-Process Consensus
Dror G. Feitelson, Larry Rudolph
Inf. Process. Lett.2
1989 The periodic balanced sorting network
abstract
A periodic sorting network consists of a sequence of identical blocks. In this paper, the periodic balanced sorting network, which consists of log n blocks, is introduced. Each block, called a balanced merging block, merges elements on the even input lines with those on the odd input lines. The periodic balanced sorting network sorts n items in O ([log n ] 2 ) time using ( n /2)(log n ) 2 comparators. Although these bounds are comparable to many existing sorting networks, the periodic structure enables a hardware implementation consisting of only one block with the output of the block recycled back as input until the output is sorted. An implementation of our network on the shuffle exchange interconnection model in which the direction of the comparators are all identical and fixed is also presented.
Martin Dowd, Yehoshua Perl, Larry Rudolph, Michael E. Saks
J. ACM3
1989 Techniques for Parallel Manipulation of Sparse Matrices
Clyde P. Kruskal, Larry Rudolph, Marc Snir
Theor. Comput. Sci.2
1988 A Complexity Theory of Efficient Parallel Algorithms (Extended Abstract)
Clyde P. Kruskal, Larry Rudolph, Marc Snir
ICALP2
1988 Competitive Snoopy Caching
Anna R. Karlin, Mark S. Manasse, Larry Rudolph, Daniel Dominic Sleator
Algorithmica3
1988 Efficient Synchronization on Multiprocessors with Shared Memory
abstract
A new formalism is given for read-modify-write (RMW) synchronization operations. This formalism is used to extend the memory reference combining mechanism introduced in the NYU Ultracomputer, to arbitrary RMW operations. A formal correctness proof of this combining mechanism is given. General requirements for the practicality of combining are discussed. Combining is shown to be practical for many useful memory access operations. This includes memory updates of the form mem _ val := mem _ val op val , where op need not be associative, and a variety of synchronization primitives. The computation involved is shown to be closely related to parallel prefix evaluation.
Clyde P. Kruskal, Larry Rudolph, Marc Snir
ACM Trans. Program. Lang. Syst.2
1987 Analysis of Snooping Caches
Albert G. Greenberg, Isi Mitrani, Larry Rudolph
Performance3
1987 Parallel Approximation Schemes for Subset Sum and Knapsack Problems
Joseph G. Peters, Larry Rudolph
Acta Informatica2
1987 Sublinear Parallel Algorithm for Computing the Greatest Common Divisor of Two Integers
abstract
The paper presents a sublinear time parallel algorithm for computing the greatest common divisor of two integers. Its running time on two n bit integers is $O({{n\log \log n} / {\log n}})$ using the weak concurrent read concurrent write model.
Ravi Kannan, Gary L. Miller, Larry Rudolph
SIAM J. Comput.3
1986 Competitive Snoopy Caching
abstract
In a snoopy cache multiprocessor system, each processor has a cache in which it stores blocks of data. Each cache is connected to a bus used to communicate with the other caches and with main memory. For several of the proposed models of snoopy caching, we present new on-line algorithms which decide, for each cache, which blocks to retain and which to drop in order to minimize communication over the bus. We prove that, for any sequence of operations, our algorithms' communication costs are within a constant factor of the minimum required for that sequence; for some of our algorithms we prove that no on-line algorithm has this property with a smaller constant.
Anna R. Karlin, Mark S. Manasse, Larry Rudolph, Daniel Dominic Sleator
FOCS3
1986 Counting and Packing in Parallel
Joseph Gil, Larry Rudolph
ICPP2
1986 Parallel Prefix on Fully Connected Direct Connection Machines
Clyde P. Kruskal, Larry Rudolph, Thomas Madej
ICPP2
1986 Efficient Parallel Algorithms for Graph Models
Clyde P. Kruskal, Larry Rudolph, Marc Snir
ICPP2
1986 Efficient Synchronization on Multiprocessors with Shared Memory
abstract
A new formalism is given for read-modify-write (RMW) synchronization operations.This formalism is used to extend the memory reference combining mechanism, introduced in the NYU Ultracomputer, to arbitrary RMW operations.A formal correctness proof of this combining mechanism is given.General requirements for the practicality of combining are discussed.Combining is shown to be practical for many useful memory access operations.This includes memory updates of the form mere val :~ mere val op val, where op need not be associative, and a variety of synchronization primitives.The computation involved is shown to be closely related to parallel prefix evaluation. INTRODUCTIONShared memory provides convenient communication between processes in a tightly coupled multiprocessing system.Shared variables can be used for data sharing, information transfer between processes, and, in particular, for coordination and synchronization.Constructs such as the semaphore introduced by Dijkstra in [Di], and the many variants that followed, provide convenient solutions to many synchronization problems involving arbitrary number of processes.These constructs are supported in hardware by machine instructions that atomically execute a Read-Modify-Write cycle.Such instructions exist on most modern CPU's.An atomic Read-Modify-Write operation only requires that it be semantically atomic, although it is often processed atomically also.The "serial bottleneck" created by this atomic processing, while acceptable for small scale parallelism, can seriously impair the performance of a system with thousands of processors.
Clyde P. Kruskal, Larry Rudolph, Marc Snir
PODC2
1985 The Power of Parallel Prefix
Clyde P. Kruskal, Larry Rudolph, Marc Snir
ICPP2
1985 Subset Selection in Parallel
Larry Rudolph, William L. Steiger
ICPP1
1985 Issues Related to MIMD Shared-memory Computers: The NYU Ultracomputer Approach
abstract
We present an updated report on the NYU Ultracomputer design emphasizing recent results on programming, operating systems, caching, demand paging, and I/O.The user's view of the Ultracomputer is presented along with the hardware and software implementation.Freedom from serial bottlenecks in both hardware and software allows the Ultracomputer to obtain performance that scales nearly linearly in the size of the machine for a broad spectrum of problems.
Jan Edler, Allan Gottlieb, Clyde P. Kruskal, Kevin P. McAuliffe, Larry Rudolph, Marc Snir, Patricia J. Teller
ISCA5
1985 The Power of Parallel Prefix
abstract
The prefix computation problem is to compute allninitial productsa1* . . . *a1,i=1, . . .,nof a set ofnelements, where * is an associative operation. An O(((logn) log(2n/p))XI(n/p)) time deterministic parallel algorithm usingp≤nprocessors is presented to solve the prefix computation problem, when the order of the elements is specified by a linked list. Forp≤O(n1-ε)(ε〉0 any constant), this algorithm achieves linear speedup. Such optimal speedup was previously achieved only by probabilistic algorithms. This study assumes the weakest PRAM model, where shared memory locations can only be exclusively read or written (the EREW model).
Clyde P. Kruskal, Larry Rudolph, Marc Snir
IEEE Trans. Computers2
1985 A Robust Sorting Network
abstract
Beginning with the recently introduced balanced sorting network, we propose a shuffle-exchange type layout consisting of a single block with the output recirculated back as input until sorting is achieved. Although this network has essentially the same performance bounds as Batcher's bitonic sort, our design has the property that no comparator in the network is critical in the sense that any faulty comparator can be bypassed without disturbing the functionality of the network (just its speed). The novelty of the design is that the robustness is derived from the underlying algorithm. The network will sort in the presence of many faulty comparators. Moreover, of the (N log N)/2 comparators, only N pairs of comparators are critical. That is, the network fails only when both comparators in a pair fail. Our results enable one to build large sorting networks on a single wafer so that a high percentage of the fabricated wafers can be used; some of the wafers will sort very quickly (the ones with no faulty components), most will sort at somewhat slower than optimal speeds, but only a few will fail to be useful as sorting networks (due to too many badly placed faults).
Larry Rudolph
IEEE Trans. Computers1
1984 Sublinear Parallel Algorithm for Computing the Greatest Common Divisor of Two Integers
abstract
The advent of practical parallel processors has caused a reexamination of many existing algorithms with the hope of discovering a parallel implementation. One of the oldest and best known algorithms is Euclid's algorithm for computing the greatest common divisor (GCD). In this paper we present a parallel algorithm to compute the GCD of two integers. The two salient features of the algorithm are: the observation based on the pigeon hole principle that we can easily find an integer combination of the two integers A and B which has fewer bits than n and the idea of working in phases so as to perform arithmetics on n-bit integers only once every phase, the more frequent operations being performed on O(log/sup 2/n)-bit integers. It appears that yet another approach is needed if the GCD is to be computed in poly-log parallel time.
Ravi Kannan, Gary L. Miller, Larry Rudolph
FOCS3
1984 Dynamic Decentralized Cache Schemes for MIMD Parallel Processors
abstract
This paper presents two cache schemes for a shared-memory shared bus multiprocessor. Both schemes feature decentralized consistency control and dynamic type classification of the datum cached (i.e. read-only, local, or shared). It is shown how to exploit these features to minimize the shared bus traffic. The broadcasting ability of the shared bus is used not only to signal an event but also to distribute data. In addition, by introducing a new synchronization construct, i.e. the Test-and-Test-and-Set instruction, many of the traditional. parallell processing “hot spots” or bottlenecks are eliminated. Sketches of formal correctness proofs for the proposed schemes are also presented. It appears that moderately large parallel processors can be designed by employing the principles presented in this paper.
Larry Rudolph, Zary Segall
ISCA1
1983 A parallel scan conversion algorithm with anti-aliasing for a general-purpose ultracomputer
abstract
Popular approaches to speeding up scan conversion often employ parallel processing. Recently, several special-purpose parallel architectures have been suggested. We propose an alternative to these systems: the general-purpose ultracomputer, a parallel processor with many autonomous processing elements and a shared memory. The “serial semantics/parallel execution” feature of this architecture is exploited in the formulation of a scan conversion algorithm. Hidden surfaces are removed using a single scanline, z-buffer algorithm. Since exact anti-aliasing is inherently slow, a novel parallel anti-aliasing algorithm is presented in which subpixel coverage by edges is approximated using a look-up table. The ultimate intensity of a pixel is the weighted sum of the intensity contribution of the closest edge, that of the “losing” edges, and that of the background. The algorithm is fast and accurate, it is attractive even in a serial environment, and it avoids several artifacts that commonly occur in animated sequences.
Eugene Fiume, Alain Fournier, Larry Rudolph
SIGGRAPH3
1983 The NYU Ultracomputer - Designing an MIMD Shared Memory Parallel Computer
abstract
We present the design for the NYU Ultracomputer, a shared-memory MIMD parallel machine composed of thousands of autonomous processing elements. This machine uses an enhanced message switching network with the geometry of an Omega-network to approximate the ideal behavior of Schwartz's paracomputer model of computation and to implement efficiently the important fetch-and-add synchronization primitive. We outine the hardware that would be required to build a 4096 processor system using 1990's technology. We also discuss system software issues, and present analytic studies of the network performance. Finally, we include a sample of our effort to implement and simulate parallel variants of important scientific p̀rograms.
Allan Gottlieb, Ralph Grishman, Clyde P. Kruskal, Kevin P. McAuliffe, Larry Rudolph, Marc Snir
IEEE Trans. Computers5
1983 Basic Techniques for the Efficient Coordination of Very Large Numbers of Cooperating Sequential Processors
abstract
In this paper we implement several basic operating system primitives by using a "replace-add" operation, which can supersede the standard "test and set" and which appears to be a universal primitive for efficiently coordinating large numbers of independently acting sequential processors.We also present a hardware implementation of replace-add that permits multiple replace-adds to be processed nearly as efficiently as loads and stores.Moreover, the crucial special case of concurrent replace-adds updating the same variable is handled particularly well: If every processing element simultaneously addresses a replace-add at the same variable, all these requests are satisfied in the time required to process just one request.
Allan Gottlieb, Boris D. Lubachevsky, Larry Rudolph
ACM Trans. Program. Lang. Syst.3
1982 The NYU Ultracomputer-designing a MIMD, shared-memory parallel machine (Extended Abstract)
abstract
We present the design for the NYU Ultracomputer, a shared-memory MIMD parallel machine composed of thousands of autonomous processing elements. This machine uses an enhanced message switching network with the geometry of an Omega-network to approximate the ideal behavior of Schwartz's paracomputer model of computation and to implement efficiently the important fetch-and-add synchronization primitive. We outline the hardware that would be required to build a 4096 processor system using 1990's technology. We also discuss system software issues, and present analytic studies of the network performance. Finally, we include a sample of our effort to implement and simulate parallel variants of important scientific programs.
Allan Gottlieb, Ralph Grishman, Clyde P. Kruskal, Kevin P. McAuliffe, Larry Rudolph, Marc Snir
ISCA5