EDBT 2026 Demo / reviewers in the wild / expert
Larry Rudolph
dblp:56/3748
· DBLP profile ↗
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
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Memory systems
cache coherence |
0.7 | 7 | 2021 | 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.5 | 1 | 2021 | A Community Cache with Complete Information · FAST 2021 |
Machine learning › Reinforcement learning
deep reinforcement learning |
0.4 | 1 | 2020 | A Closer Look at Deep Policy Gradients · ICLR 2020 |
Machine learning › Reinforcement learning › policy optimization
policy gradient |
0.4 | 1 | 2020 | A Closer Look at Deep Policy Gradients · ICLR 2020 |
Machine learning › Reinforcement learning
policy optimization |
0.4 | 1 | 2020 | Implementation Matters in Deep RL: A Case Study on PPO and TRPO · ICLR 2020 |
Machine learning › Reinforcement learning › policy optimization
proximal policy optimization |
0.4 | 1 | 2020 | Implementation Matters in Deep RL: A Case Study on PPO and TRPO · ICLR 2020 |
Cloud and datacenter computing › cloud platform
bare-metal cloud |
0.4 | 1 | 2019 | Supporting Security Sensitive Tenants in a Bare-Metal Cloud · USENIX ATC 2019 |
Transaction processing and concurrency control › concurrency control
distributed concurrency control |
0.3 | 1 | 2018 | 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.3 | 1 | 2018 | Sundial: Harmonizing Concurrency Control and Caching in a Distributed OLTP Database Management System · Proc. VLDB Endow. 2018 |
Systems and software security
isolation |
0.1 | 1 | 2019 | Supporting Security Sensitive Tenants in a Bare-Metal Cloud · USENIX ATC 2019 |
Memory systems › cache management
cache monitoring |
0.0 | 1 | 2002 | A New Memory Monitoring Scheme for Memory-Aware Scheduling and Partitioning · HPCA 2002 |
Memory systems › cache management
cache partitioning |
0.0 | 1 | 2002 | A New Memory Monitoring Scheme for Memory-Aware Scheduling and Partitioning · HPCA 2002 |
Performance modeling and evaluation › performance monitoring
hardware performance counters |
0.0 | 1 | 2002 | A New Memory Monitoring Scheme for Memory-Aware Scheduling and Partitioning · HPCA 2002 |
Parallel and multicore computing › task scheduling
memory-aware scheduling |
0.0 | 1 | 2002 | A New Memory Monitoring Scheme for Memory-Aware Scheduling and Partitioning · HPCA 2002 |
Memory systems
cache management |
0.0 | 1 | 2000 | Application-specific memory management for embedded systems using software-controlled caches · DAC 2000 |
Memory systems › memory consistency
memory consistency model |
0.0 | 1 | 1999 | Commit-Reconcile & Fences (CRF): A New Memory Model for Architects and Compiler Writers · ISCA 1999 |
Parallel and multicore computing
memory model |
0.0 | 1 | 1999 | 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.0 | 1 | 1998 | Accelerating Multi-Media Processing by Implementing Memoing in Multiplication and Division Units · ASPLOS 1998 |
Processor architecture and microarchitecture
multicore design |
0.0 | 1 | 1998 | StarT-Voyager: A Flexible Platform for Exploring Scalable SMP Issues · SC 1998 |
Interconnection networks and networks-on-chip
network interface |
0.0 | 1 | 1998 | StarT-Voyager: A Flexible Platform for Exploring Scalable SMP Issues · SC 1998 |
Processor architecture and microarchitecture › multiprocessor architecture
scalable shared-memory multiprocessor |
0.0 | 1 | 1998 | StarT-Voyager: A Flexible Platform for Exploring Scalable SMP Issues · SC 1998 |
Parallel and multicore computing
parallel algorithms |
0.0 | 3 | 1988 | 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.0 | 2 | 1989 | 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.0 | 2 | 1988 | 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.0 | 2 | 1988 | 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.0 | 1 | 2000 | Application-specific memory management for embedded systems using software-controlled caches · DAC 2000 |
Algorithms and data structures › number-theoretic algorithms
greatest common divisor |
0.0 | 2 | 1987 | 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.0 | 2 | 1987 | 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.0 | 1 | 1998 | StarT-Voyager: A Flexible Platform for Exploring Scalable SMP Issues · SC 1998 |
Memory systems
shared memory |
0.0 | 1 | 1988 | 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
| Year | Publication | Venue | Position |
|---|---|---|---|
| 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 |
FAST | 6 |
| 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 |
ICLR | 6 |
| 2020 | A Closer Look at Deep Policy Gradients
Andrew Ilyas, Logan Engstrom, Shibani Santurkar, Dimitris Tsipras, Firdaus Janoos, Larry Rudolph, Aleksander Madry |
ICLR | 6 |
| 2019 | D3N: A multi-layer cache for the rest of usabstractCurrent 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 BigData | 7 |
| 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 ATC | 8 |
| 2018 | Sundial: Harmonizing Concurrency Control and Caching in a Distributed OLTP Database Management SystemabstractDistributed 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)abstractWe 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 |
IC2E | 5 |
| 2015 | Thunderstrike: EFI firmware bootkits for Apple MacBooksabstractThere 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 |
SYSTOR | 2 |
| 2009 | Mining User Position Log for Construction of Personalized Activity Map
Wen-Jing Hsu, Larry Rudolph |
ADMA | 3 |
| 2009 | Cognitive personal positioning based on activity map and adaptive particle filterabstractThis 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 |
MSWiM | 3 |
| 2008 | How to Do a Million Watchpoints: Efficient Debugging Using Dynamic Instrumentation
Rodric M. Rabbah, Saman P. Amarasinghe, Larry Rudolph, Weng-Fai Wong |
CC | 4 |
| 2008 | Controlling Uncertainty in Personal Positioning at Minimal Measurement Cost
Wen-Jing Hsu, Larry Rudolph |
UIC | 3 |
| 2007 | Ubiquitous Memory IntrospectionabstractModern 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 |
CGO | 4 |
| 2006 | DEP: detailed execution profileabstract10.1145/1152154.1152180 Joon Edward Sim, Weng-Fai Wong, Larry Rudolph |
PACT | 4 |
| 2006 | Cooperative checkpointing: a robust approach to large-scale systems reliabilityabstractCooperative 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 |
ICS | 2 |
| 2006 | Cooperative checkpointing theoryabstractCooperative 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 |
IPDPS | 2 |
| 2005 | Probabilistic QoS Guarantees for Supercomputing SystemsabstractSupercomputing 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 |
DSN | 2 |
| 2005 | Kimono: kiosk-mobile phone knowledge sharing systemabstractThe 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 |
MUM | 3 |
| 2004 | Parallel Job Scheduling - A Status Report
Dror G. Feitelson, Larry Rudolph, Uwe Schwiegelshohn |
JSSPP | 2 |
| 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-Par | 3 |
| 2002 | A New Memory Monitoring Scheme for Memory-Aware Scheduling and PartitioningabstractWe 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 |
HPCA | 3 |
| 2001 | Project Oxygen: Pervasive, Human-Centric Computing - An Initial Experience
Larry Rudolph |
CAiSE | 1 |
| 2001 | Software-Assisted Cache Replacement Mechanisms for Embedded SystemsabstractWe 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 |
ICCAD | 4 |
| 2001 | Developing and Refining an Adaptive Token-Passing StrategyabstractToken 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 |
ICDCS | 2 |
| 2001 | Analytical cache models with applications to cache partitioning
G. Edward Suh, Srini Devadas, Larry Rudolph |
ICS | 3 |
| 2001 | Effects of Memory Performance on Parallel Job Scheduling
G. Edward Suh, Larry Rudolph, Srini Devadas |
JSSPP | 2 |
| 2000 | Application-specific memory management for embedded systems using software-controlled cachesabstractWe 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 |
DAC | 3 |
| 2000 | Micro-Architectures of High Performance, Multi-User System Area Network Interface CardsabstractThis 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 |
IPDPS | 3 |
| 2000 | Valuation of Ultra-scale Computing Systems
Larry Rudolph, Paul H. Smith |
JSSPP | 1 |
| 1999 | CACHET: an adaptive cache coherence protocol for distributed shared-memory systemsabstractArticle 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 Supercomputing | 3 |
| 1999 | Commit-Reconcile & Fences (CRF): A New Memory Model for Architects and Compiler WritersabstractWe 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 |
ISCA | 3 |
| 1998 | Accelerating Multi-Media Processing by Implementing Memoing in Multiplication and Division UnitsabstractThis 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 |
ASPLOS | 3 |
| 1998 | Message passing support on StarT-VoyagerabstractNo 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 |
HiPC | 3 |
| 1998 | Metrics and Benchmarking for Parallel Job Scheduling
Dror G. Feitelson, Larry Rudolph |
JSSPP | 2 |
| 1998 | StarT-Voyager: A Flexible Platform for Exploring Scalable SMP IssuesabstractThis 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 |
SC | 5 |
| 1997 | Theory and Practice in Parallel Job Scheduling
Dror G. Feitelson, Larry Rudolph, Uwe Schwiegelshohn, Kenneth C. Sevcik, Parkson Wong |
JSSPP | 2 |
| 1997 | Implications of I/O for Gang Scheduled Workloads
Walter Lee, Matthew I. Frank, Victor Lee, Kenneth Mackenzie, Larry Rudolph |
JSSPP | 5 |
| 1996 | Towards Convergence in Job Schedulers for Parallel Supercomputers
Dror G. Feitelson, Larry Rudolph |
JSSPP | 2 |
| 1996 | A Gang Scheduling Design for Multiprogrammed Parallel Computing Environments
Hubertus Franke, Marios C. Papaefthymiou, Pratap Pattnaik, Larry Rudolph, Mark S. Squillante |
JSSPP | 5 |
| 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 ProcessingabstractParC 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 TechniquesabstractThe 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 |
HPCA | 2 |
| 1995 | Parallel Job Scheduling: Issues and Approaches
Dror G. Feitelson, Larry Rudolph |
JSSPP | 2 |
| 1993 | Electronic Kaleidoscopes for the MindabstractAbstract 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. Forum | 2 |
| 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 MachinesabstractA 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 |
SPAA | 1 |
| 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 |
Algorithmica | 2 |
| 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 networkabstractA 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. ACM | 3 |
| 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 |
ICALP | 2 |
| 1988 | Competitive Snoopy Caching
Anna R. Karlin, Mark S. Manasse, Larry Rudolph, Daniel Dominic Sleator |
Algorithmica | 3 |
| 1988 | Efficient Synchronization on Multiprocessors with Shared MemoryabstractA 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 |
Performance | 3 |
| 1987 | Parallel Approximation Schemes for Subset Sum and Knapsack Problems
Joseph G. Peters, Larry Rudolph |
Acta Informatica | 2 |
| 1987 | Sublinear Parallel Algorithm for Computing the Greatest Common Divisor of Two IntegersabstractThe 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 CachingabstractIn 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 |
FOCS | 3 |
| 1986 | Counting and Packing in Parallel
Joseph Gil, Larry Rudolph |
ICPP | 2 |
| 1986 | Parallel Prefix on Fully Connected Direct Connection Machines
Clyde P. Kruskal, Larry Rudolph, Thomas Madej |
ICPP | 2 |
| 1986 | Efficient Parallel Algorithms for Graph Models
Clyde P. Kruskal, Larry Rudolph, Marc Snir |
ICPP | 2 |
| 1986 | Efficient Synchronization on Multiprocessors with Shared MemoryabstractA 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 |
PODC | 2 |
| 1985 | The Power of Parallel Prefix
Clyde P. Kruskal, Larry Rudolph, Marc Snir |
ICPP | 2 |
| 1985 | Subset Selection in Parallel
Larry Rudolph, William L. Steiger |
ICPP | 1 |
| 1985 | Issues Related to MIMD Shared-memory Computers: The NYU Ultracomputer ApproachabstractWe 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 |
ISCA | 5 |
| 1985 | The Power of Parallel PrefixabstractThe 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. Computers | 2 |
| 1985 | A Robust Sorting NetworkabstractBeginning 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. Computers | 1 |
| 1984 | Sublinear Parallel Algorithm for Computing the Greatest Common Divisor of Two IntegersabstractThe 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 |
FOCS | 3 |
| 1984 | Dynamic Decentralized Cache Schemes for MIMD Parallel ProcessorsabstractThis 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 |
ISCA | 1 |
| 1983 | A parallel scan conversion algorithm with anti-aliasing for a general-purpose ultracomputerabstractPopular 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 |
SIGGRAPH | 3 |
| 1983 | The NYU Ultracomputer - Designing an MIMD Shared Memory Parallel ComputerabstractWe 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. Computers | 5 |
| 1983 | Basic Techniques for the Efficient Coordination of Very Large Numbers of Cooperating Sequential ProcessorsabstractIn 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)abstractWe 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 |
ISCA | 5 |