Demo Data from EDBT 2026 / reviewers in the wild / expert
Robert D. Blumofe
dblp:13/3527
· DBLP profile ↗
14ranked-venue papers
9as first author
0since 2021 · last 2002
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 8 · 5 first-authorTheory of computation · 5 · 3 first-authorSoftware engineering, systems software and programming languages · 2 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1 · 1 first-author
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
8 papers |
Parallel and multicore computing · 72% Memory systems · 14% Processor architecture and microarchitecture · 11% | |
| Software engineering, system software, and programming languages
2 papers |
Runtime systems and virtual machines · 52% Operating systems · 48% |
Topics — the 15 heaviest of 16, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing › load balancing › dynamic load balancing
work stealing |
0.1 | 4 | 1999 | Scheduling Multithreaded Computations by Work Stealing · J. ACM 1999 The Performance of Work Stealing in Multiprogrammed Environments (Extended Abstract) · SIGMETRICS 1998 Scheduling Large-Scale Parallel Computations on Networks of Workstations · HPDC 1994 |
Parallel and multicore computing
parallel scheduling |
0.0 | 3 | 1998 | Space-Efficient Scheduling of Multithreaded Computations · SIAM J. Comput. 1998 Scheduling Large-Scale Parallel Computations on Networks of Workstations · HPDC 1994 Space-efficient scheduling of multithreaded computations · STOC 1993 |
Processor architecture and microarchitecture › multithreading
multithreaded execution |
0.0 | 3 | 1998 | Space-Efficient Scheduling of Multithreaded Computations · SIAM J. Comput. 1998 Space-efficient scheduling of multithreaded computations · STOC 1993 Scheduling Multithreaded Computations by Work Stealing · FOCS 1994 |
Parallel and multicore computing › parallel scheduling
space-efficient scheduling |
0.0 | 2 | 1998 | Space-Efficient Scheduling of Multithreaded Computations · SIAM J. Comput. 1998 Space-efficient scheduling of multithreaded computations · STOC 1993 |
Memory systems › memory management › memory allocation
dynamic memory allocation |
0.0 | 1 | 2000 | Hoard: A Scalable Memory Allocator for Multithreaded Applications · ASPLOS 2000 |
Parallel and multicore computing › thread-level parallelism
multithreaded applications |
0.0 | 1 | 2000 | Hoard: A Scalable Memory Allocator for Multithreaded Applications · ASPLOS 2000 |
Parallel and multicore computing
parallel programming models |
0.0 | 1 | 1998 | The Performance of Work Stealing in Multiprogrammed Environments (Extended Abstract) · SIGMETRICS 1998 |
Runtime systems and virtual machines › parallel runtime systems
multithreaded runtime |
0.0 | 1 | 1995 | Cilk: An Efficient Multithreaded Runtime System · PPoPP 1995 |
Parallel and multicore computing › task scheduling › dynamic scheduling
work-stealing scheduler |
0.0 | 1 | 1995 | Cilk: An Efficient Multithreaded Runtime System · PPoPP 1995 |
High-performance computing › cluster computing
network of workstations |
0.0 | 1 | 1994 | Scheduling Large-Scale Parallel Computations on Networks of Workstations · HPDC 1994 |
Memory systems
cache |
0.0 | 1 | 2000 | Hoard: A Scalable Memory Allocator for Multithreaded Applications · ASPLOS 2000 |
Memory systems › cache coherence
false sharing |
0.0 | 1 | 2000 | Hoard: A Scalable Memory Allocator for Multithreaded Applications · ASPLOS 2000 |
Operating systems › resource management › process management
CPU scheduling |
0.0 | 1 | 1998 | The Performance of Work Stealing in Multiprogrammed Environments (Extended Abstract) · SIGMETRICS 1998 |
Operating systems › resource management › process management
multiprogramming |
0.0 | 1 | 1998 | The Performance of Work Stealing in Multiprogrammed Environments (Extended Abstract) · SIGMETRICS 1998 |
Parallel and multicore computing
load balancing |
0.0 | 1 | 1995 | Cilk: An Efficient Multithreaded Runtime System · PPoPP 1995 |
Methods — techniques the papers use, named apart from their topics
competitive analysis · 0.0critical path analysis · 0.0per-processor heap · 0.0global heap · 0.0potential function analysis · 0.0online scheduling algorithm · 0.0graph-theoretic model · 0.0work-stealing · 0.0work stealing · 0.0micro-level work stealing · 0.0macro-level scheduling · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2002 | The Data Locality of Work Stealing
Umut A. Acar, Guy E. Blelloch, Robert D. Blumofe |
Theory Comput. Syst. | 3 |
| 2001 | Thread Scheduling for Multiprogrammed Multiprocessors
Nimar S. Arora, Robert D. Blumofe, C. Greg Plaxton |
Theory Comput. Syst. | 2 |
| 2000 | Hoard: A Scalable Memory Allocator for Multithreaded ApplicationsabstractParallel, multithreaded C and C++ programs such as web servers, database managers, news servers, and scientific applications are becoming increasingly prevalent. For these applications, the memory allocator is often a bottleneck that severely limits program performance and scalability on multiprocessor systems. Previous allocators suffer from problems that include poor performance and scalability, and heap organizations that introduce false sharing. Worse, many allocators exhibit a dramatic increase in memory consumption when confronted with a producer-consumer pattern of object allocation and freeing. This increase in memory consumption can range from a factor of P (the number of processors) to unbounded memory consumption.This paper introduces Hoard, a fast, highly scalable allocator that largely avoids false sharing and is memory efficient. Hoard is the first allocator to simultaneously solve the above problems. Hoard combines one global heap and per-processor heaps with a novel discipline that provably bounds memory consumption and has very low synchronization costs in the common case. Our results on eleven programs demonstrate that Hoard yields low average fragmentation and improves overall program performance over the standard Solaris allocator by up to a factor of 60 on 14 processors, and up to a factor of 18 over the next best allocator we tested. Emery D. Berger, Kathryn S. McKinley, Robert D. Blumofe, Paul R. Wilson 0001 |
ASPLOS | 3 |
| 2000 | The data locality of work stealingabstractThis paper studies the data locality of the work-stealing scheduling algorithm on hardware-controlled shared-memory machines. We present lower and upper bounds on the number of cache misses using work stealing, and introduce a locality-guided work-stealing algorithm along with experimental validation. Umut A. Acar, Guy E. Blelloch, Robert D. Blumofe |
SPAA | 3 |
| 1999 | Scheduling Multithreaded Computations by Work StealingabstractThis paper studies the problem of efficiently schedulling fully strict (i.e., well-structured) multithreaded computations on parallel computers. A popular and practical method of scheduling this kind of dynamic MIMD-style computation is “work stealing,” in which processors needing work steal computational threads from other processors. In this paper, we give the first provably good work-stealing scheduler for multithreaded computations with dependencies. Specifically, our analysis shows that the expected time to execute a fully strict computation on P processors using our work-stealing scheduler is T 1 / P + O ( T ∞ , where T 1 is the minimum serial execution time of the multithreaded computation and ( T ∞ is the minimum execution time with an infinite number of processors. Moreover, the space required by the execution is at most S 1 P , where S 1 is the minimum serial space requirement. We also show that the expected total communication of the algorithm is at most O ( PT ∞ ( 1 + n d ) S max ), where S max is the size of the largest activation record of any thread and n d is the maximum number of times that any thread synchronizes with its parent. This communication bound justifies the folk wisdom that work-stealing schedulers are more communication efficient than their work-sharing counterparts. All three of these bounds are existentially optimal to within a constant factor. Robert D. Blumofe, Charles E. Leiserson |
J. ACM | 1 |
| 1998 | The Performance of Work Stealing in Multiprogrammed Environments (Extended Abstract)abstractNo abstract available. Robert D. Blumofe, Dionisios Papadopoulos |
SIGMETRICS | 1 |
| 1998 | Thread Scheduling for Multiprogrammed MultiprocessorsabstractWe present a user-level thread scheduler for shared-memory multiprocessors, and we analyze its performance under multiprogramming. We model multiprogramming with two scheduling levels: our scheduler runs at user-level and schedules threads onto a fixed collection of processes, while below this level, the operating system kernel schedules processes onto a fixed collection of processors. We consider the kernel to be an adversary, and our goal is to schedule threads onto processes such that we make efficient use of whatever processor resources are provided by the kernel. Our thread scheduler is a non-blocking implementation of the work-stealing algorithm. For any multithreaded computation with work T1 and critical-path length T∈fty , and for any number P of processes, our scheduler executes the computation in expected time O(T1/PA + T∈fty P/PA) , where PA is the average number of processors allocated to the computation by the kernel. This time bound is optimal to within a constant factor, and achieves linear speedup whenever P is small relative to the parallelism T1/T∈fty . Nimar S. Arora, Robert D. Blumofe, C. Greg Plaxton |
SPAA | 2 |
| 1998 | Space-Efficient Scheduling of Multithreaded ComputationsabstractThis paper considers the problem of scheduling dynamic parallel computations to achieve linear speedup without using significantly more space per processor than that required for a single-processor execution. Utilizing a new graph-theoretic model of multithreaded computation, execution efficiency is quantified by three important measures: T 1 is the time required for executing the computation on a 1 processor, $T_\infty$ is the time required by an infinite number of processors, and S 1 is the space required to execute the computation on a 1 processor. A computation executed on P processors is time-efficient if the time is $O(T_1/P + T_\infty)$, that is, it achieves linear speedup when $P=O(T_1/T_\infty)$, and it is space-efficient if it uses O(S 1 P ) total space, that is, the space per processor is within a constant factor of that required for a 1-processor execution. The first result derived from this model shows that there exist multithreaded computations such that no execution schedule can simultaneously achieve efficient time and efficient space. But by restricting attention to "strict" computations---those in which all arguments to a procedure must be available before the procedure can be invoked---much more positive results are obtainable. Specifically, for any strict multithreaded computation, a simple online algorithm can compute a schedule that is both time-efficient and space-efficient. Unfortunately, because the algorithm uses a global queue, the overhead of computing the schedule can be substantial. This problem is overcome by a decentralized algorithm that can compute and execute a P-processor schedule online in expected time $O(T_1/P + T_\infty\lg P)$ and worst-case space $O(S_1P\lg P)$, including overhead costs. Robert D. Blumofe, Charles E. Leiserson |
SIAM J. Comput. | 1 |
| 1996 | An Analysis of Dag-Consistent Distributed Shared-Memory AlgorithmsabstractIn this paper, we analyze the performance of parallel mttltithreaded algorithms that use dag-consistent distributed shared memory.Specifically, we analyze execution time, page faults, and space requirements for multithreaded algorithms executed by a workstealing thread scheduler and the BACKER coherence algorithm for maintaining dag consistency.We prove that if the accesses to the backing store are random and independent (the BACKER algorithm actually uses hashing), then the expected execution time of a "fully strict" multithreaded computation on P processors, each with an LRU cache of C pages, is O(T1 (C)/P+ ntC7"), where T1(C) is the total work of the computation including page faults, L is its criticalpath length excluding page faults, and m is the minimum page transfer time.As a corollary to this theorem, we show that the expected number of page faults incurred by a computation executed on P pro- Robert D. Blumofe, Matteo Frigo, Christopher F. Joerg, Charles E. Leiserson, Keith H. Randall |
SPAA | 1 |
| 1996 | Cilk: An Efficient Multithreaded Runtime SystemabstractCilk (pronounced “silk”) is a C-based runtime system for multithreaded parallel programming. In this paper, we document the efficiency of the Cilk work-stealing scheduler, both empirically and analytically. We show that on real and synthetic applications, the “work” and “critical-path length” of a Cilk computation can be used to model performance accurately. Consequently, a Cilk programmer can focus on reducing the computation's work and critical-path length, insulated from load balancing and other runtime scheduling issues. We also prove that for the class of “fully strict” (well-structured) programs, the Cilk scheduler achieves space, time, and communication bounds all within a constant factor of optimal. The Cilk runtime system currently runs on the Connection Machine CM5 MPP, the Intel Paragon MPP, the Sun Sparcstation SMP, and the Cilk-NOW network of workstations. Applications written in Cilk include protein folding, graphic rendering, backtrack search, and the ★Socrates chess program, which won second prize in the 1995 ICCA World Computer Chess Championship. Robert D. Blumofe, Christopher F. Joerg, Bradley C. Kuszmaul, Charles E. Leiserson, Keith H. Randall, Yuli Zhou |
J. Parallel Distributed Comput. | 1 |
| 1995 | Cilk: An Efficient Multithreaded Runtime SystemabstractCilk (pronounced “silk”) is a C-based runtime system for multi-threaded parallel programming. In this paper, we document the efficiency of the Cilk work-stealing scheduler, both empirically and analytically. We show that on real and synthetic applications, the “work” and “critical path” of a Cilk computation can be used to accurately model performance. Consequently, a Cilk programmer can focus on reducing the work and critical path of his computation, insulated from load balancing and other runtime scheduling issues. We also prove that for the class of “fully strict” (well-structured) programs, the Cilk scheduler achieves space, time and communication bounds all within a constant factor of optimal. Robert D. Blumofe, Christopher F. Joerg, Bradley C. Kuszmaul, Charles E. Leiserson, Keith H. Randall, Yuli Zhou |
PPoPP | 1 |
| 1994 | Scheduling Multithreaded Computations by Work StealingabstractThis paper studies the problem of efficiently scheduling fully strict (i.e., well-structured) multithreaded computations on parallel computers. A popular and practical method of scheduling this kind of dynamic MIMD-style computation is "work stealing," in which processors needing work steal computational threads from other processors. In this paper, we give the first provably good work-stealing scheduler for multithreaded computations with dependencies. Specifically, our analysis shows that the expected time T/sub P/ to execute a fully strict computation on P processors using our work-stealing scheduler is T/sub P/=O(T/sub 1//P+T/sub /spl infin//), where T/sub 1/ is the minimum serial execution time of the multithreaded computation and T/sub /spl infin// is the minimum execution time with an infinite number of processors. Moreover, the space S/sub P/ required by the execution satisfies S/sub P//spl les/S/sub 1/P. We also show that the expected total communication of the algorithm is at most O(T/sub /spl infin//S/sub max/P), where S/sub max/ is the size of the largest activation record of any thread, thereby justifying the folk wisdom that work-stealing schedulers are more communication efficient than their work-sharing counterparts. All three of these bounds are existentially optimal to within a constant factor.> Robert D. Blumofe |
FOCS | 1 |
| 1994 | Scheduling Large-Scale Parallel Computations on Networks of WorkstationsabstractWorkstation networks are an underutilized yet valuable resource for solving large-scale parallel problems. In this paper, we present "idle-initiated" techniques for efficiently scheduling large-scale parallel computations on workstation networks. By "idle-initiated", we mean that idle computers actively search out work to do rather than wait for work to be assigned. The idle-initiated scheduler operates at both the macro and the micro levels. On the macro level, a computer without work joins an ongoing parallel computation as a participant. On the micro level, a participant without work "steals" from some other participant of the same computation. We have implemented these scheduling techniques in Phish, a portable system for running dynamic parallel applications on a network of workstations.> Robert D. Blumofe, David S. Park |
HPDC | 1 |
| 1993 | Space-efficient scheduling of multithreaded computationsabstract. This paper considers the problem of scheduling dynamic parallel computations to achieve linear speedup without using significantly more space per processor than that required for a single-processor execution. Utilizing a new graph-theoretic model of multithreaded computation, execution efficiency is quantified by three important measures: T 1 is the time required for executing the computation on 1 processor, T1 is the time required by an infinite number of processors, and S 1 is the space required to execute the computation on 1 processor. A computation executed on P processors is time-efficient if the time is O(T 1 =P + T1 ), that is, it achieves linear speedup when P = O(T 1 =T1 ), and it is space-efficient if it uses O(S 1 P ) total space, that is, the space per processor is within a constant factor of that required for a 1-processor execution. The first result derived from this model shows that there exist multithreaded computations such that no execution schedule can simultan... Robert D. Blumofe, Charles E. Leiserson |
STOC | 1 |