Electrical Engineering and Computer Science Department

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

Electrical Engineering and Computer Science Department

Technical Report
NWU-EECS-06-07
July 30, 2006

Putting the User in Direct Control of CPU Scheduling


Bin Lin Peter A. Dinda

Abstract
CPU scheduling to enforce service-level agreements (SLAs) is a problem of key
importance in service-oriented systems. For services whose ultimate customers are naive
end-users, it is often a significant challenge simply to determine the terms of the SLA.
We propose a new approach to both SLA specification and scheduling for enforcement
that is unique in that it is based around the use of direct user input. Our implementation
of the idea is designed for virtual machine (VM)-based computing environments. In our
system, a user's VM is scheduled as a periodic real-time task. The user can
instantaneously manipulate his VM's schedule using a joystick. An on-screen display
illustrates the current schedule's cost and indicates when the user's desired schedule is
impossible due to the schedules of other VMs or resource constraints. An extensive user
study of the system indicates that even a naive user is capable of using the interface to
our system to find a schedule that balances cost and the comfort of his VM. Good
schedules are user- and application-dependent to a large extent, illustrating the benefits of
user involvement.

Effort sponsored by the National Science Foundation under Grants ANI-0093221, ANI-0301108, and EIA-
0224449. Any opinions, findings and conclusions or recommendations expressed in this material are those
of the author and do not necessarily reflect the views of the National Science Foundation (NSF).
Keywords: Adaptive systems, CPU scheduling, human-computer interaction
Putting the User in Direct Control of CPU Scheduling

Bin Lin Peter A. Dinda


{binlin,pdinda}@cs.northwestern.edu
Department of Electrical Engineering and Computer Science, Northwestern University

Abstract cost model to naive users. We bring such direct user


CPU scheduling to enforce service-level agreements input into the scheduling process because it has been
(SLAs) is a problem of key importance in service- demonstrated that tolerance for different schedules in
oriented systems. For services whose ultimate customers desktop environments is highly application- and user-
are naive end-users, it is often a significant challenge dependent. Simply put, desktop users are extremely di-
simply to determine the terms of the SLA. We propose verse in their demands.
a new approach to both SLA specification and schedul- In this paper, we focus specifically on scheduling vir-
ing for enforcement that is unique in that it is based tual machines (VMs) that support interactive desktop
around the use of direct user input. Our implementation users on the CPU of a provider machine. We propose,
of the idea is designed for virtual machine (VM)-based implement, and evaluate a unique new approach to CPU
computing environments. In our system, a user’s VM is scheduling that is based on direct user input, even from
scheduled as a periodic real-time task. The user can in- users who know nothing about scheduling and don’t want
stantaneously manipulate his VM’s schedule using a joy- to learn. As far as we are aware, there is currently no
stick. An on-screen display illustrates the current sched- scheduling approach that incorporates explicit input sup-
ule’s cost and indicates when the user’s desired schedule plied directly by even naive users.
is impossible due to the schedules of other VMs or re- Our work takes place in the context of Virtuoso, a sys-
source constraints. An extensive user study of the sys- tem for utility computing that is based on VMs intercon-
tem indicates that even a naive user is capable of using nected with overlay networks [42, 38, 41, 21, 15, 43].
the interface to our system to find a schedule that bal- Each provider computer in the system can support multi-
ances cost and the comfort of his VM. Good schedules ple VMs, each of which can run a different operating sys-
are user- and application-dependent to a large extent, il- tem. A typical interactive user uses a VM loaded with an
lustrating the benefits of user involvement. operating system such as Microsoft Windows and com-
municates with it using a thin client [37, 20] running a re-
1 Introduction mote display system [35, 36]. Each user will see a slowed
machine due to resources committed to other users.
Service-oriented systems must schedule resources such All the VMs on a provider computer are scheduled as
as the CPU so that the relevant service-level agreements periodic real-time tasks. We summarize the design of
(SLAs) are honored. Increasingly, service-oriented com- our real-time scheduling system here, but our focus is on
puting is targeting end-users by providing services that an interface to the system that is intended to allow even
are more and more akin to those available on typical in- naive users to exploit it. The user of a VM can contin-
teractive desktop computers. With the push toward the uously adjust its schedule using an interface akin to a
desktop, we are faced with increasingly naive users and two-dimensional throttle (a joystick), up to the resource
shorter duration tasks. An important challenge emerges: limits and the constraints of the other VMs. As he adjusts
what is an appropriate SLA in a desktop replacement en- the schedule, an on-screen display shows the cost of the
vironment and how do we get it? current schedule.
We are investigating a general approach to this prob- Through an extensive user study, we find that this
lem that combines resource scheduling techniques that interface lets all users cleanly trade off between com-
expose direct control inputs, a cost model, and appropri- fort and cost, appropriately customizing their schedules
ate user interfaces to match the control inputs and the without knowing anything about CPU scheduling. In

1
other words, our interface provides an effective means work has also demonstrated using careful user studies
for users to express their diverse CPU needs and have that many programs can be modified by naive program-
the system meet them. mers to support limited adaptation [1]. However, there
We strongly believe that the overall approach of incor- are no results on using direct user input from even naive
porating direct user input into resource scheduling will users to guide the scheduler.
extend to other resources, combinations of resources, The importance and challenge of determining appro-
distributed systems, and autonomic computing. priate SLAs or quality of service (QoS) constraints has
been recognized within the adaptive applications and
autonomic computing communities. Adaptive applica-
2 Related work
tion frameworks such as Odyssey [32], QuOin [46], and
Systems researchers have proposed a wide range of Amaranth [16] assume that SLAs or QoS constraints
scheduling approaches to attempt to automatically opti- are supplied to them. Many forms for this information
mize both for responsiveness and utilization. Examples have been proposed, including composable utility func-
include the BSD Unix scheduler [28], lottery schedul- tions [33], decision procedures [5], and aspects [26]. Our
ing [44], weighted fair queuing and its derivatives [3], work relates in two ways. First, it presents a way of dis-
BVT [9], SRPT scheduling [2], and periodic [23, 17] covering appropriate SLAs from end-user input. Second,
and sporadic [24] hard real-time models, as well as soft it shows that it is possible to avoid such intermediate rep-
real-time models for multimedia [6, 31]. In some mod- resentations, tying the end-user directly to the schedul-
els, user interaction is included implicitly and indirectly ing/optimization process.
in scheduling decisions. For example, the Unix sched- Autonomic computing seeks to either automate
uler provides a temporary priority boost to processes that the management of computer systems or simplify
have become unblocked. Since a typical interactive pro- administrator-based management of them. Some work
cess blocks mostly waiting for user input, the boost gives in this area has focused on direct interaction with the
it the effect of responding quickly, even in a system that administrator, including capturing the effects of opera-
is experiencing high load. tor error [29], exposing debugging of configurations as a
Direct user input is represented as well. For example, search process [45], adjusting cycle stealing so as to con-
early work [27, 8] used on-screen buttons that encapsu- trol impact on users [40], and using performance feed-
lated code to tailor of applications UIs. Weighted fair back to the administrator to help adjust policy [25]. As
queuing allows users to explicitly weight each of their far as we are aware, however, no work in autonomic com-
processes, controlling the CPU share given to each. Mi- puting directly incorporates the end-user.
crosoft Windows allows a user to specify the scheduling
class of a process. By raising the scheduling class of a 3 User diversity
process from “Normal” to “Above Normal”, he assures
that Windows’ fixed priority scheduler will always run It is important that we spend some time summarizing re-
his process in preference to “Normal” processes that are sults from our previous paper [14] and why they motivate
also ready to run. As another example, Unix systems pro- direct user input in resource schedulers.
vide the “nice” mechanism to bias Unix’s dynamic prior- Our previous paper described a double-blinded, con-
ity scheduler. All of the direct user input mechanisms we trolled intervention study of the effects of resource con-
are aware of, however, require that the user understand tention on the comfort of the users of typical interac-
the scheduler to get good results. Indeed, with sched- tive desktop applications on Microsoft Windows. The
ulers like the Windows scheduler, it is very easy for a resources studied were CPU bandwidth, disk bandwidth,
user to live-lock the system if he doesn’t know what he’s and physical memory. The applications used were iden-
doing. Ours is the first scheduling system to incorporate tical to those described in Section 6. 38 users, in-
direct user input from even naive users. cluding graduate students, undergraduates, and staff at
Using direct user input in the scheduling process Northwestern University participated. The users were
would appear to be in the purview of human-computer recruited and selected in a similar manner to that of Sec-
interaction research and psychology. However, the work tion 6, and most were not knowledgeable about resource
in those areas has concentrated on the impact of latency scheduling. In the study, a user was instructed to carry
on user-perceived utility of the system [19, 10], and on out a given task (e.g., replicate a drawing using Power-
user frustration with different user interfaces [18, 34]. point), and to press a “discomfort button” if she felt the
Within the systems community, related work has ex- computer was operating uncomfortably. While the user
amined the performance of end-user operating systems carried out the task, we applied randomly selected re-
using latency as opposed to throughput [11], and sug- source contention profiles for the three resources. These
gested models for interactive user workload [4]. Recent profiles included a blank profile (the “placebo”), ramp

