Speculative Use of Idle Resources Ph.D. Dissertation Proposal Lars Eggert
[email protected] Computer Science Department University of Southern California Los Angeles, CA 90089-0781 USA October 22, 2001 (Appendices added July 2, 2002) Abstract Even a fully loaded computer system, where the bottleneck resource is constantly busy, often has some idle capacities available on other resources. This proposal argues for using these idle ca- pacities speculatively, increasing system performance for correct predictions. In such a system, all resources will ideally be constantly loaded with either regular foreground tasks, or speculative idle-time tasks. The key contribution of this proposal is a model for non-interfering use of idle resource capacity, based on three principles: resource prioritization between regular foreground and idle-time use, preemptability of idle-time processing, and isolation of speculative side effects. Current operating systems fail to provide all three capabilities. Without new mechanisms, processing of speculative tasks can delay or even starve foreground processing, and result in a decreased foreground per- formance, instead of increasing it. Under the proposed model, speculative tasks only execute using otherwise idle resource capaci- ties; the model also shields foreground processing from the side effects of their presence in the system. Thus, speculation can no longer delay or interfere with foreground processing. Based on the model, a proof-of-concept design of network extensions for idle-time service can isolate fore- ground network packets from the presence of idle-time traffic to within 1-2% throughput. The remainder of this thesis will focus on idle-time support for the network file system (NFS).