MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Information and Control in Gray-Box Systems (2001) [81 citations — 22 self]

by Andrea Arpaci-Dusseau ,  Remzi Arpaci-Dusseau
In Proceedings of the 18th ACM Symposium on Operating Systems Principles (SOSP ’01
Add To MetaCart

Abstract:

In modern systems, developers are often unable to modify the underlying operating system. To build services in such an environment, we advocate the use of gray-box techniques. When treating the operating system as a gray-box, one recognizes that not changing the OS restricts, but does not completely obviate, both the information one can acquire about the internal state of the OS and the control one can impose on the OS. In this paper, we develop and investigate three gray-box Information and Control Layers (ICLs) for determining the contents of the file-cache, controlling the layout of files across local disk, and limiting process execution based on available memory. A gray-box ICL sits between a client and the OS and uses a combination of algorithmic knowledge, observations, and inferences to garner information about or control the behavior of a gray-box system. We summarize a set of techniques that are helpful in building gray-box ICLs and have begun to organize a "gray toolbox" to ease the construction of ICLs. Through our case studies, we demonstrate the utility of gray-box techniques, by implementing three useful "OS-like" services without the modification of a single line of OS source code.

Citations

1825 Congestion avoidance and control – Jacobson - 1988
1738 Random Early Detections Gateways for Congestion Avoidance – Floyd, Jacobson - 1993
840 Condor - a hunter of idle workstations – Litzkow, Livny, et al. - 1988
701 Scale and Performance in Distributed File Systems – Howard, Kazar, et al. - 1988
684 The Design and Implementation of a Log-Structured File System – Rosenblum, Ousterhout - 1991
621 A Comparison of Mechanisms for Improving TCP Performance over – Balakrishnan, Padmanabhan, et al. - 1996
506 Exokernel: an Operating System Architecture for Application-Level Resource Management – Engler, Kaashoek, et al. - 1995
444 A Fast File System for UNIX – McKusick, Joy, et al. - 1983
441 Theory of games and economic behavior – Neumann, Morgenstern - 1947
390 Scheduler activations: Effective kernel support for the user-level management of parallelism – Anderson, Bershad, et al. - 1991
363 Measurements of a Distributed File System – Baker, Hartman, et al. - 1991
326 Differential power analysis – Kocher, Jaffe, et al. - 1999
236 Scheduling Techniques for Concurrent Systems – Ousterhout - 1982
223 Dealing with disaster: Surviving misbehaved kernel extensions – Seltzer, Endo, et al. - 1996
153 Hints for computer system design – Lampson - 1983
143 Interposition Agents: Transparently Interposing User Code at the System Interface – Jones - 1992
127 Disco: Running commodity operating systems on scalable multiprocessors – Bugnion, Devine, et al. - 1997
108 A delay-based approach for congestion avoidance in interconnected heterogeneous computer networks – Jain - 1989
75 SLIC: An Extensibility System for Commodity Operating Systems – Ghormley, S, et al. - 1998
70 Glunix: a global layer unix for a network of workstations. Software—Practice and Experience – GHORMLEY, PETROU, et al. - 1998
58 Girshick. Theory of Games and Statistical Decisions – Blackwell, Abraham - 1954
56 Measuring Cache and TLB Performance and Their Effect on Benchmark Runtimes – Saavedra, Smith - 1995
53 EELRU: Simple and Effective Adaptive Page Replacement – Smaragdakis, Kaplan, et al.
47 Empirical Evaluation of the CRAY-T3D: A Compiler Perspective – Arpaci, Culler, et al. - 1995
46 Microbenchmark-based Extraction of Local and Global Disk Characteristics – Talagala, Arpaci-Dusseau, et al. - 1999
41 Exterminate All Operating System Abstractions – Engler, Kaashoek - 1995
39 An Adaptive Hash Join Algorithm for Multiuser Environments – Zeller, Gray
38 Progress-based regulation of low-importance processes – Douceur, Bolosky - 1999
36 Converting a swap-based system to do paging in an architecture lacking page-referenced bits – Babaoglu, Joy - 1981
35 A super scalar sort algorithm for risc processors – Agarwal - 1996
35 Implicit coscheduling: Coordinated scheduling with implicit information in distributed systems – Arpaci-Dusseau - 2001
31 Beyond micro-kernel design: Decoupling modularity and protection in Lipto – Druschel, Peterson, et al. - 1992
22 A comparison of FFS disk allocation policies – Smith, Seltzer - 1996
21 Memory-adaptive external sorting – Pang, Carey, et al.
17 mhz: Anatomy of a micro-benchmark – Staelin, McVoy - 1998
16 Scheduler activations: Eective kernel support for the user-level management of parallelism – Anderson, Bershad, et al. - 1992
15 Latency management in storage systems – Meter, Gao - 2000
14 G.M.: The UVM Virtual Memory System – Cranor, Parulkar - 1999
9 Visual proxy: Exploiting OS customizations without application source code – Satyanarayanan, Flinn, et al. - 1999
7 File System Aging – Smith, Seltzer - 1997
1 The UNIX Time-Shaxing System – Ritchie, Thompson - 1974