2
functions (contention gradually increases with time), and computers. The site allows him to specify the hardware
step functions (contention abruptly increases at a point in and software configuration of a computer and its per-
time). Users were unaware of the specifics of the study formance requirements, and then order one or more of
(i.e., that we were subjecting them to differing resource them. The user receives a reference to the virtual ma-
contentions), and the proctors were unaware of the pro- chine which he can then use to start, stop, reset, and clone
file ordering for any user. The machines used were hid- the machine. The system presents the illusion that the
den, and the UI was modified so that the user could not virtual machine is right next to the user. The console dis-
determine the degree of contention other than the slow- play is sent back to the user’s machine, the CD-ROM is
down or jitter it induced in the application. proxied to the user’s machine’s CD-ROM, and the VM
Analyzing the contexts in which users indicated dis- appears to be plugged into the network side-by-side with
comfort resulted in a range of qualitative and quantitative the user’s machine. The user can then install additional
conclusions. The observation that users were generally software, including operating systems.
quite intolerant to jitter led to the choice of a periodic Virtuoso connects users with providers. A provider
real-time scheduling model in Virtuoso, described in the makes physical computers available on which users’
next section. Users were far more sensitive to restrictions VMs can be executed. A single physical computer can
or variations in CPU bandwidth than disk or memory. host multiple VMs.
There was a large variation in the acceptable CPU A Virtuoso provider uses VMware GSX Server as its
contention among users, applications, and users and ap- virtual machine monitor (VMM). GSX is a “type II”
plications taken jointly. The CPU contention at which VMM [12], meaning that it executes as a process on
≤ 5 % of users were uncomfortable differed by a factor an underlying operating system, Linux in our case. By
of 17 from the least sensitive application (Word) to the scheduling the process, we schedule all the activity oc-
most sensitive one (Quake II); equivalent tolerable av- curring inside the VM (all the applications running in a
erage slowdowns range from 4.1 to 1.2. Because each VM whose operating system is Microsoft Windows, for
user conducted a self-rating of her familiarity with Win- example) as a single unit.
dows and our various applications before participating, Virtuoso uses the periodic real-time model as a uni-
we could analyze diversity among self-defined classes fying abstraction to describe the needs of diverse work-
of users. Again studying the CPU contention at which loads and then schedule them. In the periodic real-time
≤ 5 % of users are uncomfortable, we found signifi- model, a task is run for slice seconds every period sec-
cant (p ≤ 0.031) differences in tolerable contention and onds. Using earliest deadline first (EDF) schedulabil-
slowdown ranging from 0.2 to 1.1 among the various ity analysis [23], the scheduler can determine whether
groups defined by the self-rating. The necessarily limited some set of (period , slice) constraints can be met. The
amount of data available from a user study such as this scheduler then simply uses dynamic priority preemptive
forces us to draw only qualitative conclusions about the scheduling with the deadlines of the admitted tasks as
users and applications taken jointly. However, clearly, it priorities.
is the user who chooses the application in a desktop en- VSched, which is described in detail in a previous pa-
vironment and thus is the dominant source of variation. per [22], is a user-level implementation of this approach
The key conclusion of the study with respect to the for Linux that offers soft real-time guarantees. It runs
present paper is that there is considerable diversity in the as a Linux process that schedules other Linux processes.
tolerance that users have for resource contention. This We use it here to schedule the VMs on the host com-
diversity argues for per-user tailoring of utility functions puter. VSched supports (period , slice) constraints rang-
and/or SLAs, and leads to the question we address in this ing from the low hundreds of microseconds (if certain
paper: How do we accomplish this per-user tailoring? kernel features are available) to days. Using this range,
We now show how to answer this question for the specific the needs of both highly interactive VMs and long run-
case of CPU scheduling. ning batch VMs can be described and accommodated.
An important design criterion for VSched is that a
4 Scheduling VMs in Virtuoso VM’s constraints can be changed very quickly (in about
a millisecond) so that an interactive user can change his
Virtuoso is middleware for virtual machine-based utility VM’s performance immediately.
computing that for a user very closely emulates the ex-
isting process of buying, configuring, and using an Intel- 4.1 Implementation
based computer, a process with which many users and
certainly all system administrators are familiar. In Virtu- VSched consists of a server and a client, as shown in
oso, the user visits a web site, much like the web site of Figure 1. The VSched server is a daemon running on
Dell or IBM or any other company that sells Intel-based Linux that spawns the scheduling core, which executes

