EDBT 2026 Demo / reviewers in the wild / expert
David Petrou
dblp:86/2622
· DBLP profile ↗
8ranked-venue papers
6as first author
0since 2021 · last 2010
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 6 · 4 first-authorSoftware engineering, systems software and programming languages · 2 · 2 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
2 papers |
Cloud and datacenter computing · 35% Processor architecture and microarchitecture · 31% Performance modeling and evaluation · 24% | |
| Software engineering, system software, and programming languages
2 papers |
Operating systems · 100% |
Topics — the 9 heaviest of 9, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Cloud and datacenter computing
cluster resource management and scheduling |
0.1 | 2 | 2005 | Scheduling speculative tasks in a compute farm · SC 2005 Dynamic Function Placement for Data-Intensive Cluster Computing · USENIX ATC, General Track 2000 |
Performance modeling and evaluation
scheduling policy |
0.1 | 1 | 2005 | Scheduling speculative tasks in a compute farm · SC 2005 |
Processor architecture and microarchitecture › instruction scheduling
speculative scheduling |
0.1 | 1 | 2005 | Scheduling speculative tasks in a compute farm · SC 2005 |
Operating systems › resource management › process management
CPU scheduling |
0.0 | 1 | 1999 | Implementing Lottery Scheduling: Matching the Specializations in Traditional Schedulers · USENIX ATC, General Track 1999 |
Operating systems
extensible operating systems |
0.0 | 1 | 1998 | SLIC: An Extensibility System for Commodity Operating Systems · USENIX ATC 1998 |
Distributed systems
fault tolerance |
0.0 | 1 | 2005 | Scheduling speculative tasks in a compute farm · SC 2005 |
Processor architecture and microarchitecture
speculative execution |
0.0 | 1 | 2005 | Scheduling speculative tasks in a compute farm · SC 2005 |
High-performance computing
data-intensive computing |
0.0 | 1 | 2000 | Dynamic Function Placement for Data-Intensive Cluster Computing · USENIX ATC, General Track 2000 |
Operating systems › extensible operating systems
kernel extensibility |
0.0 | 1 | 1998 | SLIC: An Extensibility System for Commodity Operating Systems · USENIX ATC 1998 |
Methods — techniques the papers use, named apart from their topics
simulation · 0.1queueing analysis · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2010 | Search by sight: Google™ goggles
David Petrou |
Hot Chips Symposium | 1 |
| 2005 | Scheduling speculative tasks in a compute farmabstractUsers often behave speculatively, submitting work that initially they do not know is needed. Farm computing often consists of single node speculative tasks issued by, e.g., bioinformaticists comparing dna sequences and computer graphics artists rendering scenes who wish to reduce their time waiting for needed tasks and the amount they will be charged for unneeded speculation. Existing schedulers are not effective for such behavior. Our ‘batchactive’ scheduling exploits speculation: users submit explicitlylabeled batches of speculative tasks, interactively request outputs when ready to process them, and cancel tasks found not to be needed. Users are encouraged to participate by a new pricing mechanism charging for only requested tasks no matter what ran. Over a range of simulated user and task characteristics, we show that: batchactive scheduling improves visible response time - a new metric for speculative domains - by at least 2X for 20% of the simulations; batchactive scheduling supports higher billable load at lower visible response time, encouraging adoption by resource providers; and a batchactive policy favoring users who use more of their speculative tasks provides additional performance and resists a denialof- service. David Petrou, Garth A. Gibson, Gregory R. Ganger |
SC | 1 |
| 2004 | Cluster scheduling for explicitly-speculative tasksabstractLarge-scale computing often consists of many speculative tasks to test hypotheses, search for insights, and review potentially finished products. E.g., speculative tasks are issued by bioinformaticists comparing DNA sequences and computer graphics artists adjusting scene properties. We promote a way of working that exploits the inherent speculation in application-level search made more common by the cost-effectiveness of grid and cluster computing. Researchers and end-users disclose sets of speculative tasks that search an application space, request specific results as needed, and cancel unfinished tasks if early results suggest no need to continue. Doing so matches natural usage patterns, making users more effective, and also enables a new class of schedulers.In simulation, we show how batchactive schedulers reduce user-observed response times relative to conventional models in which tasks are requested one at a time (interactively) or in batches without specifying which tasks are speculative. Over a range of situations, user-observed response time is about 50% better on average and at least two times better for 20% of our simulations. Moreover, we show how user costs can be reduced under an incentive cost model of charging only for tasks whose results are requested. David Petrou, Gregory R. Ganger, Garth A. Gibson |
ICS | 1 |
| 2001 | Hinting for Goodness' SakeabstractModern operating systems and adaptive applications offer an overwhelming number of parameters affecting application latency, throughput, image resolution, audio quality, and so on. We are designing a system to automatically tune resource allocation and application parameters at runtime, with the aim of maximizing user happiness or goodness. Consider a 3D graphics application that operates at variable resolution, trading output fidelity for processor time. Simultaneously, a data mining application adapts to network and processor load by migrating computation between the client and storage node. We must allocate resources between these applications and select their adaptive parameters to meet the user's overall goals. Since the user lacks the time and expertise to translate his preferences into parameter values, we would like the system to do this. Existing systems lack the right abstractions for applications to expose information for automated parameter tuning. Goodness hints are the solution to this problem. Applications use these hints to tell the operating system how resource allocations will affect their goodness (utility). Goodness hints are used by the operating system to make resource allocation decisions and by applications to tune their adaptive parameters. Our contribution is a decomposition of goodness hints into manageable and independent pieces and a methodology to automatically generate them. David Petrou, Dushyanth Narayanan, Gregory R. Ganger, Garth A. Gibson, Elizabeth A. M. Shriver |
HotOS | 1 |
| 2000 | Dynamic Function Placement for Data-Intensive Cluster Computing
Khalil Amiri, David Petrou, Gregory R. Ganger, Garth A. Gibson |
USENIX ATC, General Track | 2 |
| 1999 | Implementing Lottery Scheduling: Matching the Specializations in Traditional Schedulers
David Petrou, John W. Milford, Garth A. Gibson |
USENIX ATC, General Track | 1 |
| 1998 | SLIC: An Extensibility System for Commodity Operating Systems
Douglas P. Ghormley, Steven H. Rodrigues, David Petrou, Thomas E. Anderson |
USENIX ATC | 3 |
| 1998 | GLUnix: A Global Layer Unix for a Network of WorkstationsabstractRecent improvements in network and workstation performance have made workstation clusters an attractive architecture for diverse workloads, including interactive sequential and parallel applications. Although viable hardware solutions are available today, the largest challenge in making such a cluster usable lies in the system software. This paper describes the design and implementation of GLUnix, operating system middleware for a cluster of workstations. GLUnix was designed to provide transparent remote execution, support for interactive parallel and sequential jobs, load ballancing, and backward compatibility for existing application binaries. GLUnix was constructed to be easily portable to a number of platforms. GLUnix has been in daily use for over two and a half years and is currently running on a 100-node cluster of Sun UltraSPARCs. This paper relates our experiences with designing, building, and operating GLUnix. We discuss three important design tradeoffs faced by any cluster system, and present the reasons for our choices. Each of these design decisions is then re-evaluated in light of both our experience and recent technological advancements. We then describe the user-level, centralized, event-driven architecture of GLUnix and highlight a number of aspects of the implementation. Performance and scalability measurements of the system indicate that a centralized, user-level design can scale gracefully to significant cluster sizes, incurring only an additional 220 μs of overhead per node for remote execution. The discussion focuses on the successes and failures we encountered while building and maintaining the system, including a characterization of the limitations of a user-level implementation and various features that were added to satisfy the user community. © 1998 John Wiley & Sons, Ltd. David Petrou, Steven H. Rodrigues, Amin Vahdat, Thomas E. Anderson |
Softw. Pract. Exp. | 1 |