David Petrou

dblp:86/2622 · DBLP profile ↗
← Back
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

TopicWeightPapersLastEvidence papers
Cloud and datacenter computing
cluster resource management and scheduling
0.122005
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.112005
Scheduling speculative tasks in a compute farm · SC 2005
Processor architecture and microarchitecture › instruction scheduling
speculative scheduling
0.112005
Scheduling speculative tasks in a compute farm · SC 2005
Operating systems › resource management › process management
CPU scheduling
0.011999
Implementing Lottery Scheduling: Matching the Specializations in Traditional Schedulers · USENIX ATC, General Track 1999
Operating systems
extensible operating systems
0.011998
SLIC: An Extensibility System for Commodity Operating Systems · USENIX ATC 1998
Distributed systems
fault tolerance
0.012005
Scheduling speculative tasks in a compute farm · SC 2005
Processor architecture and microarchitecture
speculative execution
0.012005
Scheduling speculative tasks in a compute farm · SC 2005
High-performance computing
data-intensive computing
0.012000
Dynamic Function Placement for Data-Intensive Cluster Computing · USENIX ATC, General Track 2000
Operating systems › extensible operating systems
kernel extensibility
0.011998
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
YearPublicationVenuePosition
2010 Search by sight: Google™ goggles
David Petrou
Hot Chips Symposium1
2005 Scheduling speculative tasks in a compute farm
abstract
Users 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
SC1
2004 Cluster scheduling for explicitly-speculative tasks
abstract
Large-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
ICS1
2001 Hinting for Goodness' Sake
abstract
Modern 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
HotOS1
2000 Dynamic Function Placement for Data-Intensive Cluster Computing
Khalil Amiri, David Petrou, Gregory R. Ganger, Garth A. Gibson
USENIX ATC, General Track2
1999 Implementing Lottery Scheduling: Matching the Specializations in Traditional Schedulers
David Petrou, John W. Milford, Garth A. Gibson
USENIX ATC, General Track1
1998 SLIC: An Extensibility System for Commodity Operating Systems
Douglas P. Ghormley, Steven H. Rodrigues, David Petrou, Thomas E. Anderson
USENIX ATC3
1998 GLUnix: A Global Layer Unix for a Network of Workstations
abstract
Recent 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