3
VI*** Front-end be a request for scheduling a newly arrived task or for
VS*** Client changing a task that has been previously admitted.
TCP SSL
VS*** Employed mechanisms The three highest priorities of
Server
SCHED FIFO, the highest priority scheduling class in
Server
PIPE Scheduling
Linux, are reserved for VSched use. The scheduling
module
Core core is run as the highest priority SCHED FIFO process
Admission
Control 98 99
on the system, assuring that when it becomes runnable,
Shared
Memory
API it immediately is given the CPU. The server module is
Calls
Linux kernel run as SCHED FIFO with the next highest priority so
SCHED_FIFO
that it will immediately service new requests whenever
Queues the scheduling core is not running. The scheduling core
97
assigns the process that it currently wants to run the
third highest SCHED FIFO and (optionally) sends it a
SCHED_FIFO Priority SIG CONT. The process that is being switched away
from is assigned an ordinary SCHED OTHER priority.
Figure 1: Structure of VSched. If the administrator has configured hard limiting on its re-
source use, it is also sent a SIG STOP, otherwise VSched
operates as a work-conserving scheduler with respect to
the scheduling scheme described above. The VSched its admitted processes.
client communicates with the server over a TCP connec- The mechanisms of VSched and scheduling in Virtu-
tion that is encrypted using SSL. Authentication is ac- oso are described in much more detail our earlier paper
complished by a password exchange. The server commu- and the software itself is publicly available. The UI soft-
nicates with the scheduling core through a shared mem- ware we describe next is available from the authors.
ory array and signaling.
4.2 Performance isolation
Client interface Using the VSched client, a user can
connect to VSched server and request that any process Most variants of the Linux kernel, including the one we
be executed according to a period and slice. Virtuoso use in this paper, do not provide bounded ISR times and
keeps track of the pids used by its VMs. In response to can suffer from priority inversion, it is impossible to pro-
such a request, the VSched server determines whether vide hard real-time support, and VSched does not claim
the request is feasible. If it is, it will add the process to to. Nonetheless, as we report in our earlier paper, its soft
the array and inform the scheduling core. real-time behavior is quite good, rarely missing deadlines
and only then by very small amounts. We also demon-
strate that VSched effectively isolates VMs, and that, de-
Admission control VSched’s admission control algo- spite only controlling CPU, it serves to effectively throt-
rithm is based on the admissibility test of the EDF al- tle I/O as an indirect effect. Physical memory isolation is
gorithm. Instead of trying to maximize the total uti- provided by the VMM we use.
lization, we allow the system administrator to reserve
a certain percentage of CPU time for non-real-time
(SCHED OTHER) processes. The percentage can be set 5 User interface
by the system administrator when starting the VSched
We have developed a graphical interface to allow even
daemon.
a naive user to easily use VSched to set an appropri-
ate (period , slice) constraint for his Windows VM. The
Scheduling core The scheduling core is a modified tool indicates to the user the cost of his current sched-
EDF scheduler that dispatches processes in EDF order ule and allows him to directly manipulate (period , slice).
but interrupts them when they have exhausted their allo- VSched can change the schedule of a VM in about a mil-
cated CPU for the current period. If configured by the lisecond, allowing for very smooth control.
system administrator, VSched will stop the processes at The holy grail for such an interface is that it be invis-
this point, resuming them when their next period begins. ible or non-intrusive until the user is unhappy with per-
When the scheduling core receives scheduling re- formance, and then can be nearly instantly manipulated
quests from the server module, it will interrupt the cur- to change the schedule. We have explored several pos-
rent task and make an immediate scheduling decision sible interfaces, including an on-screen interface (slid-
based on the new task set. The scheduling request can ers), a centering joystick, a centering joystick with force

4
cost function that is used is
 
slice overhead
cost = 100 × +β×
period slice

Where overhead is the time to execute the scheduling


core of VSched once. The purpose here is to capture the
fact that as slice declines, more time is spent in VSched
and the kernel on behalf of the process. For typical user-
(a) GUI (b) Force Feedback Joystick selected schedules for interactive VMs, the influence of
the overhead is minimal, and the cost is effectively the
utilization of the user’s VM.

6 User study

We conducted a user study to determine whether end-


users could use our interface to find schedules for their
interactive VMs that were comfortable, and to determine
whether users could trade off between cost and comfort
(c) Non-centering Joystick (d) Precision Non-centering Joystick
using the interface.
Figure 2: Control interface. The combination of (a) and
(c) is used in our study.
6.1 Particulars
The 18 users in our study consisted primarily of grad-
feedback1, a non-centering joystick, and a precision non-
uate students and undergraduates from the engineering
centering joystick. These interfaces are illustrated in Fig-
departments at Northwestern University, and included
ure 2. We are also looking at trackballs, throttle con-
two participants who had no CS or ECE background.
trollers, and knob controllers.
None of the users were familiar with real-time schedul-
Although we considered many different interfaces, ing concepts. We advertised for participants via flyers
non-centering joysticks appear to be the best option. In and email, and vetted respondents to be sure they were
such a joystick, the control stalk maintains its current at least slightly familiar with the common applications
deflection even after the user removes his hand. The we would have them use. Each user was given $15 for
horizontal and vertical deflection are mapped into in- participating.
creasing period (left to right) and increasing utilization
The test machine was a Dell Optiplex GX270 (2 GHz
(slice/period ) (bottom to top). Note that all positions of
P4, 512 MB, 80 GB, 17” monitor, 100 mbit Ethernet).
the joystick correspond to valid schedules.
The machine ran:
In the following, we use a low precision non-centering
joystick. In particular, we modified a cheap centering • VMware GSX Server 3.1
joystick (a variant of Figure 2(b)) to produce a non-
centering joystick (Figure 2(c)) by removing a spring. • VSched server running as a daemon,
This joystick is not as precise as a precision non-
centering joystick (Figure 2(d)), but using it serves two • VM running Windows XP Professional, the appli-
purposes. First, it demonstrates that the interface can be cations (Microsoft Word 2002, Powerpoint 2002,
quite inexpensive (<$10 versus >$200 for the precision Internet Explorer 6.0, Quake II), and our interface,
joystick). Second, the joystick need not offer high preci- and
sion to be useful (the precision joystick has an order of
magnitude more levels both vertically and horizontally). • Logitech WingMan Attack 2 Joystick modified to
The interface shows the cost of the current schedule be non-centering, as described earlier.
(which can be changed in milliseconds). The specific
1 The
The VM was run in full-screen mode and the users were
idea here is to physically convey to the user when he is asking
for (period , slice) constraints that are impossible due to the lack of
not told that they were using virtualization. The smallest
hardware resources on the machine or to conflicting constraints from slice and period possible were 1 ms, while the largest
other VMs. were 1 s.

5
6.2 Process 3. Word processing using Microsoft Word (15 min-
utes): Each user typed in a non-technical document
During the study, the user used the Windows VM for with limited formatting.
four tasks: word processing, presentation creation, web
browsing, and game playing. Each task was 15 minutes • Sub-task I: Comfort (5 minutes) The user
long with 5 minutes for each of three sub-tasks. We was told to try to find a joystick setting that
asked users to answer some questions (described later) he felt was comfortable for him. Questions:
after each sub-task. We also video-taped users during – Did you find that the joystick control was
the study, and the users were told that the video tape and understandable in this application? (Y/N)
other mechanisms would allow us to determine their de- – Were you able to find a setting that was
gree of comfort during the study independently of the comfortable? (Y/N)
questions we were asking them. This mild use of de-
• Sub-task II: Comfort and Cost (5 minutes)
ception, a widely used technique in psychological re-
The user was given a cost bar (Figure 2(a)) that
search [39], was employed to decrease the likelihood that
showed the current cost of using the Windows
study participants would lie or operate the system less
VM. When the user moved the joystick, both
aggressively than they might outside of the study.
the responsiveness of the computer and cur-
From the user’s perspective, the study looked like the rent cost change. The proctor asked the user
following. At the beginning of each task and subtask, to do their best to find a comfortable joystick
the joystick was recentered, corresponding to a 500 ms setting that was of the lowest cost. Questions:
period with a 50% utilization. The intent was to force
the user to manipulate the joystick at least once, since – Did you find that the joystick control was
for all of the applications, this schedule was intolerable understandable in this application? (Y/N)
to us. – Were you able to find a setting that was
comfortable? (Y/N)
1. Adaptation Phase I (8 minutes): The user acclima- – If yes, what’s the cost?
tized himself to the performance of the Windows • Sub-task III: Comfort and Cost With Per-
VM by using the applications. Questions: ceived External Observation (5 minutes)
This sub-task was identical to the previous
• Do you feel you are familiar with the perfor- one, except that the proctor told the user that
mance of this computer? (Y/N) the system had mechanisms by which it could
• Are you comfortable with these applications? independently determine whether the user was
(Y/N) comfortable or not and whether a comfort-
able setting was of the lowest possible cost.
2. Adaptation Phase II (5 minutes): The user accli- It was claimed that this analysis was achieved
matized himself to the VSched control mechanism, through measurement of the efficiency of the
Figures 2(a) and (c). The user listened to MP3- VM (the percentage of cycles that the user has
encoded music using Windows Media Player and allocated that he is actually using), analysis
noticed how the playback behavior changed when of their mouse, keyboard, and joystick input,
he moved the joystick. At the beginning of this and psychological analysis of the video tape.
stage, the proctor told the user that moving the joy- Questions:
stick would change the responsiveness of the com- – Did you find that the joystick control was
puter and that, in general, moving the joystick to the understandable in this application? (Y/N)
upper-right would make the machine faster, while – Were you able to find a setting that was
moving the joystick to the lower left would slow comfortable? (Y/N)
the machine down. However, the proctor also told
– If yes, what’s the cost?
them that the control was not a simple linear con-
trol, that all joystick positions are valid, and that the 4. Presentation creation using Microsoft Powerpoint
user should do his best to explore using the joystick (15 minutes): Each user duplicated a presentation
control by himself. Questions: consisting of complex diagrams involving drawing
and labeling from a hard copy of a sample presenta-
• Do you feel that you understand the control tion.
mechanism? (Y/N)
• The same three sub-tasks as for word process-
• Do you feel that you can use the control mech- ing with the same questions following each
anism? (Y/N) sub-task.

6
5. Browsing and research with Internet Explorer (15 right corner of the graph has highest performance (small-
minutes): Each user was assigned a news web site est period, highest utilization), while the bottom left has
and asked to read the first paragraphs of the main the lowest performance (largest period, smallest utiliza-
news stories. Based on this, they searched for re- tion). The right hand graph shows the cost of the sched-
lated material and saved it. This task involved mul- ule over time. Note that because the cost is dominated by
tiple application windows. utilization, there are flat regions. These are typically due
to a user changing the period while keeping the utiliza-
• The same three sub-tasks as for word process- tion constant.
ing with the same questions following each Note that the user of Figure 3 is hunting through the
sub-task. space, smoothly changing the joystick to look for bet-
ter prices. This is particularly evident in Figure 3(g),
6. Playing Quake II (15 minutes)
where the user eventually discovers he can tolerate a
• The same three sub-tasks as for word process- much lower utilization (and thus cost) in the game if he
ing with the same questions following each uses a very small period.
sub-task. The user of Figure 4 spends less time hunting for a low
cost and more time finding comfortable settings. Also,
The written protocol and the form the user filled out are we notice that unlike the previous user, this one needs
available from the authors by request. high utilization for the game, even though he tried a small
As the user performed the tasks, we recorded the fol- period as well. In general this user has optimized for a
lowing information: more costly machine than the previous user.
Figure 5 is a user who is optimizing for comfort. He
• Periodic measurements of system and user time, is carefully moving the joystick, and then testing the new
schedule’s impact on the application for a while before
• Periodic measurements of utilization (portion of the
moving it again. Because this takes time, only a few
allotted time that was spent unblocked), and
movements are recorded. Probably the most significant
• For each joystick event, the time stamp and the new movement from the initial position (500 ms period, 50%
(period , slice) and cost . utilization) is in the case of the game, where the user
slowly shrinks the period and increases utilization until
The user was unaware of the recording process. He saw it plays comfortably for him. Notice that because the
only the cost of the current schedule. game action continues even if the user is not playing, the
effects can be seen almost immediately.
For this last user, Figure 6 shows the cost and effi-
6.3 Qualitative results
ciency as a function of time, where the efficiency is the
Our users interacted with the system in many different ratio of the actual time used by the VM (system and user
ways. No classification scheme seems obvious other than time) to the amount of time it was allotted. Ideally, at
the extent to which they manipulated the joystick (both the lowest cost at which the user feels comfortable, the
the number of times and the range covered.) Recall that efficiency should be very high. However, this is clearly
after moving the joystick, the user needs to return to the not possible since the user cannot modify his schedule
application to test the new schedule’s effects on its per- continuously and still use the application. Hence, the
formance. However, to explore the effect on cost, the user will generally choose to have a certain amount of
user has immediate feedback in the form of the on-screen “buffering” in his schedule to accommodate bursts of
meter (Figure 2(a)). We present the traces of three users computation. From the figures we can see that the less
as examples of different ways of interacting with the sys- CPU intensive an application is, the lower the efficiency.
tem, ranging from focusing first on the cost to focusing Applications like Word, Powerpoint and IE don’t need a
primarily on the comfort of the application. continuous allocation of the CPU, but nonetheless need
Figure 3 shows the behavior of a user primarily search- to be quickly scheduled when a user event occurs. A cer-
ing for low cost. Recall that at the beginning of each task tain percentage of the unused slice serves as the “buffer”
and subtask, the joystick was recentered, corresponding to make user feel comfortable. The user can shrink this
to a 500 ms period with a 50% utilization. Each row of buffer as close to the limit as he can tolerate.
graphs in the figure represents the behavior for a single The exception is the game. Quake, like many first per-
application (specifically, sub-task III in the task). Within son shooter games, simply tries to run with as high a
a row, the left hand graph shows the track of the user’s frame rate as possible. Whatever schedule is chosen, the
joystick over time, the horizontal axis being the period , efficiency is very high since all of the slice is consumed.
slice
while the vertical axis is the utilization ( period ). The top Here, the user is indirectly controlling the frame rate and

7
Utilization v.s Period Cost v.s Time
100 100

Utilization (%)
90 90
80 80

Cost ($)
70 70
60 60
50 50
40 40
30 30
20 20
10 10
0 0
1000 800 600 400 200 0 0 50 100 150 200 250 300
Period (millisec) Time (sec)

(a) Word (track) (b) Word (cost v. time)


Utilization v.s Period Cost v.s Time
100 100
Utilization (%)

90 90
80 80

Cost ($)
70 70
60 60
50 50
40 40
30 30
20 20
10 10
0 0
1000 800 600 400 200 0 0 50 100 150 200 250 300
Period (millisec) Time (sec)

(c) Powerpoint (track) (d) Powerpoint (cost v. time)


Utilization v.s Period Cost v.s Time
100 100
Utilization (%)

90 90
80 80
Cost ($)
70 70
60 60
50 50
40 40
30 30
20 20
10 10
0 0
1000 800 600 400 200 0 0 50 100 150 200 250 300
Period (millisec) Time (sec)

(e) Web (track) (f) Web (cost v. time)


Utilization v.s Period Cost v.s Time
100 100
Utilization (%)

90 90
80 80
Cost ($)

70 70
60 60
50 50
40 40
30 30
20 20
10 10
0 0
1000 800 600 400 200 0 0 50 100 150 200 250 300
Period (millisec) Time (sec)

(g) Game (track) (h) Game (cost v. time)

Figure 3: User A: Tracks, cost versus time.

jitter of the application. • could use to find a comfortable position that they
believed was of lowest cost.

6.4 Quantitative results Despite the disparity among the applications and the
users, there was little disparity in the users’ reactions.
Figure 7 summarizes the responses of users to the ques- There were only two situations where a significant frac-
tions in our study, providing 95% confidence intervals for tion of the users had difficulty finding a comfortable or
the proportion of users who responded in the affirmative. comfortable and low-cost setting. 28% of users had diffi-
Notice that in all cases, the responses allow us to dis- culty finding a comfortable setting for the web browsing
count the null hypothesis, that the users are responding task (sub-task I), while 22% had difficulty finding a com-
randomly, with > 95% confidence. fortable, low cost setting for the first person shooter task
The overwhelming majority of users found that they (sub-task II). In both cases, the numbers result from one
of the users answering the question unintelligibly. Fur-
• understood our control mechanism, thermore, that user answered “yes” to the more restric-
tive corresponding question (where we are attempting to
• could use it to find a comfortable position, and deceive him into believing we can answer the question

8
Utilization v.s Period Cost v.s Time
100 100

Utilization (%)
90 90
80 80

Cost ($)
70 70
60 60
50 50
40 40
30 30
20 20
10 10
0 0
1000 800 600 400 200 0 0 50 100 150 200 250 300
Period (millisec) Time (sec)

(a) Word (track) (b) Word (cost v. time)


Utilization v.s Period Cost v.s Time
100 100
Utilization (%)

90 90
80 80

Cost ($)
70 70
60 60
50 50
40 40
30 30
20 20
10 10
0 0
1000 800 600 400 200 0 0 50 100 150 200 250 300
Period (millisec) Time (sec)

(c) Powerpoint (track) (d) Powerpoint (cost v. time)


Utilization v.s Period Cost v.s Time
100 100
Utilization (%)

90 90
80 80
Cost ($)
70 70
60 60
50 50
40 40
30 30
20 20
10 10
0 0
1000 800 600 400 200 0 0 50 100 150 200 250 300
Period (millisec) Time (sec)

(e) Web (track) (f) Web (cost v. time)


Utilization v.s Period Cost v.s Time
100 100
Utilization (%)

90 90
80 80
Cost ($)

70 70
60 60
50 50
40 40
30 30
20 20
10 10
0 0
1000 800 600 400 200 0 0 50 100 150 200 250 300
Period (millisec) Time (sec)

(g) Game (track) (h) Game (cost v. time)

Figure 4: User B: Tracks, cost versus time.

independently). users found in a previous study of resource borrow-


For sub-tasks II and III of each task, we had the user ing (Section 3).
try to find a setting that he was comfortable with and that
• Nonetheless, almost all users were able to find a set-
he believed was of minimal cost. If he felt he had found
ting that gave them comfortable performance.
a comfortable setting, we recorded its cost. Figure 8 pro-
vides the statistics for these costs. We can see that: Figure 9(a) shows the statistics, aggregated across the
users, on the duration from the beginning of sub-tasks
• As we might expect, costs, on average increase as II and III of each task to the time that the lowest cost
we look at applications with increasingly finer grain was first encountered. For example, to compute the “Av-
interactivity. erage” statistic for “Word III”, we examined each user’s
trace to find the time from the beginning of sub-task III of
• There is tremendous variation in acceptable cost the Word task to the time when the user’s reported low-
among the users. The standard deviation is nearly est comfortable cost was first found. We then averaged
half of the average cost. The maximum cost is as these times. The other statistics are computed similarly.
much as five times the minimum cost. This should Figure 9(b) shows identical statistics for the duration to
not be surprising given the wide variation among the last time the lowest cost occurred. Note that one of

9
Utilization v.s Period Cost v.s Time
100 100

Utilization (%)
90 90
80 80

Cost ($)
70 70
60 60
50 50
40 40
30 30
20 20
10 10
0 0
1000 800 600 400 200 0 0 50 100 150 200 250 300
Period (millisec) Time (sec)

(a) Word (track) (b) Word (cost v. time)


Utilization v.s Period Cost v.s Time
100 100
Utilization (%)

90 90
80 80

Cost ($)
70 70
60 60
50 50
40 40
30 30
20 20
10 10
0 0
1000 800 600 400 200 0 0 50 100 150 200 250 300
Period (millisec) Time (sec)

(c) Powerpoint (track) (d) Powerpoint (cost v. time)


Utilization v.s Period Cost v.s Time
100 100
Utilization (%)

90 90
80 80
Cost ($)
70 70
60 60
50 50
40 40
30 30
20 20
10 10
0 0
1000 800 600 400 200 0 0 50 100 150 200 250 300
Period (millisec) Time (sec)

(e) Web (track) (f) Web (cost v. time)


Utilization v.s Period Cost v.s Time
100 100
Utilization (%)

90 90
80 80
Cost ($)

70 70
60 60
50 50
40 40
30 30
20 20
10 10
0 0
1000 800 600 400 200 0 0 50 100 150 200 250 300
Period (millisec) Time (sec)

(g) Game (track) (h) Game (cost v. time)

Figure 5: User C: Tracks, cost versus time.

durations slightly exceeds 300 s due to no movement of input can be incorporated into the CPU scheduling pro-
the joystick at the end of a sub-task that was terminated cess for Virtuoso. Using that input, the system can adapt
in slightly more than 5 minutes. the schedule of the user’s VM to fit the user and the ap-
plication he is currently running, the side effect of which
We can see that the median time for the user to find
is that the system can run more interactive users simul-
the setting of lowest cost that is comfortable for him is
taneously, or allocate more time for long-running batch
in the range from 25-60 seconds. Notice that this time
VMs. The user can quickly guide the system to a sched-
includes use of the application. The user does a quick
ule that simultaneously optimizes both for his comfort in
manipulation of the joystick and then tries to use the ap-
using an application and for low cost.
plication for a short while with the new setting. Recall
that these times are for the first 10 minutes that the user
has been introduced to the combination of the applica-
7 Issues in extension
tion and scheduling interface. One would expect that the
times would decline as familiarity increases.
Having demonstrated the feasibility and utility of direct
The upshot of the study described in this section is that user feedback as applied to CPU scheduling for interac-
we have identified a practical mechanism by which user tive VMs, we now describe issues in extending our ideas

10
Task Sub-task Question Yes No NA Yes/Total 95% CT
Acclim. Adaptation I Do you feel you are familiar with the performance of this computer? 18 0 0 1 (1,1)
Are you comfortable with these applications? 17 1 0 0.94 (0.84, 1.05)
Adaptation II Do you feel that you understand the control mechanism? 18 0 0 1.00 (1,1)
Do you feel that you can use the control mechanism? 18 0 0 1.00 (1,1)
Word I Comfort Did you find that the joystick control was understandable in this task? 17 1 0 0.94 (0.84, 1.05)
Were you able to find a setting that was comfortable? 18 0 0 1.00 (1,1)
II Comfort+Cost Did you find that the joystick control was understandable in this task? 17 1 0 0.94 (0.84, 1.05)
Were you able to find a setting that was comfortable? 18 0 0 1.00 (1,1)
III Comfort+Cost+Ext Did you find that the joystick control was understandable in this task? 18 0 0 1.00 (1,1)
Were you able to find a setting that was comfortable? 18 0 0 1.00 (1,1)
Powerpoint I Comfort Did you find that the joystick control was understandable in this task? 16 2 0 0.89 (0.74, 1.03)
Were you able to find a setting that was comfortable? 18 0 0 1.00 (1,1)
II Comfort+Cost Did you find that the joystick control was understandable in this task? 17 1 0 0.94 (0.84, 1.05)
Were you able to find a setting that was comfortable? 17 1 0 0.94 (0.84, 1.05)
III Comfort+Cost+Ext Did you find that the joystick control was understandable in this task? 16 1 0 0.89 (0.74, 1.03)
Were you able to find a setting that was comfortable? 17 1 0 0.94 (0.70, 1.08)
Web I Comfort Did you find that the joystick control was understandable in this task? 16 2 0 0.89 (0.74, 1.03)
Were you able to find a setting that was comfortable? 13 4 1 0.72 (0.52, 0.93)
II Comfort+Cost Did you find that the joystick control was understandable in this task? 17 1 0 0.94 (0.84, 1.05)
Were you able to find a setting that was comfortable? 16 2 0 0.89 (0.74, 1.03)
III Comfort+Cost+Ext Did you find that the joystick control was understandable in this task? 17 1 0 0.94 (0.84, 1.05)
Were you able to find a setting that was comfortable? 16 1 1 0.89 (0.74, 1.03)
Game I Comfort Did you find that the joystick control was understandable in this task? 18 0 0 1.00 (1, 1)
Were you able to find a setting that was comfortable? 16 2 0 0.89 (0.74, 1.03)
II Comfort+Cost Did you find that the joystick control was understandable in this task? 17 1 0 0.94 (0.84, 1.05)
Were you able to find a setting that was comfortable? 14 3 1 0.78 (0.59, 0.97)
III Comfort+Cost+Ext Did you find that the joystick control was understandable in this task? 17 1 0 0.94 (0.84, 1.05)
Were you able to find a setting that was comfortable? 16 2 0 0.89 (0.74, 1.03)

Figure 7: Summary of user responses in study.

to other domains. Our thinking is also informed by two it is obvious that there must be limits to this frequency.
additional domains. First, we have applied our approach Control algorithms that make use of direct user input
to power management on laptop computers, demonstrat- must be able to work when the input is infrequent and/or
ing CPU power reductions of > 20%. Second, we have aperiodic. In our view, sensible low-frequency input will
been working on the general adaptation problem exposed take one of three forms:
within the Virtuoso system [43, 42, 15].
Virtuoso provides many adaptation and resource reser- 1. Evaluations of a current configuration or SLA, re-
vation mechanisms to improve the performance of exist- sulting in user-specific utility functions.
ing, unmodified applications running in communicating
2. Specifications of configurations or SLAs.
VMs. These include VM migration and overlay topology
configuration/forwarding rules [41], lightpath setup in 3. Directions for search within a space of configura-
optical networks [21], and local scheduling of VMs [22]. tions or SLAs.
Additionally, Virtuoso can observe the network and host
traffic of the VMs to probe the underlying network [15] The work described here takes the later two forms.
and the application [13] for their communication topol- Interface: Careful user interface design and evalu-
ogy and other resource demands [42]. Using this infor- ation are critical to success, especially when targeting
mation to engage the adaptation and reservation mecha- naive users. We have generally found that having a very
nisms to increase an application’s performance is a chal- simple, tactile interface separate from the “main” user in-
lenging, NP-hard optimization problem [43], one that is terface of the application or OS, is preferable because it
often difficult even to pose well. Applying our concept of clearly demarcates “system” control from “application”
direct human input to it poses the following challenges. control in the user’s mind, can be completely ignored
Frequency of input: In each of our domains, we have when not needed, and is easier to explain. Designing an
noted that more frequent user input leads to better per- adequate process for acquiring exploiting input of form
formance (lower cost, lower power consumption, high 1 is far easier than for forms 2 and 3. We next describe
application throughput, among other metrics). However, specific issues related to the latter forms.

11
Task Sub-task Question Avg Std Min Max Med Mod
Word II Comfort+Cost Did you find that the joystick control was understandable in this task?
Were you able to find a setting that was comfortable?
If yes, what’s the cost? 46.0 20.4 19 86 40.5 40
III Comfort+Cost+Ext Did you find that the joystick control was understandable in this task?
Were you able to find a setting that was comfortable?
If yes, what’s the cost? 48.4 20.7 19 84 48 19
Powerpoint II Comfort+Cost Did you find that the joystick control was understandable in this task?
Were you able to find a setting that was comfortable?
If yes, what’s the cost? 52.4 19.5 20 91 45 62
III Comfort+Cost+Ext Did you find that the joystick control was understandable in this task?
Were you able to find a setting that was comfortable?
If yes, what’s the cost? 52.3 19.2 18 87 50 38
Web II Comfort+Cost Did you find that the joystick control was understandable in this task?
Were you able to find a setting that was comfortable?
If yes, what’s the cost? 49.6 22.7 15 90 47 41
III Comfort+Cost+Ext Did you find that the joystick control was understandable in this task?
Were you able to find a setting that was comfortable?
If yes, what’s the cost? 50.2 23.3 16 87 50 28
Game II Comfort+Cost Did you find that the joystick control was understandable in this task?
Were you able to find a setting that was comfortable?
If yes, what’s the cost? 78.8 14.1 50 93 84.5 90
III Comfort+Cost+Ext Did you find that the joystick control was understandable in this task?
Were you able to find a setting that was comfortable?
If yes, what’s the cost? 76.5 14.9 49 91 81 81

Figure 8: Statistics of the lowest costs reported by users in study.

Mechanism transition: In our system, changing a 8 Conclusions and future work


VM’s schedule is virtually instantaneous, if the schedule
is feasible on the physical host it is currently running on. We have described and evaluated a technique for putting
If the desired schedule is not feasible, we must indicate even naive users in direct, explicit control of the schedul-
this to the user and use a different mechanism (e.g., mi- ing of their interactive computing environments through
grate his VM to a different host) to satisfy him. While the combination of a joystick and an on-screen display of
very fast VM migration techniques now exist [7, 30], cost. In so doing, we have demonstrated that with such
they still take much longer than changing a schedule, and input it is possible and practical to adapt the schedule
have a much higher resource cost. How can we represent dynamically to the user, letting him trade off between
these time and resource costs to the user? the comfort of the environment and its cost. Because the
Categorical dimensions: A configuration or SLA can tolerance for cost and the comfort with a given schedule
be thought of as a point within a multidimensional space. is highly dependent on both the applications being used
If a dimension is categorical (for example, a VM can be and on the user himself, this technique seems very fruit-
mapped to one of several choices, or a overlay link can ful both for tailoring computing environments to users
be added or not), it is difficult to present it using an easily and making them cheaper for everyone.
understood external interface. We are currently exploring how to extend our results to
Dimensionality: In the present work, we expose the scheduling other resources, combinations of resources,
schedule directly to the user. This is easy to do because and in power management, with a particular focus on the
its two dimensions map directly to the two dimensions distributed adaptation problem described in the previous
of the joystick, and both dimensions are continuous. As section.
we add resources, the number of dimensions grows and
makes a simple mapping impossible. Of course, there References
are many examples of using low dimensional input de-
vices to explore high dimensional spaces. A large part [1] BALAN , R. K., G ERGLE , D., S ATYANARAYANAN , M.,
of the problem is how to visualize the current configura- AND H ERBSLEB , J. Simplifying cyber foraging for mo-
tion/SLA and its neighborhood. bile devices. Tech. Rep. CMU-CS-05-157, Computer

12
Cost($) & Efficiency(%)
Cost v.s Efficiency over time
100
90
80
70
60
50
40
30
20
10
0
0 50 100 150 200 250 300
Time (sec)
efficiency cost

Word (cost, efficiency v. time)


Cost($) & Efficiency(%)

Cost v.s Efficiency over time


100
90 (a) Duration to first encounter of lowest cost
80
70
60
50
40
30
20
10
0
0 50 100 150 200 250 300
Time (sec)
efficiency cost

Powerpoint (cost, efficiency v. time)


Cost($) & Efficiency(%)

Cost v.s Efficiency over time


100
90
80
70
60
50 (b) Duration to last encounter of lowest cost
40
30
20
10 Figure 9: Duration to lowest cost.
0
0 50 100 150 200 250 300
Time (sec)
efficiency cost nical Report GIT-CC-99-2, College of Computing, Geor-
Web (cost, efficiency v. time) gia Tech.
Cost($) & Efficiency(%)

Cost v.s Efficiency over time


[5] B OWMAN , H., B LAIR , L., B LAIR , G. S., AND
100
90
80
C HETWYND , A. G. A formal description technique sup-
70
60
porting expression of quality of service and media syn-
50
40
chronization. In Proceedings of the International COST
30 Workshop (November 1994), no. 882 in Lecture Notes in
20
10
0 Computer Science, Springer, pp. 145–167.
0 50 100 150 200 250 300
Time (sec) [6] C HU , H.-H., AND NARHSTEDT, K. Cpu service classes
efficiency cost for multimedia applications. In Proceedings of the IEEE
Game (cost, efficiency v. time) International Conference on Multimedia Computing and
Systems (June 1999).
Figure 6: User C: Cost, efficiency versus time. [7] C LARK , C., F RASER , K., H AND , S., H ANSEN , J. G.,
J UL , E., L IMPACH , C., P RATT, I., AND WARFIELD , A.
Live migration of virtual machines. In Proceedings of the
Science Department, Carnegie Mellon University, August Symposium on Networked Systems Design and Implemen-
2005. tation (NSDI) (2005).
[2] BANSAL , N., AND H ARCHOL -BALTER , M. Analysis [8] D OURISH , P. Evolution in the adoption and use of col-
of srpt scheduling: Investigating unfairness. In Proceeds laborative technologies. In Proceedings of the ECSCW
of the 2001 ACM SIGMETRICS International Confer- Workshop on the Evolving Use of Groupware (September
ence on Measurement and Modeling of Computer Systems 1999).
(2001), pp. 279–290.
[9] D UDA , K. J., AND C HERITON , D. R. Borrowed-virtual-
[3] B ENNETT, J., AND Z HANG , H. Worst-case fair weighted time (bvt) scheduling: supporting latency-sensitive
fair queueing. In Proceedings of IEEE INFOCOM 1996 threads in a general-purpose scheduler. In SOSP ’99: Pro-
(March 1996), pp. 120–127. ceedings of the seventeenth ACM symposium on Operat-
ing systems principles (1999), ACM Press, pp. 261–276.
[4] B HOLA , S., AND A HAMAD , M. Workload modeling for
highly interactive applications. In ACM SIGMETRICS [10] E MBLEY, D. W., AND NAGY, G. Behavioral aspects
Conference on Measurement and Modeling of Computer of text editors. ACM Computing Surveys 13, 1 (January
Systems (1999), pp. 210–211. Extended version as Tech- 1981), 33–70.

13
[11] E NDO , Y., WANG , Z., C HEN , J. B., AND S ELTZER , M. [24] L IU , J. Real-time Systems. Prentice Hall, 2000.
Using latency to evaluate interactive system performance. [25] L OTLIKA , R., VATSAVAI , R., M OHANIA , M., AND
In Proceedings of the 1996 Symposium on Operating Sys- C HAKRAVARTHY, S. Policy scheduler advisor for perfor-
tems Design and Implementation (1996). mance management. In Proceedings of the 2nd IEEE In-
[12] G OLDBERG , R. Survey of virtual machine research. ternational Conference on Autonomic Computing (ICAC)
IEEE Computer (June 1974), 34–45. (June 2005).
[13] G UPTA , A., AND D INDA , P. A. Inferring the topology [26] L OYALL , J. P., BAKKEN , D. D., S CHANTZ , R. E.,
and traffic load of parallel programs running in a virtual Z INKY, J. A., K ARR , D. A., VANEGAS , R., AND A N -
machine environment. In Proceedings of the 10th Work- DERSON , K. R. QoS aspect languages and their runtime
shop on Job Scheduling Strategies for Parallel Processing integration. In Proceedings of the 4th Workshop on Lan-
(JSPPS 2004 (June 2004). guages, Compilers, and Run-time Systems for Scalable
[14] G UPTA , A., L IN , B., AND D INDA , P. A. Measur- Computers (LCR) (1998), Springer-Verlag.
ing and understanding user comfort with resource bor- [27] M AC L EAN , A., C ARTER , K., L OVSTRAND , L., AND
rowing. In Proceedings of the 13th IEEE International M ORAN , T. User-tailorable systems: pressing the issues
Symposium on High Performance Distributed Computing with buttons. In CHI ’90: Proceedings of the SIGCHI
(HPDC 2004) (June 2004). conference on Human factors in computing systems (New
[15] G UPTA , A., Z ANGRILLI , M., S UNDARARAJ , A., York, NY, USA, 1990), ACM Press, pp. 175–182.
H UANG , A., D INDA , P., AND L OWEKAMP, B. Free net- [28] M C K USICK , M., B OSTIC , K., K ARELS , M., AND
work measurement for virtual machine distributed com- Q UARTERMAN , J. The Design and Implementation of
puting. In Proceedings of the 20th IEEE International the 4.4BSD Operating System. Addison-Wesley Long-
Parallel and Distributed Processing Symposium (IPDPS) man, 1996.
(2006).
[29] NAGARAJA , K., O LIVEIRA , F., B IANCHINI , R., M AR -
[16] H OOVER , C., H ANSEN , J., KOOPMAN , P., AND TAM - TIN , R., AND N GUYEN , T. Understanding and dealing
BOLI , S. The amaranth framework: Policy-based qual- with operator mistakes in internet services. In Proceed-
ity of service management for high-assurance computing. ings of the 6th Symposium on Operating Systems Design
International Journal of Reliability, Quality, and Safety and Implementation (OSDI) (December 2004).
Engineering (December 2001).
[30] N ELSON , M., L IM , B.-H., AND H UTCHINS , G. Fast
[17] J ONES , M., ROSU , D., AND ROSU , M.-C. Cpu reserva- transparent migration for virtual machines. In Proceed-
tions and time constraints: Efficient, predictable schedul- ings of the USENIX Annual Technical Conference (2005).
ing of independent activities. In Proceedings of the 16th
ACM Symposium on Operating System Principles (SOSP) [31] N IEH , J., AND L AM , M. The design, implementation,
(1997). and evaluation of SMART: A scheduler for multimedia
applications. In Proceedings of the 16th ACM Symposium
[18] K LEIN , J. T. Computer response to user frustration. Mas- on Operating Systems Principles (October 1997).
ter’s thesis, Massachusetts Institute of Technology, 1999.
[32] N OBLE , B. D., S ATYANARAYANAN , M., NARAYANAN ,
[19] KOMATSUBARA , A. Psychological upper and lower lim-
D., T ILTON , J. E., F LINN , J., AND WALKER , K. R. Ag-
its of system response time and user’s preferance on skill
ile application-aware adaptation for mobility. In Proceed-
level. In Proceedings of the 7th International Confer-
ings of the 16th ACM Symposium on Operating Systems
ence on Human Computer Interaction (HCI International
Principles (1997).
97) (August 1997), G. Salvendy, M. J. Smith, and R. J.
Koubek, Eds., vol. 1, IEE, pp. 829–832. [33] R AJKUMAR , R., L EE , C., L EHOCZKY, J., AND
S IEWIOREK , D. A resource allocation model for QoS
[20] L AI , A., AND N IEH , J. Limits of wide-area thin-client
management. In Proceedings of the IEEE Real-Time Sys-
computing. In Proceedings of the ACM SIGMETRICS
tems Symposium (December 1997).
Conference on Measurement and Modeling of Computer
Systems (2002). [34] R EYNOLDS , C. J. The sensing and measurement of frus-
tration with computers. Master’s thesis, Massachusetts
[21] L ANGE , J., S UNDARARAJ , A., AND D INDA , P. Auto-
Institute of Technology Media Laboratory, 2001.
matic dynamic run-time optical network reservations. In
Proceedings of the 14th IEEE International Symposium [35] R ICHARDSON , T., S TAFFORD -F RASER , Q., W OOD , K.,
on High Performance Distributed Computing (HPDC) AND H OPPER , A. Virtual network computing. IEEE In-
(July 2005), pp. 255–264. ternet Computing 2, 1 (January/February 1998).
[22] L IN , B., AND D INDA , P. Vsched: Mixing batch [36] ROMANO , P. Itu-t recommendation t.128 (application
and interactive virtual machines using periodic real-time sharing). Tech. rep., ITU, March 1997.
scheduling. In Proceedings of ACM/IEEE SC 2005 (Su- [37] S CHMIDT, B., L AM , M., AND N ORTHCUTT, J. The in-
percomputing) (November 2005). teractive performance of slim: A stateless thin client ar-
[23] L IU , C. L., AND L AYLAND , J. W. Scheduling algo- chitecture. In Proceedigns of the 17th ACM Symposium
rithms for multiprogramming in a hard real-time environ- on Operating Systems Principles (SOSP 1999) (Decem-
ment. Journal of the ACM 20, 1 (January 1973), 46–61. ber 1999), pp. 32–47.

14
[38] S HOYKHET, A., L ANGE , J., AND D INDA , P. Virtu-
oso: A system for virtual machine marketplaces. Tech.
Rep. NWU-CS-04-39, Department of Computer Science,
Northwestern University, July 2004.
[39] S TRICKER , L. J. The true deceiver. Psychological Bul-
letin, 68 (1967), 13–20.
[40] S TRICKLAND , J., F REEH , V., M A , X., AND VAZHKU -
DAI , S. Governor: Autonomic throttling for aggres-
sive idle resource scavenging. In Proceedings of the 2nd
IEEE International Conference on Autonomic Computing
(ICAC) (June 2005).
[41] S UNDARARAJ , A., AND D INDA , P. Towards virtual net-
works for virtual machine grid computing. In Proceed-
ings of the 3rd USENIX Virtual Machine Research And
Technology Symposium (VM 2004) (May 2004).
[42] S UNDARARAJ , A., G UPTA , A., , AND D INDA , P. In-
creasing application performance in virtual environments
through run-time inference and adaptation. In Pro-
ceedings of the 14th IEEE International Symposium on
High Performance Distributed Computing (HPDC) (July
2005), pp. 47–58.
[43] S UNDARARAJ , A., S ANGHI , M., L ANGE , J., AND
D INDA , P. An optimization problem in adaptive vir-
tual environments. In Proceedings of the Seventh Work-
shop on Mathematical Performance Modeling and Anal-
ysis (MAMA) (June 2005).
[44] WALDSPURGER , C. A., AND W EIHL , W. E. Lottery
scheduling: Flexible proportional-share resource man-
agement. In Proceedings of the First Symposium on Op-
erating Systems Design and Implementation (1994).
[45] W HITAKER , A., C OX , R., AND G RIBBLE , S. Config-
uration debugging as search: Finding the needle in the
haystack. In Proceedings of the 6th Symposium on Op-
erating Systems Design and Implementation (OSDI) (De-
cember 2004).
[46] Z INKY, J. A., BAKKEN , D. E., AND S CHANTZ , R. E.
Architectural support for quality of service for CORBA
objects. Theory and Practice of Object Systems 3, 1 (April
1997), 55–73.

15

You might also like