Professional Documents
Culture Documents
Communications201005 DL
Communications201005 DL
ACM
cacm.acm.oRG OF THE 05/2010 vol.53 no.05
Beyond total
capture
a constructive
critique of Lifelogging
Why Cloud Computing
Will never be Free
modeling the
astronomical
energy-efficient
algorithms
aCm General election
Association for
Computing Machinery
ACM SIGCHI Symposium on
2010 Engineering Interactive
Computing Systems
B erlin , G erm an y ◊ June 19-23, 2010
Doctoral Consortium chairs The conference will be organized by DAI-Labor Research Center and held at
Peter Forbrig (University of Rostock, Germany) Ernst-Reuter Haus. The conference will be located at the "Straße des 17. Juni", a famous
& Oscar Pastor (Universidad Politecnica de main axis crossing the heart of the city west to east from Ernst-Reuter-Platz through the
Valencia, Spain) Brandenburg Gate up to the palace square (Schlossplatz).
Tutorials chairs
Simone Barbosa (University PUC-Rio, Brazil) & Conference program at a glance
Anke Dittmar (University of Rostock, Germany) EICS'2010 features only peer-reviewed contributions in the following categories: research
Workshops chairs
papers, demonstrations, doctoral consortium, late breaking results, tutorials, and seven
Gaëlle Calvary (University of Grenoble, France) co-located workshops.
& Kevin Schneider(University of Saskatchewan, Keynote speakers
Canada)
• User Interface Plasticity: MDE to the limit!
Local organisation chairs Prof. Joëlle Coutaz, University of Grenoble, France • http://iihm.imag.fr/coutaz
Marco Blumendorf & Sahin Albayrak
(DAI Labor Technische Universität Berlin, • Model Engineering for Model-Driven Engineering
Germany) Prof. Axel van Lamsweerde, University of of Louvain, Belgium • http://www.info.ucl.ac.be/~avl
Publicity chairs As part of the social program, there have been scheduled two visits to leading research labs.
Marco Winckler & Philippe Palanque At the Deutsche Telekom Laboratories and DAI-Labor you will be able to experience ambient
(University of Toulouse, France) assisted living and innovative interaction technologies. At the Human Computer Interaction
Sponsorship chairs
Lab at Hasso Plattner Institute interactive devices, miniature mobile devices and touch
Kenia Sousa, (UcL, Belgium) & interaction will be presented.
Andreas Rieger (DAI-Labor, Germany) Saturday June 19 Sunday June 20 Monday June 21 Tuesday June 22 Wednesday June 23
Opening Keynote
Sponsors Doctoral Workshops Prof. Axel van Lamsweerde
& Keynote Paper Session
Consortium Prof. Joëlle Coutaz
Association for Tutorials
Computing Machinery
Paper Session
Paper session
Lunch Lunch & Posters
Panel
Special Interest Group on Computer Human Interaction
Doctoral Workshops Paper Session
Consortium & Paper Session
Tutorials Paper Session
Closing
IFIP WG 2.7/13.4 Lab tours Gala dinner
eics2010.org
membership application &
Advancing Computing as a Science & Profession
digital library order form
Priority Code: ACACM10
Special rates for residents of developing countries: Special rates for members of sister societies:
http://www.acm.org/membership/L2-3/ http://www.acm.org/membership/dues.html
Please print clearly
Purposes of ACM
ACM is dedicated to:
Name
1) advancing the art, science, engineering,
and application of information technology
2) fostering the open interchange of
Address information to serve both professionals and
the public
3) promoting the highest professional and
City State/Province Postal code/Zip ethics standards
I agree with the Purposes of ACM:
Country E-mail address
Signature
Area code & Daytime phone Fax Member number, if applicable ACM Code of Ethics:
http://www.acm.org/serving/ethics.html
❏ ACM Professional Membership plus the ACM Digital Library: ❏ ACM Student Membership plus the ACM Digital Library: $42 USD
$198 USD ($99 dues + $99 DL) ❏ ACM Student Membership PLUS Print CACM Magazine: $42 USD
❏ ACM Digital Library: $99 USD (must be an ACM member) ❏ ACM Student Membership w/Digital Library PLUS Print
CACM Magazine: $62 USD
2 communications of the ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
05/2010 vol. 53 no. 5
70 Beyond Total Capture: A Constructive As with all magazines, page limitations often
Critique of Lifelogging prevent the publication of articles that might
Rather than try to capture otherwise be included in the print edition.
To ensure timely publication, ACM created
everything, system design should
Communications’ Virtual Extension (VE).
focus on the psychological basis VE articles undergo the same rigorous review
of human memory. process as those in the print edition and are
By Abigail Sellen and Steve Whittaker accepted for publication on their merit. These
articles are now available to ACM members in
78 Student and Faculty Attitudes and the Digital Library.
Beliefs About Computer Science
The curriculum should inspire The Role of IT in
students to view CS as both Business Ecosystems
accomplishment and Hyeyoung Kim, Jae-Nam Lee,
intellectual discipline. and Jaemin Han
By Clayton Lewis, Michele H. Jackson,
and William M. Waite Monitoring Ambient Air Quality
50 Enhanced Debugging with Traces with Carbon Monoxide
An essential technique used Sensor-based Wireless Network
in emulator development is Review Articles Demin Wang, Dharma P. Agrawal,
a useful addition to any Wassana Toruksa,
programmer’s toolbox. 86 Energy-Efficient Algorithms Chaichana Chaiwatpongsakorn,
By Peter Phillips Algorithmic solutions can help Mingming Lu, and Tim C. Keener
reduce energy consumption in
54 Principles of Robust Timing computing environs. Understanding the Dynamics of
over the Internet By Susanne Albers Information Management Costs
The key to synchronizing clocks over Paul P. Tallon
networks is taming delay variability.
By Julien Ridoux and Darryl Veitch Research Highlights Roles of the External
IT Project Manager
62 Why Cloud Computing 98 Technical Perspective Blaize Reich and Chris Sauer
Will Never Be Free Learning to Act in
The competition among cloud Uncertain Environments The Rise of a Health-IT
providers may drive prices By Peter L. Bartlett Academic Focus
downward, but at what cost? E.Vance Wilson and Bengisu Tulu
By Dave Durkee 99 Censored Exploration
and the Dark Pool Problem Number of People Required for
Articles’ development led by By Kuzman Ganchev, Usability Evaluation: The 10 ± 2 Rule
queue.acm.org Yuriy Nevmyvaka, Michael Kearns, Wonil Hwang and Gavriel Salvendy
and Jennifer Wortman Vaughan
Is Web-based Supply Chain
108 Technical Perspective Integration Right for Your Company?
Photogra ph by sergei ya hc hybekov/g ett y im ages
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f the acm 3
communications of the acm
Trusted insights for computing’s leading professionals.
Communications of the ACM is the leading monthly print and online magazine for the computing and information technology fields.
Communications is recognized as the most trusted and knowledgeable source of industry information for today’s computing professional.
Communications brings its readership in-depth coverage of emerging areas of computer science, new trends in information technology,
and practical applications. Industry leaders use Communications as a platform to present and debate various technology implications,
public policies, engineering challenges, and market trends. The prestige and unmatched reputation that Communications of the ACM
enjoys today is built upon a 50-year commitment to high-quality editorial content and a steadfast dedication to advancing the arts,
sciences, and applications of information technology.
CL
PL
NE
S
I
MAGAZ
4 communications of the ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
editor’s letter
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f the acm 5
letters to the editor
DOI:10.1145/1735223.1735226
M
oshe Y. Vardiwrote in his A productive author publishing three
Multi-Departments to Cover the
Editor’s Letter “Revisit- journal papers a year would thus owe the
Whole Computational Discipline
ing the Publication Cul- field 12 reviews a year. Most research-
ture in Computing Re- ers complain if they have to do half that Bjarne Stroustrup’s Viewpoint “What
search” (Mar. 2010) about number. Rice’s conclusion, still valid to- Should We Teach New Software Develop-
computer science being a field in which day, was that as long as researchers do ers? Why?” (Jan. 2010) was excellent in its
conferences are the primary venue for not want to do all those (timely) reviews, call for curriculum reform but used the
reporting research. Over the years, the the editorial phase would not get signifi- wrong model—that a single department
premier conferences have evolved to cantly shorter and is simply the cost of is able to fulfill the needs of a mature
where their acceptance rates are lower an all-volunteer system. computing discipline. Other disciplines
than the corresponding journals and In 1983 at the start of the Communica- recognize the need for a multi-depart-
their citation rates are higher. That is tions revitalization plan, we investigated mental model with separate but inter-
why, in the university, the other fields in how Science magazine gets its submis- related departments to support both
the tenure councils accept the comput- sions reviewed so much quicker. We vis- theory and industrial applications.
er science argument that conference ited the editors and learned they phoned Chemistry, physics, and biology
publications deserve the main weight. names from a reviewer database to ask departments expand the boundaries of
When I first got involved in the ACM for two-week turnaround. After locating knowledge and create new tools that are
publication establishment (late 1960s) three agreeable reviewers, the editors then applied by chemical engineering,
there was a terrible problem with back- would FedEx them the manuscript. civil engineering, and clinical medicine
logs in the two ACM research journals We wanted to do likewise, but the departments in industrial settings. Com-
of the day: Communications and the ACM executive committee said it was putational (not computer) science de-
Journal of the ACM. Editorial time—sub- way too expensive. At the time, ACM partments must be centers of innovation,
mission to final decision—was running didn’t have enough money to cover even advancing the general principles of the
12–18 months, and publication time— the editors the Council had approved discipline, while software engineering, IS,
decision to publication—took at least as and could not mount a quick review and IT departments build on the computa-
long. Many loud complaints agreed that process in Communications. Today’s on- tional principles from the CS departments
24–36 months for the complete process line tools make it much easier and less to prepare graduates needed by industry.
was bad for such a fast-changing field. expensive to find reviewers, in which Undergraduates in chemistry and
However, ACM was almost broke and case the bottleneck is again the willing- chemical engineering all take the same
could not afford more pages, and there ness of reviewers to quickly review and general-chemistry courses and labs as
was no online venue. Researchers be- authors to quickly revise. freshman, learning general principles
gan to look to the SIG conferences as a Peter J. Denning, with the help of test tubes and Bunsen
way to get their material into print soon- ACM Past President, 1980–1982, burners. They then work at the labora-
er, much sooner. By the 1980s, some of Monterey, CA tory scale required for research, while
these conferences were petitioning the chemical-engineering students acquire
Publication Board to designate them as A fundamental difference between the the skills and knowledge of “bucket”
“refereed” instead of “reviewed.” journal and conference publication sys- chemistry required for industry.
Studies by Bob Ashenhurst and John tems, as discussed by Moshe Y. Vardi Professionalism is an important goal,
Rice documented the editorial delays. (Mar. 2010), is that conference leader- associated, as Stroustrup said, with the
Even when editors were fastidious about ship (chairs and program committees) application side, not the theoretical side
pushing the review cycle along, the au- changes much more frequently than of the discipline. Licensing is for engi-
thors often took a long time to submit (is practical) for journals. It is difficult neers, physicians, and pharmacists in
their revisions. Though individual re- (though perhaps not impossible) for a the public domain, not for those work-
views took a long time as well, the au- conference to consistently reflect the ing on theory. Coming to a consensus on
thors themselves contributed a lot of personal biases and hidden agendas of the appropriate curriculum for different
delay. The studies also found (with much the same people over a long period of departments makes it easier to develop
less supporting data) that authors try time. The same cannot be said of jour- professional licensure.
different journals and conferences until nals, which have much slower turnover A single department is no longer all
they find a publisher, and that patient, of editors. Such stability allows journals things to all stakeholders. Needed in-
persistent authors eventually publish to be, at least in principle, more coher- stead is an ecosystem of interrelated
over 90% of their papers. Rice calculated ent and less prone to fads, and perhaps departments supporting the range of
an average paper needs four referees, so less responsive to what the community theory and applications of the computa-
authors “owe” their colleagues four re- views as important. tional discipline.
views for every published paper. Angelos D. Keromytis, New York Mark Segall, Denver, CO
6 communications of the ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
letters to the editor
common functions and steps toward a of Amir Pnueli (Jan. 2010) was inspired
.o
cm
all other industries. This might be true Letter to the Editor, please limit your comments to 500
words or less and send to letters@cacm.acm.org.
for some of the smaller vendors, but
the field’s major vendors report they © 2010 ACM 0001-0782/10/0500 $10.00
DOI:10.1145/1735223.1735227
The Role of IT in Roles of the External there is experimental evidence against it.
Business Ecosystems IT Project Manager This article tries to answer the question
about optimal sample size in usability
Hyeyoung Kim, Jae-Nam Lee, Blaize Reich and Chris Sauer
evaluation and proposes a new ‘10±2’ rule.
and Jaemin Han Project managers engaged by customers
In a business ecosystem that consists of to not only deliver on schedule, budget,
a large number of loosely interconnected and scope targets but also to contribute Is Web-based Supply
companies, the role of flagship companies to value creation will find this article of Chain Integration Right
is crucial for the survival of the ecosystem. particular value. Interviews with many for Your Company?
At the ecosystem level, a mechanism senior-level project managers indicate
for information flow is significant in this focus on delivering organizational Charles E. Downing
evaluating a flagship’s health, and with value—both to the client and within The performance of three types of
it, the ecosystem’s competitiveness. IT is their host organization—has led to three companies is examined in this article:
used to indicate a flagship’s health as it new roles for today’s project manager. The company with no electronic supply
allows for the creation of healthy business In addition to the core responsibility of chain integration, one with non-
ecosystems. This article attempts to managing an individual project, managers Web-based electronic supply chain
provide underlying guidelines in IT that are now expected to take on such roles
integration, and one with Web-based
will allow companies to create strong as account manager, surrogate sponsor,
business ecosystems. and profession leader. Performing these electronic supply chain integration.
roles successfully requires new skills Results show companies using Web-
such as negotiation, sales, coaching, and based integration experience lower cost,
Monitoring Ambient Air Quality higher operational efficiency, a more
strategic networking. The authors examine
with Carbon Monoxide Sensor- these new roles and suggest a personal cooperative partner relationship, and
based Wireless Network development plan for external project superior overall performance as compared
Demin Wang, Dharma P. Agrawal, managers. to companies using no electronic
Wassana Toruksa, integration. Companies using non-Web-
Chaichana Chaiwatpongsakorn, The Rise of a Health-IT based integration exhibit higher customer
Mingming Lu, and Tim C. Keener satisfaction, coordination, cooperation,
Academic Focus
Sensors are finding a growing number and commitment with partners, and
E.Vance Wilson and Bengisu Tulu
of applications in many aspects of our overall performance as compared to
daily life. This article explores the design The U.S. health care industry is catching companies using no electronic integration.
and use of a wireless sensor network in up on its lagging IT investment, and this And finally, companies using non-Web-
monitoring the presence of the poisonous trend has important ramifications for based integration have a lower volume
air pollutant carbon monoxide in the IT academics and practitioners. Case in of complaints and better coordination
surrounding environment. The authors point: IT investment in the health care
between partners than companies using
discuss the different functional units industry has more than doubled in recent
Web-based integration.
required to implementing such a network years and that investment is paying off.
and outline calibration, various problems, As a result there is a great demand for
and associated limitations. skilled professionals whose training IT Innovation Persistence:
combines health care domain knowledge An Oxymoron?
with business IT skills. The authors detail
Understanding the Dynamics of examples that reflect the growing promise Theophanis C. Stratopoulos
Information Management Costs of (and demand for) academic training in and Jee-Haw Lim
Paul P. Tallon health care topics. Managers’ perception of the competitive
Firms continue to experience exponential contribution of IT innovation (ITI) can
data growth in all areas of their business. Number of People Required be likened to a roller coaster ride. Such
Despite better, faster, and cheaper storage for Usability Evaluation: an observation seems to suggest that
technologies, information management The 10±2 Rule companies do not take a systematic
costs continue to rise. In this article, approach to ITI because it is easily
the author considers the challenge of Wonil Hwang and Gavriel Salvendy
replicated. However, our analysis shows
managing information throughout its When a software company wants to that ITI is persistent. IT innovative
useful economic life in a way that meets evaluate the usability of a new product companies are more likely to continue
minimum service requirements. Using a before launching it into the market, one out-innovating their competitors, and this
tiered-storage infrastructure, firms can use of the problems the company must solve
probability is higher during periods when
a top-down systems approach to augment is determining how many test users or
service levels for critical information evaluators are required to detect 80% of managers’ perception regarding the role of
or a bottom-up approach to reduce usability problems in the product. Until IT is pessimistic. Our results show that the
information management costs for less now, the ‘4±1’ or ‘magic number five’ rule probability is low that a non-IT innovative
critical information. Both approaches can has been very popular. However, it cannot company will become innovative and start
also be used to streamline the transfer of be used as a general rule for an optimal out-innovating its competitors within a
information between storage tiers. number of test users or evaluators because relatively short period.
8 communications of the ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
ACM, INTEL, AND GOOGLE
THE ACM CONGRATULATE
CHARLES P. THACKER
A. M. TURING FOR THE PIONEERING
Charles Thacker’s Alto computer embodied the key elements “Google is pleased to honor contributions that made possible
of today’s PCs, and is at the root of one of the world’s most the style of computing that we enjoy today. We are proud to
innovative industries. Intel applauds Chuck’s clarity of insight, support the Turing Award to encourage continued research in
focus on simplicity, and amazing track-record of designing computer science and the related technologies that depend
landmark systems that have accelerated the progress of research on its continued advancement.
and industry for decades.”
Alfred Spector
Andrew A. Chien Vice President, Research and
Vice President, Research Special Initiatives, Google
Director, Future Technologies Research
For more information, see http://www.google.com/corporate/
For more information see www.intel.com/research. index.html and http://research.google.com/.
Financial support for the ACM A. M. Turing Award is provided by Intel Corporation and Google.
The Communications Web site, http://cacm.acm.org,
features more than a dozen bloggers in the BLOG@CACM
community. In each issue of Communications, we’ll publish
selected posts or excerpts.
doi:10.1145/1735223.1735228 http://cacm.acm.org/blogs/blog-cacm
10 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
blog@cacm
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 11
cacm online
ACM
Member
News
DOI:10.1145/1735223.1735229 David Roman Eric Brewer Wins
ACM-Infosys
12 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
N
news
Modeling the
Astronomical
Advances in computer technology have changed
the way astronomers see and study the universe.
A
stronomers once learned
everything they knew
about the universe from
telescopes, spectroscopes,
and other optical instru-
ments. Today, one of the most impor-
tant items in an astronomer’s toolbox
is the computer. Galaxy and star for-
mation, supernova explosions, even
the origins of the universe—all can be
modeled and manipulated to an in-
credible degree using computers, both
powerful mainframes and desktop
models. What follows are just a few ex-
amples of computer applications that
are helping scientists paint bold, new
pictures of the cosmos.
Smashing Galaxies
In the early years of the 20th century,
astronomers believed that collisions
between galaxies were so rare that Gliese 667 C and a pair of stars that were discovered by the High Accuracy Radial Velocity Planet
few, if any, examples might ever be ob- Searcher, the spectrograph for ESO’s 3.6-meter telescope at the La Silla Observatory in Chile.
illustration court esy of ESO/L. Ca lça da
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 13
news
and required between five and 10 min- ered more than 400 planets orbiting team of astronomers associated with
utes to run a collision scenario with other stars. Because stars are about a planet-hunting space mission called
only 350 particles. By the late 1980s, a million times brighter than typical COROT (for COnvection ROtation and
an IBM desktop computer equipped planetary bodies, most have been de- planetary Transits), led by the French
with compiled BASIC could perform tected using indirect means. One of space agency CNES, announced that
the same feat. the most successful of these employs a they had detected a planet only 1.7
The last decade of the 20th century highly sensitive spectrograph that can times Earth’s diameter. But the planet,
saw significantly more sophisticated detect minute periodic changes in the called CoRoT-7b, is hardly Earthlike.
computer models that could simu- star’s velocity toward and away from It lies only 1.5 million miles from its
late galaxy interactions over a billion Earth—motions caused by changes host star and completes one orbit in a
years of time. Initial results of these in the system’s center of gravity as little over 20 hours. Observations indi-
simulations revealed an unexpected the planet orbits the star. These back- cate the planet is tidally locked, so that
finding. If two spiral galaxies of nearly and-forth velocity shifts, however, are it keeps one hemisphere perpetually
equal mass passed each other with a incredibly slow, amounting to as little turned toward its sun. Being so close to
low enough velocity, they would es- as a few meters per second. Still an- its host star, the dayside temperature is
sentially fall into each other and, over other search method looks for slight some 2600° K, or 4220° F—hot enough
hundreds of millions of years, merge wobbles in the star’s position in space, to vaporize rocks.
into a single, massive elliptical galaxy. a motion also induced by an orbiting Astronomer Bruce Fegley, Jr. of
With this insight, astronomers were body. The extent of the wobble allows Washington University and research
not only able to forge an evolution- astronomers to determine the exo assistant Laura Schaefer used a com-
ary link between galaxies of various planet’s mass. The positional change puter program called MAGMA to mod-
forms, but also at different epochs in is very fine—within 20 milliarcseconds el CoRoT-7b’s atmospheric structure.
the history of the universe. or so, which is about the diameter of MAGMA was originally developed to
The most powerful computers to- a golf ball seen at the distance of the study the vaporization of silicates on
day—supercomputers—have revolu- Moon. Such fine-tolerance measure- Mercury’s surface, but has since been
tionized the field of galaxy interactions. ments as these would be impossible used, among other things, to model
In one recent example, astronomer without computers. the vaporization of elements during a
Fabio Governato of the University of “The positions of hundreds of lines meteor’s fiery passage through Earth’s
Washington, Seattle and colleagues in spectra are obtained by a truly com- upper atmosphere.
used several U.S. supercomputing fa- puter-intensive process of modeling Fegley and Schaefer’s results showed
cilities to solve a long-standing mystery their shapes and noting changes from that CoRoT-7b’s atmosphere is virtually
in galaxy formation theory: why most day to day,” says astronomer G. Fritz free of volatile compounds, such as wa-
galaxies do not have more stars at their Benedict of the University of Texas at ter, nitrogen, and carbon dioxide, prob-
cores. This predicament is most pro- Austin, who led a team that made the ably because they were boiled off long
nounced in a class of diminutive gal- first astrometrically determined mass ago. But their models indicate plenty
axies called dwarf galaxies, the most of an extrasolar planet in 2002. of compounds normally found in a ter-
common type of galaxy in the neigh- Computers are also important in restrial planet’s crust, such as potas-
borhood of the Milky Way. Governato’s helping astronomers understand the sium, silicon monoxide, and oxygen.
computer simulations showed that su- nature of exoplanets after they have They concluded that the atmosphere
pernova explosions in and around the been discovered. In February 2009, a of CoRoT-7b has been altered by the
core of a developing dwarf galaxy gen- vaporization of surface silicates into
erate enormous winds that sweep huge clouds. Moreover, these clouds may
amounts of gas away from the center, The last decade “rain out” silicates, effectively sand-
preventing millions of new stars from blasting the planet’s surface.
forming there. of the 20th century “Exoplanets are greatly expanding
Governato’s project consumed saw significantly the planetary menagerie,” says Fegley.
about one million CPU hours, the “They provide us with all sorts of odd-
equivalent of 100 years on a single desk- more sophisticated ball planets that one could only imag-
top computer. “This project would have computer models ine in the past.”
not been possible just a few years ago,”
he says, “and, of course, completely un- that could simulate Citizen Science
thinkable in the 1980s.” The enormous galaxy interactions In 1999, the Space Sciences Laboratory
growth in computing power, Governato at the University of California, Berke-
adds, makes the early results obtained over a billion years ley, launched a program called SETI@
by the Toomre brothers using rudimen- of time. home, which enabled thousands of
tary computers “even more amazing as home computers to sift through un-
their results still hold true.” processed data collected by radio
telescopes in the search for artificial
Searching for Extrasolar Planets signals from other worlds. The pro-
Since 1995, astronomers have discov- gram, which today comprises of more
14 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
news
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 15
news
Happy Birthday,
RDBMS!
The relational model of data management, which dates to 1970, still
dominates today and influences new paradigms as the field evolves.
F
orty years ago this June, an ar- agement System (IDMS) from the com-
ticle appeared in these pages pany that would become Cullinet.
that would shape the long- Contentious debates raged over the
term direction of information models in the CS community through
technology like few other ideas much of the 1970s, with relational en-
in computer science. The opening sen- thusiasts arrayed against CODASYL ad-
tence of the article, “A Relational Model vocates while IMS users coasted along
of Data for Large Shared Data Banks,” on waves of legacy software.
summed it up in a way as simple and el- As brilliant and elegant as the re-
egant as the model itself: “Future users lational model was, it might have re-
of large data banks must be protected mained confined to computer science
from having to know how the data is or- curricula if it wasn’t for three projects
ganized in the machine,” wrote Edgar F. aimed at real-world implementation of
Codd, a researcher at IBM. the relational database management
And protect them it did. Program- system (RDBMS). In the mid-1970s,
mers and users at the time dealt IBM’s System R project and the Univer-
mostly with crude homegrown data- sity of California at Berkeley’s Ingres
base systems or commercial products project set out to translate the rela-
like IBM’s Information Management tional concepts into workable, main-
System (IMS), which was based on a tainable, and efficient computer code.
low-level, hierarchical data model. “People were stunned to learn that Support for multiple users, locking,
“These databases were very rigid, and complex, page-long [IMS] queries could logging, error-recovery, and more were
they were hard to understand,” recalls be done in a few lines of a relational developed.
Ronald Fagin, a Codd protégé and now language,” says Raghu Ramakrishnan, System R went after the lucrative
a computer scientist at IBM Almaden chief scientist for audience and cloud mainframe market with what would be-
Research Center. The hierarchical computing at Yahoo! come DB2. In particular, System R pro-
“trees” in IMS were brittle. Adding a Codd’s model came to dominate a duced the Structured Query Language
single data element, a common occur- multibillion-dollar database market, (SQL), which became the de facto stan-
rence, or even tuning changes, could but it was hardly an overnight suc- dard language for relational databases.
involve major reprogramming. In ad- cess. The model was just too simple Meanwhile Ingres was aimed at UNIX
dition, the programming language to work, some said. And even if it did machines and Digital Equipment Corp.
used with IMS was a low-level language work, it would never run as efficiently (DEC) minicomputers.
akin to an assembler. as a finely tuned IMS program, others Then, in 1979, another watershed pa-
But Codd’s relational model stored said. And although Codd’s relational per appeared. “Access Path Selection in
data by rows and columns in simple concepts were simple and elegant, his a Relational Database Management Sys-
tables, which were accessed via a high- mathematically rigorous languages, tem,” by IBM System R researcher Patri-
level data manipulation language relational calculus and relational alge- cia Selinger and coauthors, described
(DML). The model raised the level of bra, could be intimidating. an algorithm by which a relational
abstraction so that users specified what In 1969, an ad hoc consortium called system, presented with a user query,
they wanted, but not how to get it. And CODASYL proposed a hierarchical da- could pick the best path to a solution
when their needs changed, reprogram- tabase model built on the concepts be- from multiple alternatives. It did that
ming was usually unnecessary. It was hind IMS. CODASYL claimed that its ap- by considering the total cost of the vari-
Photogra ph by c ha d nack ers
similar to the transition 10 years earlier proach was more flexible than IMS, but ous approaches in terms of CPU time,
from assembler languages to Fortran it still required programmers to keep required disk space, and more.
and COBOL, which also raised the level track of far more details than the rela- “Selinger’s paper was really the piece
of abstraction so that programmers no tional model did. It became the basis of work that made relational database
longer had to know and keep track of for a number of commercial products, systems possible,” says David DeWitt,
details like memory addresses. including the Integrated Database Man- director of Microsoft’s Jim Gray Systems
16 communications of th e ac m | M ay 2 0 1 0 | vo l . 5 3 | n o. 5
news
Laboratory at the University of Wiscon- 1980s in the form of object-oriented da- cloud, where service vendors could
sin-Madison. “It was a complete home tabases (OODBs), but they never caught host the databases of many clients.
run.” The paper led to her election to on. There weren’t that many applica- “So ‘scale’ now becomes not just data
the National Academy of Engineering in tions for which an OODB was the best volume, it’s the number of clients, the
1999, won her a slew of awards (includ- choice, and it turned out to be easier variety of applications, the number of
ing the SIGMOD Edgar F. Codd Innova- to add the key features of OODBs to locations and so on,” he says. “Man-
tions Award in 2002), and remains the the relational model than to start from ageability is one of the key challenges
seminal work on query optimization in scratch with a new paradigm. in this space.”
relational systems. More recently, some have suggested
Propelled by Selinger’s new ideas, that the MapReduce software frame-
Further Reading
System R, Ingres, and their commercial work, patented by Google this year, will
progeny proved that relational systems supplant the relational model for very Codd, E.F.
A relational model of data for large shared
could provide excellent performance. large distributed data sets. [See “More
data banks. Comm. of the ACM 13, 6, June 1970.
IBM’s DB2 edged out IMS and IDMS on Debate, Please!” by Moshe Y. Vardi on p.
Selinger, P.G., Astrahan, M.M., Chamberlin, D.D.,
mainframes, while Ingres and its deriv- 5 of the January 2010 issue of Communi-
Lorie, R.A., Price, T.G.
atives had the rapidly growing DEC Vax cations.] Clearly, each approach has its Access path selection in a relational
market to themselves. Soon, the data- advantages, and the jury is still out. database management system. Proceedings
base wars were largely over. As RDBMSs continues to evolve, of the 1979 ACM SIGMOD International
scientists are exploring new roads of Conference on Management of Data, 1979.
Faster Queries inquiry. Fagin’s key research right now Ullman, J.D.
During the 1980s, DeWitt found anoth- is the integration of heterogeneous Principles of Database and Knowledge-Base
Systems: Volume II: The New Technologies,
er way to speed up queries against rela- data. “A special case that is still really
W.H. Freeman & Co., New York, NY, 1990.
tional databases. His Gamma Database hard is schema mapping—converting
Hellerstein, J. M. and Stonebraker, M.
Machine Project showed it was possible data from one format to another,” he
Readings in Database Systems (4th ed.), MIT
to achieve nearly linear speed-ups by says. “It sounds straightforward, but Press, Cambridge, MA, 2005.
using the multiple CPUs and disks in a it’s very subtle.” DeWitt is interested
Agrawal, R., et al
cluster of commodity minicomputers. in how researchers will approach the The Claremont Report on Database
His pioneering ideas about data par- “unsolved problem” of querying geo- Research, University of California at
titioning and parallel query execution graphically distributed databases, Berkeley, Sept. 2008. http://db.cs.berkeley.
found their way into nearly all commer- especially when the databases are cre- edu/claremont/claremontreport08.pdf
cial parallel database systems. ated by different organizations and
“If the database community had not are almost but not quite alike. And Gary Anthes is a technology writer and editor based in
Arlington, VA.
switched from CODASYL to relational, Ramakrishnan of Yahoo! is investigat-
the whole parallel database industry ing how to maintain databases in the © 2010 ACM 0001-0782/10/0500 $10.00
would not have been possible,” DeWitt
says. The declarative, not imperative,
programming model of SQL greatly fa-
cilitated his work, he says.
The simplicity of the relational
Looking Ahead With
model held obvious advantages for us-
ers, but it had a more subtle benefit as
Michael Stonebraker
well, IBM’s Fagin says. “For theorists An adjunct professor at Massachusetts Institute of Technology, Michael Stonebraker
is renowned as a database architect and a pioneer in several database technologies,
like me, it was much easier to develop such as Ingres, PostgreSQL, and Mariposa (which he has commercial interests in). As
theory for it. And we could find ways to for the database industry’s future direction, Stonebraker says one-third of the market
make the model perform better, and will consist of relational database management systems used in large data warehouses,
ways to build functions into the model. such as corporate repositories of sales information. But the mainstream products in
use today, which store table data row by row, will face competition from new, better-
The relational model made collabora- performing software that stores it column by column. “You can go wildly faster by
tion between theorists and practitio- rotating your thinking 90 degrees,” he says.
ners much easier.” Another third of the market he believes will be in online transaction processing,
Indeed, theorists and practitioners where databases tend to be smaller and transactions simpler. That means databases
can be kept in memory and locking can be avoided by processing transactions one at a
worked together to a remarkable de- time. These “lightweight, main memory” systems, Stonebraker says, can run 50 times
gree, and operational techniques and faster than most online transaction processing systems in use today.
applications flowed from their work. In the final third of the market, there are “a bunch of ideas,” depending on the type
of application, he says. One is streaming, where large streams of data flow through
Their collaboration resulted in, for ex- queries without going to disk. Another type of nonrelational technology will store
ample, the concept of locking, by which semistructured data, such as XML and RDF. And a third approach, based on arrays
simultaneous users were prevented rather than tables, will be best for doing data clustering and complex analyses of very
from updating a record simultaneously. large data sets.
Finally, “if you don’t care about performance,” says Stonebraker, “there are a bunch
The hegemony of the relational of mature, open-source, one-size-fits-all DBMSs.”
model has not gone without challenge.
For example, a rival appeared in the late
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 17
news
O
ver the last couple of Tech University. “It has the potential imagined or weren’t possible only a
years, cloud computing to dramatically change business mod- few years ago. In addition, they open
has taken the business els and the way people interact with up new markets—including vast num-
world by storm. The idea one another.” bers of mobile phone users—that pre-
of storing and managing Nowhere is this more obvious than viously weren’t reachable. However,
data on virtualized servers—often in developing nations, where the abil- at the same time, cloud computing
residing on the Internet—isn’t par- ity to access resources has often been presents entirely new challenges and
ticularly new. But thanks to ongoing limited and building out a robust obstacles, particularly in regions cop-
advances in IT infrastructure and far IT infrastructure can be daunting. ing with limited technical expertise,
more sophisticated applications, in- The emergence of cloud computing bandwidth, and IT resources.
dividuals and organizations around changes the stakes for entrepreneurs,
the world now have the ability to con- small and large businesses, research- A Paradigm Shift?
nect to data and computing resources ers, and governments. “It has the Although cloud computing has be-
anywhere and anytime. potential to level the playing field be- come something of a buzzword over
It’s a trend with enormous implica- cause it breaks down barriers to en- the last couple of years, it’s unwise to
tions. “Cloud computing provides ac- try,” says Steve Bratt, CEO of the non- dismiss it as the latest overhyped tech
cess to large-scale remote resources profit World Wide Web Foundation. trend. “It has the potential to create a
in a very efficient and quick manner,” To be sure, cloud computing offers paradigm shift in the way IT resources
explains Karsten Schwan, director of an opportunity to create entirely new are used and distributed,” says P.K.
the Center for Experimental Research types of businesses—and business Sinha, chief coordinator for research
in Computing Systems at Georgia models—that couldn’t have been and development at the Center for De-
velopment of Advanced Computing at
Pune University in India.
Clouds provide a powerful—and
often otherwise unattainable—IT in-
frastructure at a modest cost. In addi-
tion, they free individuals and small
businesses from worries about quick
obsolescence and a lack of flexibility.
Yet, at the same time, large organiza-
tions can consolidate their IT infra-
structure across distributed locations,
Sinha points out. Even government
entities can benefit by enabling ser-
vices to consumers on a shared basis.
In some cases, cloud-based comput-
ing grids enable research that simply
wasn’t possible in the past.
These days, clouds enable a wide
range of services. Already, several in-
dustry behemoths—including Ama-
zon, Google, and Microsoft—have
Photogra ph by Erik H ersm a n
18 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
news
CS Awards
tions worldwide, it’s a quick and af-
fordable way to tap into infrastructure Cloud computing
as an Internet service. In addition, a could “level
growing array of enterprise software
vendors, including Salesforce.com the playing field,” Mary Jane Irwin and other
members of the CS community
and Freshbooks.com, exclusively pro- says World Wide were recently honored for
their research contributions.
vide cloud-based services for custom-
ers. And Apple and Blackberry make Web Foundation’s Athena Lecturer
it increasingly simple to store data Steve Bratt, ACM’s Council on Women in
in the cloud and sync it with multiple Computing has named Mary
devices, including computers and “because Jane Irwin, the Evan Pugh
it breaks down
Professor of Computer Science
smartphones. of Pennsylvania State University,
But the story doesn’t end there.
In India, Africa, and South America, barriers to entry.” the 2010–2011 Athena Lecturer
for her outstanding research
contributions to computer-aided
cloud computing allows organiza-
design, computer arithmetic,
tions to connect and collaborate and computer architecture. The
through online applications such as award, which celebrates women
Google Docs. “Many people, including researchers who have made
fundamental contributions to
college graduates, do not have access computer science, includes a
to the latest hardware and software,” $10,000 honorium, provided by
says Venansius Barya Baryamureeba, more than they get from typical jobs Google Inc.
dean for the Department of Comput- in a refugee camp.
NAE 2010 Members
ing and IT at Makerere University in Even more remarkable is how
The National Academy of
Kampala, Uganda. What’s more, the clouds connect developers all over Engineering has elected 13
ability to dial into cloud resources al- the world to technology and markets new members in the section
lows organizations lacking an inter- that would have been entirely out of computer science and
engineering. They are: Andrei
nal IT infrastructure to scale up and of bounds in the past. The New York
Broder, Yahoo!; Irene Greif,
compete more effectively. Times recently reported that Wilfred IBM; Bill Gropp, University of
In fact, the possibilities are lim- Mworia, a 22-year-old developer in Illinois at Urbana-Champaign;
ited only by creativity. In the south- Nairobi, Kenya, built an iPhone app Laura Haas, IBM; Mike Jordan,
University of California at
ern Sahara region of Sahel, for exam- using only an online iPhone simula- Berkeley; Brewster Kahle,
ple, farmers now use a cloud-based tor (iPhone service isn’t available in Internet Archive; Tom Mitchell,
trading system that disseminates Kenya), which he can sell all over the Carnegie Mellon University;
information about planting sched- world. N.R. Narayana Murthy, Infosys;
Larry Peterson, Princeton
ules, crop status, harvesting times, As geography becomes irrelevant, University; Ben Shneiderman,
and market prices through mobile further changes will occur, Baryamu- University of Maryland; and
phones. In India, the Apparel Export reeba notes. In fact, both developed Mark Wegman, IBM.
Promotion Council has developed a and developing nations will benefit
2010 Sloan Research
cloud platform that provides comput- through cloud-based software as a Fellowships
ing services and enterprise software service model. “A software product Sixteen computer scientists
to more than 11,000 of its members— developed in the USA can be extend- were awarded two-year Sloan
most of whom lack the capital and ed and supported by a developer in Research Fellowships.They
are: David S. Bindel, Cornell
resources to build their own IT infra- another place, such as Uganda,” he University; David M. Blei,
structure. says. “And software can be purchased Princeton University; Luis Ceze,
Some cloud initiatives link nations at a lower cost by eliminating compo- University of Washington;
Constantinos Daskalakis, MIT;
and people in entirely new ways. For nents that are not relevant to a devel- Thomas L. Griffiths, University
example, U.S.-based CrowdFlower has oping country’s needs.” of California, Berkeley; Eitan
introduced a cloud labor service that Grinspun, Columbia University;
connects organizations searching for Weathering Change Jason I. Hong, Carnegie Mellon
University; Karrie Karahalios,
temporary workers to refugees in Ke- What makes cloud computing so pow- University of Illinois at Urbana-
nya. The iPhone app helps a business erful is that it is based on a system of Champaign; Jonathan Kelner,
outsource a basic task, such as find- modularity. The use of virtualization MIT; C. Karen Liu, Georgia Tech;
Rupak Majumdar, University of
ing phone numbers for marketing de- and a cloud platform allows organiza-
California, Los Angeles; Amin
partments at various companies and tions to break down services and sys- Saberi, Stanford University;
entering them into a spreadsheet. So tems into smaller components, which Ben Taskar, University of
far, Kenyan workers have completed can function separately or across a Pennsylvania; Brent Waters,
University of Texas, Austin;
more than 158,000 unique tasks. widely distributed network. Servers Nickolai Zeldovich, MIT;
These individuals earn as much as can be located almost anywhere and and Li Zhang, University
U.S. $28 per week, about eight times interfaces can be changed and cus- of Wisconsin, Madison.
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 19
news
tomized on the fly. These services and to grow from a $50 million industry in
software are only as far away as an In- 2009 to a $15 billion industry by 2013.
ternet or mobile phone connection. In India, cloud Other parts of the world are follow-
Nevertheless, challenges and prob- computing is ing the same growth trajectory. “It’s
lems remain. One of the biggest, Geor- a catalyst,” observes Bratt of World
gia Tech’s Schwan says, is the lack of projected to Wide Web Foundation, “for a wave of
connectivity and adequate bandwidth grow from innovation and change in developing
in many parts of the world—particu- nations.”
larly where dialup networks persist. a $50 million
“Larger data sets require more band- industry in 2009 Further Reading
width than many locations provide.
It’s not practical to constantly upload to a $15 billion Fingar, P.
and download all the data. In some industry by 2013. Dot.Cloud: The 21st Century Business
Platform, Meghan-Kiffer Press, Tampa, FL,
instances the technology isn’t com- 2009.
pletely adequate, even in the U.S. and
Morton, G. and Alford, T.
Europe, to enable large data transfers
The economics of cloud computing
between a company’s own infrastruc- analyzed, October 26, 2009. http://govcloud.
ture and the public cloud.” ulitzer.com/node/1147473
Another problem is the depend- years ahead. Baryamureeba believes Werth, C.
ability of local power supplies. In that clouds—and particularly mobile Number crunching made easy, Newsweek,
many developing nations, electricity platforms connecting to them—are May 2, 2009.
unpredictably switches on and off— a game-changing technology. They Subramanian, K.
and the ability to connect to a remote extend computing technology into Cloud computing and developing countries–
data center can be dicey. “An organiza- remote areas and provide opportuni- part 1, September 24, 2008. http://www.
tion’s IT infrastructure may become ties for health care, education, and cloudave.com/link/Cloud-Computing-and-
Developing-Countries-–-Part-1
inaccessible for some time or data sit- economic development. Meanwhile,
ting in the cloud could be lost,” says “researchers gain access to the same Subramanian, K.
Cloud computing and developing countries–
Gautam Shroff, vice president at Tata high-performance computing envi- part 2, September 24, 2008. http://www.
Consultancy Services Ltd. in Delhi, In- ronments as their colleagues in de- cloudave.com/link/Cloud-Computing-and-
dia. Finally, as with any shared cloud veloped nations, and they can be just Developing-Countries-–-Part-2
environment, cloud providers and us- as competitive and productive,” says
ers must address backup, privacy, and Baryamureeba. Samuel Greengard is an author and journalist based in
security issues. Make no mistake, cloud comput- West Linn, OR. Nir Kshetri, University of North Carolina at
Greensboro, contributed to the development of this article.
Nevertheless, cloud computing is ing is here to stay. In India, for ex-
poised to take off over the months and ample, cloud computing is projected © 2010 ACM 0001-0782/10/0500 $10.00
Obituary
language in the late 1970s; Academy of Engineering. those who will be!”
and devising the Calculus At the time of his death, Communications will
of Communicating Systems Milner was working on present more on the career
(CCS), a framework for bigraphs, a formalism for and accomplishments of
analyzing concurrent systems, ubiquitous computing systems. Robin Milner in the June
in 1980. In an interview with Richard issue. At press time, an online
Milner’s career included Morris, which was published at memorial for Milner had been
being a programmer at simple-talk.com last January, established at http://lifestrand.
Ferranti, a now-defunct Milner discussed his bigraphs net/robin_milner.
British electronics company; research, saying, “I’m working —Jack Rosenberger
20 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
news
A
ness without David Johnson,” Lance
wards for scientific excel- Fortnow, a professor of computer sci-
lence were recently an- ence at Northwestern University (and
nounced by ACM, SIGACT, SIGACT chair), told Communications.
the European Association “He developed much of the early the-
for Theoretical Computer ory, helping us deal with NP-complete
Science, the Computing Research As- problems via approximation and exper-
sociation, and the Anita Borg Institute imental algorithms. Johnson promot-
for Women in Technology to honor se- ed theory through SIGACT, the Sympo-
lect scientists for their contributions to sium on Discrete Algorithms, and the
computer science. DIMACS Implementation Challenges.
His legendary reference book on NP-
ACM A.M. Turing Award completeness with Michael Garey is an
Charles P. Thacker, a technical fellow invaluable part of nearly every comput-
at Microsoft’s Silicon Valley campus, er scientist’s library.
is the recipient of the 2009 ACM A.M. “Kurt Mehlhorn has done funda-
Turing Award for pioneering work that mental research in algorithmic theory,
led to the design and realization of the including problems from geometry,
Alto in 1974, the first modern PC and algebra, graph theory, combinatorial
the prototype for networked personal optimization, parallel computing, and
computers. Thacker is also honored VLSI,” said Fortnow. “With Stefan
for his contributions to the Ethernet lo- Näher, Mehlhorn developed LEDA, the
cal area network, which he co-invented Turing Award winner Charles P. Thacker Library of Efficient Data types and Algo-
in 1973; the first multiprocessor work- rithms, providing researchers and busi-
station; and the prototype for today’s CRA Distinguished Service nesses with theoretical analyses and
most-used tablet PC, with capabilities The Computing Research Association implementations of a broad collection
for direct user interaction. honored Moshe Y. Vardi, a professor of algorithms in geometry, graph theo-
Thacker created and collaborated of computer science at Rice University ry, and cryptography.”
on what would become the fundamen- and editor-in-chief of Communications
tal building blocks of the PC business. of the ACM, with its 2010 Distinguished Women of Vision Awards
“Charles Thacker’s contributions have Service Award. Vardi was nominated The Anita Borg Institute for Women
earned him a reputation as one of the for two fundamental contributions to in Technology has named Kathleen R.
most distinguished computer systems the computing research community. McKeown, Kristina M. Johnson, and
engineers in the history of the field,” The first was leading the effort to pro- Lila Ibrahim as recipients of the 2010
said ACM President Professor Dame duce a definitive report on offshoring, Women of Vision Awards. McKeown, a
Wendy Hall. “His enduring achieve- Globalization and Offshoring of Soft- computer science professor at Colum-
ments—from his initial innovations on ware, which has contributed signifi- bia University, is the winner in the in-
the PC to his leadership in hardware de- cantly to debunking myths about the novation category. Johnson, the under
velopment of the multiprocessor work- future health of the computing field. secretary for the U.S. Department of En-
station to his role in developing the tab- His second contribution was leading ergy and the dean of Duke University’s
let PC—have profoundly affected the the effort to redefine Communications Pratt School of Engineering, is the win-
course of modern computing.” with the goal of engaging the comput- ner in the leadership category. Ibrahim,
Photogra ph by M arcin W ich ary
The Turing Award, long recognized ing research community to create a general manager of Intel’s Emerging
as the Nobel Prize in computing, includes compelling magazine for computing. Markets Platform Group, is the winner
a $250,000 prize, with financial support in the social impact category.
provided by Intel Corp. and Google Inc. Theoretical CS Awards
An in-depth profile and interview David S. Johnson of AT&T Labs is the Jack Rosenberger is senior editor, news, of
Communications of the ACM.
with Thacker is scheduled for the July recipient of ACM SIGACT’s 2009 Knuth
issue of Communications. Prize for his contributions to theoreti- © 2010 ACM 0001-0782/10/0500 $10.00
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 21
IHI 2010 – CA LL FOR PAPE RS
1st ACM International Health Informatics Symposium
November 11-12, 2010
Washington, DC
http://ihi2010.sighi.org
IHI 2010 is ACM's premier community forum concerned with the application of computer and information
science principles and information and communication technology to problems in healthcare, public health,
the delivery of healthcare services and consumer health as well as the related social and ethical issues.
Gen eral Ch air For technical contributions, IHI 2010 is primarily interested in end-to-end applications, systems, and
Umit V. Catalyurek, Ohio State technologies, even if available only in prototype form. Therefore, we strongly encourage authors to submit
University their original contributions describing their algorithmic and methodological contributions providing an
application-oriented context. For social/behavioral scientific contributions, we are interested in empirical
Honorary Ge neral C hair studies of health-related information needs, seeking, sharing and use, as well as socio-technical studies of
Gang Luo, IBM Research heath information technology implementation and use. Topics of interest for this conference cover various
aspects of health informatics, including but not limited to the following:
PC Co-Chair
Henrique Andrade, IBM • Accessibility and Web-enabled technologies
Research
• Analytics applied to direct and remote clinical care
• Assistive and adaptive ubiquitous computing technologies
PC Co-Chair
• Biosurveillance
Neil R. Smalheiser, University
of Illinois, Chicago • Brain computer interface
• Cleaning, preprocessing, and ensuring quality and integrity of medical records
Procee ding s Cha ir • Computational support for patient-centered and evidence-based care
Tiffany Veinot, University of • Consumer health and wellness informatics applications
Michigan • Consumer and clinician health information needs, seeking, sharing and use
• Continuous monitoring and streaming technologies
Loca l Arrang em ents C hair • Data management, privacy, security, and confidentiality
Baris E. Suzek, Georgetown • Display and visualization of medical data
University • E-communities and networks for patients and consumers
• E-healthcare infrastructure design
Treasur er • E-learning for spreading health informatics awareness
Alper Yilmaz, Ohio State • Engineering of medical data
University • Health information system framework and enterprise architecture in the developing world
• Human-centered design of health informatics systems
ACM HQ Staf f Lia iso n • Information retrieval for health applications
April Mosqus • Information technologies for the management of patient safety and clinical outcomes
• Innovative applications in electronic health records (e.g., ontology or semantic technology, using
Registrat ion Ch air
continuous biomedical signals to trigger alerts)
Bugra Gedik, IBM Research
• Intelligent medical devices and sensors
Poster/De mo Ch air • Issues involving interoperability and data representation in healthcare delivery
Yuan An, Drexel University • Keyword and multifaceted search over structured electronic health records
• Knowledge discovery for improving patient-provider communication
Web Cha ir • Large-scale longitudinal mining of medical records
Daby M. Sow, IBM Research • Medical compliance automation for patients and institutions
• Medical recommender system (e.g., medical products, fitness programs)
Industr y Su pport Ch air • Multimodal medical signal analysis
Jinbo Bi, Mass General • Natural language processing for biomedical literature, clinical notes, and health consumer texts
Hospital • Novel health information systems for chronic disease management
• Optimization models for planning and recommending therapies
Public ity Co-Ch air • Personalized predictive modeling for clinical management (e.g., trauma, diabetes mellitus, sleep
Deepak Turaga, IBM Research disorders, substance abuse)
• Physiological modeling
Public ity Co-Ch air • Semantic Web, linked data, ontology, and healthcare
Albert M. Lai, Ohio State • Sensor networks and systems for pervasive healthcare
University • Social studies of health information technologies
• Survival analysis and related methods for estimating hazard functions
IMPORTANT DATES • System software for complex clinical studies that involve combinations of clinical, genetic, genomic,
imaging, and pathology data
June 2 2010 – Abstract
• Systems for cognitive and decision support
submission
• Technologies for capturing and documenting clinical encounter information in electronic systems
June 4 2010 – Paper/Demo
Submission • User-interface design issues applied to medical devices and systems
Aug 6 2010 – Acceptance
Notification
22 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
acm election ballot
doi:10.1145/1735223 . 1 7 3 5 2 5 1
ACM’s
2010 General
Election
The ACM CONSTITUTION provides that the Association
hold a general election in the even-numbered years for
the positions of President, Vice President, Secretary/
Treasurer, and Members-at-Large. On the following
pages you will find biographical information and
statements from ACM’s slate of candidates.
ACM members have the option of casting their
vote by postal mail or online. Ballots were mailed
to members in early April and contain mail and
electronic balloting procedures (please contact
acmhelp@electionservicescorp.com if you did not
receive a ballot).
The ballot is to be used for the election of ACM Officers
(President, Vice President, Secretary/Treasurer) as well
as two Members-at-Large.
All ballots must be received by no later than 12:00 noon
EDT on May 24, 2010.
The computerized tabulation of the ballots will be
validated by the ACM Tellers Committee. Validation by
the Tellers Committee will take place at 10:00 a.m. EDT
on May 25, 2010.
If you have not done so yet, please take this opportunity
to review the candidates and vote via postal mail or the
Web for the next slate of ACM officers.
Sincerely,
Gerald Segal, chair, acm elections committee
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 23
acm election ballot
candidates for
president
(7/1/10 – 6/30/12)
alain chesnais
CTO, SceneCaster
Richmond Hill,
Ontario, Canada
Biography Statement
ACM and SIGGRAPH Activities Professional Experience I was first introduced to ACM become the international organi-
˲˲ Since July 2008 ACM ˲˲ Since June 2007 CTO at through the annual SIGGRAPH con- zation it should be. Specifically, I
vice president SceneCaster ference over 20 years ago. I imme- believe that we should strengthen
˲˲ Since July 2005 ACM SIGGRAPH ˲˲ July 2005–May 2007 Vice diately joined the local SIGGRAPH our presence in China and India,
past president President Product Development at chapter in Paris, France and started continuing the effort that we have
˲˲ 2006–2008 ACM secretary/trea- Tucows Inc volunteering for various activities. I started during my terms as trea-
surer ˲˲ March 2004–July 2005 Director haven’t stopped since. Throughout surer, then vice president of the
˲˲ 2005–2006 SIG representative of Engineering at ATI my volunteer career I have focused ACM. I also believe that our general
to Council ˲˲ May 2000–November 2003 Vice on many aspects of ACM activities, presence worldwide can further be
˲˲ 2002–2005 ACM SIGGRAPH President, Engineering at ranging from chapters, to SIGs, enhanced through the changes in
president TrueSpectra to Council. I have also been a very the chapters program that I pro-
˲˲ 2002–2004 SGB past chair ˲˲ 1996–2000 Director of Engineer- active volunteer in SIGGRAPH, our posed to the executive committee
˲˲ 2000–2002 SGB chair ing, Alias|Wavefront largest SIG. With over 20 years of and were then adopted by Council
˲˲ 2001 SIGGRAPH Conference ˲˲ 1993–1996 Rendering Manager, management experience in the soft- last year.
International Resources Chair Wavefront Technologies ware industry and already 6 years I also believe that we need to do
˲˲ 1999–2000 SIG Governing Board ˲˲ 1992–1993 CG Consultant of service on the ACM executive much more in terms of expanding
(SGB) Vice Chair for Operations ˲˲ 1987–1992 CTO, Studio Base 2 committee, I feel well equipped to our online presence to better cater
˲˲ 1999 ACM EC Nominating Com- ˲˲ 1983–1987 Research Scientist, tackle the issues that the president to the needs of younger researchers
mittee Centre Mondial Informatique of this organization is expected to and practitioners. At SIGGRAPH,
˲˲ 1998 ACM Executive Search ˲˲ 1982–1985 Research Assistant, manage. In my role as SIG Govern- I created a Facebook group for
Committee CNRS ing Board chair, I led the task force SIGGRAPH members to be able to
˲˲ 1998 SIGGRAPH Nominating that proposed and implemented exchange ideas and communicate
Committee Education a new allocation model for the with each other using the social
˲˲ 1997 SIGGRAPH Conference ˲˲ 1981 L’École Normale Supèrieure SIGs, anticipating the technology networking opportunities that it
International Chair de L’Enseignement Technique downturn that was to come when provides. I later proposed that we
˲˲ 1995–1999 ACM SIGGRAPH ˲˲ 1980 Diplome d’Etudes Appro- the bubble burst and the impact we expand this at the ACM level, both
Vice Chair fondies, Université de Paris XI expected it to have on ACM financ- on Facebook where our
˲˲ 1993–1995 Member at Large ˲˲ 1979 Maîtrise Structure Mathé- es. That model was adopted by the younger members tend to focus
ACM matique de L’Informatique, Univer- SIGs and helped the organization their attention, as well as on Linke-
SIGGRAPH Chapters Committee sité de Paris VII weather the storm despite multi- dIn where our more confirmed pro-
˲˲ 1993–1995 ACM Director of ˲˲ 1979 Maîtrise de Mathématiques, million dollar losses engendered by fessional members tend to focus.
Professional Chapters Université de Paris VII our largest SIG. I then focused my I believe that there is much more
˲˲ 1993–1995 ACM Local Activities efforts on ACM SIGGRAPH, after that we can do along these lines to
Board/SIG Board Liaison Awards/Achievements being elected president, and took further raise the level of awareness
˲˲ 1992 Organized the local ˲˲ Articles in various journals and the SIG’s finances from a 2½ mil- of ACM and significantly grow our
groups’ booth for the SIGGRAPH 92 conferences. lion dollar loss when I came in, to membership by becoming more
conference ˲˲ Systéme particulier selected for generating a modest surplus in my relevant to the needs of students
˲˲ 1991–1995 Chair of the Paris film show SIGGRAPH 87. last year. as well as young researchers and
SIGGRAPH chapter ˲˲ Opening Sequence selected for Today, ACM is a healthy organiza- practitioners.
film show SIGGRAPH 91. tion that has weathered the recent
˲˲ Participant in the SIGGRAPH recession and sees membership
Future Search conference in Snow- rising. The key challenges that I see
bird, 1994. for ACM in upcoming years have to
˲˲ Participant in the SIGGRAPH do with our becoming a truly inter-
strategy meetings in 2000, 2001, national organization and attract-
2005 and 2006. ing younger members into the
organization. As a French citizen
residing in Canada, I have firsthand
experience of what it means to be a
non-American member of our orga-
nization. I believe that I can use
that experience to help ACM truly
24 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
acm election ballot
candidates for
president
(7/1/10 – 6/30/12)
Joseph A. Konstan
Professor of Computer Science and Engineering
University of Minnesota
Minneapolis, MN, USA
Biography Statement
Education ACM Activities I am proud to be a member of and a We have other issues I also hope
A.B. (1987) from Harvard College; ACM Council (2006–2008, volunteer for ACM, and I am deeply to take on, supported by both our
M.S. (1990) and Ph.D. (1993) from 2009–2011). SIG Governing Board: honored by this nomination; I have volunteers and ACM’s outstanding
the University of California, Berke- Chair (2006-2008), VC Operations found my time volunteering for professional staff. We must finish
ley; all in Computer Science. Disser- (2004–2006). Membership Services ACM to be immensely rewarding, the process of reinventing ACM’s
tation Topic: User Interface Toolkit Board: Vice Chair (2004–2006). and I am grateful for the trust of local activities program, ensuring
Architecture (event processing, the nominating committee in put- we understand what local support
geometry management, data propa- SIG Activities ting my name forward for ACM’s our members want and need, and
gation). Advisor: Larry Rowe. SIGCHI: President (2003–2006), Presidency. providing them with the opportu-
Bulletin Editor (1999–2003), ACM is a healthy and strong nities to engage with each other
Employment Executive Committee (1999–2009). society. Our publications and con- and deploy ACM’s resources at a
McKnight Distinguished Univer- SIGMultimedia Executive ferences are leading venues for local level. We also must continue
sity Professor and Associate Head, Committee (1999–2007). Confer- the advancement of computing. to improve our presence outside
Department of Computer Science ence General Chair: UIST 2003, Our digital library has become the North America. We must build on
and Engineering, University of RecSys 2007. Various program com- resource of record for computing our efforts in Europe and Asia to
Minnesota. Previously, Assistant mittees, doctorial symposia, etc. literature. And our work on com- ensure that ACM has a friendly,
Professor (1993–1999), Associate puting education and professional capable, local face to present to
Professor (1999–2005), Professor Other Professional/Education development are key investments its members worldwide. Third, we
(2005–). Co-Founder and Consult- Organizations into the future of our field. must do a better job on inreach—
ing Scientist, Net Perceptions, Inc. Federal Demonstration Partner- As a healthy organization, we being ready to respond to our mem-
(1996–2000). ship (partnership of universities are not standing still. Recent bers, our conference attendees, and
and U.S. government agencies improvements include not only our visitors online with useful and
Professional Interests focused on reducing administrative the new CACM and enhancements timely information.
Human-Computer Interaction, burden associated with govern- to the Professional Development But most of all, we must continue
Software Tools to Support Online ment grants): U of M faculty rep- Center, but also less visible but to do well what we already do well.
Community, Use of Internet to Pro- resentative (2002–2007), alternate equally important initiatives in As the face of computing changes
mote Public Health (HIV Preven- (2007–2010); elected Faculty Chair China, India, and Europe, efforts to from year to year, the importance of
tion, Medication Adherence). and overall vice-Chair of FDP improve our ability to engage and our efforts to support research, pro-
(2005–2007). support women in computing, and fessional practice, and education
Honors/Awards/Achievements efforts to speed our responsiveness become ever more important. We
ACM Fellow (2008), ACM Distin- to new subareas within computing. must build on our strengths and
guished Scientist (2006), IEEE More challenges face us—both continue to build new strengths.
Distinguished Visitor (2003–2005), those brought from outside and
ACM Distinguished Lecturer those of our own making. As politi-
(1997–2006). University awards: cal pressure for professional certifi-
Distinguished Professorship, cation builds, we must continue to
Distinguished Faculty Mentor (for explore our position in this debate
mentoring students from underrep- and our role if such certification
resented minority groups), Taylor comes to pass. We have an obliga-
Career Development award (con- tion both to our members and to
tributions to teaching). co-Author the field to oppose “certification”
of one book, 93 peer-reviewed that bears no relationship to actual
conference and journal papers. ability, and to provide meaningful
Holds 6 U.S. Patents. Awarded 16 continuing professional educa-
NSF grants (8 as PI), 11 NIH Grants tion. Economic and environmental
(all as co-Investigator), and 9 other realities force us to confront issues
government and industry grants. about the future of conferences—
Created 6 new academic courses. how can we maintain the essential
Advised/co-Advised students to 8 quality of experience while expand-
Ph.D. degrees and 52 MS degrees. ing access?
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 25
acm election ballot
candidates for
vice president
(7/1/10 – 6/30/12)
Norman P. Jouppi
Fellow and Director, Exascale Computing Lab
HP Labs
Palo Alto, CA, USA
Biography Statement
Norm received a Ph.D. in Electrical ACM Service: ACM SIG Govern- Through my previous ACM service While serving on the ACM Coun-
Engineering from Stanford Uni- ing Board (SGB) Representative to I’ve had the opportunity to learn cil I’ve been a strong proponent of
versity in 1984, an M.S.E.E. from ACM Council (2007–2009), ACM much about its operation. If elected adding value to ACM membership
Northwestern University in 1980, Council Representative to the as Vice President I’d like to place a through enhanced services while
and a B.S.E.E. from Northwestern Computing Research Association special emphasis on internation- keeping dues low. Over the last sev-
University in 1979. After graduation (CRA) Board (2008+), Editorial alization, diversity, and enhancing eral years this strategy has played
he joined DEC’s Western Research board of Communications of the membership value. an important part in growing ACM
Lab, and through acquisition Com- ACM (2008+), SIG Vice Chair for A very important issue going membership in an era when mem-
paq and then Hewlett-Packard. Operations (2006–2007), ACM SGB forward is international expansion bership in other professional soci-
From 1984 through 1996 he was Member-at-Large and Conference of our membership—business eties has been waning. If elected
also a Consulting Assistant/Associ- Advisor (2005–2006), Past Chair and research contributions to as ACM Vice President, I will con-
ate Professor in the Department of of SIGARCH (2007+), Chair of computing are becoming increas- tinue to look for ways to add value
Electrical Engineering at Stanford SIGARCH (2003–2007), Vice Chair ingly global. Potential members to ACM membership (such as the
University. He currently heads the of SIGARCH (1999–2003), Member in developing countries can recent successful revitalization of
Exascale Computing Lab at HP of the SIGARCH Board (1993–1999). derive significant benefits from the Communications of the ACM and
Labs. Other service: Editorial board relatively low-cost services such enhancements to the ACM Digital
His current research interests member of IEEE Computer Architec- as the ACM Digital Library if ACM Library) at no marginal cost to our
include many aspects of computer ture Letters (2001+) and IEEE Micro membership is priced appropri- members.
system software, hardware, and (2009+). IEEE TCCA advisory board ately. Besides mere membership, During my career I’ve worked
architecture. He has also led the (2002–2005). I would strive to foster volunteer in both industry and academia. I
development of advanced telepres- Awards: ACM Fellow. IEEE Fellow. development and encourage ser- believe this experience would serve
ence systems, and has contributed 2005 ISCA Influential Paper award. vice through the world. me well as Vice President. As part
to the architecture and imple- Compaq 2002 Key Patent award. Having two children in high of this diverse experience I’ve devel-
mentation of advanced graphics Two SIGGRAPH/Eurographics school, I have firsthand experience oped an appreciation of the range
accelerators. He was the principal Workshop on Graphics Hardware with the awareness and image of of communities served by the ACM,
architect and lead designer of the best paper awards. computing among our next genera- and I believe I can serve them well
DEC MultiTitan and BIPS micro- tion. It is important for students as Vice President. Finally, I’m pre-
processors. While at Stanford he of all backgrounds to understand pared to commit the time required
was one of the principal architects and be excited about the contribu- to serve at the best of my ability.
and lead designer of the Stanford tions of computing to society. To And I am always eager to listen to
MIPS microprocessor, and devel- enable this they need first class your suggestions!
oped CAD techniques for VLSI opportunities to study computer
timing verification. He holds 45 science. If elected, I would work in
U.S. patents and has published partnership with existing organiza-
over 100 technical papers. Norm is tions such as the Computer Science
a member of ACM SIGARCH, SIG- Teachers Association to improve
MICRO, SIGGRAPH, SIGMM, and the state of K–12 CS education
SIGMETRICS. worldwide and improve the diver-
sity of the CS student body. I would
also support efforts to revamp the
computer science AP program.
26 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
acm election ballot
candidates for
vice president
(7/1/10 – 6/30/12)
Barbara G. Ryder
J. Byron Maupin Professor of Engineering
Head, Department of Computer Science
Virginia Tech
Blacksburg, VA, USA
Biography Statement
A.B. in Applied Math, Brown Uni- Member, Ed Bd of Science of As ACM Vice President, I will work ACM activities on education
versity (1969); M.S. in Computer Programming (2009–), ACM Trans closely with the President and should emphasize the importance
Science (CS), Stanford University on Programming Languages and provide leadership for Executive of our discipline in the 21st century.
(1971); Ph.D. in CS, Rutgers Univer- Systems (TOPLAS, 2001–2007), and Committee special projects (e.g., We need to continue ACM efforts
sity (1982). Assoc. Member of Prof. IEEE Trans on Software Engineering the Membership Task Force). I will on computing curricula and build-
Staff at AT&T Bell Labs, Murray (2003–2008). continue to support good commu- ing bridges to K–12 educators
Hill (1971–1976). Asst. Prof. (1982– Selected panelist: CRA Work- nication among the Executive Com- (i.e., Computer Science Teachers
1988), Assoc. Prof. (1988–1994), shops on Academic Careers for mittee, Council, SIG leadership, Association). New emphases should
Prof. (1994–2001), Prof. II (2001– Women in CS (1993, 1994, 1996, members and staff. My extensive include: supporting CSTA-like
2008), Rutgers University, Head 1999, 2003), SIGSOFT New SE experience as a SIG leader, General organizations internationally and
- Dept. of CS, Virginia Tech (2008–), Faculty Symp (2003, 2005, 2008). Chair of FCRC 2003, 8 years as ACM encouraging local/regional techni-
http://people.cs.vt.edu/~ryder/ Chair, Virginia Tech College of Council member, and 2 years as cal conferences for undergraduate
Fellow of the ACM (1998) for Engineering High Performance Secretary/Treasurer have prepared and graduate students (e.g., www.
seminal contributions to interpro- Computing Comm (2009–). me well for these tasks. research.ibm.com/masplas).
cedural compile-time analyses. Member, ADVANCE VT Faculty I am determined to maintain ACM has revitalized the Local
Member, Board of Directors, Com- Advisory Comm (2008–). Member: ACM as the leading computing Chapters program, offered new
puter Research Assn (1998-2001). SIGPLAN, SIGSOFT, SIGCSE, ACM, society, and our representative opportunities to mentor younger
ACM Presidential Award (2008). IEEE Computer Society, American on issues of public policy world- professionals through MemberNet,
SIGPLAN Distinguished Service Women in Science, EAPLS. wide. There are several challenges: enhanced the Digital Library and
Award (2001). Rutgers Graduate expanding ACM into a truly inter- Portal, and redesigned CACM to
Teaching Award (2007). Rutgers national organization, strongly meet the needs of all members bet-
Leader in Diversity Award (2006). supporting computing education ter. Such efforts must continue.
Professor of the Year Award from (K–12, college, postgraduate), pro- The SIGs must remain a strong,
CS Grad Students (2003). viding better services to our prac- integral part of ACM: developing
ACM Secretary/Treasurer (2008– titioner members, and supporting volunteer leaders, providing valu-
2010), Council Member-at-Large the SIGs. able research content and tools for
(2000–2008). Chair, Federated Recent efforts by ACM that have the Digital Library, and recruiting
Computing Research Conf (FCRC established relationships with students to ACM membership. My
2003). SIGPLAN Chair (1995–1997), professionals in India and China 10 years of SIG leadership and 35
Vice Chair for Confs (1993–1995), must be strengthened and sup- years of active ACM membership
Exec Comm (1989–1999). General ported by recruiting new members attest to my commitment to SIG
Chair of: SIGSOFT Int’l Symp on from these regions into SIG/ACM concerns.
Software Testing and Analysis leadership. Additionally, we should I ask for your vote to work for all
(ISSTA, 2008), SIGPLAN Conf on hold ACM conferences outside of of these goals.
History of Programming Languages North America, co-sponsored with
III (HOPL-III, 2007), SIGPLAN Conf local professional societies. New
on Programming Language Design contacts for international members
and Implementation (PLDI, 1999, should be sought in areas such as
1994). Program Chair of: HOPL- Eastern Europe/Russia, South Asia/
III (2007), PLDI (1991). Member, Australia and South America.
Outstanding Contribution to ACM
Award Comm and ACM-W Athena
Award Comm. ACM National Lec-
turer (1985–1988).
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 27
acm election ballot
candidates for
secretary/treasurer
(7/1/10 – 6/30/12)
Carlo Ghezzi
Chair of Software Engineering
Department of Electronics and Information
Politecnico di Milano
Milano, Italy
Biography Statement
Carlo Ghezzi is a Professor and He served on numerous other ACM is the leading professional Higher-level education in com-
Chair of Software Engineering at program committees and gave sev- society in the field of comput- puting has been experiencing
Politecnico di Milano, Italy. He is eral keynote presentations. ing. For over 60 years, it has been difficulties in many regions of the
the Rector’s Delegate for research, Ghezzi has been the Editor-in- serving the scientific community: world, because it is not attracting
past member of the Academic Sen- Chief of the ACM Transactions on researchers, educators, engineers, enough brilliant young people, and
ate and of the Board of Governors Software Engineering and Methodol- and professional developers. ACM especially women. Computing is
of Politecnico. He has also been ogy (from 2001 till 2006) and is an conferences, workshops, journals, often viewed as lacking deep chal-
Department Chair and Head of the Associate Editor of Communications magazines, newsletters, and digital lenging underpinnings. The society
Ph.D. Program. He held positions of the ACM, IEEE Transactions on library played a fundamental role at large often has misconceptions
at University of California Los Ange- Software Engineering, Science of in accumulating and disseminating about our profession and its roots
les, University of North Carolina at Computer Programming, Service Ori- knowledge, creating new knowl- in science. ACM should take the
Chapel Hill, University of Padova, ented Computing and Applications, edge, and linking people. ACM will lead of a pride initiative at all levels,
ESLAI-Buenos Aires, University of and Software Process Improvement continue to preserve this funda- finding new ways to communicate
California Santa Barbara, Technical and Practice. mental body of knowledge, and will with the society, and especially with
University of Vienna, University of Ghezzi’s research has been also assist us in future advances in the new generations.
Klagenfurt, University of Lugano. focusing on software engineer- our field.
Ghezzi is an ACM Fellow, an ing and programming languages. ACM is increasingly becoming a
IEEE Fellow, and a member of the Currently, he is active in evolvable worldwide professional society. It
Italian Academy of Sciences. He and distributed software architec- will need in the future to become
was awarded the ACM SIGSOFT tures for ubiquitous and pervasive even more open, offering services
Distinguished Service Award. He computing. He co-authored over and opportunities everywhere in
has been a member of the ACM 160 papers and 8 books. He coor- the world. By its very nature, com-
Nominating Committee and of the dinated several national and inter- puting is at the heart of technology
ACM Software Systems Award Com- national (EU funded) research proj- that connects the world. It should
mittee. He has been on the evalua- ects. He has recently been awarded by no means become the source
tion board of several international a prestigious Advanced Grant from of divisions and discriminations.
research projects and institutions the European Research Council. ACM should elaborate policies
in Europe, Japan, and the USA. to support worldwide knowledge
Ghezzi is a regular member of sharing and scientific coopera-
the program committee of impor- tion, breaking all barriers of race,
tant conferences in the software culture, economy, gender, and
engineering field, such as the Inter- age. It should aggressively involve
national Conference on Software new communities, understand
Engineering and Foundations of their needs, and be flexible in
Software Engineering/ European adapting its global strategies to
Software Engineering Conference, the local cultures.
for which he also served as Program
and General Chair.
28 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
acm election ballot
candidates for
secretary/treasurer
(7/1/10 – 6/30/12)
Alexander L. Wolf
Professor
Department of Computing
Imperial College London
United Kingdom
Biography Statement
Alexander Wolf holds a Chair in Wolf serves as Chair of the ACM As the public has begun to recog- We must continue to be sensi-
Computing at Imperial College SIG Governing Board (SGB) and nize computing’s central role in tive to how the crisis will affect
London, U.K. (2006–present). Chair of the ACM Software Systems supporting and advancing society, different sectors and regions of
Prior to that he was a Professor at Award Committee. He is a mem- we have been reshaping ACM as our community, and the impact on
the Univ. of Lugano, Switzerland ber of the ACM Council and ACM a key player in supporting and conference planning and regional
(2004–2006), Professor and C.V. Executive Committee. He is also a advancing the computing disci- growth initiatives. Our efforts at
Schelke Endowed Chair of Engi- member of the newly formed ACM pline. securing a significant fund balance
neering at the Univ. of Colorado Europe Council. Wolf serves on the In my recent leadership roles I in the past have contributed to the
at Boulder, U.S. (1992–2006), and editorial boards of the Research have contributed to these efforts, fundamental stability of the orga-
Member of the Technical Staff at Highlights section of CACM and of including formation of regional nization today; we are fortunate to
AT&T Bell Labs in Murray Hill, NJ, the IEEE journal TSE. Previously, councils (so far, Europe and India), be in a position to absorb much of
U.S. (1988–1992). he served as Vice Chair and then reconceptualization of regional the pain of the crisis, yet continue
Wolf earned his MS (1982) and Chair of ACM SIGSOFT, a member and student chapters, an initia- to grow and improve the organiza-
Ph.D. (1985) degrees from the Univ. of the SGB Executive Committee, tive to proactively nurture confer- tion’s services.
of Massachusetts at Amherst, U.S., an SGB representative on the ACM ences and SIGs in new areas of I have been an ACM volunteer for
from which he was presented the Council, member of the editorial computing, sponsorship of the much of my career. The opportunity
Dept. of Computer Science Out- board of ACM TOSEM, and Chair of new Computer Science Teachers to continue contributing by serving
standing Achievement in Research the ACM TOSEM EiC Search Com- Association, enrichment of the DL, as ACM Secretary/Treasurer would
Alumni Award (2010). mittee. He has chaired and been and a revamp of CACM to be more be a privilege and an honor.
With colleagues and students, a member of numerous interna- relevant, timely, informative, acces-
Wolf works in several areas of tional program committees. sible, and authoritative.
experimental and theoretical com- Wolf is a Fellow of the ACM, Char- Essential to these and future
puter science, including software tered Fellow of the British Com- initiatives is a clear and convinc-
engineering, distributed systems, puter Society, holder of a U.K. Royal ing long-term strategy that draws
networking, and databases (see Society–Wolfson Research Merit together the talents of volunteers
http://www.doc.ic.ac.uk/~alw/ Award, winner of an ACM SIGSOFT and staff, supported by sufficient
for links to his papers). He is best Research Impact Award, and is an financial resources.
known for seminal contributions ACM Distinguished Speaker. The world financial crisis has
to software architecture, software been a necessary focus of my term
deployment, automated process as SGB chair and ACM Council
discovery (the seed of the business member. Managing financial risk
intelligence field), distributed pub- while maintaining the integrity
lish/subscribe communication, and and momentum of the community
content-based networking. He has is a difficult challenge, but one
recently begun to investigate fault that we have handled extremely
localization in MANETs and large- well through the joint efforts of the
scale experiment automation. volunteer leaders and headquar-
ters staff.
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 29
acm election ballot
candidates for
members at large
(7/1/10 – 6/30/14)
30 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
acm election ballot
candidates for
members at large
(7/1/10 – 6/30/14)
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 31
V
viewpoints
Economic and
Business Dimensions
Cloud Computing and Electricity:
Beyond the Utility Model
Assessing the strengths, weaknesses, and general applicability
of the computing-as-utility business model.
B
u s in e s s e s re ly no less on Cloud Computing and use, paid for via subscription, and ac-
electricity than on IT. Yet the Electricity Model cessed over the Web.” From an aca-
corporations don’t need a Definitions for cloud computing demic perspective: “Cloud computing
“Chief Electricity Officer” vary. From a practitioner standpoint: refers to both the applications deliv-
and a staff of highly trained “Cloud computing is on-demand ac- ered as services over the Internet and
professionals to manage and integrate cess to virtualized IT resources that the hardware and systems software
electricity into their businesses. Does are housed outside of your own data in the data centers that provide those
the historical adoption of electricity of- center, shared by others, simple to services. … The data center hardware
fer a useful analogy for today’s innova- and software is what we will call a
tions in cloud computing? cloud. When a cloud is made available
While the utility model offers some An overly simplistic in a pay-as-you-go manner to the pub-
insights, we must go beyond this sim- lic, we call it a public cloud; the service
ple analogy to understand cloud com- reliance on the utility being sold is utility computing.”1
puting’s real challenges and opportu- model risks blinding Both definitions imply or explicitly
nities. Technical issues of innovation, use the “utility” model that embeds the
scale, and geography will confront us to the real logic of water supply, electrical grids, or
managers who attempt to take advan- opportunities and sewage systems. This model is ubiqui-
tage of offsite resources. In addition, tous. While it has important strengths,
business model challenges related to challenges of it also has major weaknesses.
complementarity, interoperability, cloud computing. Hardware providers introduced the
and security will make it difficult for language of “utility” computing into the
a stable cloud market to emerge. An market. But perhaps the most rigorous
overly simplistic reliance on the util- and vigorous assertion of the electric-
ity model risks blinding us to the real ity model comes from Nicholas Carr,
opportunities and challenges of cloud an independent blogger in his recent
computing. book, The Big Switch: “At a purely eco-
32 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
viewpoints
nomic level, the similarities between Technical Weaknesses consistency and scalability at the same
electricity and information technology of the Utility Model time. The problem of scalable data stor-
are even more striking. Both are what The Pace of Innovation. The pace of in- age in the cloud with an API as rich as
economists call general-purpose tech- novation in electricity generation and SQL makes it difficult for high-volume,
nologies. … General-purpose technolo- distribution happens on the scale of mission-critical transaction systems to
gies, or GPTs, are best thought of not as decades or centuries.8 In contrast, run in cloud environments.
discrete tools but as platforms on which Moore’s Law is measured in months. Meanwhile, companies of a certain
many different tools, or applications, In 1976, the basic computational pow- size can get the best of both worlds by
can be constructed. … Once it becomes er of a $200 iPod would have cost one deploying private clouds. Intel, for ex-
possible to provide the technology cen- billion dollars, while the full set of ca- ample, is consolidating its data centers
trally, large-scale utility suppliers arise pabilities would have been impossible from more than 100 eventually down to
to displace the private providers. It may to replicate at any price, much less in a about 10. In 2008 the total fell to 75, with
take decades for companies to abandon shirt pocket. Managing innovative and cost savings of $95 million. According to
their proprietary supply operations and rapidly changing systems requires the Intel’s co-CIO Diane Bryant, 85% of In-
all the investment they represent. But attention of skilled, creative people, tel’s servers support engineering com-
in the end the savings offered by utili- even when the innovations are creat- putation, and those servers run at 90%
ties become too compelling to resist,
even for the largest enterprises. The
grid wins.”4
data centers are located near low-cost and processes must be attacked with ing distributed power generation sys-
power sources like the hydroelectric other architectures of processing, mem- tem features smaller nodes running
dams of the northwest U.S. ory, and storage, so simply renting more micro-hydro, wind, micro-turbines and
Along with its strengths, however, nodes will not help. Secondly, many fuel cells. What’s more, many enterpris-
the electric utility analogy also has business applications rely on consis- es do in fact generate their own electric-
three technical weaknesses and three tent transactions supported by RDBMS. ity or steam, for the same reasons they
business model weaknesses. The CAP Theorem says one cannot have will continue to keep certain classes of
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 33
viewpoints
IT in house: reliability, strategic advan- the user and pose severe new security
tage, or cost visibility. issues not encountered by on-premise
Latency: Distance is Not Dead. One of If the utility model computing behind firewalls.
the few immutable laws of physics is were adequate,
the speed of light. As a result, latency Conclusion
remains a formidable challenge. In the the challenges to If the utility model were adequate, the
network realm, the demands for nearly cloud computing challenges to cloud computing could
instantaneous execution of machine-to- be solved with electricity-like solu-
machine stock trades has led financial could be solved tions—but they cannot. The reality is
services firms to locate their data cen- with electricity-like that cloud computing cannot achieve
ters as physically close to stock exchang- the plug-and-play simplicity of electric-
es as possible. The read/write limits of solutions—but ity, at least, not as long as the pace of
magnetic disks can only drop so far, but they cannot. innovation, both within cloud comput-
increased speed comes at the cost of ca- ing itself, and in the myriad applica-
pacity: big disks are slow, and fast disks tions and business models it enables,
are small. For many classes of applica- continues at such a rapid pace. While
tions, performance, convenience, and electric utilities are held up as models
security considerations will dictate that of simplicity and stability, even this in-
computing be local. Moving data cen- iTunes store helped it quadruple reve- dustry is not immune from the trans-
ters away from their customers may save nues in four years. The tight integration formative power of IT.8,9 Innovations
on electricity costs, but those savings are between Apple’s ERP system and the like the “smart grid” are triggering fun-
often outweighed by the costs of latency. billing engine handling some 10 mil- damental changes at a pace not seen
lion sales per day would have been dif- since the early days of electrification.
Beyond Electricity: The ficult, if not impossible, in the cloud. The real strength of cloud computing is
Business Model of the Cloud Lock-in and Interoperability. Lock-in that it is a catalyst for more innovation. In
Important as the technical differences issues with electricity were addressed fact, as cloud computing continues to be-
are between electricity and cloud com- long ago by regulation of monopolies, come cheaper and more ubiquitous, the
puting, the business model differences then later by legal separation of gen- opportunities for combinatorial innova-
are even more profound. eration from transmission and the tion will only grow. It is true that this inev-
Complementarities and Co-invention. creation of market structures. Markets itably requires more creativity and skill
Like electricity, IT is a general-purpose work because electrons are fungible. from IT and business executives. In the
technology. This means that critical The rotary converter that enabled in- end, this not something to be avoided. It
benefits come from the co-inventions terconnection of different generating should be welcomed and embraced.
that the basic technology makes pos- technologies in the 1890s has no ana-
sible. It took 30 to 40 years for the full log for the customer of multiple cloud References
1. Armbrust, M. et al. A view of cloud computing.
benefits of electricity to redound to vendors, and won’t anytime soon. For Commun. ACM 53, 4 (Apr. 2010), 50–58.
America’s factories.5 Initially, assembly enterprise computing to behave like 2. Bresnahan, T., Greenstein, S., Brownstone, D. and Flamm,
K. Technical progress and co-invention in computing and
lines and production processes were line voltage will require radically differ- in the uses of computers. Brookings Papers on Economic
not redesigned to take advantages of ent management of data than what is Activity—Microeconomics (1996), 1–83.
3. Brynjolfsson, E. and Saunders, A. Wired for Innovation:
electricity: large central steam engines on anyone’s technology roadmap. How IT is Reshaping the Economy. MIT Press,
were simply replaced with large elec- Perhaps most critically, bits of infor- Cambridge, MA, 2010.
4. Carr, N. The Big Switch: Rewiring the World, from
tric motors, and then hooked up to the mation are not electrons. Depending on Edison to Google. Norton, New York, 2008.
same old crankshafts and cogs. Only the application, its engineering, and its 5. David, P. The dynamo and the computer: An historical
perspective on the modern productivity paradox.
with the reinvention of the production intended use, cloud offerings will not American Economic Review 80, 2 (1990), 355–361.
process was the potential of electrifica- be interchangeable across cloud pro- 6. Foley, J. Plug into the cloud. InformationWeek (Sept.
28, 2008).
tion realized. Today, electricity has ma- viders. Put more simply, the business 7. Hamilton, J. Internet-scale service efficiency. In
Proceedings of the Large-Scale Distributed Systems
tured to become a relative commodity. processes supported by enterprise com- and Middleware (LADIS) Workshop, (Sept. 2008).
In contrast, computing is still in the puting are not motors or light bulbs. 8. Hughes, T. Networks of Power: Electrification
in Western Society, 1880–1930. Johns Hopkins
midst of an explosion of innovation Security. The security concerns with University Press, Baltimore, MD, 1983.
and co-invention.2 Firms that simply cloud computing have no electricity 9. Waltz, D. and King, J. Information Technology and
America’s Energy Future. Computing Research
replace corporate resources with cloud analog. No regulatory or law enforce- Association White Paper, Washington, D.C., 2009.
computing, while changing nothing ment body will audit a company’s
else, are doomed to miss the full ben- electrons, but processes related to Erik Brynjolfsson (erikb@mit.edu) is a professor at the
efits of the new technology. customer data, trade secrets, and clas- MIT Sloan School and the director of the MIT Center for
Digital Business in Cambridge, MA.
The opportunities, and risks, from sified government information are all
IT-enabled business model innova- subject to stringent requirements and Paul Hofmann (paul.hofmann@sap.com) is a vice
president at SAP Labs in Palo Alto, CA.
tion and organizational redesigns are standards of auditability. The typically
reshaping entire industries.3 For in- shared and dynamic resources of cloud John Jordan (jmj13@smeal.psu.edu) is a senior lecturer
in the Smeal College of Business at Penn State University.
stance, Apple’s transition from a per- computing (including CPU, network-
petual license model to the pay-per-use ing, and so forth) reduce control for Copyright held by author.
34 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
V
viewpoints
Education
How to Make Progress
in Computing Education
Improving the research base for computing education
requires securing competitive funding commitments.
E
d ucati on is th e economic
issue of the 21st century.
Driven by global trade and a
technologically connected,
always-on global work force,
countries understand they must
innovate to succeed in the new busi-
ness environment. A winning innova-
tion policy is tricky to define, but it is
clear it starts with education—and it
starts early.
In the U.S., policymakers seem to
have heard the message. There is a na-
tional urgency to improve K–12 educa-
tion, and, in particular, ensure students
have a strong grasp of science, technol-
ogy, engineering, and mathematics
(STEM) education. The Department of
Education is pouring an unprecedent-
ed hundreds of billions of dollars into
states to improve schools, help teach-
ers, and support students. They want
to know this money is helping. If you
listen closely, you hear leaders from the
Secretary of the Education to members
of Congress talking about the need for Computing is a relatively new disci- how students learn without putting it
“evidence-based” reforms. Where does pline with a small education research in schools, but schools aren’t interest-
photogra ph by Dave B ra dley Photog rap hy/get t y im ages
this evidence come from? Largely, it base and limited assessments. Those ed in it until you can measure it.
comes from measurement tools devel- responsible for making policy deci- We need to break this cycle and one
oped by education researchers. sions in K–12 are interested in adopt- aspect is improving the research base
At the same time, the computing ing curriculum in schools where you for computing education.
community sees a national urgency to can assess how it is improving student It isn’t enough to rely on general
reform K–12 computer science educa- learning. They are also interested in fo- education research. We need research
tion. As computing transforms society cusing resources on the “core” that stu- specific to computing—a form of do-
for the digital age, students need to be dents must know. Rigorous computing main-specific education research. Gen-
able to think computationally about courses, if they exist, aren’t typically in eral education research helps us un-
the world to succeed in life. How do stu- the “core.” This leads to a chicken-and- derstand (for example) how students
dents really learn rigorous computing egg problem for K–12 computer sci- learn and how schools best facilitate
concepts? We need research to tell us. ence, where you can’t really measure learning. Domain-specific education
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 35
viewpoints
research answers questions that are ers Association (CSTA) six years ago. Sweden (Uppsala University), and Fin-
unique to the domain. Mathemat- SIGCSE’s research conference, Inter- land (at University of Joensuu). These
ics education researchers help us de- national Computing Education Re- research programs are investments in
termine what preschoolers ought to search (ICER) Workshop, is only in its IT competitiveness in those countries.
know so they succeed later at multi- fifth year.
digit arithmetic (and how to remediate Being relatively new puts us at a dis- The State of Computing Education
missing skills early, before they impede advantage when seeking competitive Research Funding in the U.S.
students’ progress). Physics education funding. Imagine that you are seek- How about in the U.S.? Things are
researchers know why students have ing funding in a general education re- much more dismal, particularly for
trouble understanding velocity and ac- search program, in competition with the K–12 level. The National Science
celeration, and they have identified the proposals in mathematics education Foundation (NSF) is primarily respon-
visualizations and activities that can and science education. sible for funding education research,a
enhance learning. ˲˲ Which proposals have great evalu- which comes two directorates: Com-
Computing education research is ation plans that will demonstrate the puter and Information Sciences and
necessary for us to improve our teach- value for the investment? Mathemat- Engineering (CISE) and Education
ing of computer science. Researchers ics and science education can point and Human Resources (EHR). We ex-
in computing education can tell us to scores of reliable, valid measures of amine CISE first.
how students understand parallel al- learning that they can use. In comput- CISE has had two programs—CISE
gorithms, what kind of visualizations ing education, there is no reliable, valid Pathways to Revitalized Undergradu-
help with understanding data struc- measure of introductory learning that ate Computing Education (CPATH)
tures (and how to use them), and how isn’t tied to a specific programming and Broadening Participation in Com-
to measure understanding about com- language. Overall, there are few stan- puting (BPC)—with a focus on educa-
puting that goes beyond any single lan- dard measures of computing learning. tion. However, as of this writing CISE
guage. Computing education research- ˲˲ Which proposals will lead to more announced that it is combining these
ers help us understand why students students achieving learning objectives, programs into a broader program. This
do not pursue computing as a career, identified by standards at the state or new vision would look at the entire
and how to recruit, engage, and moti- national level? Such standards and ob- pipeline but with special focus in two
vate more (and more diverse) students. jectives exist for mathematics and sci- areas:
But we are the new kids on the ence, but rarely for computer science ˲˲ moving earlier into the pipeline
school block. The National Council of in the U.S. with specific engagements in middle/
Teachers of Mathematics was founded Some countries do fund research high school to bring computational
in 1920. The National Association for in computing education. There are thinking/computer science concepts
Research in Science Teaching started strong research programs in comput- into this space; and
in 1928. In comparison, ACM’s Spe- ing education in Israel (Technion and ˲˲ widening the program to be inclu-
cial Interest Group in CS Education Open University), England (at the Uni- sive for all populations, built around a
(SIGCSE) is only 40 years old, and ACM versity of Kent at Canterbury, for exam- theme that “computing is for everyone.”
started the Computer Science Teach- ple), Germany (Free University Berlin), It would also add a specific educa-
tion research component that would
Results of NSF “Fastlane” abstracts summary analysis. seek to build education research ca-
pacity at the university level and to pro-
vide a greater understanding of how
Program CS participation rate Number of CS hits Number of Proposals children come to understand comput-
ITEST 9% 18 202 ing concepts. No one knows exactly
Grad Teaching Fellows K–12 6% 20 316 what this new program will look like
Gender in Sci/Engineering 4% 8 187 until the solicitation comes out, which
Research and Evaluation on 3% 11 413 CISE is saying will happen in the sum-
Education in Science and mer of 2010. It is expected the new pro-
Engineering (REESE)
gram will be funded at about $20 mil-
DR K–12 2% 6 289
lion, which is similar to the combined
Robert Noyce* Teacher 1% 4 282
Scholarship Program
amount for CPATH and BPC.
Math and Science 0% 0 150
Partnerships (MSP)
a We did not do a detailed review of grants from
Total 4% 67 1839 the Department of Education’s research arm—
The Institute of Education Science—as this in-
* Noyce is not a research program; rather it is a program that prepares K–12 teachers in specific
stitute appears to be focused on general educa-
STEM disciplines. Computing may do poorly in this program because of serious teacher certification
tion research. A cursory review did not find any
issues for computer science teachers, which have been explored in a report by the Computer
Science Teachers Association: http://csta.acm.org/ComputerScienceTeacherCertification/sub/ grants focused specifically on computing re-
TeacherCertificationRequi.html search. Further, other programs run by the De-
partment of Education are primarily focused
on funding state and local education agencies
to put resources directly into the schools.
36 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
viewpoints
The results of the analysis appear in Working in an area without explicit Mark Guzdial (guzdial@cc.gatech.edu) is a professor
the table here. Of the 1,839 proposals funding programs is dangerous for an in the College of Computing at Georgia Institute of
Technology in Atlanta, GA.
funded across seven programs, only 67 untenured assistant professor at a re-
(4%) had an explicit computer science search institution. Copyright held by author.
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 37
V
viewpoints
Viewpoint
Can IT Lean
Against the Wind?
Lessons from the global financial crisis.
T
he September 2009 Communi-
cations Editor’s Letter “The
Financial Meltdown and
Computing” by Moshe Vardi
suggested a link between
the financial crisis of 2008 and com-
puting. He is correct to suggest this
connection. Information technology
(IT) has enabled ever-increased speed
and global reach for financial prod-
ucts. Financial institutions in the U.S.
and elsewhere have created and de-
ployed complex, structured financial
instruments. At the peak of the bull
market, the seemingly endless prom-
ise of fancy financial products drove
the markets to new heights. What
went wrong, and what role did IT play?
This column cannot provide all the
answers, but it offers some recent his-
tory and a lesson worth remembering. ter recovery systems located abroad the LSE systems to begin handling non-
took over from New York to handle all algorithmic trades properly.
The Role of IT in Financial Markets U.S. currency transactions, and clearing These examples prove that highly
Before the financial meltdown of late and settlement for U.S. currency was up complex, IT-based financial systems
2008 two important events provided and running. can be remarkably reliable. Problems
a glimpse into the role of IT in the fi- The second event was the London in key centers such as New York or Lon-
nancial markets. The first was the Sep- terrorist attack of July 7, 2005 that re- don were handled without global crisis.
tember 11, 2001 terrorist attack on sulted in a partial shutdown of the Lon- Backup systems on other continents
the World Trade Center. The attack don Stock Exchange (LSE). The LSE were brought online to prevent finan-
Photogra ph by Associat ed Press/Henry R ay Abra ms
destroyed a prominent symbol of Wall systems were unprepared to handle the cial disaster. In both cases, threats origi-
Street. It also destabilized the finan- flood of automatically generated trades nated from outside the system, and the
cial clearing and settlement systems of intended to contain losses to distribut- system responded well. The financial
major banks located nearby. Foreign ed financial institutions. The LSE there- meltdown of 2008 was due to threats in-
exchange settlements in U.S. currency fore asked member institutions to shut side the system. What we now call toxic
collapsed, which could have created a down their algorithmic “black box” trad- assets were in effect sleepers and Trojan
global financial calamity. However, in ing systems, and created instead a fast horses, embedded in the system by the
part because of remedies applied dur- market for non-binding, indicative pric- system’s participants. Intrusion detec-
ing the Y2K crisis, emergency back-up ing to make up the difference. Member tion systems could not alert the risk
systems in the IT infrastructure prevent- institutions complied, shutting down managers because there were no intru-
ed the worst. Within three hours, disas- their black box systems long enough for sions. IT people had never imagined
38 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
viewpoints
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 39
viewpoints
CACM_TACCESS_one-third_page_vertical:Layout 1 7/30/09 5:54 PM Page 1
40 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
V
viewpoints
Viewpoint
Is Mobile Email
Addiction Overlooked?
Studying the prevalence of mobile email addiction and
the associated possible implications for organizations.
H
e r e act s p romptly to every
sound from his BlackBerry.
He checks his BlackBerry
continuously, can’t even
think of missing a single
message, and responds aggressively
if you distract him. Once he tried to
get rid of his BlackBerry but could not
because he became depressed. His
family, friends, and the entire world
cease to exist when an email message
arrives. It looks like he lives only in or-
der to check and respond to his email.
Sounds familiar? We know a person
like this. Do you?
Over the past several years, tens of
millions of users have acquired Black-
Berry, iPhone, or other devices support-
ing email applications. In many cases,
users received these devices from their
organizations. A major driver of the
spread of mobile email is its ubiquity
and convenience—people may check
their email and respond from any-
where anytime. On the one hand, mo-
bile email helps employees connect Mobile email addiction is a form of preoccupation, which is no longer re-
with their organizations and increase non-substance addiction that involves stricted to one’s office but rather could
productivity. Employees can become excessive interaction with both a mo- be done anytime and from anywhere.
more aware of and responsive to orga- bile technology (mobile device) and the
nizational, customer, and peer needs. content (electronic communication) Symptoms
Indeed, organizational benefits result- under conditions of psychological de- Mobile email addiction may be mani-
ing from mobile email usage are unar- pendency. It can be viewed as a special fested through many symptoms. When
guable. On the other hand, some indi- type of a broader Internet addiction, using mobile email, an addicted per-
viduals may become addicted to mobile as the latter concept involves excessive son may notice the activity dominates
Photogra ph by gage young
email. Certainly, anecdotal evidence email messaging (but also other behav- his or her thoughts and behaviors, of-
supports the existence of mobile email iors such as excessive gaming and sexu- fers a thrill or relief, and it is difficult to
addiction; for example, the term “crack- al preoccupation).2 The ubiquitous na- control or quit this behavior. It conflicts
berry” was coined for describing the ad- ture of mobile email technologies can with other people or tasks, and causes
dictive nature of such technologies. facilitate and augment excessive email negative emotions when interrupted.
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 41
viewpoints
The symptoms of this addiction may North America. It is argued that the bor- net or video game addicts have made a
dramatically affect an addict’s well-be- der between technology addiction and personal decision to repeatedly engage
ing.5 First, social quality of life may be other mental issues is blurred because in a potentially dangerous pathologi-
compromised as people may complain 86% of identified Internet addiction cal behavior. In contrast, it is an orga-
about one’s preoccupation with mobile cases have some other mental disorders nization that in most cases provides
email. Some users may react negatively present.2 As a result, the current version mobile email technology, pays for it,
when others interrupt their email tasks of Diagnostic and Statistical Manual of and requires its usage even beyond
but later feel ashamed about their over- Mental Disorders (DSM-IV-TR), which regular business hours. Therefore, the
use of mobile email. Some prefer work- includes the formal list of mental dis- behavior in question in organizational
ing with their mobile email rather than orders that is used by American psy- settings can be facilitated and encour-
interacting with family and friends, chologists and psychiatrists, does not aged by an authoritative third party
even in intimate situations. Second, recognize any types of technology addic- rather than by the users. As a result,
the addicts’ family relationships may tions. Despite being lobbied by doctors, addicts may hold organizations legally
be affected when they neglect family academics, and research centers, the responsible, and companies may face
and home duties. Third, mobile email American Medical Association chose potential liability issues.9 For a court to
can become a “mental safe haven” for not to consider video game addiction recognize damages resulting from an
escaping from daily realities. Individu- and Internet addiction serious medical excessive use of mobile email, five cat-
als may keep themselves busy with mo- disorders.7 First, many believe the term egories must be established:
bile email to avoid doing other more addiction may be used with respect to ˲˲ Duty—whether an organization
mundane tasks. chemical substances only. Second, an owes a duty to a person who became
established definition, set of symptoms, addicted. On the one hand, the ad-
Perspectives and diagnosis criteria are missing. For diction may be self-inflicted when the
There are two conflicting points of example, the description of the Internet individual voluntarily engaged in tech-
view on the addictive nature of con- addiction disorder was based on patho- nology overuse. On the other hand, the
temporary technologies. The pro- logical gambling documented in DSM, addict may argue that the organization
ponents of this so-called addiction and critics say most of the technology owed the addict a duty to prevent the
suggest that some users could dem- overuse criteria may be found under the addictive nature that was facilitated,
onstrate problematic usage behaviors existing DSM categories, such as obses- required, and encouraged by the orga-
that may be considered pathological sion, compulsion, impulse control, de- nization. The standard of duty the or-
and require treatment—hence tech- pression, or anxiety. Thus, it is unlikely ganization owes the employees must
nology addiction is a psychiatric dis- that such addictions will appear in also be determined.
order that merits research, legisla- DSM-V that is tentatively scheduled for ˲˲ Breach of Duty—whether an orga-
tion, and formalization. Over the past publication in 2012. nization deviates from the standard of
decade, a number of terms, such as care that a responsible employer would
Internet addiction disorder, computer Effects follow. For example, if the usage of
addiction, technology addiction, virtu- From a Communications reader per- mobile email beyond regular working
al society addiction, pathological use, spective, however, the mobile email hours has become an irrevocable part
and problematic use were coined.11 In (so-called) addiction phenomenon de- of organizational culture, the employer
support of this argument, it has been serves special attention, because it may had encouraged this practice, and did
shown that technology addiction goes have negative consequences for users, nothing to prevent potential addiction;
beyond the notion of mere overuse4 their families, and their organizations. a reasonable argument can be made in
or high engagement.3 It has also been Moreover, mobile email addiction is the courtroom.
demonstrated that these problematic distinct from most other types of tech- ˲˲ Proximate Cause—whether mobile
usage behaviors may lead to a range nology addictions. For example, Inter- email addiction and its symptoms re-
of negative consequences including sulted from system overuse for work-
depression, mood alteration, loneli- related purposes. In other words, a
ness, isolation, and reduced impulse The ubiquitous clear causal link between mobile email
control; many experience work, fam- usage and negative consequences must
ily, social, interpersonal, health, and nature of mobile be established.
financial problems. email technologies ˲˲ Actual Cause—the employee must
The opponents of the technology establish that but for the organization
addiction concept argue that the afore- can facilitate and requiring the use of mobile email, the
mentioned claims are unwarranted, augment excessive employee would not be addicted.
˲˲ Damages—whether the mobile
that problematic use of technology ex-
ists only in very narrow contexts, such email preoccupation. email addict suffered from substantial
as gambling and emailing, and that physical or psychological damages. For
technology overuse is a result of other instance, an employee may claim that
preexisting mental disorders (such as his or her addiction behavior caused
reduced impulse control).10 As it stands, serious marital problems such as di-
this is the prevalent medical view in vorce. In fact, it is the family members
42 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
viewpoints
of mobile email users who mostly com- may be considered more prevalent
plain about the issue. than other technology addictions if we
There is no clear evidence to con- Mobile email follow the liberal criteria scenario. Nev-
clude whether organizations should addiction may be ertheless, because different measures
be liable when their employees devel- were used with different populations
op mobile email addiction and suffer considered more and with different addiction-cutoff val-
from related symptoms. As the society prevalent than other ues, we cannot firmly conclude whether
and social norms change, so do the the ubiquity of mobile email increases
laws. Currently, a number of Black- technology addictions its addictiveness compared to that of
Berry addicts have already filed law- if we follow the liberal other technologies, such as the Inter-
suits against their employers; in some net. This important distinction war-
cases, organizations decided to settle criteria standard. rants future studies.
out of court to avoid negative public- Given the empirically demonstrat-
ity.6 Employers, therefore, should be ed potential pervasiveness of mobile
prepared for various scenarios. email addiction, and extrapolating
In addition to legal issues, mobile from existing frameworks for prevent-
email addiction may potentially have ing Internet abuse and overuse1—it is
other negative consequences for orga- eral times a month. In this case, only suggested that organizations employ-
nizations. It is reasonable to assume 6.2% of the sample may be classified as ing mobile email monitor the extent to
that employees who are addicted to pathologically addicted. Under a more which their employees utilize this tech-
their mobile email suffer from mood al- liberal scenario, in which at least three nology for early detection of addiction,
terations, feelings of work overload, and symptoms are needed with a moder- control the usage as necessary (limit
negative effects on their familial lives. ate frequency of at least once a month, usage hours), educate employees and
Thus, they may be likely to feel less sat- 17.4% of the sample may be considered managers about addiction risks when
isfied with their jobs, and ultimately vol- addicted. These results demonstrate distributing mobile email devices, and
untarily leave their organizations. But that some individuals, between 6% and develop appropriate policies for miti-
how prevalent is the mobile email ad- 17%, may meet mobile email addiction gating future legal risks.
diction phenomenon? To what extent is criteria. Furthermore, a correlation of
this addiction associated with voluntary 0.15 (significant at p<0.05) between the References
turnover intentions (intentions to look addiction scores and turnover inten- 1. Anandarajan, M. and Simmers, C.A. Managing Web
Usage in the Workplace: A Social, Ethical and Legal
for a job at a different company)? tions was observed. Perspective. IRM Press Hershey, PA, 2003.
To explore these issues, we sur- Taken together, these results dem- 2. Block, J.J. Issues for DSM-V: Internet addiction.
American Journal of Psychiatry 165, 3 (Mar. 2008),
veyed 241 current mobile email users onstrate that mobile email addiction 306–307.
3. Charlton, J.P. and Danforth, I.D.W. Distinguishing
from three North American organiza- may be a fairly common phenomenon, addiction and high engagement in the context of online
tions. The questionnaire asked users and that it can be associated with nega- game playing. Computers In Human Behavior 23, 3
(Mar. 2007), 1531–1548.
19 questions about the frequency in tive organizational consequences such 4. Davis, R.A. A cognitive-behavioral model of
which they incur six technology ad- as turnover. Should we be concerned? pathological Internet use. Computers in Human
Behavior 17, 2 (Feb. 2001), 187–195.
diction symptoms (based on the In- These percentages can translate into 5. Ferraro, G., Caci, B., D’Amico, A., and DiBlasi, M.
ternet Addiction Disorder Scale5,11), millions of users who present worri- Internet addiction disorder: An Italian study.
Cyberpsychology & Behavior 10, 2 (Feb. 2007),
and four questions that measured some levels of mobile email addiction 170–175.
turnover intentions. The included disorder, or for those who oppose the 6. Goodchild, S. and Hodgson, M. CrackBerry addicts:
Why the workers who can’t switch off are suing their
symptoms were: compromised social technology addiction concept, high employers. The Independent; http://www.independent.
quality of life due to overuse of mobile levels of mere technology overuse. co.uk
7. Grohol, J.M. Video games no addiction for now
email, compromised individual qual- It is interesting to see how mobile PsychOnline; http://www.psychcentral.com
ity of life, compensatory usage (using email addiction compares to other 8. Hur, M.H. Demographic, habitual, and socioeconomic
determinants of Internet addiction disorder: An
mobile email instead of doing other technology addictions. Particularly, empirical study of Korean teenagers. Cyberpsychology
things that need to be done), compro- does the ubiquity of mobile email & Behavior 9, 5 (May 2006), 514–525.
9. Kakabadse, N., Porter, G. and Vance, D. Addicted to
mised career, compromised time con- make it more addictive? While there technology. Business Strategy Review 18, 4 (Apr.
2007), 81–85.
trol (using mobile email longer than are no known comparable samples for 10. Yellowlees, P.M. and Marks, S. Problematic Internet
intended), and excitatory usage of mo- which we have technology addiction use or Internet addiction? Computers in Human
Behavior 23, 3 (Mar. 2007), 1447–1453.
bile email (such as blocking disturbing scores, it has been reported that 13.7% 11. Young, K.S. Caught in the Net: How to Recognize the
thoughts with thoughts about mobile of Chinese adolescent Internet users Signs of Internet Addiction—And a Winning Strategy
for Recovery. Wiley, New York, 1998.
email). Reported frequencies ranged meet addiction criteria,2 and that 7.5%
from once a year or less to every day. of a sample of teenagers has been diag-
Ofir Turel (oturel@fullerton.edu) is an associate professor
In order to assess the levels of ad- nosed with severe psychological depen- of Information Systems and Decision Sciences at
diction, two scenarios were developed. dency on the Internet.8 The percentage California State University, Fullerton.
Under the conservative scenario, it of mobile email addicts in our sample Alexander Serenko (aserenko@lakeheadu.ca) is an
was assumed that at least four out of is in line with technology addiction lev- associate professor of MIS at Lakehead University in
Ontario, Canada.
the six symptoms should be reported els reported in the studies mentioned
with a high frequency of at least sev- here. In fact, mobile email addiction Copyright held by author.
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 43
ACM Europe Council
Serving the European Computing Science Community
ACM announces the ACM Europe Council: Holding high-quality ACM conferences in Europe
16 leading European computer scientists from Expanding ACM chapters
academia and industry to spearhead expansion of Strong co-operation with other European
ACM's high-quality technical activities, conferences scientific societies in computing
and services in Europe.
“Our goal is to share ACM’s vast array ACM – World’s Largest Educational
of valued resources and services on and Scientific Computing Society
-
a global scale. We want to discover
the work and welcome the talent Since 50 years, ACM strengthens the computing
from all corners of the computing profession’s collective voice through strong leader-
arena so that we are better posi- ship, promotion of the highest standards, and
tioned to appreciate the key issues recognition of technical excellence. ACM supports
and challenges within Europe’s aca- the professional growth of its members by provid-
demic, research, and professional ing opportunities for life-long learning, career
computing communities, and development, and professional networking.
respond accordingly,” says
Professor Dame Wendy Hall, Fabrizio Gagliardi, ACM
U. of Southampton (UK), Europe Chair and Director of
ACM President. External Research Programs,
Microsoft Research Europe says,
“By strengthening ACM’s ties in the
Supporting the European Computing region and raising awareness of its
Community many benefits and resources with
the public and European decision-
ACM Europe aims to strengthen the European makers, we can play an active role
computing community at large, through its in the critical technical, educational,
members, chapters, sponsored conferences and and social issues that surround the
symposia. Together with other scientific societies, computing community.”
it helps make the public and decision makers
aware of technical, educational, and social issues
related to computing. ACM is present in Europe with 15 000 members
and 41 chapters. 23 ACM Turing Awards and other
major ACM awards have gone to individuals in
A European Perspective Within ACM Europe. 215 Europeans received an Advanced
The ACM Europe Council brings a unique European Membership Grade since 2004.
perspective inside ACM and helps increase visibil- The ACM Europe Council represents European
ity of ACM across Europe, through: computer scientists. Contact us at:
Participation of Europeans throughout ACM acmeurope@acm.org or http://europe.acm.org/
Representation of European work in ACM
Awards and Advanced Membership Grades
http://europe.acm.org
V
viewpoints
S
ome of the science and
technology museums
around the world are de-
voted to science discov-
ery—to teaching their
visitors, especially children, about the
principles of science and technology.
Other science and technology muse-
ums are more focused on the history
and cultural significance of particular
scientific discoveries and technological
inventions. Some museums include a
blend of the two functions.
This is the second installment of a
two-part Communications series featur-
ing five of world’s greatest computing
museums. These museums have been
chosen for their contributions to the
history and culture mission, though
most of them have some elements of
the science discovery mission as well.
There are perhaps hundreds of small A selection of the U.S. National Museum of American History PC collection.
and not-so-small museums around the
photogra ph courtesy of th e U.S . Nationa l m useum of a m erica n h isto ry
world either devoted entirely to com- man labor in preparation: designing the The museums featured in this col-
puting or at least having significant exhibit, selecting and securing the arti- umn are the Science Museum in Lon-
computing exhibits. The museums facts, and giving them the right inter- don, the Deutches Museum in Munich,
highlighted in this series have been se- pretation. This work has been carried and the U.S. National Museum of Amer-
lected because of the large size of their out by some of the best historians of sci- ican History in Washington, D.C. (The
exhibits, the importance and quality of ence and technology, who work in these first part of series appeared in the Janu-
the artifacts shown, and the quality of museums collecting artifacts and the ary 2010 issue.) We hope you enjoy the
their interpretations. associated information and documen- accounts of these museums and that
An exhibit is not simply a collec- tation about them, answering queries these stories will whet your appetite to
tion of artifacts; it includes signage from all kinds of people about their col- explore the museums’ Web sites and to
and other accompanying information lections and about the science and its visit the museums in person.
(films, lectures, guided tours) that help history, undertaking scholarly research,
to interpret the artifacts and set them in preparing educational materials, and William Aspray (bill@ischool.utexas.edu) is Bill and
Lewis Suit Professor of Information Technologies at
context. Each of the exhibits described doing much more. The exhibits are only the University of Texas, Austin and a Communications
in this series is the result of years of hu- one facet of what these museums do. Viewpoints section board member.
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 45
viewpoints
46 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
viewpoints
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 47
viewpoints
48 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
viewpoints
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 49
practice
doi:10.1145/1735223.1735240
Enhanced
Debugging
with Traces
to run old programs is a
C r e at i ng a n e mul ato r The debugger of the host system
can be used for the target (emulated)
difficult task. You need a thorough understanding system by setting a breakpoint in the
of the target hardware and the correct functioning CPU do-instruction loop and ex-
amining the variables that hold the
of the original programs that the emulator is to contents of the emulated CPU regis-
execute. In addition to being functionally correct, ters and main memory. This works for
the emulator must hit a performance target of small and easily localized problems
such as failures in the self-test or ini-
running the programs at their original real-time tialization code but is not of much use
speed. Reaching these goals inevitably requires a for problems that happen at a later
stage in the execution. At that point
considerable amount of debugging. The bugs— the organization of the program is not
which for players of old arcade games are a vital apparent. No debug symbol or source
part of recreating the original experience—are often code is available to allow a high-level
approach to the problem. More pow-
subtle errors in the emulator itself but could also erful techniques are required and are
be a misunderstanding of the target hardware or an built into the emulator itself.
Obviously there is enormous vari-
actual known bug in the original program. (It is also
illustration by studio tonne
50 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
the video output of the target, shown calculation occurred. The debugger, find the resolution.
in the accompanying figure. In this ex- however, shows us only the current What if, as is more likely the case,
ample a sprite’s location is definitely state of the machine. If it is possible at you don’t have a reference trace? You
incorrect. The top sprite is offset from all, reconstructing the event chain will still know the ultimate source of the
being in the expected column and is involve a lot of detective work. error is when the incorrect X value 13 is
at 13,11 instead of 24,11. We know the placed into memory location 0xc000.
aliens always attack in columns, so Traces to the Rescue You can search the trace file to find
something is wrong with the emula- There may be an easy shortcut to solv- cases when this value is written (for
tor. A pair of values in the emulator’s ing the problem. If you are trying to example, search the BUS column for
memory state determines the sprite’s create a faster emulator from an exist- C000w0d). At this point you will see the
position. This address would, in fact, ing one that is known to work, then incorrect value coming from a register,
be the location of a video hardware you can use the correct emulator to and looking just a few trace lines back,
register that directly determines the debug the incorrect one. The correct you will identify the address of the in-
displayed position. You can use the emulator can be modified to create a correct value in the shadow[] memo-
platform debugger to confirm the reg- trace of input and CPU state, and the ry (the “Screen Image Chain” sidebar
ister values are, in fact, 13,11. Unfor- target emulator can read this trace file shows the path followed).
tunately, even if you know the values (see the accompanying sidebar “An Ex- At this point you can apply the
are wrong, finding the actual error is ample 6502 Trace”). The input values same steps with the (now) known ad-
not easy. are used instead of real input (joystick dress of the shadow memory to find
The incorrect register values are the positions). After each do-instruc- the point in the trace where the sprite
end of a chain of earlier calculations tion call, the current machine state struct is modified. As you keep tracing
(see the accompanying sidebar “Screen is matched with the trace, and execu- backward, you will find either more
Image Chain”). Finding the error in- tion is halted on divergence. At this memory locations to trace or sections
volves working backward through the point you can use the host debugger of code that can be hand-verified to
causal sequence to find where the mis- to examine the problem in detail and find the offending emulation error. It
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 51
practice
52 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
practice
fact, a virtual entity. The capability al- and discover that the simplified refer-
Display position (13,11) ready exists to snapshot a process’s ence implementation is a satisfactory
correct position (24,11) execution state (Unix’s venerable core solution.) Writing a reference might
dump). With some additional operat- seem to involve as much effort as the
ing-system support, it is quite feasible production version, but there are al-
to take these snapshot states and re- ways requirements that do not change
store them as real processes that can the functional output. For example,
continue their execution. the production code may require a
Indeed, the entire machine being lookup table to be persistent, whereas
used may be virtual. Products such as the reference can use a simpler in-
VMware and Parallels routinely oper- memory hash table.
ate with machine-state snapshots that
include the entire state of user mode, conclusion
kernel mode, device drivers, and even Adding snapshots, tracing, and play-
hard-disk drives. back to existing debugging environ-
ments would significantly reduce the
higher-Level traces time required to find and correct stub-
Tracing memory accesses is helpful born bugs. Low-level code is seeing
for programs such as assembler or some progress in this area; for some
C. Memory and CPU transfers corre- platforms, gdb has recently been
spond easily with actual source code, given the ability to reverse execution.
a sprite misplaced. but it is more common to be working Since CPU operations are not revers-
with languages a step removed from ible, this means there are now ways
these traces isn’t immediately appar- the machine where the C code is an of capturing trace information for
ent. Unlike the emulator, you do not interpreter of the actual language in compiled programs. If the addition of
control the (hardware) implementa- use. In this case the low-level action of saving and reloading snapshots were
tion of the microprocessor running the code does not easily map to recog- added, gdb could become a traceable
your software. nizable actions in the interpreted lan- debugger.
One may object that such verbose guage. Detailed CPU state traces are ex-
logging is not particularly feasible for The use of I/O is also more compli- tremely helpful in optimizing and de-
real programs. Although hard-drive cated in modern systems. Programs do bugging emulators, but the technique
storage continues to decrease in cost, not read and write directly to hardware can be applied to ordinary programs
I/O bandwidth does have limits. If I/O locations. Instead, device interac- as well. The method may be applied al-
storage is truly limited, there are a few tion is mediated through the operat- most directly if a reference implemen-
other approaches. For example, the ing system. tation is available for comparison. If
traces between snapshots could be Tracing can be applied to these this is not the case, traces are still use-
stored only in RAM and not written to higher-level programs in an obvious ful for debugging nonlocal problems.
the log file. Traces could be recreated fashion: change the trace to record The extra work of adding tracing facil-
as necessary (by rerunning the target higher-level events. The exact events to ities to your program will be rewarded
from a given state). Alternatively, only capture would depend on the kind of in reduced debugging time.
the most recent trace could be stored program. A GUI program may need to
in main memory, providing quick ac- capture mouse, keyboard, and window
cess to scanning the trace if necessary. events. A program that manipulates
Related articles
The complete immutability of our files would capture open/close and on queue.acm.org
CPU implementation is an elaborate read/write operations. Code built on
no Source Code? no Problem!
illusion in many cases. All Java (and top of a database might log SQL state-
Peter Phillips and George Phillips
.NET) programs are actually running ments and results. http://queue.acm.org/detail.cfm?id=945155
on virtual CPUs. Modifying these vir- A good trace differs from a simple
Debugging AJAX in Production
tual machines to record trace informa- log of events. The trace must provide Eric Schrock
tion and state snapshots is conceiv- enough information that the correct- http://queue.acm.org/detail.cfm?id=1515745
able—no hardware would have to be ness of execution can be verified using Debugging in an Asynchronous World
changed. It is merely a matter of con- only the trace. It should be possible to Michael Donat
vincing the owners of the virtual ma- construct a reference implementation http://queue.acm.org/detail.cfm?id=945134
chine implementations to make the that can read the trace and automati-
necessary changes. cally verify that the correct decisions
Peter Phillips received a bachelor’s degree in computer
Even native executables are a step are made. Experience with emulators science from the university of british columbia. he has
removed from the real hardware. All suggests you might first code the ref- 15 years of experience in software development and has
spent the past 10 years of that working on console games.
modern operating systems enforce a erence implementation and use it to
separation between user and kernel verify the production code. (You may
modes of execution. A process is, in avoid the premature optimization trap © 2010 acm 0001-0782/10/0500 $10.00
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 53
practice
doi:10.1145/1735223.1735241
the server clock to correct its own clock.
Article development led by
queue.acm.org
As the NTP clock software, in particular
the ntpd daemon, comes packaged
with all major computer operating
The key to synchronizing clocks over systems, including Mac OS, Windows,
networks is taming delay variability. and Linux, it is a remarkably successful
technology with a user base on the or-
by Julien Ridoux and Darryl Veitch der of the global computer population.
Although the NTP system has oper-
Principles
ated well for general-purpose use for
many years, both its accuracy and ro-
bustness are below what is achievable
given the underlying hardware, and are
of Robust
inadequate for future challenges. One
area where this is true is the telecom-
munications industry, which is busy
replacing mobile base-station synchro-
Timing over
nous backhaul systems (which used to
provide sub-microsecond hardware-
based synchronization as a by-prod-
uct) with inexpensive asynchronous
Ethernet lines. Another is high-speed
the Internet
trading in the finance industry, where
a direct relationship exists between re-
ducing latencies between exchanges
and trading centers, and the ability to
exploit these for profit. Here accurate
transaction timestamps are crucial.
More generally, timing is of funda-
mental importance because, since the
speed of light is finite, the latencies
between network nodes are subject to
hard constraints that will not be de-
feated by tomorrow’s faster processors
or bandwidth increases. What cannot
be circumvented must be tightly man-
Eve ryone, a n d mo s t everything, needs a clock, and aged, and this is impossible without
precise synchronization.
computers are no exception. However, clocks tend to
ultimately drift off, so it is necessary to bring them to The Clockwork
When the discussion turns to clocks,
heel periodically through synchronizing to some other confusion is often not far behind. To
reference clock of higher accuracy. An inexpensive and avoid becoming lost in the clockwork,
convenient way to do this is over a computer network. let’s define some terms. By t we mean
true time measured in seconds in a
Since the early days of the Internet, a system Newtonian universe, with the origin at
collectively known as NTP (Network Time Protocol) some arbitrary time point. We say that
a clock C reads C(t) at true time t. Fig-
has been used to allow client computers, such as PCs, ure 1 shows what some example clocks
to connect to other computers (NTP servers) that have read as (true) time goes on. The black
high-quality clocks installed in them. Through an clock Cp(t) is perfect: Cp(t) = t, whereas
the blue clock Cs(t) = C0 + (1 + x)t is out
exchange of packet timestamps transported in NTP- by C0 when t = 0. In fact it keeps getting
formatted packets over the network, the PC can use worse as it runs at a constant but overly
54 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
practice
fast rate, the rate error being the skew C(t) = C0(t) + p(t) · HPET(t) requires GPS to avoid drift on weekly
x. The red clock Cd(t) = t + E(t) is more timescales and beyond. In contrast,
realistic, its error E(t) varies with time, where p(t) is the (slowly time varying) synchronizing over the network can be
and the clock is said to drift. Far from period in seconds of the HPET coun- done with no lead time, no dollars, and
aimless, drift is in fact very closely re- ter. The role of the clock synchroniza- not much effort.
lated to temperature changes. Figure 6 tion algorithm is to set and regularly
(discussed later in greater detail) gives update the values of C0 and p(t) to re- The Key Challenge:
a close-up view of the drift E(t) (black duce the drift, or error E(t) = C(t) – t, as Delay Variability
curve) for an unsynchronized clock in much as possible. Clock synchronization is trivial in prin-
a Pentium PC over a two-day period. Enter the Internet. The sync algo- ciple. You ask the expert what the time
At the heart of every clock is hard- rithm has no way of correcting the drift is, he looks at his clock, tells you, and
ware. In PCs this is an oscillator found of C(t), inherited from the counter, you set your watch. Simple. The prob-
on the motherboard. The oscillator without calling on some independent lem is that each of these steps takes
“ticks” at a nearly constant rate—in expert: a reference timing source, or time, and on the Internet, these de-
fact typically varying on average by master. Attaching extra hardware is lays can be large, unpredictable, and
Photogra ph by sergei ya hc hybekov/g ett y im ages
only 0.1 ppm (parts per million). Hard- possible but expensive, and is point- highly variable. The key challenge—
ware counters such as the HPET (High less unless it is reliable. A good-quality almost the only one—for a synchroni-
Performance Event Timer) count these GPS with consistently good satellite zation algorithm, is to be able to cope
ticks, giving the operating system ac- visibility can cost many thousands of with these variations, to robustly and
cess to a slowly drifting source of tim- dollars by the time you have persuaded precisely negate the errors caused by
ing. From such a counter, a clock can the building supervisor to mount it on delay variability.
be defined that, roughly speaking, the roof and run a cable to your office. The delays suffered by timing pack-
converts counter tick units into sec- Oh, and it will take you six months to ets are generated in both the host com-
onds and adds a constant to set the make it happen—minimum. An atom- puter and the network (and the server,
time origin: ic clock is even more expensive and still but we will be generous and assume a
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 55
practice
perfect reference clock). In the host, de- when network congestion is high and ˲˲ Define a universally comparable
lays arise from the NIC (network inter- the server more than a few hops away. and triggerable event label, the “time
face card) behavior, operating-system In a bidirectional synchronization of day.”
process scheduling, and the architec- paradigm, which we focus on here (the A perfect clock is ideally suited for
ture of the packet timestamping code, alternative is to broadcast from the serv- each of these purposes, but in the real
and are on the order of several tens of er only), timing packets are exchanged world, hardware and software limita-
microseconds. In the network, they are in both directions (see Figure 2). The tions mean that the best performance
caused by queuing in network elements OWD (one-way delay) in both the for- is achieved by specialist clocks. The
such as IP routers and Layer 2 switches, ward (host to server: d�) and backward need to choose the right clock for the
and vary from a large fraction of a mil- (server to host: d¯) directions have their job is crucial and is not widely under-
lisecond over a Gigabit Ethernet LAN own separate host and network compo- stood.
to possibly hundreds of milliseconds nents. Adding the OWDs in each direc- When one thinks of a clock, it is the
tion yields the host®server®host RTT third use that typically comes to mind:
Figure 1. The time according to some
(round-trip time). a clock that tells the absolute time. Syn-
simple clocks as a function of true time.
Figure 3 provides an example of the chronizing such a clock, however, is
RTTs for timing packets when both the inherently difficult in the face of delay
host and server are on a LAN, as well variability. As a result, the accuracy of
Clock Time
Constant
Skew Clock
Perfect Clock
as the host component by itself. Each an absolute clock Ca(t) can be low, high-
Drifting Clock varies well above its minimum value, ly variable over time, and a slave to net-
Cs (tk) Constant
Offset Clock
which translates to the addition of a work conditions. Absolute clocks must
large “noise” that the sync algorithm also support the ability to be jump-re-
Cd (tk)
must somehow see through. set, including backward. Though this
may be rare, it makes them less than
Cp (tk)
The Right Clock for the Job ideal for use 1.
The three main uses of a clock are to: A better choice for establishing
Co (tk) ˲˲ Establish a strict order between temporal order is a well-behaved raw
tk True Time
events, counter such as HPET(t), which in-
˲˲ Measure time durations between creases monotonically. Equivalently,
events, and one can scale such a counter to form a
simple causal clock calibrated in sec-
Figure 2. Bidirectional exchange of timing packets between host and server. A symmetric
onds: Cc(t) = p0·HPET(t) where p0 is a
route would have A = d ≠ – dØ = 0, but that is not the case here. The RTT is r = d ≠ + dØ.
constant that is never updated. Such
a clock tells the wrong time and drifts,
d� d¯
Server but does an excellent job of use 1 and
is completely independent of network
conditions, in fact not requiring server
Network
timestamps at all!
The errors of an absolute clock Ca(t)
also make it unsuitable for use 2. This
Host is best seen through an example: if a
time
counter has a rate error of 0.1 ppm (this
r is quite typical in a PC under reason-
able temperature environments), then
over a one-second interval the drift
Figure 3. The RTT of timing packets over a congested LAN, and the host component separated out. Each component can be modeled
as a minimum value plus a positive noise.
RTT
Host RTT
800
RTT [ms]
600
400
200
0
3 6 9 12 15 18 21 24 27 30 33 36 39 42
Hours
56 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
practice
Figure 4. In-kernel measurement of the one-second gap between pulses from a GPS receiver using a RADclock difference and RADclock
absolute clock. Here the polling period to the server is 256 seconds. A single point per period is shown corresponding to the worst absolute
error over the period.
Absolute Clock
Difference Clock
100
Clock Error [ m s]
50
−50
−100
9 12 15 18 21 24 27 30 33 36 39
Hours
amounts to an error of only 10–7 · 1 = 0.1 ence clock is so good at the one-sec- fed back into the next round of inputs.
µs. On the other hand, errors in Ca(t), ond scale that it is a serious challenge In other words, the raw timestamps
and hence in the duration measure- to measure its error! are independent of clock state. One
ment, could be anything from several A final crucial point: a difference could say that the hardware reality is
µs to several ms to larger than a second clock works by strategically ignoring kept in direct view rather than seeing it
in extreme cases, depending on factors drift, but over longer durations the re- through algorithmic glasses.
such as network congestion and algo- sulting error grows, and so the differ- The NTP synchronization algorithm
rithm robustness. ence clock loses accuracy. A good rule of is a feedback design. It uses a combi-
A better choice for the purpose of thumb is that the crossover occurs at nation of PLL (phase-locked loop) and
measuring time differences is to use a t = 1,000 seconds. Above this scale du- FLL (frequency locked loop) approach-
difference clock—that is, one that is not rations should instead be calculated es to lock onto the rhythm of the server
corrected for drift. A simple example is: using an absolute clock. This crossover clock.2 An example of a feed-forward
value can be calculated by finding the design is that of the RADclock, a bidi-
Cd(t) = C0 + pav · HPET(t) minimum in an Allan Deviation plot, rectional, minimum RTT-filtered, feed-
which measures oscillator stability (vari- forward-based absolute and difference
where C0 is a constant (never updated), ability as a function of timescale). synchronization algorithm, that lies at
and pav is an estimate of long-term av- the heart of our RADclock project at the
erage rate, which we can think of as Time to Paradigm: University of Melbourne.4
a constant (we are simplifying here Feedback or Feed-Forward? The feedback approach has two sig-
slightly for clarity; see Veitch et al.4 for Consider the following approach to nificant disadvantages in the context of
details). Such a clock tells only approxi- synchronizing an absolute clock Ca(t). the Internet, where the delays are large
mately the right time and drifts, but Timing packets are timestamped in and highly variable, and the feedback
does an excellent job of use 2 provided the host using Ca. These timestamps rate is low (the period between timing
that pav can be robustly and accurately are compared with those taken by the packets is typically between 64 and
estimated (which it can). It is reliant on server, and an assessment is made of 1,024 seconds, since, for scalability,
server timestamps, but in a much less the clock error. The rate of Ca is then we cannot saturate the network with
sensitive and more robust way than slightly adjusted to bring that error to timing packets). The first disadvantage
Ca(t), as it takes direct advantage of the zero over time. This is an example of a is that stability of classical control ap-
high stability (rate constant up to 0.1 feedback approach, because the previ- proaches such as PLL and FLL cannot
ppm) of the local hardware. ous round of clock corrections feeds di- be guaranteed. In other words, they can
Figure 4 compares the error in the rectly back as inputs to the algorithm, lose their lock if conditions aren’t nice
time between pulses entering the se- because it is the clock Ca itself that is enough, resulting in shifts to high-error
rial port of a PC from a GPS receiver used to generate the host timestamps. modes that may last for long periods or
(nominally precisely one second apart) An alternative is to use the underly- even be permanent. Figure 5 gives an
as measured by both an accurate abso- ing counter to make raw packet time- example of this, comparing the errors
lute clock and an accurate difference stamps (that is, counter readings) in in ntpd and the absolute RADclock
clock. They are orders of magnitude the host. The clock error is then esti- (sharing exactly the same timing pack-
different, even though the server was mated based on these and the server ets to a server on an uncongested LAN)
close by (minimum RTT of around timestamps, and “subtracted out” over two weeks. The feedback stability
1ms). In fact, the operating system/se- when the clock is read. This is a feed- of ntpd is lost on a number of occa-
rial port adds a noise of around 2 µs to forward approach, since errors are sions, resulting in larger errors.
these measurements and so actually corrected based on post-processing The second disadvantage is that
swamps the error in Cd(t): the differ- outputs, and these are not themselves difference clocks cannot even be de-
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 57
practice
fined in a feedback framework, so we of the ntpd-oriented nature of the The Forgotten Challenge
lose their benefits, which include not existing system clock synchroniza- Before continuing, we should point
only much higher accuracy, but also tion architecture is that the feedback out an annoying truth: synchronization
far higher robustness. It is worth not- loop encourages a separation of the over networks is actually impossible. To
ing that in networking, time differ- algorithm “intelligence” between user understand this, let’s reduce the prob-
ences are arguably more commonly space and the kernel. The ntpd dae- lem to its essence by assuming zero
used than absolute times. Delay jitter, mon operates in the former, but the network congestion and system load,
RTTs, inter-arrival times, and code ex- system clock has its own adaptive pro- so that all delays take their constant,
ecution times are all examples of time cedures that are, in effect, a secondary minimal values.
differences that are best measured synchronization system. Two feed- Let A = d� – d¯ denote the true path
with a difference clock. back systems linked via a feedback asymmetry, where d� and d¯ are the
One disadvantage of a feed-forward loop are difficult to keep stable, main- true minimum one-way delays to and
approach is that it does not in itself tain, and even understand. In con- from the server, respectively; and let r
guarantee that the clock never moves trast, by making raw counter values = d� + d¯ be the minimal RTT (see Fig-
backward; however, a causality enforc- accessible from user space, feed-for- ure 2). The problem is the existence of
ing clock-read function can fix this with- ward algorithms can avoid the second- a fundamental ambiguity because path
out compromising the core design. ary system altogether and concentrate asymmetry cannot be measured inde-
the algorithm intelligence and design pendently of clock error. The essence
A Question of Support in a single, well-defined place. The di- of this is the following: if I receive a
The NTP system is the incumbent, sup- vision of labor is then clean: the syn- timestamp T from the server at t = 1.1
ported by all major operating systems. chronization algorithm is in charge of reading T = 1, I cannot tell if I am per-
Let us look at some kernel support is- synchronization; the kernel handles fectly synchronized to a server d¯= 0.1
sues, focusing on FreeBSD and Linux. the timestamping. seconds away or, alternatively, if I am 1
The system clock maintained by the Note that, exactly as in the causal second behind true time (packet actu-
kernel (which supplies the well-known clock Cc(t), a counter can be scaled by a ally arrived at t = 2.1) and the server is
gettimeofday() function call), and constant so that it reads in more conve- 1.1 seconds away.
the kernel support for algorithms to nient and universal units, and this will The asymmetry ambiguity cannot
discipline it, have historically been, not affect the feed-forward algorithm’s be circumvented, even in principle, by
and remain, closely tied to the needs ability to synchronize based on it. Li- any algorithm. There is, however, some
of the ntpd daemon. In particular, nux’s CLOCK _ MONOTONIC _ RAW, for good news. First, this is a problem that
the counter abstractions (timecoun- example, provides such a scaled coun- plagues absolute clocks only; differ-
ter in FreeBSD and clocksource ter, which ticks in (approximate and ence clocks are unaffected. Second,
in Linux), which give processes access drifting) nanoseconds. bidirectional exchanges allow con-
to different hardware counters avail- Currently, the RADclock gets around straints flowing from causality (pack-
able in the system, fail to provide di- the lack of feed-forward support by ets can’t arrive before they are sent) to
rect access to the raw counter values. providing patches that extend these act. Hence, the asymmetry and the as-
Instead, these are accessible only via mechanisms in FreeBSD and Linux in sociated clock error are boxed in, even
timestamps taken by the system clock minimal ways to allow raw counter ac- if they can’t be known precisely.
that uses the counters under the hood. cess to both the kernel and user space. The question remains, how are ab-
In other words, the kernel APIs sup- The RADclock API includes difference solute clocks achieving the impossible?
port the feedback paradigm only; feed- and absolute clock reading functions What are they returning? In practice, in
forward algorithms are, quite simply, based on direct counter timestamping, the absence of any external side-infor-
barred from participation. combined with the latest clock param- mation on A, we must guess a value, and
Another important consequence eters and drift estimate. Â = 0 is typically chosen corresponding
Figure 5. Performance of RADclock and ntpd over 14 days synchronizing to a Stratum-1 server on the LAN with a 1024 s polling period;
time series (left) and histograms (right). Stability issues are encountered for the feedback control of ntpd, resulting in an IQR (Inter-Quartile
Range) which is four times wider.
RADclock
ntpd
Median: 40.0 Median: 36.8
500 IQR: 68.9 IQR: 18.1
Clock error [ms]
250
100
0
−100
−250
58 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
practice
to a symmetric path. This allows the where the oscillator variability is mini-
clock to be synchronized, but only up to mal (t = 1,000 seconds). These charac-
an unknown error E lying somewhere teristics are remarkably stable across
in the range [–r, r]. This range can be PC architectures, but the algorithm
tens of milliseconds wide in some cases
and can dwarf other errors. With feedforward, should nonetheless be insensitive to
their precise values.
There is another key point to remem-
ber here. It is that any change in either
the hardware reality The other fundamental physics
component is the nature of the delays.
the true asymmetry (say because of a is kept in direct A good general model for queuing de-
routing change), or the estimate of it
used by the algorithm, makes the clock
view rather than lays, and hence OWD and RTT, is that
of a constant plus a positive random
jump. For example, based on some seeing it through noise. This constant (the minimum
knowledge of the routing between the
host and the server r = 15 ms away, an
algorithmic glasses. value) is clearly seen in Figure 3 in the
case of RTT.
intrepid administrator may replace the Use feed-forward. A feed-forward
default  = 0 with a best guess of Â= 3 approach offers far higher robustness,
ms, resulting in a jump of 3/2 = 1.5 ms. which is essential in a noisy unpredict-
Another example is a change in choice able environment such as the Internet.
of server, which inevitably brings with It also allows a difference clock to be de-
it a change in asymmetry. The point is fined, which in turn is the key to robust
that jumps, even if they result in im- filtering for the absolute clock, as well
provements in synchronization, are an as being directly valuable for the ma-
evil unto themselves. Such asymmetry jority of timing applications including
jitter can confuse software not only in network measurement (OWDs aside).
this host, but also in others, since all The difference clock comes first.
OWD’s measured to and from the host Synchronizing the difference clock
will also undergo a jump. equates to measuring the long-term
To summarize, network synchro- average period pav. This “rate synchro-
nization consists of two very different nization” is more fundamental, more
aspects. The synchronization algo- important, and far easier than absolute
rithm’s role is to see through and elim- synchronization. A robust solution for
inate delay variability. It is considered this is a firm foundation on which to
to be accurate if it does this success- build the much trickier absolute syn-
fully even if the asymmetry error and, chronization.
therefore the final clock error, is large, Note that by rate synchronization we
as it cannot do anything about this. mean a low noise estimate of average
The asymmetry jitter problem is not long-term rate/period, not to be confused
about variability but an unknown con- with short-term rate, which reduces es-
stant. This is so much simpler; how- sentially to (the derivative of) drift, and
ever, it is inherently hard as it cannot hence to absolute synchronization.
be circumvented, even in principle. So Use minimum RTT-based filtering. If
here is the challenge: although it can- a timing packet is lucky enough to ex-
not be eliminated, the practical impact perience the minimum delay, then its
of asymmetry depends strongly on how timestamps have not been corrupted
it is managed. These two very different and can be used to set the absolute
problems cross paths in a key respect: clock directly to the right value (asym-
both benefit from nearby servers. metry aside). The problem is, how can
we determine which packets get lucky?
Robust Algorithm Design Unfortunately, this is a chicken-and-
Here is a list of the key elements for re- egg problem, since to measure OWD,
liable synchronization. we have to use the absolute clock Ca(t),
Don’t forget physics. The foundation which is the one we want to synchro-
of the clock is the local hardware. Any nize in the first place. Luckily, the situ-
self-respecting algorithm should begin ation is different with RTTs, which can
by incorporating the essence of its be- be measured by the difference clock
havior using a physically meaningful Cd(t). The key consequence is that a
model. Of particular importance are reliable measure of packet quality can
the following simple characterizations be obtained without the need to first
of its stability: the large-scale rate er- absolutely synchronize the clock. One
ror bound (0.1 ppm) and the timescale just measures by how much the RTT
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 59
practice
of the given timing packet exceeds the hardware-validated test bed, we per- where Ê(t) is the estimate of the er-
minimum RTT: the smaller the gap, formed tests showing that the RAD- ror of Cd(t), which is removed on the
the higher the ‘quality’ of the packet. clock difference clock measured one- fly when the absolute clock is read by
The sharp-eyed reader would have second intervals to sub-µs accuracy a process. Figure 6 shows Ê(t) as the
noticed that a chicken-and-egg prob- even after 20 days of disconnection blue curve, which is calculated based
lem remains. The difference clock also from the server. Compare this level on the noisy unfiltered per-packet er-
needs filtering in order to synchronize of robustness with that of absolute ror estimates that underlie it (green
it, so how can we use it before it is syn- synchronization, where over such an spikes). The true error E(t) is the black
chronized? The answer is that even a interval the local clock will inevitably curve, as measured using an external
very poor estimate of pav is sufficient drift considerably, or worse. GPS-synchronized DAG capture card1
to perform meaningful filtering. For Absolute synchronization. Drift is in our test bed.
example, imagine that pav is known to constantly happening, and a clock One server is enough. So far we have
an accuracy of 100 ppm (which is truly must be ready to be read at any time. It discussed synchronizing to a single
atrocious) and that RTT=10ms. Then follows that patience is not an option server. Surely one could connect to mul-
the error in the RTT measurement (in- here: even if congestion is high and tiple servers and select among them to
cluding that resulting from drift) is of timing packets delayed, the best must obtain even better results? In principle
the order of 1 µs, which is well below still be made of a bad situation; the this is true; in Internet practice, at least
the noise caused by the operating sys- drift must be dealt with. with the current state of the art, it is
tem (around 10 µs). There are two chief considerations. most definitely not, for two reasons.
Rate synchronization. Let’s assume The first is to use the timing packet Most fundamentally, switching serv-
that our filtering is successful, so we quality to control its contribution to ers implies a change in path asymmetry
can reliably measure the level of qual- the clock error estimation. The control and hence a jump in the clock. Imagine
ity of timing packets. must be very strict: if the packet has an a server-selection algorithm that is mov-
The key to rate synchronization (that RTT that is only a little above the mini- ing around among candidate servers of
is, the measurement of pav) is that it is mum, that gap corresponds directly to similar quality. The result is constant
a long-term average, which means that an error to be avoided. jumping—a classic case of asymmetry
we can afford to be patient! Reliable The second consideration is time jitter. Such jitter is not hard to observe
rate synchronization is then as simple scale. The essential trade-off is the in ntpd, where a connection to mul-
as collecting reasonable-quality time- need to have data from as many tim- tiple peers is in fact recommended.
stamps at either end of a large interval ing packets as possible to increase the Second, once performance is tuned
(ideally several days, but even much chances of getting lucky, versus the to close to system and network noise
less will work well). Timestamp errors need for them to be recent so that the limits, any disruption at all will down-
and errors in the quality assessment are current error, rather than an outdated grade it. Ceasing to query a server for
then compressed by the size of the inter- error from the past, is estimated. Here a time and then returning to it, for ex-
val and enter into the 0.001-ppm zone the time scale t plays a key role, as it ample, qualifies as a moderate to large
where they will never bother you again. places a meaningful limit on how far disruption.
Once synchronized, the pav value back in the past to look. The take-home message for admin-
has a long life. One consequence is The absolute clock can be defined off istrators is this: if you want to improve
that even if connectivity to a server the difference clock simply as follows: your system clock performance, just
were lost, the difference clock would make sure the configuration points
remain well synchronized. Using a Ca(t) = Cd(t) – Ê(t) only to a single (nearby) server.
Watch your route. Servers do change,
Figure 6. An unsynchronized clock drifting. The black line is the drift, the green the drift and even if they don’t, the routing to
seen through the noise of delay variability, and the blue the estimate of the drift by
the RADclock algorithm (it is offset vertically from the black by about 30 μs because
them will eventually. Not only will this
path asymmetry has not been corrected for here). Source: Veitch et al.4 result in an unavoidable jump for asym-
metry reasons, it is also a challenge to
the synchronization algorithm itself.
naive reference algorithm
Careful design is needed so that the
rate and absolute synchronization algo-
Offset estimates [ms]
8.2
rithms transition gracefully and robust-
8.1
ly to the new environment. This has to
begin with a well-thought-out approach
8 to the quality assessment underlying
the filtering. If this breaks down, then
7.9 quality packets can be assessed as good
and good as bad, and there is no limit to
4 4.5 5 5.5 the potential damage.
Te [day] Trust yourself. Yes, the server is the
expert, without which synchronization
would be impossible. Still, it should
60 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
practice
not be trusted. Servers can and do have lenges. Stratum-1 servers do not com-
their bad periods, and blind faith in municate among themselves, but act
them can lead to deep trouble. Fortu- (except for load balancing in limited
nately another authority is available: cases) as independent islands. There
the counter model. If the RTT filtering
is telling you that congestion is low, Yes, the server is a limited capability to query a server
individually to obtain basic informa-
yet the server timestamps are saying is the expert, tion such as whether it is connected
you are suddenly way out, trust the
hardware and use the model to sanity- without which to its hardware and believes it is syn-
chronized, and there is no ability to
check the server. Basically, a drift well
over 1 ppm is not credible, and the al-
synchronization query the set of servers as a whole. An
interconnected and asymmetry-aware
gorithm should smell a rat. would be Stratum-1 infrastructure could provide
When in doubt, just drift. What if con-
gestion has become so high that none
impossible. a number of valuable services to cli-
ents. These include recommendations
of the available timestamps is of ac- Still, it should not about the most appropriate server for a
ceptable quality? What if I don’t trust
the server, or if I have lost contact with
be trusted. Servers client, automatic provision of backup
servers taking asymmetry jitter into ac-
it entirely? can and do have count, and validated information on
There is only one thing to do: sit
back and relax. Nothing bad will hap- their bad periods, server quality. Currently no one is in
a position to point the finger at flaky
pen unless the algorithm chooses to
make it happen. A reaction of inaction
and blind faith in servers, but they are out there.
Building on the RADclock algo-
is trivial to implement within the feed- them can lead rithm, the RADclock project3 aims to
forward paradigm and results in simply
allowing the counter to drift gracefully.
to deep trouble. address these issues and others as
part of a push to provide a robust new
Remember the counter is highly stable, system for network timing within two
accumulating only around 1 µs per sec- years. Details for downloading the ex-
ond, at worst. isting client and server software (pack-
More generally, the algorithm ages for FreeBSD and Linux), documen-
should be designed never to overreact tation, and publications can be found
to anything. Remember, its view of the on the RADclock project page.
world is always approximate and may
be wrong, so why try to be too clever Acknowledgments
when inaction works so well? Unfor- The RADclock project is partially sup-
tunately, feedback algorithms such ported under Australian Research Coun-
as ntpd have more reactive strategies cil’s Discovery Projects funding scheme
that drive the clock more strongly in (project number DP0985673), the Cisco
the direction of their opinions. This is University Research Program Fund at
a major source of their nonrobustness Silicon Valley Community Foundation,
to disruptive events. and a Google Research Award.
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 61
practice
d oi:10.1145/1735223.1735242
perfect competition characteristics
Article development led by
queue.acm.org
of remote computing, these expecta-
tions set the stage for fierce pressure
on cloud providers to continuously
The competition among cloud providers may lower prices.
drive prices downward, but at what cost? This pricing pressure results in a
commoditization of cloud services
by Dave Durkee that deemphasizes enterprise require-
ments such as guaranteed levels of
Why Cloud
performance, uptime, and vendor re-
sponsiveness, much as has been the
case with the Web hosting industry.
Notwithstanding, it is the expectation
Computing
of enterprise management that operat-
ing expenses be reduced through the
use of cloud computing to replace new
and existing IT infrastructure. This dif-
ference between expectation and what
Will Never
the industry can deliver at today’s near-
zero price points represents a chal-
lenge, both technical and organiza-
tional, which will have to be overcome
Be Free
to ensure large-scale adoption of cloud
computing by the enterprise.
62 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
some number of end customers, pro- service models. The end customer stack. The end customer is purchasing
viding economies of scale at the com- is purchasing raw compute, storage, the use of a working application. Some
puting and services layers and network transfer. Offerings of this examples of this are NetSuite and
˲˲ Abstracted infrastructure. The cloud type are delivered as an operating sys- SalesForce.com. (This service is not the
end customer does not know the exact tem on a server with some amount of focus of this article.)
location or the type of computer(s) storage and network transfer. These
their applications are running on. In- offerings can be delivered as a single Perfect Competition Determines
stead, the cloud provider provides per- server or as part of a collection of serv- Cloud Pricing Strategies
formance metrics to guarantee a mini- ers integrated into a virtual private In our experience providing cloud ser-
mum performance level. data center (VPDC). vices, many of the current cloud end
˲˲ Little or no commitment. This is Platform as a Service (PaaS). This is customers use price as their primary
an important aspect of today’s cloud the next layer up where the end cus- decision criteria. As a result, service
computing offerings, but as we will see tomer is purchasing an application providers’ offerings tend toward a least
here, interferes with delivery of the ser- environment on top of the bare bones common denominator, determined
vices the enterprise demands. infrastructure. Examples of this would by the realities of providing cloud ser-
be application stacks: Ruby on Rails, vice at the lowest possible price. At the
Illustration by Gary Neill
Service Models Java, or LAMP. The advantage of PaaS same time, the cloud computing mar-
Cloud is divided into three basic ser- is that the developer can buy a fully ket is becoming more crowded with
vice models. Each model addresses a functional development and/or pro- large providers entering the playing
specific business need. duction environment. field, each one of which trying to dif-
Infrastructure as a Service (IaaS). Software as a Service (SaaS). This cur- ferentiate itself from the already estab-
This is the most basic of the cloud rently is the highest layer in the cloud lished players. The result of many pro-
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 63
practice
64 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
practice
at low margins is changing the land- Navigating Today’s in which it is not achieved. However,
scape. For example, Amazon AWS intro- Perfectly Competitive since their infrastructure is not de-
duced reserved instances that require a Cloud Computing Market signed to reach five-nines of uptime,
one- or three-year long commitment. Today’s price-focused cloud comput- they are effectively offering a 10% dis-
There are other industries that offer ing market, which is moving rapidly count on their services in exchange for
their services with a nearly identical toward perfect competition, presents the benefit of claiming that level of reli-
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 65
practice
the costs are for such downtime. This quiz the cloud provider on the design costs involved in supporting its deploy-
creates a carnival atmosphere in the of their infrastructure, the universe ment in your business.
cloud community where ever higher of possibilities for constraining per-
SLAs are offered at lower prices with- formance to achieve a $0.03/hour in- The Advent of Cloud 2.0:
out the due diligence needed to achieve stance price defies easy analysis, even The Value-Based Cloud
them…another race to the bottom. for the hardware-savvy consumer. At The current myopic focus on price has
66 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
practice
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 67
practice
customer to gain
device drivers, and network infrastruc-
ogy stacks with the aim of enabling the ture. Another example is computing
cloud vendor to go to market rapidly
while providing high-quality service.
a level of trust and minimizing the costs of fragmen-
tation of computing resources across
However, finding component technol- as to the expected one or more clusters of compute nodes
ogies that are cost competitive while
offering reliability, 24x7 support, ad-
performance of the while taking into consideration the
time dependence of individual custom-
equate quality (especially in software), infrastructure and ers’ loads and resource requirements.
and easy integration is extremely dif-
ficult, given that most legacy technolo- the vendor. Taking The role of services. When cloud in-
frastructure reduces the barriers to
gies were not built or priced for cloud this step may deployment, what still stands in the
deployment. As a result, we expect
some spectacular Cloud 2.0 technol- also be necessary way? That would be services, such as
ongoing administration, incident re-
ogy failures, as was the case with Cloud
1.0. Another issue with this approach is
for the vendor to sponse, SLA assurance, software up-
dates, security hardening, and perfor-
that the technology stack must provide meet enterprise mance tuning. Since 80% of downtime
native reliability in a cloud configura-
tion that actually provides the reliabil-
compliance, is caused by factors other than hard-
ware,3 services are essential to reliable
ity advertised by the cloud vendor. and/or regulatory production computing. Traditionally
Why transparency is important.
Transparency is one of the first steps requirements. these services have been delivered by
the enterprise’s IT department, and
to developing trust in a relationship. As simply replacing their servers with re-
we discussed earlier, the price-focused mote servers in the cloud doesn’t solve
cloud has obscured the details of its op- the services problem. Because servic-
eration behind its pricing model. With es delivered with cloud computing will
Cloud 2.0, this cannot be the case. The necessarily be outsourced, they must
end customer must have a quantita- be delivered within the context of a
tive model of the cloud’s behavior. The long-term commitment that allows
cloud provider must provide details, the vendor to become familiar with
under NDA if necessary, of the inner the customer’s needs, which will retire
workings of their cloud architecture today’s Cloud 1.0 customer expecta-
as part of developing a closer relation- tion of little or no commitment. At the
ship with the customer. Insight into same time, the move toward long-term
the cloud provider’s roadmap and ob- commitments will drive vendors to
jectives also brings the customer into focus on customer satisfaction rather
the process of evolving the cloud infra- than the more prevalent churn visible
structure of the provider. Transparency in perfectly competitive markets.
allows the customer to gain a level of Service-level management. Service-
trust as to the expected performance of level agreements are the name of the
the infrastructure and the vendor. Tak- game in Cloud 2.0. Enterprise cus-
ing this step may also be necessary for tomers typically have obligations to
the vendor to meet enterprise compli- provide services to their customers
ance, and/or regulatory requirements. within a contracted SLA. The service
This transparency can only be delivery infrastructure’s SLA must
achieved if the billing models for meet or exceed the service levels that
Cloud 2.0 clearly communicate the val- the enterprise has committed to pro-
ue (and hence avoided costs) of using vide. All aspects of the service delivery
the service. To achieve such clarity, the infrastructure (compute fabric, stor-
cloud vendor has to be able to measure age fabric, and network fabric) should
the true cost of computing operations be monitored by a monitoring sys-
that the customer executes and bill for tem. In addition, all of the customer’s
them. Yet today’s hardware, as well as cloud instances should be monitored
management, monitoring, and billing as well. VMs must be monitored at the
68 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
practice
system level as well as the application today for use in corporate data centers. ate in a way that will support the cloud
level. The monitoring system’s rich These tools allow for the complete au- end customer’s business. By taking on
data collection mechanisms are then tomation of every aspect of the server the role of operations services provider
fed as inputs to the service providers’ life cycle from creation of a virtual in- to the enterprise, the vendor enables
processes so that they can manage ser- frastructure through scaling, service- the end customer to gain all of the
vice-level compliance. A rich reporting level management, and disposal of benefits of cloud computing without
capability to define and present the the systems when the customer has the specialized skills needed to run a
SLA compliance data is essential for finished with them. While automation production data center. However, it
enterprise customers. Typically, SLAs has made significant progress in the is unrealistic to expect outsourced IT
comprise of some number of service- corporate data center, it is only in its that eliminates the need for in-house
level objectives (SLOs). These SLOs are infancy in the cloud. Yet, to replace the staffing to be delivered at today’s cloud
then rolled up to compute the overall corporate data center, Cloud 2.0 must computing prices.
SLA. It pays to remember the overall include automation. This capability al- For the Cloud 2.0 revolution to take
SLA depends on the entire value de- lows both the cloud provider and the hold, two transformations must oc-
livery system, from the vendor’s hard- customer to obtain some unprecedent- cur, which we are already seeing in our
ware and software to the SLOs for the ed benefits: sales and marketing activities: cloud
vendor’s support and operations ser- ˲˲ Very high service levels. The system vendors must prepare themselves to
vices offerings. To provide real value is managing itself, and humans get provide value to the enterprise that en-
to the enterprise customer, the cloud involved only as needed, both at the tices them out of their purpose-built
provider must negotiate with the cus- service provider and customer-level data centers and proprietary IT depart-
tomer to deliver their services at the processes. ments; and customers must perceive
appropriate level of abstraction to ˲˲ Problems and solutions become and demand from cloud vendors the
meet the customer’s needs, and then methodological rather than random. combination of fast and reliable cloud
manage those services to an overall ap- This allows you to fix all instances of a computing with operations services
plication SLA. problem with a code change. that their end users require.
The role of automation. In order to ˲˲ Automatically scalable infrastruc-
obtain high quality and minimize costs ture. Allows customers to pay for only
the value-based cloud must rely on a what they need when they need it with- Related articles
high degree of automation. During out additional system administration on queue.acm.org
the early days of SaaS clouds, when the effort to maintain service levels. CTO Roundtable: Cloud Computing
author was building the NetSuite data ˲˲ Automatic disaster recovery. Auto- Mache Creeger
center, they had over 750 physical serv- mation handles the manual tasks of http://queue.acm.org/detail.cfm?id=1536633
ers that were divided into three major failover to a backup data center as well Building Scalable Web Services
functions: Web delivery, business log- as failing back to the primary data cen- Tom Killalea
http://queue.acm.org/detail.cfm?id=1466447
ic, and database. Machine-image tem- ter.
plates were used to create each of the ˲˲ Minimize staffing. The automation Describing the Elephant: The Different
servers in each tier. However, as time framework uses feedback from the Faces of IT as Service
Ian Foster and Steven Tuecke
went on, the systems would diverge monitoring system to automatically ad- http://queue.acm.org/detail.cfm?id=1080874
from the template image because of ad dress common solutions to common
hoc updates and fixes. Then, during a problems, as well as automatically exe-
References
deployment window, updates would cute repetitive processes. Escalation to 1. EE Times Asia. Sun grooms Infiniband for
be applied to the production site, often staff occurs only when the automation Ethernet face-off; http://www.eetasia.com/
ART_8800504679_590626_NT_e979f375.HTM
causing it to break, which resulted in framework can’t address a fault. 2. Hiles, A. Five nines: chasing the dream?; http://www.
a violation of end-customer SLAs. As ˲˲ Power savings. The automation continuitycentral.com/feature0267.htm
3. Jayaswal, K. Administering Data Centers: Servers,
a consequence, extensive effort was framework concentrates the work- Storage, and Voice Over IP. John Wiley & Sons,
applied to finding random causes for loads onto the minimum number of Chicago, IL, 2005; http://searchdatamanagement.
techtarget.com/generic/0,295582,sid91_
the failed updates. The root cause was servers necessary to maintain service gci1150917,00.html
that the QA tests were run on servers levels, and turns off the rest. 4. National Institute of Science and Technology. NIST
Definition of Cloud Computing; http://csrc.nist.gov/
that were exact copies of the templates; groups/SNS/cloud-computing/
however, some of the production sys- Betting your Business on Cloud 2.0 5. Winterford, B. Stress tests rain on Amazon’s
cloud. IT News; http://www.itnews.com.au/
tems were unique, which caused faults By offering value beyond simply pro- News/153451,stress-tests-rain-on-amazons-cloud.
aspx
during the deployment window. These viding CPU cycles, the cloud provider
types of issues can break even the tight- is becoming a part of the end custom-
est of deployment processes. The mor- ers’ business. This requires a level of Dave Durkee (dave@enkiconsulting.net) is founder and
technical director of ENKI, a managed cloud computing
al of the story is to never log in to the trust that is commensurate with hir- services provider in Mountain View, CA. Durkee has over
boxes. This can only be accomplished ing an employee or outsourcing your 25 years of experience in IT infrastructure, networking,
business applications development, and executive
by automating all routine system ad- operations. Do you know who you are corporate management. He has held several senior
management IT positions, including CIO of a successful
ministration activities. hiring? This vendor-partner must un- hosted ERP application service provider, Netsuite.com
There are several data-center-run derstand what the enterprise holds
book-automation tools on the market important, and must be able to oper- © 2010 ACM 0001-0782/10/0500 $10.00
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 69
contributed articles
d oi:10.1145/1735223.1735243
book2 by Gordon Bell and Jim Gem-
Rather than try to capture everything, system mell outlined an enthusiastic view of
a future in which technology enables
design should focus on the psychological basis “total recall” of our lives through “total
of human memory. capture” of personally relevant infor-
mation. Such information includes the
by Abigail Sellen and Steve Whittaker paper and digital documents we work
on or look at; email, paper mail, and
Beyond Total
instant messages sent and received;
content of telephone conversations;
Web sites visited; and charge-card
transactions. Also included are data
Capture:
from other everyday activities (such as
still images, video, ambient sound and
location data). Finally, these personal
archives might also be supplemented
A Constructive
with environmental measures (such
as light intensity and temperature
variation) and even internal, biosensor
data (such as heart rate and galvanic
Critique of
skin-response measures) reflecting our
physical and emotional state.
Constructing such a diverse archive
of personal information requires a
Lifelogging
range of technologies for its capture,
management, and storage. Today’s
advances in wearable sensors, net-
working capabilities, and massive
increases in digital-storage capacity
mean this vision is feasible, fueling
enthusiasm for the possibilities of-
fered by the technology itself.
Further impetus comes from
speculation about what a compre-
hensive lifelog might do and how it
What if w e could digitally capture everything we do might change our lives. As outlined
and see? What if we could save every bit of information in 2006 by Czerwinski et al.,9 lifelog-
70 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 71
contributed articles
ging could permanently change how was created, who it came from, and its later. Note that we distinguish between
we use and share personal data, en- relationships with other objects), mak- lifelogging and other more deliberate
abling us to look back over our lives ing it easier to re-find information (such activities involving the capture of per-
or search through and organize past as Dumais et al.10). sonal data (such as digital photography
experiences. It could help us find lost However, today’s lifelogging vision and blogging) that involve the effortful
objects, recall names, retrieve details extends beyond the mere storage of selective capture and display of digital
in documents, and review discussions desktop objects. Just as we can capture materials for a particular audience. In
in meetings. It might also offer new and collect personal interactions with contrast, lifelogging seeks to be effort-
ways of sharing data with those we documents, we can capture activities less and all-encompassing in terms of
care about or offer up data to inter- away from the computer, out of the of- data capture.
ested parties. While there are knotty fice, in the everyday world. Key to it all There are two main classes of life-
privacy and security implications (a is that many everyday activities can be logging system:
huge topic, not addressed here), the captured automatically and compre- Total capture. For this one, the tar-
potential benefits warrant substantial hensively through digital tools that get is a complete record of everyday
programs of research and develop- allow us to not only store important life, capturing as many kinds of data as
ment. The vision is indeed compel- content, but also contextual details of possible, as continuously as possible.
ling. Some proponents have even said the activities to help access the content Data types range from documents to
that new technologies could give each
of us a comprehensive set of “digital
memories” to augment or even re-
place their biological counterparts.2
But how sound are these goals?
What benefits would the effort bring
us? In reflecting on these questions
we see we need a more focused and
human-centered research agenda to
realize the grand ambition. This, in
turn, entails moving away from an ob-
session with “capturing everything” to
a more precise specification of what
it means to support human memory,
leading to specific systems and con-
crete design implications.
History
Despite the recent upsurge of interest,
lifelogging systems are not new. They
can be traced back to Vannevar Bush’s
1945 “Memex” vision (a sort of desk) Vannevar Bush’s 1945 “Memex” vision.
supporting the archiving, searching,
and indexing of personal information
stores revolving around documents
with which we interact.7 Since then, it
has inspired many different systems,
though mainly in research laboratories.
Early forays were close to the original
vision, confined to capturing digital ob-
jects within an integrated system. Both
past11 and present12 examples are in fact
infrastructures for storing collections of
heterogeneous digital objects that users
generate or encounter, including docu-
ments, photos, Web pages, and email.
And as infrastructures have developed,
so too have the tools for searching,
browsing, and retrieving information
from the collections. The tools often
make use of metadata about the various
aspects of an object’s past context, or
provenance (such as when and where it MyLifeBits by Gordon Bell is a lifetime store of everything, aiming to fulfill the Memex vision.
72 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
contributed articles
systems lack an
localized networked sensors. More by mentally retracing our steps, recol-
recent wearable systems use head- lecting faces and names by recalling
mounted still and video cameras,15
sensor-triggered still cameras worn
explicit description when and where we met someone, or
remembering the details of what was
around the neck14 (see the figure here), of potential value discussed in a meeting.
and audio-capture devices.26 Yet others
rely on instrumented environments that
for users, focusing Reminiscing. As a special case of
recollection, lifelogs could also help
capture human activity through sensors instead on technical users re-live past experiences for emo-
or networks, as in MIT’s “PlaceLab”
(http://architecture.mit.edu/house_n/ challenges. tional or sentimental reasons. This can
be done by individuals or socially in
placelab.html). groups, as an (often pleasurable) end
Situation-specific capture. These in itself; examples are watching home
are more limited in scope, aiming to videos and flipping through photo al-
capture rich data in specific domains bums with friends and family.
involving complex information. They Retrieving. Lifelogs promise to help
can be viewed as a specialized form of us retrieve specific digital informa-
lifelogging, aiming to record multiple tion we’ve encountered over the years
kinds of data as completely and auto- (such as documents, email, and Web
matically as possible for specific activities pages). Retrieval can include elements
or in particular places where the activity of recollection; for example, retrieving
occurs. Most focus on recording activi- a document might require remember-
ties during meetings, lectures, or other ing the details of when we wrote it,
forms of work-related conversation, al- when we last used it, or where we put
lowing “organizational knowledge” to it. Alternatively, retrieval might de-
be browsed and searched.28 Early sys- pend on inferential reasoning (such
tems involved the simple indexing of as trying to deduce keywords in a
recorded audio and pen-stroke data. document or thinking about the docu-
More recent technology-enhanced ment’s other likely properties, like
meeting rooms capture video from type and size). Pondering information
multiple cameras and microphones, properties need not involve recollec-
combining it with whiteboard content, tion of past experiences at all, as long
slide capture, and digital pen strokes. as other ways are available for finding
Often included is software that auto- the desired information.
matically summarizes and extracts key Reflecting. Lifelogs might support
events from the data. a more abstract representation of
personal data to facilitate reflection
Defining the Benefits: Five Rs on, and reviewing of, past experience.
Surprisingly, many lifelogging systems Reflection might include examining
lack an explicit description of poten- patterns of past experiences (such
tial value for users, focusing instead as about one’s behavior over time).
on technical challenges (such as data Such patterns might provide useful
capture and retrieval mechanisms). information about our general level
When claims are made about poten- of physical activity or emotional states
tial benefits, they tend to be ill-defined. in different situations, allowing us to
Nevertheless, it is important to clarify relate it to other data about, say, our
what these claims might be. Here, we health. Alternatively, reflection might
outline potential benefits for memory involve looking at one’s past experi-
by describing the ways such systems ences from different angles or per-
might support “the five Rs,” or the ac- spectives. Here, the value is not in re-
tivities we call recollecting, reminisc- living past events (as in recollecting)
ing, retrieving, reflecting, and remem- but in seeing things anew and framing
bering intentions: the past differently.13 The value is less
Recollecting. Technology could help about memory per se than it is about
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 73
contributed articles
learning and self-identity. In practice, total-capture systems specific capture systems. For example,
Remembering intentions. Another have been used by only a small number Filochat is an application that allows
type of activity concerns remembering of people (often those with direct in- users to access spoken information
prospective events in one’s life (“pro- vestment in the technology), and life- from meetings via personal digital
spective memory”), as opposed to the logging infrastructures11,12 are not in notes. Both lab experiments and a
things that have happened in the past. widespread use. While Gordon Bell of field trial at Hewlett-Packard Labs in
Our everyday activities require that Microsoft2 and Steve Mann of the Uni- the early 1990s demonstrated Filo-
we constantly defer actions and plan versity of Toronto18 have both “lived chat’s superiority in supporting re-
future activities; examples include re- the vision” by recording many aspects trieval of meeting information com-
membering to run errands, take medi- of their everyday lives, they are unusual pared with traditional techniques
cation, and show up for appointments. in the extreme extent of their engage- (such as pen-and-paper notes and
A careful analysis of the lifelogging ment with lifelogging. Otherwise, Dictaphone recordings). An active
literature for proposed user value sug- there are few instances of full-fledged user group reported positive reactions
gests a general focus on the processes use of total capture. to the system because it allowed them
of recollection and retrieval, but these More controlled system evaluations to generate accurate meeting min-
benefits are usually implied rather are also not encouraging in terms of utes. Similar findings were reported in
than explicit. demonstrable utility. The SenseCam other field studies of related meeting-
(see the figure), which captures a series capture technologies; see Whittaker et
Evaluation of still images based on movement and al.28 for a review. But despite such early
Do lifelogging systems deliver these changes in the intensity of light and positive results, more recent research
benefits? One way to identify evi- heat, has been shown to support the should make us skeptical, suggesting
dence of utility is through system- recollection of everyday experience, as that records may be less useful than
atic evaluation (such as focused lab well as retrieval of information about we might first think. For example,
studies and studies of longer-term past events.23 However, the same study lecture recordings don’t significantly
real-world use). However, such evalu- showed that the capacity for these im- improve student grades,1 and evalua-
ations have yet to provide overwhelm- ages to help people recollect their past tions of meeting-capture systems have
ing evidence of effectiveness, and experience rapidly decreased after only shown little uptake of sophisticated
extended usage studies show little im- three months, casting doubt on wheth- records.20
pact outside research labs. Worse, few er such devices can support longer- Other research confirms the view
lifelogging systems are in widespread term recollection. that digital archives may be generally
use, even within the research laborato- Most evaluations described in the less valuable than people would hope.
ries that developed them. literature have examined situation- Even when—contrary to lifelogging
principles—we deliberately choose to
save digital memorabilia, we seldom
access them. Studies by Petrelli and
Whittaker19 in 2010 of digital family
memorabilia (such as photos, videos,
scanned images, and email) showed
that digital archives are rarely ac-
cessed. In the same study, when people
with large collections of digital memo-
rabilia were asked to select objects
of mnemonic significance in their
homes, less than 2% of the objects they
reported were digital.19 Other work has
found that users with collections of
thousands of digital photos never ac-
cess the majority of them.27
While this lack of interest in digi-
tal data doesn’t imply that all such
archives have little value, it raises
questions about their utility in remem-
bering or reviewing the past. One might
surmise that we simply lack effective
techniques for accessing the archives.
However, most situation-specific cap-
ture systems for meetings and lectures
include sophisticated access tools
Microsoft SenseCam captures a series of still images triggered by changes in activity (such
as movement) and includes sensors that capture other kinds of data (such as ambient light (such as multimedia search and be-
levels and temperature); courtesy Microsoft Research Cambridge. spoke browsing interfaces), suggesting
74 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
contributed articles
that having poor access is likely not a search provides a deeper understand-
general explanation. Other researchers ing of the most frequent and critical
have argued that new access tools (such kinds of memory problems people have,
as desktop search) will facilitate exploi- allowing system designers to focus on
tation of digital archives.21 However,
research at the University of Sheffield Collections of digital areas of true value to users. This means
that, rather than the overambitious
in 2008 on desktop search suggests it
is used only infrequently. More impor-
data can serve goal of “logging everything,” creators
of lifelogging systems would be better
tant, there is no consistent evidence as cues to trigger off directing their efforts at the kinds
that improving the quality of search
leads to increased use of search tools.3
autobiographical of data people find most valuable and
the issues they find most problematic.
These results indicate that desktop memory about In addition to the problem of the tran-
search is not a “silver bullet” leading to
effective access to and exploitation of
past events but are sience of memory (implicitly addressed
by much lifelogging technology), people
our personal digital archives. not memories in are subject to myriad other distortions
In general, these findings imply that
archival data may be less valuable than themselves. and inaccuracies in memory (such as
absentmindedness, blocking, misat-
the considerable effort expended on tribution, suggestibility, bias, and per-
these systems would justify. sistence).22 And while almost all lifelog-
ging applications focus on supporting
Design Principles people’s past (retrospective) memory,
How can we prevent creating under- strong evidence indicates that people
used infrastructures or only proof-of- have greater difficulty remembering
concept demonstrators? Needed is what they intend to do in the future
a new conceptual framework that is (prospective memory).24 Other memory
better focused on the functions life- studies have identified specific groups
logging technologies could serve. De- (such as Alzheimer’s patients and aging
spite the memory terminology used populations) with debilitating memory
in lifelogging work, little attention conditions and demonstrated how
seems to focus on human memory and visual-recording technologies (such as
how it operates. Psychological studies SenseCam) can be of help.4
of memory are largely ignored, even Not “capturing experience” but design-
though they provide relevant concepts ing effective retrieval cues. The language
and results that lead directly to new used by lifelog proponents sometimes
design principles: conflates cueing with experiential cap-
Strategically targeting the weaknesses ture. This distinction may seem obvi-
of human memory. Total-capture sys- ous but is worth restating. Collections
tems are indiscriminate, assuming that of digital data (such as sets of digital
all kinds of data are equally valuable photos and sounds) can serve as cues
and the more data the better. The argu- to trigger autobiographical memory
ment often goes that we should capture about past events but are not memo-
“as much as we can” because we never ries in themselves or in any way facsim-
know what we might need to remem- iles of personal experience. Following
ber in the future. But this ”just-in-case” this principle, we are thus better able
principle has two weaknesses: First, to address the precise mechanisms by
we can never capture absolutely every- which cues help memory. For example,
thing, so choices must indeed be made metadata can help cue retrieval of lost
when designing and building systems; files by, say, providing contextual infor-
for example, different kinds of data re- mation about who wrote a document
quire different kinds of sensors or cap- and when it was written. Alternatively,
ture devices, adding complexity for the information in the digital archive may
people using and building the systems. itself serve to cue a forgotten memory
Second, capturing vast arrays of data (such as when a stored digital photo
might overwhelm end users maintain- prompts reminiscence about a previ-
ing and retrieving valuable information ously forgotten incident).
from large archives; it also ignores the There is again highly relevant psy-
burden huge amounts of data impose chology research detailing how differ-
on system designers and developers. ent cues (such as time, place, people,
Previous research provides future and events) trigger autobiographical
guidance; for example, psychology re- memories, suggesting (in contrast to
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 75
contributed articles
the design of many lifelogging user in- suggests that the interfaces for such
terfaces) that place, events, and people systems should focus on images as the
are stronger cues than time.5 Other re- backbone of their design. In contrast,
search has found that cues can trigger systems for retrieval need not be con-
inferences about what must have hap-
pened in someone’s life, rather than Systems supporting cerned with recollection, but rather
with efficient ways of searching though
genuine recollection23; for example, a
photo showing us having lunch with
reminiscence and large heterogeneous collections of data
and so provide access to metadata that
friends may cause us to truly remember reflection have might support effective search. If sys-
the event or simply lead us to conclude
we must have been there. Finally, while
received far less tem designers decide to support remi-
niscence, other kinds of factors become
recollecting the past is highly depen- attention than important (such as optimizing the shar-
dent on the kind of cues presented to
people, for prospective memory (mem-
those supporting ing of data with others). Systems for
reflection might be different still where
ory for future events and intentions), recollection and abstraction is important, offering flex-
the important issue is not so much
the type of cue but rather when a cue retrieval. ible and novel methods for viewing per-
sonal data in ways that might surprise,
is delivered, allowing an intention to provoke, or educate users. Finally, de-
be remembered at the right time and signing systems to support remembering
place.24 This observation suggests that intentions need to focus on delivering
the capture of data (such as location or timely cues in appropriate contexts if
other contextual cues) might be used to they are to provide effective reminders.
trigger reminders rather than provide Applying such memory taxonomies
content to be remembered. is vital for designing effective systems.
These observations run counter to First, they clarify the aspects of mem-
much of the rhetoric surrounding life- ory the systems are trying to support;
logging, where such phrases as “digital without such clarification it is difficult
memories” and “experience capture” to know whether the systems succeed.
are often used. They show instead the Second, understanding the relevant
importance of understanding the pre- psychological processes allows design-
cise relationship between the cues we ers to create systems to better support
are able to capture through lifelogging the processes. Third, taxonomies can
technologies and the memory experi- suggest new directions for exploration;
ences they trigger, with clear impli- for example, systems supporting remi-
cations for how we might design im- niscence and reflection have received
proved systems. far less attention than those support-
Support for the Five Rs. Most lifelog- ing recollection and retrieval.
ging proponents presume that the sys- Offloading and metamemory. Much
tems deliver benefits without being of the lifelogging approach is moti-
specific about what the benefits might vated by the observation that human
be, assuming a one-system-suits-all memory is fallible. Lifelog proponents
approach. As we outlined earlier in argue we need to remove the memory
the section on lifelogging benefits, the burden from humans, offloading it to
psychological literature distinguishes reliable and comprehensive external
many different types of memory, each digital stores. These claims need care-
involving different retrieval processes. ful scrutiny, as we calculate the costs
Thus, it is not simply a question of what associated with digital archives, even
the system captures but determining if they make it possible to store vast
how such a system would be used. This amounts of data. For example, the ef-
determination depends largely on the fort required to capture, create, and
type of memory being targeted or, more maintain some kinds of data can be
generally, the kind of benefit system de- prohibitive. Moreover, accessing data
signers hope to deliver to end users. can be inefficient compared with ex-
Many total-capture systems implic- ploiting “organic” human memory.
itly seem to address recollection, or re- How, when, and why people ex-
membering past personal experiences. ploit external memory tools has been
It is well known in the psychological studied extensively in the psychologi-
literature that there are strong connec- cal subfield of metamemory,6 which
tions between these autobiographical addresses people’s understanding of
memories and visual images.8 This the strengths and weaknesses of their
76 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
contributed articles
own memories and the strategies they reminiscence, retrieval, reflection, and 10. Dumais, S., Cutrell, E., Cadiz, J., Jancke, G., Sarin R.,
and Robbins D. Stuff I’ve seen: A system for personal
employ to overcome the weaknesses. remembering intentions). Greater clar- information retrieval and re-use. In Proceedings
Kalnikaite and Whittaker16 looked at ity should produce systems that better of the Conference of the Special Interest Group on
Information Retrieval (Toronto, 2003). ACM Press,
the interplay between organic mem- fit their intended purpose and support New York, 2003, 72–79.
ory and metamemory in determining the user’s relevant cognitive processes. 11. Freeman, E. and Fertig, S. Lifestreams: Organizing
your electronic life. In Proceedings of the AAAI
when people choose to access digital Unless system designers know precise- Fall Symposium on AI Applications in Knowledge
Navigation and Retrieval (Cambridge, MA, Nov.). AAAI
conversational records, showing that ly what their systems are intended to Press, Menlo Park, CA, 1995.
even when a digital record is accurate do, they can’t determine whether their 12. Gemmell, J., Bell, G., and Lueder, R. MyLifeBits: A
personal database for everything. Commun. ACM 49, 1
and complete, users do not rely on it designs are successful. (Jan. 2006), 88–95.
if they feel they can remember the in- Synergy not substitution. Much of 13. Harper, R., Randall, D., Smyth, N., Evans, C., Heledd,
L., and Moore, R. The past is a different place: They
formation unaided. The decision to the rhetoric on behalf of lifelogging as- do things differently there. In Proceedings of the
use a digital-memory aid also depends sumes the systems will replace human Conference on Designing Interactive Systems. ACM
Press, New York, 2008, 271–280.
on the efficiency with which a memory memories. However, digital records 14. Hodges, S., Williams, L., Berry, E., Izadi, S., Srinivasan,
aid can be accessed. Indeed, the study are used only when they are efficient to J., Butler, A., Smyth, G., Kapur, N., and Wood,
K. SenseCam: A retrospective memory aid. In
found that efficiency of access some- access and when users feel their own Proceedings of Ubicomp (Orange County, CA, Sept.).
times overrides accuracy, with subjects memory is unreliable. Rather than try Springer, Berlin, 2006, 177–193.
15. Hori, T. and Aizawa, K. Context-based video retrieval
being willing to settle for less-than-per- to replace human memory with digital system for the lifelog applications. In Proceedings
fect accuracy, as long as the method is systems, system designers should look of the ACM Workshop on Multimedia Information
Retrieval (Berkeley, CA, Nov.). ACM Press, New York,
quick and easy to use. to capitalize on the strengths of human 2003, 31–38.
Lifelogging applications must be memory and help overcome its weak- 16. Kalnikaite, V. and Whittaker, S. Software or wetware?
Discovering when and why people use digital
better at analyzing these trade-offs. nesses. Lifelogging design must there- prosthetic memory. In Proceedings of the Conference
on Human Factors in Computing Systems (San Jose,
When should people use efficient but fore be engineered to work in synergy CA, Apr.–May). ACM Press, New York, 2007, 71–80.
fallible organic memory instead of less with users’ own memories. 17. Lamming, M., Brown, P., Carter, K., Eldridge, M., Flynn,
M., Louie, G., Robinson, P., and Sellen, A. The design of
efficient but potentially more accurate Incorporating the psychology of a human memory prosthesis. Computer Journal 37, 3
digital records? Rather than seeing memory into the design of novel mne- (Jan. 1994), 153–163.
18. Mann, S. Wearable computing: A first step toward
lifelogs as replacing memory, system monic technologies opens up exciting personal imaging. Computer 30, 2 (Feb. 1997), 25–32.
designers would be better off viewing possibilities for ways to augment and 19. Petrelli, D. and Whittaker, S. Family memories in the
home: Contrasting physical and digital mementos.
them as working in synergy with organ- support human endeavors. In light of Personal and Ubiquitous Computing 14, 2, (Feb. 2010),
ic memory. the diversity of human memory and 153–169.
20. Richter, H., Miller, C., Abowd, G., and Funk, H. Tagging
how it plays out in everyday life, we’ve knowledge acquisition to facilitate knowledge
Lessons and Research Questions sought to outline a design space that ex- traceability. International Journal on Software
Engineering and Knowledge Engineering 14, 1 (Feb.
For lifelogging research, prior work of- ploits the strong body of psychological 2004), 3–19.
fers four key insights: knowledge we already have in hand. 21. Russell, D.M. and Lawrence, S. Search everything.
In Personal Information Management, W. Jones
Selectivity, not total capture. Rather and J. Teevan, Eds. University of Washington Press,
than unfocused efforts to “capture ev- Seattle, 2007.
References 22. Schacter, D. The Seven Sins of Memory: How the
erything,” system designers should 1. Abowd, G. Classroom 2000: An experiment with the Mind Forgets and Remembers. Houghton Mifflin, New
instrumentation of a living educational environment. York, 2001.
channel their efforts more fruitfully IBM Systems Journal (Special Issue on Pervasive 23. Sellen, A., Fogg, A., Hodges, S., Rother, C., and Wood,
by identifying the situations where hu- Computing) 38, 4 (Oct. 1999), 508–530. K. Do lifelogging technologies support memory for
2. Bell, G. and Gemmell, J. Total Recall: How the the past? An experimental study using SenseCam. In
man memory is poor or targeting the E-Memory Revolution Will Change Everything. Dutton, Proceedings of the Conference on Human Factors in
things users most want to remember. New York, 2009. Computing Systems (San Jose, CA, Apr.–May). ACM
3. Bergman, O., Beyth-Marom, R., Nachmias R., Press, New York, 2007, 81–90.
These situations are where the systems Gradovitch, N., and Whittaker S. Improved search 24. Sellen, A., Louie, G., Harris, J., and Wilkins, A.
would provide their greatest utility. engines and navigation preference in personal What brings intentions to mind? An in situ study
information management. ACM Transactions on Office of prospective memory. Memory 5, 4 (July 1997),
Furthermore, people may sometimes Information Systems 26, 4 (Sept. 2008), 1–24. 483–507.
4. Berry, E., Kapur, N., Williams, L., Hodges, S., Watson,
want to forget, a view anathema to the P., Smyth, G., Srinivasan, J., Smith, R., Wilson, B., and
25. Tulving, E. Elements of Episodic Memory. Oxford
University Press, New York, 1983.
lifelogging philosophy. Wood, K. The use of a wearable camera: SenseCam as 26. Vermuri, S., Schmandt, C., Bender, W., Tellex, S., and
a pictorial diary to improve autobiographical memory in
Cues not capture. System designers a patient with limbic encephalitis. Neuropsychological
Lassey, B. An audio-based personal memory aid. In
Proceedings of Ubicomp (Nottingham, U.K., Sept.).
must be explicit about the fact that these Rehabilitation 17, 4/5 (2007), 582–681. Springer, Berlin, 2004, 400–417.
5. Brewer, W. Memory for randomly sampled 27. Whittaker, S., Bergman, O., and Clough, P. Easy on
systems do not “capture experiences” autobiographical events. In Remembering that trigger dad: A study of long-term family photo
but instead provide cues that might trig- Reconsidered: Ecological and Traditional Approaches retrieval. Personal and Ubiquitous Computing 14, 1
to the Study of Memory, U. Neisser and E. Winograd, (Jan. 2010), 31–43.
ger different kinds of memories. This is Eds. Cambridge University Press, Cambridge, U.K., 28. Whittaker, S., Tucker, S., Swampillai, K., and Laban,
not a simple matter of infelicity in lan- 1988, 21–90. R. Design and evaluation of systems to support
6. Brown, A. Metacognition, executive control, self- interaction capture and retrieval. Personal and
guage, pointing instead to the need to regulation, and other mysterious mechanisms. In Ubiquitous Computing 12, 3 (Mar. 2008), 197–221.
better understand cueing processes to Metacognition, Motivation, and Understanding, F.E.
Weinert and R.H. Kluwe, Eds. Lawrence Erlbaum
build systems that genuinely support Associates, Hillsdale, NJ, 1987, 65–116. Abigail J. Sellen (asellen@microsoft.com) is a principal
user requirements for memory support. 7. Bush, V. As we may think. Atlantic Monthly 176, 1 (July researcher at Microsoft Research in Cambridge, U.K.,
1945), 101–108. and Special Professor of Interaction at the University of
Memory refers to a complex, multi-fac- 8. Conway, M. Autobiographical Memory. Open University Nottingham, U.K.
eted set of concepts. There are different Press, Milton Keynes, U.K., 1990.
9. Czerwinski, M., Gage, D., Gemmell, J., Marshall, C., Steve Whittaker (whittaker@almaden.ibm.com) is a
types of memory, and system design- Perez-Quinonesis, M., Skeels, M., and Catarci, T. Digital research scientist at IBM Almaden Research Center, San
memories in an era of ubiquitous computing and Jose, CA.
ers must clarify the aspects of memory abundant storage. Commun. ACM 49, 1 (Jan. 2006),
they are targeting (such as recollection, 44–50. © 2010 ACM 0001-0782/10/0500 $10.00
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 77
contributed articles
doi:10.1145/1735223.1735244
what faculty want them to think, where
The curriculum should inspire students they do not think that way, and wheth-
er there is evidence that final-year stu-
to view CS as both accomplishment and dents agree more or less with faculty
intellectual discipline. than students in introductory courses.
Together with earlier research, the re-
by Clayton Lewis, Michele H. Jackson, sults provide insight into sometimes
and William M. Waite surprising attitudes, and can help
guide curricular improvement.
Student and
In physics education, research1,13
into key attitudes and beliefs about
physics as a discipline and how they
change suggests that courses some-
Faculty
times shift student attitudes away
from the attitudes endorsed by faculty.
In particular, students may move to-
ward the view that physics is mainly
Attitudes and
about memorizing and evaluating for-
mulae, rather than about a conceptual
understanding of the natural world.
CS faculty are also likewise con-
Beliefs About
cerned with student attitudes: “CS is
just programming;”17 “As long as a
program works it doesn’t matter how
it is written;” and “Theoretical CS is
not relevant to the real world.” Do stu-
Computer
dents hold such views? As they move
through the curriculum, do their be-
liefs come to resemble those of faculty
teaching them?
Science
Our study collected and analyzed
data on these points. Specifically, we
collected responses to 32 questions
about attitudes and beliefs from be-
ginning and advanced CS undergradu-
ates and from faculty at the University
of Colorado at Boulder. The results
revealed some areas in which student
responses clearly agree with faculty
and others where they disagree. Com-
paring the responses of beginning
What students think about a discipline—its structure,
usefulness, how it is learned—plays an important key insights
role in shaping how they approach it. Just as faculty
members aim to have their students learn the facts T he attitudes of beginning CS students
are more varied than final-year students,
and skills of a discipline, they may also want to suggesting the curriculum plays an
important role in shaping them.
shape student beliefs and attitudes. Here, we report F inal-year CS students generally show
the attitudes of undergraduate computer science little appreciation for skills involving
creativity and reasoning, emphasizing
students early and late in the curriculum, comparing instead CS as outcomes.
them with faculty attitudes in the same department. U nderstanding how student attitudes are
formed and strengthened helps faculty
The results reflect the places where students think develop more effective CS curricula.
78 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
students with those of more advanced Carol Dweck’s work7 on student atti- to indicate whether they strongly dis-
students also suggests how progress tudes about the roles of aptitude and agreed, disagreed, neither agreed nor
through the curriculum changes stu- effort in academic success. disagreed, agreed, or strongly agreed.
dent beliefs and whether such change We discussed the 38 items with a We gave students the same options
is toward or away from what faculty group of six volunteer students to de- but also asked them what they thought
believe. termine whether they were easily un- a CS professor would want them to
We gathered 38 survey items from derstood. We discarded six items based say; for this response they were also
four sources: the Colorado Learning on student input and changed the allowed to indicate “don’t know.”
Analysis Survey for physics,1 selected wording of others to make the intent of The survey included a “catch” item
on the grounds they were relevant (or the survey statements clearer. The final (for both faculty and students) that
Photogra ph by Nic M cPh ee
relevant with small changes) to CS; an survey consisted of 32 items; the table should be left intentionally blank so
interview study of student attitudes here includes the item numbers (non- responses from participants who sim-
toward group work in the CS curricu- consecutive) we used in coding the ply filled in responses without reading
lum16; faculty suggestions on student data and in analyzing the results. the items could be discarded.
attitudes causing them concern; and Each of the 32 items asked faculty In the final week of the spring 2006
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 79
contributed articles
Survey results
80 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
contributed articles
semester, we administered the survey bring the resulting categories in line niors vs. CS1) shows how senior re-
by email to faculty and in paper form with the data, where appropriate. That sponses compared to the responses
to students in three CS courses: first- is, where the data showed the partici- of CS1 students. The numbers are
semester introductory (CS1), second- pants commonly answered two items the difference between the percent-
semester introductory (CS2), and se- the same way, we grouped these items age of seniors and the percentage of
nior-level capstone design. together, even if they were not grouped CS1 students agreeing with the faculty
together in our original classification. consensus on each item. A negative
Discussion In other cases, where the data showed number means seniors agreed with
We obtained responses from 13 fac- that two items we thought were related faculty less than CS1 students. Aster-
ulty (of a total of 25). For student were actually commonly answered dif- isks mark differences in responses
surveys, we received 71 surveys from ferently, we adjusted the grouping to significant at the 5% level (Fisher’s ex-
CS1, 48 from CS2, and 41 from senior reflect that fact. act test, two-tailed).
capstone. The survey was voluntary, The table shows the resulting Now consider an example of how
though no more than one or two stu- groupings of items. At the highest the table reflects these aspects of the
dents in each class declined to partici- level, they fall into two broad clusters: data. In the first data line (item 10),
pate. No surveys contained a response “CS as an accomplishment” and “CS the entry shows (reading from left)
to the catch item, but we did reject one as an intellectual discipline.” Within that the faculty consensus rejected
survey because the last three pages them, “subclusters” are groups of this item, and that 91% of CS1 stu-
had identical responses for each item. items that were statistically related, dents, 98% of CS2 students, and 95% of
We tallied responses by grouping while “themes” were items with relat- seniors also rejected the item, that the
“strongly disagree” and “disagree” as ed content not strongly related in the responses of the seniors were gener-
negative responses, “strongly agree” data. For example, items 8 and 36 both ally in line with the faculty consensus
and “agree” as positive responses, relate to aspects of group work, so they (the happy face means 75% or more
and all other responses, including are thematically related, but partici- agreement), and that the agreement
omitted responses, as neutral. We pants often gave different responses between seniors and faculty (95%) was
examined the responses by faculty to to them. In cluster 2, the items in the four percentage points greater than
classify the items as either rejected subcluster were closely related in the the agreement between CS1 students
or endorsed by faculty. Using the cri- data; the “related” items formed a and faculty (91%).
terion that 75% or more of faculty had larger cluster around them and were Does greater agreement with fac-
to agree to reject or endorse an item, less related to the “other” items in the ulty always represent goodness? No.
we excluded five items as not show- cluster. We suggest later at least one item (4)
ing consensus among the faculty (see We marked each item in the table on which we feel students were more
cluster 2 in the table). for which faculty shared consensus right than faculty; readers might judge
We placed the remaining 27 items to show whether faculty rejected or other items the same way. But faculty
in thematic categories using a com- endorsed the item. The percentage of design the curriculum, and align-
bination of what Adams et al.1 called students in CS1 and in CS2 and seniors ment with their attitudes is what they
“predeterminism” and “raw statisti- (final-year students) who agreed with aim for. Failure to find alignment in-
cal” grouping. We first sorted them the faculty consensus is also shown. dicates a problem. Faculty weren’t of
into groups reflecting our sense of the For most items, the percentage of CS1 one mind, of course, and we removed
relationships among them, without and CS2 students endorsing the facul- items on which they didn’t agree, as
reference to the data (predetermin- ty position did not differ significantly; described earlier.
ism) and used hierarchical cluster an asterisk next to the percentage for In considering which items show
analysis, a statistical technique, to CS2 indicates the percentage is signifi- evidence of progress or lack of prog-
identify items participants commonly cantly different at the 5% level from ress as students move through the
responded to in the same way (using the percentage for CS1 (according to a curriculum, we must urge caution in
the SPSS 16 package2). two-tailed Fisher’s exact test, a test for basing inferences on how students in
Before we performed cluster analy- judging differences between groups the introductory classes compare with
sis, we transformed responses for when using small samples). seniors; different students completed
items in the same thematic category so A face symbol indicates whether the survey in each of the classes. There
answers reflecting a related underlying the seniors’ responses were one of the were no doubt differences among the
attitude would be coded the same. For following: generally in line with faculty responses not traceable to having
example, we transformed the respons- responses (75% or more of seniors en- gone through more or less of the cur-
es to item 64 (“If you can do something dorsing the faculty position), marked riculum. Many surveyed CS1 students
you don’t need to understand it”) so by a happy face; mixed (between 50% were not CS majors. A good many stu-
a negative response would match a and 75% of seniors endorsing the fac- dents join the CS program after CS1;
positive response to item 12 (“I am not ulty position), marked by a neutral of the senior class we surveyed, 45%
satisfied until I understand why some- face; or substantially in conflict (less joined after CS2 and 37% after CS1
thing works the way it does”). than 50% of seniors endorsing the fac- and before CS2. Students also drop
We used the results of the cluster ulty position), marked by a sad face. out of the program; about one-eighth
analysis to modify the groupings to The last column in the table (se- of the surveyed CS1 students eventu-
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 81
contributed articles
ally ended up as CS majors. But the doing things right is more important programming”), a matter important
CS1 students reasonably represent than just getting a solution, though to many people concerned about pub-
the students available as input to the this response represents a significant lic perceptions of the field.17 The situ-
program. A finding that students late improvement over the position of CS1 ation was significantly better among
in the curriculum agree less with fac- students. Less than half of the seniors the seniors than among CS1 students;
ulty could be due to many factors but felt that how they do the work on an indeed, the situation among CS2 stu-
likely shows that the output from the assignment is more important than dents was also significantly better than
program is not improved with respect getting “the desired answer” (item among CS1 students, though because
to the available input—a challenge to 20). This is a little better, though not a good many students entered the pro-
faculty charged with managing the much, than the response from CS1 gram at CS2 this improvement cannot
program. The table does not present students. Most seniors (76%) correctly be attributed to what happens in the
student responses about how faculty indicated that faculty would disagree curriculum. This item also showed the
would like them to respond to each with the item, so this was not a case greatest difference between seniors
item. In some cases we bring this in- of students not knowing where faculty and CS1 students on the survey. Still,
formation into the discussion of indi- stood on an issue. just less than a quarter of the seniors
vidual items. Why do students not feel that how thought the work of computer scien-
Among the 27 items for which we they complete an assignment is im- tists is mostly programming.
found strong faculty consensus, se- portant? This attitude may connect Group work. While students gen-
niors were generally in line with fac- with a student’s wish to increase the erally recognized that much work in
ulty (75% or more agreement) on only difficulty of assignments as a way to computing is collaborative, and de-
seven items. For 16 items, we found demonstrate competence. Leonardi et partments and programs strive to
mixed agreement (50%–75%), and for al.8 found this tendency in interviews provide opportunities for students
four items we found less than 50% of with CS students, writing: to develop collaboration skills, the
seniors endorsed the faculty position. “We found no place in the data results we found for the two items
Though this level of agreement was where informants suggested that ig- in the “group work” theme showed
not good, it is better than for CS1 stu- noring instructions would help them there is room for progress. More than
dents. For 22 of the 27 items, we found arrive at a better solution. Rather, they a quarter of the seniors indicated that
seniors were more likely to agree with admitted readily that following pre- one can take more pride in individual
the faculty consensus than CS1 stu- specified instructions made the task work, and almost half felt that under-
dents. For seven of the items the dif- easier. But ignoring instructions in- standing must be developed alone.
ference in agreement was statistically creased the challenge and introduced Waite et al.16 and Leonardi et al.8 dis-
significant. Among the five items on a higher level of risk. As one engineer cussed negative student attitudes to-
which seniors agreed less with the fac- observed, ‘if you can do it by figuring it ward group work, reporting that many
ulty consensus than CS1 students, the out yourself instead of following some students form the misconception that
difference was statistically significant cookie-cutter process then you’re on individual work is the essential mea-
for one item (44). your way to becoming an expert.’ Suc- sure of competence for skilled pro-
cess under such conditions demon- fessionals. Faculty did not show con-
Results by Subcluster and Theme strated expertise and technical com- sensus in rejecting item 36 (“It’s a lot
We now examine the data for the the- petence.” more satisfying to do an assignment
matic groups of items and the subclus- Responses on this item might re- on your own than with help”) and item
ters to see what it says about student flect what students saw as the role of 38 (“When you submit a group project,
beliefs and how these beliefs differ be- assignments. According to some re- the instructor can’t tell how good your
tween beginning and more advanced search,5 students may consider work individual work was”), suggesting that
students. on assignments to be a product of- faculty, as well as students, need to do
Don’t learn just from examples. In fered for payment (in the form of a some work in this area.
this statistical cluster, seniors agreed grade) rather than as a learning experi- Other items in cluster 1. Items 6, 14,
with faculty that there is more to CS ence. Viewed this way, doing the work 28, and 56 might have been expected
than memorizing solutions or learn- a certain way to learn new techniques to appear in one of the table’s subclus-
ing a single best approach to prob- is irrelevant. ters (perhaps in “concepts and under-
lems. They agreed less strongly that Work in the real world. While most standing”) but did not show response
reading is important, and it may be seniors recognized that computer sci- patterns closely related to the items in
they value reading less than, say, CS1 entists don’t spend a lot of time work- these clusters. As a group, they showed
students. ing alone, a third did not. Most rejected only middling agreement between se-
The end justifies the means. Most the cartoon stereotype of the incompe- niors and faculty, with agreement by
seniors agreed with faculty that how tent manager, though many did not. seniors being somewhat greater than
a program is written is important While there is room for improvement, by CS1 students. For item 28 (“A sig-
(item 52) and were significantly more results on these items were better nificant problem in learning comput-
likely to share this attitude than CS1 than for CS1 students. Most seniors er science is being able to memorize
students. This is good news. But only rejected item 18 (“In the real world, all the information I need to know”)
68% of seniors agreed with faculty that computer scientists’ work is mostly and item 56 (“In the computer sci-
82 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
contributed articles
ence curriculum, if you spend enough Related items: Concepts and under-
time coding you’ll get all you need to standing matter. As mentioned earlier,
get from the courses”), seniors agreed these items form a larger subcluster
with faculty significantly more than together with the subcluster just dis-
CS1 students agreed with faculty.
Less than half of the seniors reject- Only 68% of cussed. There was variation in the
number of seniors endorsing the fac-
ed item 66 (“If you know what you are seniors agreed ulty consensus, pointing to the value
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 83
contributed articles
move students
seniors greater than by CS1 students. perspectives—CS as accomplishment
For item 48 (“There are times I solve a and CS as intellectual discipline—
computer science problem more than
one way to help my understanding”),
toward the idea that could be in tension with one another.
How might they be reconciled or oth-
seniors agreed with faculty signifi- “The work you do in erwise aligned?
cantly more than CS1 students agreed
with faculty.
computer science We can revisit some of the data re-
viewed earlier and consider how it re-
Item 4 (“Nearly everyone is capable in the real world flects on these perspectives. Seniors
of succeeding in the computer science
curriculum if they work at it”) reflects requires a lot of were in conflict with faculty on two
items in cluster 1, and the responses
an interesting situation. Faculty con- creativity,” rather from CS1 and CS2 students were simi-
sensus rejects Dweck’s view7 that ef-
fort is the key to success, but most se- than away from it. lar. First, seniors believed that wait-
ing until the last minute is acceptable
niors do not reject this attitude, only a if you have the know-how (item 66).
few more than among CS1 students. Second, they believed that getting the
For someone agreeing with Dweck, it’s desired result is more important than
good that student views on the value how you get there (item 20). These re-
of effort aren’t changed much. It’s sults directly confirm the findings of
also interesting that seniors wrongly earlier research,8,15,16 highlighting the
believed faculty endorse Dweck’s po- emphasis on accomplishment at the
sition, with 88% of seniors indicating expense of other considerations that
that faculty would want them to agree might be important to faculty or to ef-
with the item. fective learning.
The data further suggests that item In cluster 2 there was conflict with
4 was not very strongly related to any of faculty on item 44 (“When I solve a
the other items in the survey. Despite computer science problem, I explicitly
falling in cluster 2 in the hierarchical- think about which computer science
clustering results, it is the item in that ideas apply to the problem”). Faculty
cluster that is least closely related to and CS1 students agreed that they in-
the other items. tentionally reflect on which CS ideas
Top-level clusters. The hierarchical apply to the problem they are trying
cluster analysis revealed two clear cat- to solve. Less than half of seniors
egories in the data, and a review of the claimed to do so. This, too, supports
items in each cluster showed them to the view of CS as competence, where
be meaningful groupings. The groups skill is the application of knowledge,
suggest that students conceptualize rather than a type of reasoning or dis-
CS in two distinct ways: The first is cipline. This item (44) was the one
“CS as accomplishment,” in which the with the greatest difference between
emphasis is on outcomes and what it CS1 students and seniors, in the nega-
takes to reach them, including skill, tive direction.
technical expertise, programming The only other conflicting item is
knowledge, and resources (books, potentially troubling if we are con-
peers, teachers). The second is “CS as cerned with access to the CS major.
intellectual discipline,” in which the Faculty did not endorse the statement
emphasis is on how CS offers a way to that anyone could succeed at CS if
approach and understand the world, they worked at it (item 4); students in
including how to reason, gain under- all groups consistently disagreed with
standing and deep learning, appreci- faculty on this.
ate the importance of creativity, and Looking at differences between se-
dwell on problems to be able to explore niors and CS1 students with respect to
them fully. This intellectual-discipline their agreement with faculty, with the
view is very much the perspective on exception of item 54, on the impor-
the field emphasized by Wing17 in her tance of reading, all items for which
84 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
contributed articles
seniors agreed less with faculty than of retention and understanding why and Learning Collaborative (http://
CS1 students were in cluster 2. Com- some groups are less well represented www.colorado.edu/ptsp/ptlc/) of the
pared to CS1 students, fewer seniors than others in CS programs. Although University of Colorado.
believed “real-world” CS requires cre- we did not collect data on gender, it is
ativity (item 50); fewer believed that possible that attitudes and trends dif- References
either the reasoning skills of CS (item fer for male and female students, and 1. Adams, W.K., Perkins, K.K., Podolefsky, N., Dubson, M.,
Finkelstein, N.D., and Wieman, C.E. New instrument
60) or its theoretical concepts (item that understanding them could help for measuring student beliefs about physics and
22) were relevant to everyday life, and address underrepresentation of wom- learning physics: The Colorado Learning Attitudes
about Science Survey. Physical Review Special Topics:
(as we discussed), fewer still were in- en in CS. Physics Education Research 2, 1 (2006).
2. Anderberg, M.R. Cluster Analysis for Applications.
tentionally reflective when solving CS Development of attitudes and be- Academic Press, New York, 1973.
problems (item 44). liefs as learning goals is a key part of 3. Bucciarelli, L.L. Designing and learning: A disjunction
in contexts. Design Studies 24, 3 (May 2003),
Overall, the average agreement be- the process by which college education 295–311.
tween seniors and faculty was 67% for socializes students into their profes- 4. Bucciarelli, L.L. and Kuhn, S. Engineering education
and engineering practice: Improving the fit. In
cluster 1 and 63% for cluster 2, not very sions.4,11,12,18 Waite et al.15,16 presented Between Craft and Science: Technical Work in U.S.
different. But the average increase in curricular and pedagogical innova- Settings, S.R. Barley and J.E. Orr, Eds. ILR Press,
Ithaca, NY, 1997, 210–229.
agreement with faculty, comparing tions pointing in the right direction on 5. Button, G. and Sharrock.W. Project work: The
seniors with CS1 students, was 16 per- a number of issues (such as increasing organisation of collaborative design and development
in software engineering. Computer Supported
centage points for cluster 1 and only student involvement during class and Cooperative Work 5, 4 (Dec. 1996), 369–386.
one percentage point for cluster 2. The creating team-based assignments that 6. Crouch, C.H. and Mazur, E. Peer instruction: 10 years
of experience and results. American Journal of
results suggest the curriculum falls require genuine collaboration rather Physics 69, 9 (Sept. 2001), 970–977.
significantly short in helping students than a “hands off” approach). For ex- 7. Dweck, C.J. Self-Theories: Their Role in Motivation,
Personality, and Development. Psychology Press,
develop the perspective that CS is an ample, reducing the weight placed Philadelphia, PA, 2000.
intellectual discipline. by faculty on assignment grades and 8. Leonardi, P.M., Jackson, M.H., and Diwan, A. The
enactment-externalization dialectic: Rationalization
encouraging collaboration can im- and the persistence of counterproductive practices
in student engineering. Academy of Management
Conclusion prove student attitudes toward as- Journal 52, 2 (Apr. 2009), 400–420.
The survey results and analysis sug- signments.15 Such innovation could 9. Lewis, C. Attitudes and beliefs about computer
science among students and faculty. SIGCSE Bulletin
gest a number of challenges to the make a big difference if adopted and 39, 2 (June 2007), 37–41.
curriculum in which the students and reinforced throughout a curriculum. 10. Margolis, J. and Fisher, A. Geek mythology. Bulletin
of Science, Technology, and Society 23, 1 (Feb. 2003):
faculty participated. Using one item What kind of force is needed to make 17–20.
(50) as an illustration, faculty must it happen? 11. National Academy of Engineering. The Engineer of
2020: Visions of Engineering in the New Century.
consider ways to move students to- “Curiosity” is one possible an- National Academies Press, Washington, D.C., 2004.
ward the idea that “The work you do swer. If you are a CS faculty member, 12. Ondrack, D.A. Socialization in professional schools: A
comparative study. Administrative Science Quarterly
in computer science in the real world how would your students respond to 20, 1 (Mar. 1975), 97–103.
requires a lot of creativity,” rather the survey? Its results came from just 13. Perkins, K.K., Adams, W.K., Finkelstein, N.D., Pollock,
S.J., and Wieman, C.E. Correlating student beliefs
than away from it. A next step could be one department, likely not yours. You with student learning using the Colorado Learning
collecting longitudinal data from the might think your students would never Attitudes About Science Survey. In Proceedings of the
Physics Education Research Conference (Sacramento,
same students as they move through deliberately make their work more dif- CA, Aug. 5). AIP, Melville, NY, 2004, 61–64.
the curriculum. Collecting data in key ficult or that they are all aware of the 14. Vincenti, W.G. What Engineers Know and How They
Know It: Analytical Studies from Aeronautical History.
courses at the beginning and end of a value of CS research. But are you sure? Johns Hopkins University Press, Baltimore, MD, 1990.
15. Waite, W.M., Jarrahian, A., Jackson, M.H., and
semester would also be useful in sepa- Curiosity is very important in fuel- Diwan, A. Design and implementation of a modern
rating the effects of selection from ing improvements in physics educa- compiler course. In Proceedings of the 11th Annual
SIGCSE Conference on Innovation and Technology
the effects of courses themselves and tion, as faculty found their students in Computer Science Education (Bologna, Italy, June
in zeroing in on the effectiveness of did not respond as they would have 26–28). ACM Press, New York, 2006, 18–22.
16. Waite, W.M., Jackson, M.H., Diwan, A., and Leonardi,
courses intended to promote particu- wished on evaluation instruments P.M. Student culture vs. group work in computer
lar attitudes and beliefs. shared across institutions (see, for ex- science. SIGCSE Bulletin 36, 1 (Mar. 2004), 12–16.
17. Wing, J. Computational thinking. Commun. ACM 43, 3
Besides being important learning ample, Crouch and Mazur6). Data on (Mar. 2006), 33–35.
targets in themselves, the attitudes this problem provided the foundation 18. Yurtseven, H.O. How does the image of engineering
affect student recruitment and retention? A
and beliefs explored here may also for efforts that produced measurable perspective from the USA. Global Journal of
be important in other ways. Studies improvements. Can CS faculty achieve Engineering Education 6, 1 (2002), 17–23.
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 85
review articles
do i:10.1145/1735223.1735245
battery-operated devices that have
Algorithmic solutions can help reduce proliferated rapidly in recent years.
Each of us has experienced the event
energy consumption in computing environs. that the battery of our laptop or mobile
phone is depleted. The issue is even
By Susanne Albers more serious in autonomous, distrib-
uted devices such as sensor networks
Energy-
where the charging of batteries is dif-
ficult or impossible. Finally, energy
dissipation causes thermal problems.
Most of the energy consumed by a sys-
tem is converted into heat, resulting in
Efficient
wear and reduced reliability of hard-
ware components.
For these reasons, energy has
become a leading design constraint
Algorithms
for computing devices. Hardware engi-
neers and system designers explore
new directions to reduce the energy
consumption of their products. The
past years have also witnessed consid-
erable research interest in algorithmic
techniques to save energy. This survey
reviews results that have been devel-
oped in the algorithms community
to solve problems in energy manage-
ment. For a given problem, the goal
is to design energy-efficient algorithms
that reduce energy consumption while
minimizing compromise to service.
An important aspect is that these algo-
rithms must achieve a provably good
En e rgy cons e rvat io n i sa major concern today. performance.
This article focuses on the sys-
Federal programs provide incentives to save energy tem and device level: How can we
and promote the use of renewable energy resources. minimize energy consumption is
Individuals, companies, and organizations seek energy- a single computational device? We
86 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
first study power-down mechanisms approaches but usually do not prove to design strategies that determine
that conserve energy by transition- performance guarantees. such thresholds and always achieve
ing a device into low-power standby a provably good performance rela-
or sleep modes. Then we address Power-Down Mechanisms tive to the optimum solution? There
dynamic speed scaling in variable- Power-down mechanisms are well- exists a rich literature on power-down
speed processors. This relatively new known and widely used techniques to mechanisms, ranging from algorith-
technique saves energy by utilizing save energy. We encounter them on mic to stochastic and learning-based
the full speed/frequency spectrum of an everyday basis. The display of our approaches. This article concentrates
a processor and applying low speeds desktop turns off after some period on algorithmic solutions. We refer the
whenever possible. Finally, we con- of inactivity. Our laptop transitions reader to Benini et al. and Irani et al.14,
sider some optimization problems in to a standby or hibernate mode if it 25
for surveys on other techniques.
Illustration by m ark knol
wireless networks from an energy sav- has been idle for a while. In these
ings perspective. settings, there usually exist idleness Power Management and
We remark that all the above prob- thresholds that specify the length of Competitiveness
lems have also been studied in the time after which a system is powered Problem setting: In a general sce-
systems literature. The correspond- down when not in use. The following nario, we are given a device that always
ing papers also present algorithmic natural question arises: Is it possible resides in one of several states. In
M ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 87
review articles
addition to the active state there can adversary. This adversarial scenario
be, for instance, standby, suspend, may seem pessimistic but it is consis-
sleep, and full-off states. These states tent with classical algorithm analysis
have individual power consumption that evaluates strategies in terms of
rates. The energy incurred in tran-
sitioning the system from a higher- Energy has become their worst-case resources, typically
running time or memory require-
power to a lower-power state is usually
negligible. However, a power-up oper-
a leading design ments. In this section, we will mostly
study algorithms using competitive
ation consumes a significant amount constraint for analysis but will also consider perfor-
of energy. Over time, the device expe-
riences an alternating sequence of
computing devices. mance on inputs that are generated
according to probability distributions.
active and idle periods. During active Hardware engineers In the following, we will first study
periods, the system must reside in the
active mode to perform the required
and system systems that consist of two states
only. Then we will address systems
tasks. During idle periods, the system designers explore with multiple states. We stress that we
may be moved to lower-power states.
An algorithm has to decide when to new directions consider the minimization of energy.
We ignore the delay that arises when
perform the transitions and to which to reduce energy a system is transitioned from a lower-
states to move. The goal is to minimize
the total energy consumption. As the consumption of power to a higher-power state.
88 communications of th e ac m | M ay 2 0 1 0 | vo l . 5 3 | n o. 5
review articles
Algorithm ALG-D: In an idle period number. More precisely, in any idle ALG-P is at most times the expected
first remain in the active state. After period the expected energy consump- optimum consumption.
b/r time units, if the period has not tion of ALG-R is not more than
ended yet, transition to the sleep state. times that of OPT. Again, is the best Systems with Multiple States
It is easy to prove that ALG-D is competitive ratio a randomized strat- Many modern devices, beside the
2-competitive. We only need to con- egy can obtain.28 active state, have not only one but sev-
sider two cases. If rT < b, then ALG-D From a practical point of view, it is eral low-power states. Specifications
consumes rT units of energy during also instructive to study stochastic set- of such systems are given, for instance,
the idle interval and this is in fact tings where the length of idle periods in the Advanced Configuration and
equal to the consumption of OPT. If is governed by probability distribu- Power Management Interface (ACPI)
rT ³ b, then ALG-D first consumes r . tions. In practice, short periods might that establishes industry-standard
b/r = b energy units to remain in the occur more frequently. Probability interfaces enabling power manage-
active state. An additional power-up distributions can also model specific ment and thermal management of
cost of b is incurred at the end of the situations where either very short mobile, desktop and server platforms.
idle interval. Hence, ALG-D’s total cost or very long idle periods are more A description of the ACPI power
is 2b, while OPT incurs a cost of b for likely to occur, compared to periods management architecture built into
the power-up operation at the end of of medium length. Of course, such a Microsoft Windows operating sys-
the idle period. probability distribution may not be tems can be found at http://www.
It is also easy to verify that no deter- known in advance but can be learned microsoft.com/whdc/system/pnppwr/
ministic online algorithm can achieve over time. In the following, we assume powermgmt/default.mspx.1
a competitive ratio smaller than 2. If an that the distribution is known. Consider a system with l states s1, …,
algorithm transitions to the sleep state Let Q = (q(T) )0£T<∞ be a fixed prob- sl. Let ri be the power consumption
after exactly t time units, then in an ability distribution on the length T of rate of si. We number the states in
idle period of length t it incurs a cost of idle periods. For any t ³ 0, consider order of decreasing rates, such as, r1
tr + b while OPT pays min{rt, b} only. the deterministic algorithm ALGt that > … > rl. Hence s1 is the active state
We remark that power management always powers down after exactly t and sl represents the state with low-
in two-state systems corresponds to time units. If the idle period ends est energy consumption. Let bi be
the famous ski-rental problem, a cor- before ALGt powers down, such as, if the energy required to transition
nerstone problem in the theory of T < t, then the algorithm remains in the system from si to the active state
online algorithms, see, for example, the active state for the duration of the s1. As transitions from lower-power
Irani and Karlin.26 idle interval and uses an energy of rT. states are more expensive we have
Interestingly, it is possible to beat If the idle period has not yet ended b1 £ … £ bl. Moreover, obviously, b1 =
the competitiveness of 2 using ran- when ALGt powers down, such as, if T 0. We assume again that transitions
domization. A randomized algorithm ³ t, then the algorithm incurs a fixed from higher-power to lower-power
transitions to the sleep state according energy of rt + b because an energy of states incur 0 cost because the corre-
to a probability density function p(t). rt is consumed before the system in sponding energy is usually negligible.
The probability that the system pow- powered down and a cost b is incurred The goal is to construct a state transi-
ers down during the first t0 time units to transition back to the active mode. tion schedule minimizing the total
t
of an idle period is ò00p(t)dt. Karlin et In order to determine the expected energy consumption in an idle period.
al.28 determined the best probability cost of ALGt, we have to integrate over Irani et al.24 presented online and
distribution. The density function is all possibilities for the length T of offline algorithms. They assume that
the exponential function e rt/b, multi- the idle period using the probability the transition energies are additive,
plied by the factor to ensure that distribution Q. The two terms in the such as, transitioning from a lower-
p(t) integrated over the entire time expression below represent the two power state sj to a higher-power state
horizon is 1, that is, the system is defi- cases. Note that the probability that si, where i < j, incurs a cost of bj − bi. An
nitely powered down at some point. the idle period has not yet ended when
Algorithm ALG-R: Transition to the ALGt powers down is Figure 1. Illustration of the optimum cost
in a four-state system.
sleep state according to the probabil-
ity density function
Energy
State 1 State 2
(1) State 3
State 4
Karlin et al.28 proposed the following
strategy that, given Q, simply uses the
ALG-R achieves a considerably best algorithm ALGt.
improved competitiveness, as com- Algorithm ALG-P: Given a fixed Q, let
pared to deterministic strategies. A*Q be the deterministic algorithm ALGt
Results by Karlin et al.28 imply that that minimizes Equation 1. Time
ALG-R attains a competitive ratio of Karlin et al. proved that for any Q,
, where e » 2.71 is the Eulerian the expected energy consumption of
May 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 89
review articles
optimal off-line strategy OPT, knowing ri−1t + bi−1 = rit + bi. Here we assume that al. presented an approach for learn-
the length T of the idle period, is sim- states whose functions do not occur on ing an initially unknown Q. They com-
ple to state. We first observe that OPT the lower-envelope, at any time, are dis- bined the approach with ALG-P() and
changes states only at the beginning carded. We remark that the algorithm performed experimental tests for an
and at the end of the idle period. No is a generalization of ALG-D for two- IBM mobile hard drive with four power
transitions are performed during the state systems. Irani et al.24 proved that states. It shows that the combined
period: Moving from a higher-power Lower-Envelope is 2-competitive. This scheme achieves low energy consump-
state si to a lower-power state sj, with j > i is the best competitiveness a determin- tions close to the optimum and usually
during the period is not sensible as si istic algorithm can achieve in arbitrary outperforms many single-value predic-
consumes more energy and a power- state systems. tion algorithms.
up cost of at least bj must be paid any- Irani et al.24 also studied the set- Augustine et al.5 investigate gen-
way to reach the active mode at the ting where the length of idle periods eralized multistate systems in which
end of the period. A better option is to is generated by a probability distribu- the state transition energies may take
immediately use sj. Similarly, a tran- tion Q = (q(T) )0£T<∞. They determine the arbitrary values. Let bij ³ 0 be the energy
sition from a lower-power state sj to a time ti when an online strategy should required to transition from si to sj, 1 £ i, j £ .
higher-power state si does not make move from state si−1 to si, 2 £ i £ l. To Augustine et al. demonstrate that Lower-
sense as sj consumes less energy and this end consider the deterministic Envelope can be generalized and achieves
the transition cost of bj − bi can better online algorithm ALGt that transitions a competitiveness of 3 + 2Ö2 5.8. This
be spent later when transitioning back to the lower-power state after exactly t ratio holds for any state system. Better
to the active mode. If OPT uses state si time units. We determine the expected bounds are possible for specific sys-
throughout the idle period, its total cost of ALGt in an idle period whose tems. Augustine et al. devise a strategy
energy consumption is riT + bi. OPT length T is generated according to Q, that, for a given system S, achieves a
simply chooses the state that mini- assuming that only states si−1 and si are competitive ratio arbitrarily close to the
mizes the cost, that is, the optimum available. Initially ALGt resides in state best competitiveness c* possible for S.
energy consumption is given by si−1. If the idle period ends before ALGt Finally, the authors consider stochastic
transitions to the lower-power state, settings and develop optimal state tran-
OPT(T) = m in {riT + bi}. such as, if T < t, then the energy con- sition times.
1≤i≤l
sumption is ri−1T. If the idle period has
Interestingly, for variable T the opti- not ended yet when ALGt transitions to Dynamic Speed Scaling
mal cost has a simple graphical repre- the lower-power state, such as, if T ³ t, Many modern microprocessors can
sentation, see Figure 1. If we consider the algorithm incurs an energy ri−1t run at variable speed. Examples are
all linear functions fi(t) = rit + bi, repre- while residing in si−1 during the first t the Intel SpeedStep and the AMD pro-
senting the total energy consumption time units and an additional energy of cessor PowerNow. High speeds result
using state si, then the optimum energy ri(T − t) when in state si during the in higher performance but also high
consumption is given by the lower- remaining T − t time units. At the end energy consumption. Lower speeds
envelope of the arrangement of lines. of the idle period, a power-up cost of save energy but performance degrades.
One can use this lower-envelope bi − bi−1 is paid to transition from si back The well-known cube-root rule for
to guide an online algorithm to select to si−1. Hence, in this case ALGt incurs a CMOS devices states that the speed s of
which state to use at any time. Let SOPT(t) total energy of ri−1t + (T − t)ri + bi − bi−1. a device is proportional to the cube-root
denote the state used by OPT in an idle The expected cost of ALGt, assuming of the power or, equivalently, the power
period of total length t, such as, SOPT(t) that only si−1 and si are available, is is proportional to s3. The algorithms
is the state arg min1£i£l{rit + bi}. Irani literature considers a generalization of
et al.24 proposed an algorithm called this rule. If a processor runs at speed
Lower-Envelope that traverses the state s, then the required power is sa, where
sequence as suggested by the optimum a > 1 is a constant. Obviously, energy
offline algorithm. At any time t in an consumption is power integrated over
idle period, the algorithm uses the time. The goal is to dynamically set the
state OPT would use if the period had a Let ti be the time t that minimizes the speed of a processor so as to minimize
total length of t. above expression. Irani et al.24 pro- energy consumption, while still provid-
Algorithm Lower-Envelope: In an idle posed the following algorithm. ing a desired quality of service.
period, at any time t, use state SOPT(t). Algorithm ALG-P(): Change states Dynamic speed scaling leads to
Intuitively, over time, Lower- at the transition times t2,…,tℓ defined many challenging scheduling prob-
Envelope visits the states represented above. lems. At any time a scheduler has to
by the lower-envelope of the functions ALG-P() is a generalization of decide not only which job to execute but
fi(t). If currently in state si−1, the strategy ALG-P for two-state systems. Irani also which speed to use. Consequently,
transitions to the next state si at time ti, et al. proved that for any fixed probabil- there has been considerable research
where ti is the point in time when OPT ity distribution Q, the expected energy interest in the design and analysis of
starts favoring si over si−1. Formally ti is consumption of ALG-P() is no more efficient scheduling algorithms. This
the intersection of the lines fi−1(t) and than times the expected optimum section reviews the most important
fi(t), that is, the solution to the equation consumption. Furthermore, Irani et results developed over the past years.
90 communications of th e ac m | M ay 2 0 1 0 | vo l . 5 3 | n o. 5
review articles
We first address scheduling problems complete the job. Preemption of jobs Algorithm YDS repeatedly deter-
with hard job deadlines. Then we con- is allowed, that is, the processing of a mines the interval I of maximum den-
sider the minimization of response job may be suspended and resumed sity. In such an interval I, the algorithm
times and other objectives. later. The goal is to construct a feasible schedules the jobs of SI at speed DI
In general, two scenarios are of schedule minimizing the total energy using the Earliest Deadline First (EDF)
interest. In the offline setting, all jobs consumption. policy. This well-known policy always
to be processed are known in advance. The framework by Yao et al. assumes executes the job having the earliest
In the online setting, jobs arrive over there is no upper bound on the maxi- deadline, among the available unfin-
time, and an algorithm, at any time, mum processor speed. Hence there ished jobs. After this assignment, YDS
has to make scheduling decisions always exists a feasible schedule satis- removes set SI as well as time interval
without knowledge of any future jobs. fying all job deadlines. Furthermore, it I from the problem instance. More
Online strategies are evaluated again is assumed that a continuous spectrum specifically, for any unscheduled job Ji
using competitive analysis. Online of speeds is available. We will discuss whose deadline is in the interval I, the
algorithm ALG is c-competitive if, for later how to relax these assumptions. new deadline is set to the beginning of
every input, the objective function Fundamental algorithms: Yao et al.40 I because the time window I is not avail-
value (typically the energy consump- first study the offline setting and able anymore for the processing of Ji.
tion) of ALG is within c times the value develop an algorithm for computing Formally, for any Ji with di Î I, the new
of an optimal solution. optimal solutions, minimizing total deadline time is set to di := t. Similarly,
energy consumption. The strategy is for any unscheduled Ji whose release
Scheduling with Deadlines known as YDS referring to the initials of time is in I, the new release time is set
In a seminal paper, initiating the algo- the authors. The algorithm proceeds in to the end of I. Again, formally for any
rithmic study of speed scaling, Yao et a series of iterations. In each iteration, Ji with ri Î I, the new release time is
al.40 investigated a scheduling problem a time interval of maximum density is ri := t¢. Time interval I is discarded. This
with strict job deadlines. At this point, identified and a corresponding partial process repeats until there are no more
this framework is by far the most exten- schedule is constructed. Loosely speak- unscheduled jobs. We give a summary
sively studied algorithmic speed scal- ing, the density of an interval I is the of the algorithm in pseudocode.
ing problem. minimum average speed necessary to Algorithm YDS: Initially J := {J1, …,
Consider n jobs J1,…, Jn that have complete all jobs that must be sched- Jn}. While J ¹ ⵁ, execute the following
to be processed on a variable-speed uled in I. A high density requires a high two steps. (1) Determine the interval I
processor. Each job Ji is specified by a speed. Formally, the density DI of a time of maximum density. In I, process the
release time ri, a deadline di, and a pro- interval I = [t, t¢] is the total work to be jobs of SI at speed DI according to EDF.
cessing volume wi. The release time completed in I divided by the length of (2) Set J := J SI. Remove I from the
and the deadline mark the time inter- I. More precisely, let SI be the set of jobs time horizon and update the release
val in which the job must be executed. Ji that must be processed in I because times and deadlines of unscheduled
The processing volume is the amount their release time and deadline are in I, jobs accordingly.
of work that must be done to complete such as, [ri, di] Í I. The correspond- Figure 2 depicts the schedule con-
the job. Intuitively, the processing vol- ing total processing volume is åJi Î SIwi. structed by YDS on an input instance
ume can be viewed as the number of Then with five jobs. Jobs are represented by
CPU cycles necessary to finish the job. colored rectangles, each job having a
The processing time of a job depends different color. The rectangle heights
on the speed. If Ji is executed at con- correpond to the speeds at which the
stant speed s, it takes wi /s time units to jobs are processed. Time is drawn on
Figure 2. An input instance with five jobs specified as Ji = (ri, di, wi). Blue J1 = (0, 25, 9); red J2 = (3, 8, 7); orange J3 = (5, 7, 4);
dark green J4 = (13, 20, 4); light green J5 = (15, 18, 3).
2.50
2.25
2.00
1.75
1.50
Speed
1.25
1.00
0.75
0.50
0.25
0.00
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
May 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 91
review articles
the horizontal axis. In the first iteration optimal schedule for the currently offline algorithm YDS can be adapted
YDS identifies I1 = [3, 8] as interval of available unfinished jobs. easily to handle feasible job instances,
maximum density, along with set SI1 = Bansal et al.9 gave a comprehen- such as, inputs for which feasible
{ J2, J3}. In I1, the red job J2 is preempted sive analysis of the above algorithm schedules exist using the restricted
at time 5 to give preference to the and proved that the competitive set of speeds. Note that feasibility can
orange job J3 having an earlier dead- ratio is exactly a a. Hence, in terms of be checked easily by always using the
line. In the second iteration I2 = [13, competitiveness, Optimal Available maximum speed sd and scheduling
20] is the maximum density interval. is better than Average Rate. Bansal available jobs according to the EDF pol-
The dark green and light green jobs are et al.9 also presented a new online icy. Given a feasible job instance, the
scheduled; preemption is again used algorithm, called BKP according to modification of YDS is as follows. We
once. In the third iteration, the remain- the initials of the authors, which first construct the schedule according
ing job J3 is scheduled in the available can be viewed as approximating the to YDS. For each identified interval I of
time slots. optimal speeds of YDS in an online maximum density, we approximate the
Obviously, when identifying inter- manner. Again, the algorithm con- desired speed DI by the two adjacent
vals of maximum density, YDS only has siders interval densities. For times speed levels sk and sk+1, such that sk < DI
to consider intervals whose bound- t, t1, and t2 with t1 < t £ t2, let w(t, t1, < sk+1. Speed sk+1 is used first for some
aries are equal to the release times t2) be the total processing volume of d time units and sk is used for the last
and deadlines of the jobs. A straight- jobs that have arrived by time t, have |I| − d time units in I, where d is chosen
forward implementation of the algo- a release time of at least t1 and a dead- such that the total work completed in I
rithm has a running time of O(n3). Li line of at most t2. Then, intuitively, is equal to the original amount of |I|DI.
et al.34 showed that the time can be maxt1,t2 w(t, t1, t2)/(t2 − t1) is an estimate An algorithm with an improved run-
reduced to O(n2 log n). Further improve- of the speed used by YDS, based on the ning time of O(dn log n) was presented
ments are possible if the job execution knowledge of jobs that have arrived by by Li and Yao.35
intervals form a tree structure.33 time t. The new algorithm BKP approx- If the given job instance is not fea-
Yao et al.40 also devised two elegant imates this speed by considering spe- sible, the situation is more delicate.
online algorithms, called Average Rate cific time windows [et − (e − 1)t¢, t¢], for In this case it is impossible to com-
and Optimal Available. Whenever a new t¢ > t, of length e(t¢ − t). The correspond- plete all the jobs. The goal is to design
job Ji arrives at time ri, its deadline di ing necessary speed is then multiplied algorithms that achieve good through-
and processing volume wi are known. by a factor of e. put, which is the total processing
For any incoming job Ji, Average Rate Algorithm BKP: At any time t use a volume of jobs finished by their dead-
considers the density di = wi/(di − ri), speed of e . s(t), where line, and at the same time optimize
which is the minimum average speed energy consumption. Papers7, 17 pres-
necessary to complete the job in time ent algorithms that even work online.
if no other jobs were present. At any At any time the strategies maintain a
time t, the speed s(t) is set to the accu- pool of jobs they intend to complete.
mulated density of jobs active at time t. Available unfinished jobs are pro- Newly arriving jobs may be admitted
A job Ji is active at time t if it is available cessed using EDF. to this pool. If the pool contains too
for processing at that time, such as, if Bansal et al.9 proved that BKP achi large a processing volume, jobs are
t Î [ri, di]. Available jobs are scheduled eves a competitive ratio of , expelled such that the throughput
according to the EDF policy. which is better than the competitive- is not diminished significantly. The
Algorithm Average Rate: At any time ness of Optimal Available for large val- algorithm by Bansal et al.7 is 4-com-
t, use a speed of . ues of a. petitive in terms of throughput and
Available unfinished jobs are sched- All the above online algorithms constant competitive with respect to
uled using EDF. attain constant competitive ratios energy consumption.
Yao et al.40 analyzed Average Rate that depend on a and no other prob- Temperature minimization: High
and proved that the competitive ratio is lem parameter. The dependence on processor speeds lead to high tem-
upper bounded by 2a−1aa, for any a ³ 2. a is exponential. For small values of peratures, which impair a processor’s
Bansal et al.6 showed that the analysis a, which occur in practice, the com- reliability and lifetime. Bansal et al.9
is essentially tight by providing a nearly petitive ratios are reasonably small. A consider the minimization of the maxi-
matching lower bound. result by Bansal et al.9 implies that the mum temperature that arises during
The second strategy Optimal Available exponential dependence on a is inher- processing. They assume that cooling
is computationally more expensive than ent to the problem. Any randomized follows Newton’s Law, which states
Average Rate. It always computes an opti- online algorithm has a competitive- that the rate of cooling of a body is
mal schedule for the currently available ness of at least W( (4/3)a). proportional to the difference in tem-
workload. A recomputation is necessary Refinements—Bounded speed: The perature between the body and the
whenever a new job arrives. A new opti- problem setting considered so far environment. Bansal et al.9 show that
mal schedule for the future time horizon assumes a continuous, unbounded algorithms YDS and BKP have favorable
can be constructed using YDS. spectrum of speeds. However, in prac- properties. For any jobs sequence, the
Algorithm Optimal Available: When tice only a finite set of discrete speed maximum temperature is within a con-
ever a new job arrives, compute an levels s1 < s2 < ... < sd is available. The stant factor of the minimum possible
92 communications of th e ac m | M ay 2 0 1 0 | vo l . 5 3 | n o. 5
review articles
maximum temperature, for any cool- so as to generate idle times in which depends on how fast a device reacts.
ing parameter a device may have. the processor can be transitioned to Unfortunately, response time minimi-
Sleep states: Irani et al.23 investigate the sleep mode. Irani et al.23 develop zation and energy minimization are
an extended problem setting where a online and offline algorithms for this contradicting objectives. To achieve
variable-speed processor may be tran- extended setting. Baptiste et al.11 and fast response times, a system must usu-
sitioned into a sleep state. In the sleep Demaine et al.21 also study scheduling ally use high processor speeds, which
state, the energy consumption is 0 problems where a processor may be lead to high energy consumption. On
while in the active state even at speed set asleep, albeit in a setting without the other hand, to save energy, low
0 some non-negative amount of energy speed scaling. speeds should be used, which result in
is consumed. Hence, Irani et al.23 com- high response times. Hence, one has to
bine speed scaling with power-down Minimizing Response Time find ways to integrate both objectives.
Illustration by m ark knol
mechanisms. In the standard setting A classical objective in scheduling is Consider n jobs J1, …, Jn that have
without sleep state, algorithms tend to the minimization of response times. to be scheduled on a variable-speed
use low speed levels subject to release A user releasing a task to a system processor. Each job Ji is specified by
time and deadline constraints. In con- would like to receive feedback, say the a release time ri and a processing vol-
trast, in the setting with sleep state result of a computation, as quickly ume wi. When a job arrives, its process-
it can be beneficial to speed up a job as possible. User satisfaction often ing volume is known. Preemption of
May 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 93
review articles
a
jobs is allowed. In the scheduling lit- active jobs, use speed Öl . A job is active unit-size jobs. Hence, unless P = NP,
erature, response time is referred to as if it has been released but is still unfin- optimal solutions cannot be com-
flow time. The flow time fi of a job Ji is ished. Intuitively, this is a reasonable puted efficiently. Albers et al.3 then
the length of the time interval between strategy because, in each time unit, the develop polynomial time offline algo-
release time and completion time of incurred energy of is equal to rithms that achieve constant factor
the job. We seek schedules minimizing the additional flow time accumulated approximations, such as, for any input
the total flow time . by the jobs during that time unit. the consumed energy is within a con-
Limited energy: Pruhs et al.37 study a Hence, both energy and flow time con- stant factor of the true optimum. They
problem setting where a fixed energy tribute the same value to the objective also devise online algorithms attain-
volume E is given and the goal is to function. The algorithm and variants ing constant competitive ratios. Lam
minimize the total flow time of the thereof have been the subject of exten- et al.30 study deadline-based sched-
jobs. The authors assume all jobs have sive analyses,7, 8, 10, 32 not only for unit- uling on two speed-bounded pro-
the same processing volume. By scal- size jobs but also for arbitrary size jobs. cessors. They present a strategy that
ing, we can assume all jobs have unit- Moreover, unweighted and weighted is constant competitive in terms of
size. Pruhs et al.37 consider the offline flow times have been considered. throughput maximization and energy
scenario where all the jobs are known The currently best result is due to minimization.
in advance and show that optimal Bansal et al.8 They modify the above Bunde15 investigates flow time
schedules can be computed in polyno- algorithm slightly by using a speed minimization in multiprocessor envi-
a
mial time. However, in this framework of Öl + 1 whenever l jobs are active. ronments, given a fixed energy vol-
with a limited energy volume it is dif- Inspired by a paper of Lam et al.,32 they ume. He presents hardness results as
ficult to construct good online algo- apply the Shortest Remaining Processing well as approximation guarantees for
rithms. If future jobs are unknown, it is Time (SRPT) policy to the available jobs. unit-size jobs. Lam et al.31 consider
unclear how much energy to invest for More precisely, at any time among the objective function of minimizing
the currently available tasks. the active jobs, the one with the least energy plus flow times. They design
Energy plus flow times: Albers and remaining work is scheduled. online algorithms achieving constant
Fujiwara2 proposed another approach Algorithm Job Count: At any time if competitive ratios.
to integrate energy and flow time mini- there are l ³ 1 active jobs, use speed Makespan minimization: Another
a
mization. They consider a combined Öl + 1. If no job is available, use speed basic objective function in scheduling
objective function that simply adds 0. Always schedule the job with the is makespan minimization, that is, the
the two costs. Let E denote the energy least remaining unfinished work. minimization of the point in time when
consumption of a schedule. We wish to Bansal et al.8 proved that Job Count the entire schedule ends. Bunde15
minimize . By multiplying is 3-competitive for arbitrary size jobs. assumes that jobs arrive over time and
either the energy or the flow time by a Further work considering the weighted develops algorithms for single- and
scalar, we can also consider a weighted flow time in objective function g can multiprocessor environments. Pruhs
combination of the two costs, express- be found in Bansal et al.8, 10 Moreover, et al.36 consider tasks having prece-
ing the relative value of the two terms Bansal et al. and Lam et al.7, 32 propose dence constraints defined between
in the total cost. Albers and Fujiwara algorithms for the setting that there is them. They devise algorithms for par-
concentrate on unit-size jobs and show an upper bound on the maximum pro- allel processors given a fixed energy
that optimal offline schedules can be cessor speed. volume.
constructed in polynomial time using All the above results assume that
a dynamic programming approach. In when a job arrives, its processing vol- Wireless Networks
fact the algorithm can also be used to ume is known. Papers18, 32 investigate Wireless networks such as ad hoc
minimize the total flow time of jobs the harder case that this information is networks and sensor networks have
given a fixed energy volume. not available. received considerable attention over
Most of the work by the authors2 the last few years. Prominent appli-
is concerned with the online setting Extensions and Other Objectives cations of such networks are habitat
where jobs arrive over time. Albers Parallel processors: The results pre- observation, environmental monitor-
and Fujiwara present a simple online sented so far address single-proces- ing, and forecasting. Network nodes
strategy that processes jobs in batches sor architectures. However, energy usually have very limited battery
and achieves a constant competitive consumption is also a major con- capacity so that effective energy man-
ratio. Batched processing allows one cern in multiprocessor environments. agement strategies are essential to
to make scheduling decisions, which Currently, relatively few results are improve the lifetime of a network.
are computationally expensive, only known. Albers et al.3 investigate dead- In this survey, we focus on two algo-
every once in a while. This is certainly line-based scheduling on m identi- rithmic problems that have received
an advantage in low-power computing cal parallel processors. The goal is to considerable interest in the research
environments. Nonetheless, Albers minimize the total energy on all the community recently. Moreover, these
and Fujiwara conjectured that the fol- machines. The authors first settle problems can be viewed as schedul-
lowing algorithm achieves a better the complexity of the offline prob- ing problems and hence are related to
performance with respect to the mini- lem by showing that computing opti- the topics addressed in the previous
mization of g: at any time, if there are mal schedules is NP-hard, even for sections.
94 communications of th e ac m | M ay 2 0 1 0 | vo l . 5 3 | n o. 5
review articles
May 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 95
review articles
single one and transfer it to the parent in terms of their implementation and 21. Demaine, E.D., Ghodsi, M., Hajiaghayi, M.T., Sayedi-
Roshkhar, A.S., Zadimoghaddam, M. Scheduling
node, in the direction of s. The energy execution cost: how much extra energy to minimize gaps and power consumption. In
incurred by a network node is propor- is incurred in executing the algorithms Proceedings of the 19th Annual ACM Symposium
on Parallel Algorithms and Architectures (2007),
tional to the number of packets sent. in realistic environments. 46–54.
Becchetti et al.13 assume that data 22. Flammini, M., Klasing, R., Navarra, A., Perennes, S.
Improved approximation results for the minimum
items arrive over time. Each item i References energy broadcasting problem. Algorithmica 49
1. http://www.microsoft.com/whdc/system/pnppwr/ (2007), 318–336.
is specified by the node vi where the powermgmt/default.mspx 23. Irani, S., Shukla, S.K., Gupta, R. Algorithms for power
item arises, an arrival time ri and a 2. Albers, S., Fujiwara, H. Energy-efficient algorithms savings. ACM Trans. Algorithms 3 (2007).
for flow time minimization. ACM Trans. Algorithms 24. Irani, S., Shukla, S.K., Gupta, R.K. Online strategies
deadline di by which the data must 3 (2007). for dynamic power management in systems
reach the sink. The goal is to find a 3. Albers, S., Müller, F., Schmelzer, S. Speed scaling with multiple power-saving states. ACM Trans.
on parallel processors. In Proceedings of the 19th Embedded Comput. Syst. 2 (2003), 325–346.
feasible transmission schedule mini- ACM Symposium on Parallelism in Algorithms and 25. Irani, S., Singh, G., Shukla, S.K., Gupta, R.K. An overview
mizing the maximum energy required Architectures (2007), 289–298. of the competitive and adversarial approaches to
4. Ambühl, C. An optimal bound for the MST algorithm designing dynamic power management strategies.
at any node. Becchetti et al. show that to compute energy efficient broadcast trees in IEEE Trans. VLSI Syst. 13 (2005), 1349–1361.
the offline problem is NP-hard and wireless networks. In Proceedings of the 32nd 26. Irani, S., Karlin, A.R. Online computation. In
International Colloquium on Automata, Languages Approximation Algorithms for NP-Hard Problems.
present a 2-approximation algorithm. and Programming (2005), Springer LNCS 3580, Hochbaum D. ed. PWS Publishing Company, 1997,
They also develop distributed online 1139–1150. 521–564.
5. Augustine, J., Irani, S., Swamy, C. Optimal power- 27. Irani, S., Pruhs, K. Algorithmic problems in power
algorithms for synchronous as well down strategies. SIAM J. Comput. 37 (2008), management. SIGACT News 36 (2005), 63–76.
as asynchronous communication 1499–1516. 28. Karlin, A.R., Manasse, M.S., McGeoch, L.A, Owicki,
6. Bansal, N., Bunde, D.P., Chan, H.-L., Pruhs K. Average S.S. Competitive randomized algorithms for
models. Korteweg et al.29 study a prob- rate speed scaling. In Proceedings of the 8th Latin nonuniform problems. Algorithmica 11 (1994),
lem variant where the data items do American Symposium on Theoretical Informatics 542–571.
(2008), Springer LNCS 4957, 240–251. 29. Korteweg, P., Marchetti-Spaccamela, A., Stougie, L.,
not have deadlines but should reach 7. Bansal, N., Chan, H.-L., Lam, T.-W., Lee, K.-L. Vitaletti, A. Data aggregation in sensor networks:
Scheduling for speed bounded processors. In Balancing communication and delay costs. In
the sink with low latency. They pres- Proceedings of the 35th International Colloquium Proceedings of the 14th International Colloquium
ent algorithms that simultaneously on Automata, Languages and Programming (2008), on Structural Information and Communication
Springer LNCS 5125, 409–420. Complexity (2007), Springer LNCS 4474,
approximate energy consumption 8. Bansal, N., Chan, H.-L., Pruhs, K. Speed scaling with 139–150.
and latency, considering again vari- an arbitrary power function. In Proceedings of the 30. Lam, T.-W., Lee, L.-K., To, I.K.-K., Wong, P.W.H.
20th ACM-SIAM Symposium on Discrete Algorithm Energy efficient deadline scheduling in two
ous communication models. (2009). processor systems. In Proceedings of the 18th
9. Bansal, N., Kimbrel, T., Pruhs, K. Speed scaling to International Symposium on Algorithms and
manage energy and temperature. J. ACM 54 (2007). Computation (2007), Springer LNCS 4835,
Conclusion 10. Bansal, N., Pruhs, K., Stein, C. Speed scaling for 476–487.
In this survey, we have reviewed algo- weighted flow time. In Proceedings of the 18th 31. Lam, T.-W., Lee, L.-K., To, I.K.-K., Wong, P.W.H.
Annual ACM-SIAM Symposium on Discrete Competitive non-migratory scheduling for flow time
rithmic solutions to save energy. Algorithms (2007), 805–813. and energy. In Proceedings of the 20th Annual ACM
Another survey on algorithmic prob- 11. Baptiste, P., Chrobak M., Dürr C. Polynomial time Symposium on Parallel Algorithms and Architectures
algorithms for minimum energy scheduling. In (2008), 256–264.
lems in power management was Proceedings of the 15th Annual European Symposium 32. Lam, T.-W., Lee, L.-K., To, I.K.-K., Wong, P.W.H. Speed
written by Irani and Pruhs.27 Over on Algorithms (2007), Springer LNCS 4698, 136–150. scaling functions for flow time scheduling based on
12. Barroso, L.A. The price of performance. ACM Queue 3 active job count. In Proceedings of the 16th Annual
the past months a large number of (2005). European Symposium on Algorithms (2008), Springer
papers have been published, and we 13. Becchetti, L., Korteweg, P., Marchetti-Spaccamela, LNCS 5193, 647–659.
A., Skutella, M., Stougie, L., Vitaletti, A. Latency 33. Li, M., Liu, B.J., Yao, F.F. Min-energy voltage allocation
expect that energy conservation from constrained aggregation in sensor networks. for tree-structured tasks. J. Comb. Optim. 11 (2006),
In Proceedings of the 14th Annual European 305–319.
an algorithmic point of view will con- Symposium on Algorithms (2006), Springer LNCS 34. Li, M., Yao, A.C., Yao, F.F. Discrete and continuous
tinue to be an active research topic. 4168, 88–99. min-energy schedules for variable voltage
14. Benini, L., Bogliolo, A., De Micheli, G. A survey of processors. In Proceedings of the National Academy
There are many directions for future design techniques for system-level dynamic power of Sciences USA 103 (2006), 3983–3987.
research. With respect to power-down management. IEEE Trans. VLSI Syst. 8 (2000), 35. Li, M., Yao, F.F. An efficient algorithm for computing
299–316. optimal discrete voltage schedules. SIAM J. Comput.
mechanisms, for instance, it would 15. Bunde, D.P. Power-aware scheduling for makespan 35 (2005), 658–671.
be interesting to design strategies and flow. In Proceedings of the 18th Annual ACM 36. Pruhs, K., van Stee, R., Uthaisombut, P. Speed
Symposiun on Parallel Algorithms and Architectures scaling of tasks with precedence constraints. Theory
that take into account the latency that (2006), 190–196. Comput. Syst. 43 (2008), 67–80.
arises when a system is transitioned 16. Caragiannis, I., Flammini, M., Moscardelli, L. An 37. Pruhs, K., Uthaisombut, P., Woeginger, G.J. Getting
exponential improvement on the MST heuristic for the best response for your erg. ACM Trans.
from a sleep state to the active state. minimum energy broadcasting in ad hoc wireless Algorithms 4 (2008).
Additionally, we need a better under- networks. In Proceedings of the 34th International 38. Sleator, D.D., Tarjan, R.E. Amortized efficiency of list
Colloquium on Automata, Languages and update and paging rules. Comm. ACM 28 (1985),
standing of speed scaling techniques Programming (2007), Springer LNCS 4596, 447–458. 202–208.
in multiprocessor environments as 17. Chan, H.-L., Chan, W.-T., Lam, T.-W., Lee, K.-L., Mak, 39. Wan, P.-J., Calinescu, G., Li, X.-Y., Frieder, O.
K.-S., Wong P.W.H. Energy efficient online deadline Minimum-energy broadcasting in static ad hoc
multicore architectures become more scheduling. In Proceedings of the 18th Annual ACM- wireless networks. Wireless Netw. 8 (2002), 607–617.
and more common not only in serv- SIAM Symposium on Discrete Algorithms (2007), 40. Yao, F.F., Demers, A.J., Shenker, S. A scheduling
795–804. model for reduced CPU energy. In Proceedings of the
ers but also in desktops and laptops. 18. Chan, H.-L., Edmonds, J., Lam, T.-W, Lee, L.-K., 36th IEEE Symposium on Foundations of Computer
Marchetti-Spaccamela, A., Pruhs, K. Nonclairvoyant Science (1995), 374–382.
Moreover, optimization problems in speed scaling for flow and energy. In Proceedings
networks deserve further algorithmic of the 26th International Symposium on Theoretical
Aspects of Computer Science (2009), 255–264.
investigation. At this point it would 19. Clementi, A.E.F., Crescenzi, P., Penna, P., Rossi, G.,
Susanne Albers is a professor in the Department of
Computer Science at Humboldt University, Berlin, Germany.
be interesting to study energy-effi- Vocca, P. On the complexity of computing minimum
energy consumption broadcast subgraphs. In
cient point-to-point communication, Proceedings of the 18th International Symposium
complementing the existing work on on Theoretical Aspects of Computer Science (2001), Work supported by a Gottfried Wilhelm Leibniz Award of
Springer 2010, 121–131. the German Research Foundation.
broadcast and data-aggregation proto- 20. Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein,
cols. Last but not least, the algorithms C. Introduction to Algorithms, MIT Press and
McGraw-Hill, 2001.
presented so far have to be analyzed © 2010 ACM 0001-0782/10/0500 $10.00
96 communications of th e ac m | M ay 2 0 1 0 | vo l . 5 3 | n o. 5
research highlights
p. 98 p. 99
Technical Censored Exploration
Perspective
Learning to Act and the Dark Pool Problem
in Uncertain By Kuzman Ganchev, Yuriy Nevmyvaka, Michael Kearns,
and Jennifer Wortman Vaughan
Environments
By Peter L. Bartlett
p. 108 p. 109
Technical Automatic Program Repair
Perspective
Automated Patching with Evolutionary Computation
Techniques: By Westley Weimer, Stephanie Forrest, Claire Le Goues,
and ThanhVu Nguyen
The Fix Is In
By Mark Harman
m ay 2 0 1 0 | vo l . 5 3 | n o. 3 | c o m m u n i c at i o n s o f t he acm 97
research highlights
doi:10.1145/1735223.1 7 3 5 2 4 6
98 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
d oi:10.1145/1735223 . 1 7 3 5 2 4 7
Censored Exploration
and the Dark Pool Problem
By Kuzman Ganchev, Yuriy Nevmyvaka, Michael Kearns, and Jennifer Wortman Vaughan
Abstract
Dark pools are a recent type of stock exchange in which for executing 10–20% of the overall US equity volume. In fact,
information about outstanding orders is deliberately hid- they have been so successful that there are now approxi-
den in order to minimize the market impact of large-vol- mately 40+ dark pools for the US Equity market alone. The
ume trades. The success and proliferation of dark pools popularity of these exchanges has left large-volume traders
have created challenging and interesting problems in algo- and brokerages facing a novel problem: How should one
rithmic trading—in particular, the problem of optimizing optimally distribute a large trade over the many indepen-
the allocation of a large trade over multiple competing dent dark pools?
dark pools. In this work, we formalize this optimization as To answer this question, we analyze a framework and
a problem of multi-venue exploration from censored data, algorithm for a more general multi-venue exploration prob-
and provide a provably efficient and near-optimal algo- lem. We consider a setting in which at each time period,
rithm for its solution. Our algorithm and its analysis have we have some exogenously determined volume of V units of
much in common with well-studied algorithms for man- an abstract good (for example, shares of a stock that a cli-
aging the exploration–exploitation trade-off in reinforce- ent would like to sell). Our goal is to “sell” or “consume”
ment learning. We also provide an extensive experimental as many of these units as possible at each step, and there
evaluation of our algorithm using dark pool execution data are K abstract “venues” (for example, various dark pools) in
from a large brokerage. which this selling or consumption may occur. We can divide
our V units into any way we like across the venues in service
of this goal. What differentiates this problem from most
1. INTRODUCTION standard learning settings is that if vi units are allocated to
Dark pools are a relatively new type of exchange designed to venue i, and all of them are consumed, we learn only that
address the problems that arise from the transparent (or the total demand at venue i was at least vi, not the precise
“light”) nature of a typical stock exchange—namely, the diffi- number of units that could have been consumed there. This
culty of minimizing the impact of large-volume trades.3, 5, 7 In important aspect of our framework is known as censoring in
a typical exchange, the revelation that there is a large-volume the statistics literature.
buyer (seller) in the market can cause prices to rise (fall) at In this work, we make the natural and common assump-
the buyer’s (seller’s) expense. If the volume is sufficiently tion that the maximum amount of consumption available
large, and the trading period sufficiently short, such market in venue i at each time step (or the total liquidity available,
impacts remain even if one attempts to fragment the trade in the dark pool problem) is drawn according to a fixed but
over time into smaller transactions. As a result, there has unknown distribution Pi. Formally speaking, this means
been increasing interest in recent years in execution mecha- that when vi units are submitted to venue i, a value si is drawn
nisms that allow full or partial concealment of large trades. randomly from Pi and the observed (and possibly censored)
In a typical dark pool, buyers and sellers submit orders amount of consumption is min{si, vi}.
that simply specify the total volume of shares they wish to A learning algorithm in our framework receives a
buy or sell, with the price of the transaction determined sequence of volumes V 1, V 2, … and must decide how to dis-
exogenously by “the market”.a Upon submitting an order tribute the V t units across the venues at each time step t. Our
to buy (or sell) v shares, a trader is put in a queue of buyers goal is to efficiently (in time polynomial in the parameters of
(or sellers) awaiting transaction. Matching between buy- the model) learn a near-optimal allocation policy. There is a
ers and sellers occurs in sequential arrival of orders, simi- distinct between-venue exploration component to this prob-
lar to a light exchange. However, unlike a light exchange, lem, since the best number of shares to submit to venue i
no information is provided to traders about how many may depend on both Vt and the distributions for the other
parties or shares might be available in the pool at any venues, and the only mechanism by which we can discover
given moment. Thus in a given time period, a submission the distributions is by submitting allocations. If we routinely
of v shares results only in a report of how many shares up submit too-small volumes to a venue, we receive censored
to v were executed. observations and are underutilizing the venue; if we submit
While presenting their own trading challenges, dark pools
have become tremendously popular exchanges, responsible
The original version of this paper was published in
the Proceedings of the 25th Conference on Uncertainty in
a
For our purposes, we can think of the price as the midpoint between the bids Artificial Intelligence, 2009.
and ask in the light exchanges, though this is a slight oversimplification.
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t he acm 99
research highlights
too-large volumes, we receive uncensored observations but from a fixed but unknown distribution Pi. If rit = vit, we say
have excess inventory. that the algorithm receives a censored observation because
Our main theoretical contribution is a provably polyno- it is possible to infer only that rit £ sit. If rit < vit, we say that
mial-time algorithm for learning a near-optimal policy for any the algorithm receives a direct observation because it must
unknown venue distributions Pi. This algorithm takes a par- be the case that rit = sit.
ticularly natural and appealing form, in which allocation and The goal of the learner is to discover a near-optimal
distribution reestimation are repeatedly alternated. More pre- one-step allocation policy, that is, an allocation policy that
cisely, at each time step we maintain estimates of the distri- approximately optimizes the expected number of units out
butions Pi; pretending that these estimates are in fact exactly of Vt consumed at each time step t. (We briefly discuss other
correct, we allocate the current volume V accordingly. These objectives at the end of Section 4.4.)
allocations generate observed consumptions in each venue, Throughout the remainder of the paper, we use the short-
which in turn are used to update the estimates. We show hand Ti for the tail probabilities associated with Pi. That
that when the estimates are “optimistic tail modifications” is, Ti(s) = ås¢ ³ s Pi(s¢). c Clearly Ti(0) = 1 for all i. We use T̂it(s) for
of the classical Kaplan–Meier maximum likelihood estima- an empirical estimate of Ti(s) at time t.
tor for censored data, this estimate–allocate loop has prov-
ably efficient between-venue exploration behavior that yields 3. A GREEDY ALLOCATION SCHEME
the desired result. Venues with smaller available volumes are Before tackling the full exploration–exploitation problem,
gradually given smaller allocations in the estimate–allocate we must examine a more basic question: Given estimates T̂i
loop, whereas venues with repeated censored observations of the tail probabilities Ti for each venue i, how can we maxi-
are gradually given larger allocations, eventually settling on a mize the (estimated) expected number of units consumed
near-optimal overall allocation distribution. on a single time step? It turns out that this can be accom-
Finally, we present an extensive experimental evaluation plished using a simple greedy allocation scheme. The greedy
of our model and algorithm on the dark pool problem, using algorithm allocates one unit at a time. The venue to which
trading data from a large brokerage. the next unit is allocated is chosen to maximize the esti-
The closest problem to our setting is the widely stud- mated probability that the unit will be consumed. It is easy
ied newsvendor problem from the operations research to see that if vi units have already been allocated to venue i,
literature. In this problem, at each time period a player then the estimated probability that the next allocated unit
(representing a newsstand owner) chooses a quantity V will be consumed is simply T̂i (vi + 1). A formal description of
of newspapers to purchase at a fixed per-unit price, and the Greedy algorithm is given in Figure 1.
tries to optimize profit in the face of demand uncertainty
at a single venue (their newsstand).b Huh et al.10 were the Theorem 1. The allocation returned by Greedy maximizes
first to consider the use of the Kaplan–Meier estimator in the expected number of units consumed in a single time step,
this class of problems. They use an estimate–allocate loop where the expectation is taken with respect to the estimated tail
similar to ours, and show asymptotic convergence to near- probabilities {T̂i }iK = 1.
optimal behavior in a single venue. Managing the distribu-
tion of an exogenously specified volume V across multiple The proof of this theorem is fairly simple. Using the fact
venues (which are the important aspects of the dark pool that tail probabilities must satisfy T̂i (s) ³ T̂i (s¢) for all s £ s¢, it
problem, where the volume to be traded is specified by a is easy to verify that by greedily adding units to the venues in
client, and there are many dark pools) and the attendant decreasing order of T̂i (s), the algorithm returns
exploration–exploitation trade-off between venues are key
aspects and differentiators of our algorithm and analy-
sis. We also obtain stronger (polynomial time rather than
asymptotic) bounds, which require a modification of the
classical Kaplan–Meier estimator. The remainder of the proof involves showing that the
expression being maximized here equivalent to the
2. THE FORMAL MODEL expected number of units consumed. This can be done
Formally, we consider the following problem. At each time algebraically.d
t, a learner is presented with a quantity or volume V t Î {1,
…, V} of units, where V t is sampled from an unknown dis- 4. THE CENSORED EXPLORATION–EXPLOITATION
tribution Q. The learner must decide on an allocation v®t of ALGORITHM
these shares to a set of K known venues, with vit Î {0, …, V t} We now present our main theoretical result, which is a
for each i Î{1, …, K}, and åki = 1 vit = V t. The learner is then
told the number of units rit consumed at each venue i. Here c
In the early literature on censored estimation, these tail probabilities were
rit = min{sit, vit}, where sit is the maximum consumption referred to as survival probabilities, as T(s) usually represented the probability
level of venue i at time t, which is sampled independently that a patient in a particular medical study survived for at least s years past the
start of the study. In this setting, observations were frequently censored when
researchers lost track of a patient midway through the study and knew only
b
In our setting, it is important that we view V as given exogenously by the that the patient lived at least until the point at which contact was broken.1
client and not under the trader’s control, which distinguishes our setting d
The curious reader can find more details of this and other omitted proofs
somewhat from the prior works. in the original version of this paper.9
100 communications of t h e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
Figure 1. Optimal allocation algorithm Greedy.
for every value of s up to the cut-off is guaranteed to be
close to the true tail probability. We then define a lightly
modified version of the Kaplan–Meier estimates in which
Input: Volume V, tail probability estimates {T̂i }iK=1
Output: An allocation v
Æ the tail probability of the next unit above the cut-off is
Æ
v ¬ 0;
Æ modified in an optimistic manner. We show that in con-
for l ¬ 1 to V do junction with the greedy allocation scheme, this minor
i ¬ argmaxi T̂i (vi + 1); modification leads to increased exploration, since the next
vi ¬ vi + 1; unit beyond the cut-off always looks at least as good as the
end
Æ
return v
cut-off itself.
Step 2: We next prove our main Exploitation Lemma (Lemma
3). This lemma shows that at any time step, if it is the case
that the number of units allocated to each venue by the
polynomial-time, near-optimal algorithm for multi-venue greedy algorithm is strictly below the cut-off for that venue
exploration from censored data. The analysis of our algo- (which can be thought of as being in a known state in the
rithm bears strong resemblance to the exploration–exploi- parlance of reinforcement learning) then the allocation is
tation arguments common in the E3 and RMAX family of provably e -optimal.
algorithms for reinforcement learning.4, 12 In particular, Step 3: We then prove our main Exploration Lemma (Lemma
there is an analogy to the notion of a known state inherent in 4), which shows that on any time step at which the allocation
those earlier algorithms, along with an exploitation lemma made by the greedy algorithm is not e-optimal, it is possible
(proving that expected payoffs from known states are high) to lower bound the probability that the algorithm explores.
and an exploration lemma (proving that extended periods of Thus, any time we cannot ensure a near-optimal allocation,
low payoffs must result in more states becoming known). we are instead assured of exploring.
In our setting, however, the number of states is exponential Step 4: Finally, we show that on any sufficiently long
and thus the special structure of our problem is required sequence of time steps (where sufficiently long is polyno-
to obtain a polynomial time algorithm. We first provide an mial in the parameters of the model), it must be the case
overview of the algorithm and its analysis before examining that either the algorithm has already implemented a near-
it in more detail.
At the highest level, the algorithm is quite simple and Figure 2. Main algorithm.
natural. It maintains estimates T̂it for the true unknown
tail probabilities Ti for each venue i. These estimates
Input: Volume sequence V 1, V 2, V 3,...
improve with time in a particular quantifiable sense which 1
Arbitrarily initialize T̂ i for each i;
drives between-venue exploration. At any given time t, the for t ¬ 1, 2, 3, ... do
current volume Vt is allocated across the venues by simply % Allocation Step:
t t
vt ¬ Greedy (V t, T̂1,...,T̂K);
Æ
calling the optimal greedy allocation scheme from Figure
for i ¬ {1,...,K} do
1 on the current set of estimated tail probabilities T̂it. This Submit V it units to venue i;
results in new censored observations from each venue, Let rit be the number of shares sold;
which in turn are used to update the estimates T̂it + 1 used at % Reestimation Step:
t+1
the next time step. Thus the algorithm, which is formally T̂i ¬ OptimisticKM ({(v it, rit )}tt = 1);
stated in Figure 2, implements a continuous allocate– end
end
reestimate loop.
Note that we have not yet described the algorithm’s
subroutine OptimisticKM, which specifies how we esti-
mate T̂it from the observed data. The most natural choice
would be the maximum likelihood estimator on the data. Figure 3. Subroutine OptimisticKM. Let Mi,s't
and Ni,s'
t
be defined in
This estimator is well-known in the statistics literature Section 4.1, and assume that e, d > 0 are fixed parameters.
as the Kaplan–Meier estimator. In the following section,
we describe Kaplan–Meier and derive a new convergence Input: Observed data ({(v it, rit )}tt = 1) for venue i
result that suits our particular needs. This result in turn Output: Modified Kaplan–Meier estimators for i
lets us define an optimistic tail modification of Kaplan– % Calculate the cut-off:
t
ci t¬ max{s : s = 0 or Ni,s–1 ³ 128 (sV/e )2 ln(2V/d)};
Meier that becomes our choice for OptimisticKM. Figure 3
% Compute Kaplan–Meier tail probabilities:
shows the full subroutine. t
T̂i (0) = 1;
The analysis of our algorithm, which is developed in more for s = 1 to V do
t s - 1
detail over the next few sections, proceeds as follows: T̂i (s) ¬ Õs¢ = 0 (1–(Mi,s¢t /Ni,s¢t ));
end
% Make the optimistic modification:
Step 1: We first review the Kaplan–Meier maximum like- if cit < V then
lihood estimator for censored data and provide a new t t
T̂i (cit + 1) ¬ T̂i (ci t );
finite sample convergence bound for this estimator. This t
return T̂i ;
bound allows us to define a cut-off for each venue i such
that the Kaplan–Meier estimate of the tail probability Ti(s)
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t h e acm 101
research highlights
optimal solution at almost every time step (and thus will of the tail probability for s shares rapidly improves.
continue to perform well in the future), or the algorithm has To prove this theorem, we must first show that the esti-
explored sufficiently often to learn accurate estimates of mates ẑ i,s
t
converge to the true probabilities zi,s. In an i.i.d.
the tail distributions out to V units on every venue. In either setting, this could be accomplished easily using standard
case, we can show that with high probability, at the end of concentration results such as Hoeffding’s inequality.
the sequence, the current algorithm achieves an e -optimal In our setting, we instead appeal to Azuma’s inequality
solution at each time step with probability at least 1 – e. (see, for example, Alon and Spencer2), a tool for bound-
ing martingales, or sequences X1, X2, … such that for each
n, |Xn – Xn+1| £ 1 and E [Xn+1|Xn] = Xn. In particular, we show
4.1. Convergence of Kaplan–Meier estimators that the value Ni,s
t
(z i,s - ẑi,ts) can be expressed as the final term
We begin by describing the standard Kaplan–Meier maxi- of a martingale sequence, allowing us to bound its abso-
mum likelihood estimator for censored data,11, 13 restricting lute value. This in turn implies that bound on |z i,s - ẑi,ts| that
our attention to a single venue i. Let zi,s be the true probabil- we need, and all that remains is to show that these bounds
ity that the demand in this venue is exactly s units given that imply a bound on the discrepancy between Ti(s) and the
the demand is at least s units. Formally, estimator T̂i(s).
Theorem 2. Let T̂it be the Kaplan–Meier estimate of Ti as given Lemma 1. For any s £ V, let T̂it(s) be the Kaplan–Meier estimator
in Equation 1. For any d > 0, with probability at least 1 – d, for for Ti(s) returned by OptimisticKM. With probability at least
every s Î {1, …, V}, 1 – d, for all s £ cit, |Ti(s) - T̂it(s)| £ e /(8V).
102 communications of t h e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
holds trivially unless cit > 0. Suppose this is the case. Recall that probability; in particular, the algorithm is not overestimating
Ni,st is the number of direct or censored observations of at least this probability too much. If the second condition holds, then
s units on time steps at which strictly more than s units were the algorithm’s estimate of the probability of the share being
allocated to venue i. By definition, it must be the case that consumed is so small that, again, the algorithm cannot pos-
Ni,st ³ Ni,st , whenever s £ s¢. Thus by definition of the cut-off cit in sibly be overestimating it too much (because the lowest the
Figure 3, for all s < cit, Ni,st ≥ 128(sV /e)2 ln(2V/e ). The lemma then probability could be is zero). This follows from Lemma 2.
follows immediately from an application of Theorem 2. Now consider the venue j to which unit was allocated by
Lemma 2 shows that it is also possible to achieve additive the optimal allocation. If the number of units vjt allocated to
bounds on the error of tail probability estimates for quanti- this venue by the algorithm is strictly less than the cut-off cjt,
ties s much bigger than cit as long as the estimated tail prob- then by Lemma 1, the algorithm could not have underesti-
ability at cit is sufficiently small. Intuitively, this is because mated the probability of additional units being consumed
the tail probability at these large values of s must be smaller by too much. Furthermore, because of the optimistic tail
than the true tail probability at cit, which, in this case, is modification of the Kaplan–Meier estimator, this also holds
known to be very small already. if vjt = cjt. Finally, if it is instead the case that the second con-
dition in the lemma statement holds for venue j, then the
Lemma 2. If T̂it (cit) £ e /(4V) and the high probability algorithm again could not possibly have underestimated the
event in Lemma 1 holds, then for all s such that cit < s £ V, probability of the unit being consumed too much because
|Ti (s) - T̂it (s)| £ e /(2V). the true probability is so low.
Putting these pieces together, we can argue that for each
4.3. Exploitation and exploration lemmas pair in the matching (of which there are no more than V),
We are now ready to state our main Exploitation Lemma since the algorithm did not overestimate the probability of
(Step 2), which formalizes the idea that once a sufficient unit it chose being consumed by too much (in this case, too
amount of exploration has occurred, the allocation out- much means more than e /(2V) ) and did not underestimate
put by the greedy algorithm is e -optimal. The proof of the probability of the corresponding unit in the optimal
this lemma is where the optimistic tail modification to allocation by too much (again, by e /(2V) ), the difference in
the Kaplan–Meier estimator becomes important. In par- expected units consumed between the optimal allocation
ticular, because of the optimistic setting of T̂it(cit + 1), we and the algorithm’s is at most e .
know that if the greedy policy allocates exactly cit units to Finally, Lemma 4 presents the main exploration lemma
a venue i, it could not gain too much by reallocating addi- (Step 3), which states that on any time step at which the allo-
tional units from another venue to venue i instead. In this cation is not e -optimal, the probability of obtaining a useful
sense, we create a buffer above each cut-off, guaranteeing observation is at least e /(8V).
that it is not necessary to continue exploring as long as one
of the two conditions in the lemma statement is met for Lemma 4 (Exploration Lemma). Assume that at time t, the
each venue. high probability event in Lemma 1 holds. If the allocation is
The second condition in the lemma may appear mysteri- not e -optimal, then for some venue i, with probability at least
ous at first. To see why it is necessary, notice that the rate at e /(8V), .
which the estimate T̂it(cit + 1) converges to the true tail proba-
bility Ti(cit + 1) implied by Theorem 2 depends on the number Proof. Suppose the allocation is not e -optimal at time
of times that we observe a consumption of cit or more units. If t. By Lemma 3, it must be the case that there exists some
Ti(cit) is very small, then the consumption of this many units venue i for which vit > cit and T̂it(cit) > e /(4V), i.e., a venue in
does not frequently occur. Luckily, if this is the case, then which the algorithm has allocated units past the cut-off
we know that Ti(cit + 1) must be very small as well, and more but for which the tail probability at the cut-off is not too
exploration of this venue is not needed. close to zero. Let ℓ be a venue for which this is true. Since
vlt > clt, it will be the case that the algorithm obtains a useful
Lemma 3 (Exploitation Lemma). Assume that at time t, the observation for exploration of this venue (i.e., an observa-
high probability event in Lemma 1 holds. If for each venue i, tion causing Nl,c t
l
t to be incremented) if the number of units
either (1), vit £ cit or (2), T̂it(cit) £ e/(4V), the difference between the consumed at this venue is sufficiently high (specifically, if
®
expected number of units consumed under allocation v t and the rlt > clt). Since T̂ lt (clt) > e /(4V), Lemma 1 implies that Tl(clt) >
expected number of units consumed under the optimal alloca- e /(8V), which in turn implies that the number of units
tion is at most e. consumed is high enough to constitute a useful observa-
tion with probability at least e /(8V).
Proof Sketch. The proof begins by creating an arbitrary
one-to-one mapping between the units allocated to different 4.4. Putting it all together
venues by the algorithm and an optimal allocation. Consider With the exploitation and exploration lemmas in place, we
any such pair in this mapping. are finally ready to state our main theorem.
If the first condition in the lemma holds for the venue Theorem 3 (Main Theorem). For any e > 0 and d > 0, with
i to which the unit was allocated by the algorithm, we can probability 1 − d (over the randomness of draws from Q and
use Lemma 1 to show that the algorithm’s estimate of the {Pi}), after running for a time polynomial in K, V, 1/ e , and
probability of this unit being consumed is close to the true ln(1/d ), the algorithm in Figure 2 makes an e-optimal allocation
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t h e acm 103
research highlights
on each subsequent time step with probability at least 1 – e . stock–pool data sets. The average daily trading volume
of these stocks across all exchanges (light and dark)
Proof Sketch. Suppose that the algorithm runs for R time ranges from 1 to 60 million shares, with a median vol-
steps, where R is a (specific, but unspecified for now) poly- ume of 15 million shares. Energy, Financials, Consumer,
nomial in the model parameters K, V, 1/e , and ln(1/d ). If it Industrials, and Utilities industries are represented. Our
is the case that the algorithm was already e -optimal on a data set spans 30 trading days. For every stock–pool pair
fraction (1 – e ) of the R time steps, then we can argue that we have on average 1,200 orders (from 600 to 2,000), which
the algorithm will continue to be e -optimal on at least a frac- corresponds to 1.3 million shares (from 0.5 to 3 million).
tion (1 – e ) of future time steps since the algorithm’s perfor- Individual order sizes range from 100 to 50,000 shares,
mance should improve on average over time as estimates with 1,000 shares being the median. Sixteen percent of
become more accurate. orders are filled at least partially (meaning that fully 84%
On the other hand, if the algorithm chose sub-optimal result in no shares executed), 9% of the total submitted
allocations on at least a fraction e of the R time steps, then volume was executed, and 11% of all observations were
by Lemma 4, the algorithm must have incremented Ni,ct it for censored.
some venue i and cut-off cit approximately e 2R/(8V) times. By
definition of the cit, it can never be the case that Ni,ct it was incre- 5.2. Parametric models for dark pools
mented too many times for any fixed values of i and cit (where The theory and algorithm we have developed for censored
too many is a polynomial in V, 1/e , and ln(1/d )); otherwise the exploration permit a very general form for the venue dis-
cut-off would have increased. Since there are only K venues tributions Pi. The downside of this generality is that we are
and V possible cut-off values to consider in each venue, the left with the problem of learning a very large number of
total number of increments can be no more than KV times parameters. More parameters generally mean that more
this polynomial, another polynomial in V, 1/e , ln(1/d ), and data is necessary to guarantee that the model will generalize
now K. If R is sufficiently large (but still polynomial in all of well, which means more rounds of exploration are needed
the desired quantities) and approximately e 2 R/(8V) incre- before the algorithm’s future performance is near-optimal.
ments were made, we can argue that every venue must have In some applications, it is therefore advantageous to employ
been fully explored, in which case, again, future allocations a less general but more simple parametric form for these
will be e -optimal. distributions.
We remark that our optimistic tail modifications of the We experimented with a variety of common parametric
Kaplan–Meier estimators are relatively mild. This leads us to forms for the distributions. For each such form, the basic
believe that using the same estimate–allocate loop with an methodology was the same. For each of the 4 × 12 = 48
unmodified Kaplan–Meier estimator would frequently work venue–stock pairs, the data for that pair was split evenly
well in practice. We investigate a parametric version of this into a training set and a test set. The training data was
learning algorithm in the experiments described below. used to select the maximum likelihood model from the
parametric class. Note that we can no longer directly apply
5. THE DARK POOL PROBLEM the nonparametric Kaplan–Meier estimator—within each
The remainder of this article is devoted to the application model class, we must directly maximize the likelihood on
of our techniques to the dark pool problem. We begin with the censored training data. This is a relatively straight-
a description of the trading data we used, and go on to forward and efficient computation for each of the model
describe a variety of experiments we performed. classes we investigated. The test set was then used to mea-
sure the generalization performance of each maximum
5.1. Summary of the dark pool data likelihood model.
Our data set is from the internal dark pool order flow for a Our investigations revealed that the best models main-
major US broker–dealer. Each (possibly censored) observa- tained a separate parameter for the probability of zero
tion is of the form discussed throughout the paper—a triple shares being available (that is, Pi(0) is explicitly estimated)—
consisting of the dark pool name, the number of shares a zero bin or ZB parameter. This is due to the fact that the
sent to that pool, and the number of shares subsequently vast majority of submissions (84%) to dark pools result in
executed within a short time interval. It is important to high- no shares being executed. We then examined various para-
light some limitations of the data. First, note that the data set metric forms for the nonzero portions of the venue dis-
conflates the policy the brokerage used for allocation across tributions, including uniform (which of course requires
the dark pools with the liquidity available in the pools them- no additional parameters), and Poisson, exponential and
selves. For our data set, the policy in force was very similar power law forms (each of which requires a single additional
to the bandit-style approach we discuss below. Second, the parameter); each of these forms were applied up to the larg-
“parent” orders determining the overall volumes to be allo- est volume submitted in the data sets, then normalized.
cated across the pools were determined by the brokerage’s The generalization results strongly favor the power law
trading needs, and are similarly out of our control. form, in which the probability of s shares being available
The data set contains submissions and executions is proportional to 1/sb for real b—a so-called heavy-tailed
for four active dark pools: BIDS Trading, Automated
Trading Desk, D.E. Shaw, and NYFIX, each for a dozen of Tickers represented are AIG, ALO, CMI, CVX, FRE, HAL, JPM, MER, MIR,
f
relatively actively-traded stocks,f thus yielding 48 distinct NOV, XOM, and NRG.
104 communications of t h e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
Table 1. Average per-sample log-loss (negative log likelihood) for
the simulator for stock S. This simulator accepts allocation
each venue distribution models. The “Wins” column shows the num- vectors (v1, v2, v3, v4) indicating how many shares some algo-
ber of stock-venue pairs where a given model beats the other four on rithm wishes to submit to each venue, draws a “true liquid-
the test data. ity” value si from Pi for each i, and returns the vector (r1, r2, r3,
r4), where ri = min(vi, si) is the possibly censored number of
Model Train Loss Test Loss Wins
shares filled in venue i.
Nonparametric 0.454 0.872 3 Across all 12 stocks, we compared the performance of
ZB + Uniform 0.499 0.508 12 four different allocation algorithms. The (obviously unre-
ZB + Power Law 0.467 0.484 28 alistic) ideal allocation is given the true parameters of the
ZB + Power Law distributions used by the simulator and
ZB + Poisson 0.576 0.661 0
allocates shares optimally (greedily) with respect to these
ZB + Exponential 0.883 0.953 5 distributions. The uniform allocation divides any order
equally among all four venues. Our learning algorithm
implements the repeated allocate–reestimate loop as in
distribution when b > 0. Nonparametric models trained Figure 2, using the maximum likelihood ZB + Power Law
with Kaplan–Meier are best on the training data but over- model for the reestimation step. Finally, the simple (and
fit badly due to their complexity relative to the sparse fairly naive) bandit-style algorithm maintains a weighting
data, while the other parametric forms cannot accom- over the venues and chooses allocations proportional to
modate the heavy tails of the data. This is summarized the weights. It begins with equal weights assigned to all
in Table 1. Based on this comparison, for our dark pool venues, and each allocation to a venue which results in
study we investigate a variant of our main algorithm, in any nonzero number of shares being executed causes that
which the estimate–allocate loop has an estimation step venue’s weight to be multiplied by a constant factor a.
using maximum likelihood estimation within the ZB + (Optimizing a over all stock–pool pairs resulted in a value
Power Law model, and allocations are done greedily on of a = 1.05.)
these same models. Some remarks on these algorithms are in order. First,
In terms of the estimated ZB + Power Law parameters note that the ideal and uniform allocation methods are
themselves, we note that for all 48 stock–pool pairs the nonadaptive and are meant to serve as baselines—one of
Zero Bin parameter accounted for most of the distribu- them the best performance we could hope for (ideal), and
tion (between a fraction 0.67 and 0.96), which is not sur- the other the most naive allocation possible (uniform).
prising considering the aforementioned preponderance Second, note that our algorithm has a distinct advantage in
of entirely unfilled orders in the data. The vast majority the sense that it is using the correct parametric form, the
of the 48 exponents b fell between b = 0.25 and b = 1.3—so same being used by the simulator itself. Thus our evalua-
rather long tails indeed—but it is noteworthy that for one tion of this algorithm is certainly optimistic compared to
of the four dark pools, 7 of the 12 estimated exponents what should be expected in practice. Finally, note that the
were actually negative, yielding a model that predicts bandit algorithm is the crudest type of weight-based alloca-
higher probabilities for larger volumes. This is likely an tion scheme of the type that abounds in the no-regret litera-
artifact of our size- and time-limited data set, but is not ture6; we are effectively forcing our problem into a 0/1 loss
entirely unrealistic and results in some interesting behav- setting corresponding to “no shares” and “some shares”
ior in the simulations. being executed. Certainly more sophisticated bandit-style
approaches can and should be examined.
5.3. Data-based simulation results
As in any control problem, the dark pool data in our posses- Figure 4. Sample learning curves. For the stock AIG (left panel),
sion is unfortunately insufficient to evaluate and compare the naive bandits algorithm (labeled blue curve) beats uniform
different allocation algorithms. This is because of the afore- allocation (dashed horizontal line) but appears to asymptote short
of ideal (solid horizontal line). For the stock NRG (right panel),
mentioned fact that the volumes submitted to each venue the bandits algorithm actually deteriorates with more episodes,
were fixed by the specific policy that generated the data, underperforming both the uniform and ideal allocations. For both
and we cannot explore alternative choices—if our algo- stocks (and the other 10 in our data set), our algorithm (labeled red
rithm chooses to submit 1000 shares to some venue, but in curve) performs nearly optimally.
the data only 500 shares were submitted, we simply cannot stock:AIG stock:NRG
0.12
infer the outcome of our desired submission.
0.18 Cens−Exp
Fraction executed
Fraction executed
We thus instead use the raw data to derive a simulator 0.11 Cens−Exp
with which we can evaluate different approaches. In light of Bandits
0.16
the modeling results of Section 5.2, the simulator for stock S 0.1
was constructed as follows. For each dark pool i, we used all
0.14 0.09
of the data for i and stock S to estimate the maximum likeli- Bandits
hood Zero Bin + Power Law distribution. (Note that there is
0.12 0.08
no need for a training-test split here, as we have already sep- 0 1000 2000 0 1000 2000
arately validated the choice of distributional model.) This Episodes Episodes
results in a set of four venue distribution models Pi that form
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t h e acm 105
research highlights
Each algorithm was run in simulation for some num- Figure 5. Comparison of our learning algorithm to the three
ber of episodes. Each episode consisted of the allocation baselines. In each plot, the performance of the learning
of a fixed number V of shares—thus the same number of algorithm is plotted on the y-axis, and the performance of one
shares is repeatedly allocated by the algorithm, though of the baselines on the x-axis. Left column: Evaluated by the
of course this allocation will change over time for the fraction of submitted shares executed in a single time step;
higher values are better, and points above the diagonal are wins
two adaptive algorithms as they learn. Each episode of for our algorithm. Right: Evaluated by order half-life; lower
simulation results in some fraction of the V shares being values are better, and points below the diagonal are wins for
executed. Two values of V were investigated—a smaller our algorithm. Each point corresponds to a single stock and
value V = 1000, and the larger and potentially more dif- order size; small orders (red plus signs) are 1000 shares, large
orders (blue squares) are 8000 shares.
ficult V = 8000.
We begin by showing full learning curves over 2000
episodes with V = 8000 for a couple of representative stocks Fraction executed Order half-life
Learning
Learning
8
0.2
heavy-tailed venue distributions used by the simulator, a
single trial of 2000 episodes is extremely noisy, so we both 0.15 6
average over 400 trials for each algorithm, and smooth the 4
0.1
resulting averaged learning curve with a standard exponen-
tial decay temporal moving average. 0.05
0.05 0.1 0.15 0.2 0.25 0.3
2
2 4 6 8 10 12
We see that our learning algorithm converges towards Ideal Ideal
Learning
8
0.2
8
0.2
106 communications of t h e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
6. CONCLUSION References
While there has been longstanding interest in quantita- 1. Akritas, M.G. Nonparametric survival 8. Foldes, A., Rejto, L. Strong uniform
tive finance in the use of models from machine learn- analysis. Stat. Sci. 19, 4 (2004), 615–623. consistency for nonparametric
2. Alon, N., Spencer, J. The Probabilistic survival curve estimators from
ing and related fields, they are often applied towards the Method, 2nd Edition. Wiley, New York, randomly censored data. Ann. Stat. 9,
attempt to predict directional price movements, or in the 2000. 1 (1981), 122–129.
3. Bogoslaw, D. Big traders dive into dark 9. Ganchev, K., Kearns, M. Nevmyvaka, Y.,
parlance of the field, to “generate alpha” (outperform the pools. Business Week article, available Vaughan, J.W. Censored exploration and
market). Here we have instead focused on a problem in at: http://www.businessweek.com/ the dark pool problem. In Proceedings
investor/content/oct2007/pi2007102_ of the 25th Conference on Uncertainty
what is often called algorithmic trading—where one seeks 394204.htm, 2007. in Artificial Intelligence, 2009.
to optimize properties of a specified trade, rather than 4. Brafman, R., Tennenholtz, M. 10. Huh, W.T., Levi, R., Rusmevichientong, P.,
R-MAX—a general polynomial Orlin, J. Adaptive data-driven inventory
decide what to trade in the first place—in the recently time algorithm for near-optimal control policies based on Kaplan–Meier
reinforcement learning. J. Mach. estimator. Preprint available at http://
introduced dark pool mechanism. In part because of the Learn. Res. 3 (2003), 213–231. legacy.orie.cornell.edu/~paatrus/
constraints imposed by the mechanism and the structure 5. Carrie, C. Illuminating the new dark psfiles/km-myopic.pdf, 2009.
influence on trading and U.S. market 11. Kaplan, E.L., Meier, P. Nonparametric
of the problem, we have been able to adapt and blend structure. J. Trading 3, 1 (2008), 40–55. estimation from incomplete
methods from statistics and reinforcement learning 6. Cesa-Bianchi, N., Lugosi, G. Prediction, observations. J. Am. Stat. Assoc. 53
Learning, and Games. Cambridge (1958), 457–481.
in the development of a simple, efficient, and provably University Press, 2006. 12. Kearns, M., Singh, S. Near-optimal
effective algorithm. We expect there will be many more 7. Domowitz, I., Finkelshteyn, I., reinforcement learning in polynomial
Yegerman, H. Cul de sacs and time. Mach. Learn. 49 (2002), 209–232.
applications of machine learning methods in algorithmic highways: an optical tour of dark pool 13. Peterson, A.V. Kaplan-Meier estimator.
trading in the future. trading performance. J. Trading 4, 1 In Encyclopedia of Statistical
(2009), 16–22. Sciences. Wiley, 1983.
ACM’s interactions
Magazine Seeks Its Next
Co-Editors-in-Chief
As ACM’s premier magazine on applied computer-human interaction
(CHI), interactions is designed to keep developers, designers, managers,
researchers, and users abreast of the latest tools and ideas emerg-
ing from the CHI community—and beyond. This colorful, bi-monthly
For more information, see
http://interactions.acm.org magazine shares timely articles, stories, and practical content related
to the interactions between experiences, people, and technology.
Its primary objective is to trace innovative technologies from their
R&D beginnings to real-world applications and future potential.
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t h e acm 107
research highlights
d oi:10.1145/1735223.1 7 3 5 2 4 8
Technical Perspective
Automated Patching
Techniques: The Fix Is In
By Mark Harman
Over the past 40 years, much effort has engineering scenarios. Using SBSE, it ware faults in a manner analogous
been devoted to testing software to has proved possible to automate the to the way in which a surgeon might
find bugs. Testing is difficult because search for requirements that balance go about healing a wound. In order
the underlying problem involves unde- cost and benefit, designs that maxi- to localize the wound, they use posi-
cidable questions such as statement mize cohesion and minimize coupling tive and negative test cases, finding
reachability. However, testing cannot and to find test cases that balance fault code segments most likely to contain
be ignored. The National Institute of finding against execution time.1,2,5,7 the bug. One important insight em-
Standards and Techniques estimated Work on SBSE has gathered pace ployed in the patching process is the
the cost of software failure to the U.S. over the past 10 years and there are use of what might be called “plastic
economy at $60 billion, indicating now over 650 papersa on various ap- surgery;” rather than evolving a patch
that improved software testing could plications of search-based optimiza- from scratch, the authors start their
reduce this by at least one-third.6 tion to software engineering prob- evolution from portions of existing
If finding bugs is technically de- lems. The following paper is sure to be code with similar functionality. The
manding and yet economically vital, looked back upon as a significant and evolved patch is subsequently tidied
how much more difficult yet valuable tangible breakthrough in this history up using techniques for dead code re-
would it be to automatically fix bugs? of SBSE research. The authors’ work moval, thereby ensuring neat and ef-
This question is answered precisely by demonstrates that an optimization fective wound healing.
the work reported in the following pa- algorithm is capable of repairing bro- All of these stages are described
per by Weimer, Forrest, Le Goues, and ken programs. Since it is automated, it in detail in the following paper. The
Nguyen. The authors use evolutionary can fix bugs much faster than any hu- authors illustrate the application of
computation to evolve patches that fix man. For example, the Zune bug was their automated patching techniques
bugs. Their work is the first to show patched in a little over three minutes and give compelling results to show
how Genetic Programming can evolve on standard equipment. how it finds and fixes real faults. Given
patches that fix real bugs (an idea first Currently, both developers and re- the enormous costs of software faults
proposed by Arcuri and Yao, who ex- searchers remain cautious about the mentioned earlier, it is surely impos-
perimented on toy programs3). idea of deploying evolved program sible to overstate the potential impact
There is an increasing realization code. However, with the benefit of that this work may have.
within the software engineering re- hindsight, we may look back on this
search and development community with the same historical perspective References
that evolutionary computation and that we now apply to compiled code. 1. Afzal, W., Torkar, R. and Feldt, R. A systematic review
of search-based testing for non-functional system
related search-based optimization That is, despite its current widespread properties. Info.Softw.Tech. 51, (2009), 957–976.
2. Ali, S., Briand, L.C., Hemmati, H. and Panesar-
can be used to search for solutions use, there was, within living memory, Walawege, R.K. A systematic review of the
to software problems. Software engi- equal skepticism about whether com- application and empirical investigation of search-
based test-case generation. IEEE Trans. Softw. Eng.
neers often face problems typified by piled code could be trusted. If a similar (2010, to appear).
enormous spaces of possible require- change of attitude to evolved code oc- 3. Arcuri, A. and Yao, X. A novel co-evolutionary
approach to automatic software bug fixing. In
ments, designs, test cases, and code. curs over time, then automated patch- Proceedings of the IEEE Congress on Evolutionary
Search-based optimization allows ing will surely be seen to have played a Computation (Hong Kong, June 1–6, 2008), 162–168.
4. Harman, M. The current state and future of search
them to deploy optimization algo- crucial part is this paradigm shift. based software engineering. The Future of Software
rithms that automatically search these The successful application of Engineering. L. Briand and A. Wolf, Eds. IEEE CS
Press, Alamitos, CA, 342–357.
spaces, guided by fitness functions search-based optimization tech- 5. McMinn, P. Search-based software test data
that encode solution desirability. niques requires careful configuration generation: A survey. Softw. Testing, Verification and
Reliability 14, 2 (June 2004), 105–156.
The search-based optimization and tailoring of the algorithms em- 6. National Institute of Standards and Technology. The
approach has come to be known as ployed. The more information that Economic Impacts of Inadequate Infrastructure for
Software Testing. Planning Report 02–3, May 2002.
Search Based Software Engineering can be exploited to guide the search, 7. Räihä, O. A survey on search based software design.
(SBSE).4 This approach is widely ap- the better the results. The authors Tech. Report Technical Report D-2009-1, Dept. of
Computer Sciences, University of Tampere, 2009.
pealing because it is very generic, ap- use several innovative techniques to
plying equally well to many varied guide their search for patches. Their
Mark Harman is a professor of software engineering and
software engineering problems. SBSE approach automatically fixes soft- leads the Software Engineering Group at King’s College,
also comfortably handles the mul- London. He is also director of the Centre for Research on
Evolution Search and Testing (CREST).
tiple, conflicting, and noisy optimiza- a Source: SBSE repository at http://www.sebase.
tion objectives often found in software org/sbse/publications/. © 2010 ACM 0001-0782/10/0500 $10.00
108 communications of t h e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
d oi:10.1145/1735223 . 1 7 3 5 2 4 9
Abstract several positive test cases that encode the required behavior of
There are many methods for detecting and mitigating software the program. The C program is represented as an abstract syn-
errors but few generic methods for automatically repairing tax tree (AST), in which each node corresponds to an execut-
errors once they are discovered. This paper highlights recent able statement or control-flow structure in the program. With
work combining program analysis methods with evolutionary these inputs in hand, a modified version of GP evolves a candi-
computation to automatically repair bugs in off-the-shelf leg- date repair that avoids failing the negative test case while still
acy C programs. The method takes as input the buggy C source passing the positive ones. We then use structural differen
code, a failed test case that demonstrates the bug, and a small cing1 and delta debugging25 techniques to minimize the size
number of other test cases that encode the required function- of the repair, providing a compact human-readable patch.
ality of the program. The repair procedure does not rely on A significant impediment for an evolutionary algorithm like
formal specifications, making it applicable to a wide range of GP is the potentially infinite-size search space it must sample
extant software for which formal specifications rarely exist. to find a correct program. To address this problem we intro-
duce two key innovations. First, we restrict the algorithm so
that all variations introduced through mutation and crossover
1. INTRODUCTION reuse structures in other parts of the program. Essentially, we
Fixing bugs is a difficult, time-consuming, and manual pro- hypothesize that even if a program is missing important func-
cess. Some reports place software maintenance, traditionally tionality (e.g., a null check) in one location, it likely exhibits
defined as any modification made on a system after its deliv- the correct behavior in another location, which can be copied
ery, at up to 90% of the total cost of a typical software project.22 and adapted to address the error. Second, we constrain the
Modifying existing code, repairing defects, and otherwise genetic operations of mutation and crossover to operate only
evolving software are major parts of those costs.19 The number on the region of the program that is relevant to the error, spe-
of outstanding software defects typically exceeds the resources cifically the AST nodes on the execution path that produces
available to address them. Mature software projects are forced the faulty behavior. Instead of searching through the space of
to ship with both known and unknown bugs13 because they all ASTs, the algorithm searches through the much smaller
lack the development resources to deal with every defect. space of nodes representing one execution path. In practice,
In this paper, we describe how to combine this problem the faulty execution path has at least an order of magnitude
by combining program analysis methods with evolutionary fewer unique nodes than the AST. Combining these insights,
computation to automatically repair bugs in off-the-shelf we demonstrate automatically generated repairs for eleven C
legacy C programs. Genetic programming (GP) is a computa- programs totaling 63,000 lines of code.
tional method inspired by biological evolution which evolves The main contributions of the work reported in Forrest
computer programs tailored to a particular task.12 GP main- et al.8 and Weimer et al.24 are:
tains a population of individual programs, each of which is a
candidate solution to the task. Each individual’s suitability is • Algorithms to find and minimize program repairs
evaluated using a task-specific fitness function, and the indi- based on test cases that describe desired functionality.
viduals with highest fitnesses are selected for continued evo- The algorithms are generic in the sense that they can
lution. Computational analogs of biological mutation and repair many classes of bugs.
crossover produce variations of the high-fitness programs, • A novel and efficient representation and set of opera-
and the process iterates until a high-fitness program is tions for applying GP to program repair. This is the first
found. GP has solved an impressive range of problems (e.g., published work that demonstrates how GP can repair
Schmidt and Lipson21), but it has not been used to evolve off- unannotated legacy programs.
the-shelf legacy software. As the 2008 Field Guide to Genetic • Experimental results showing that the approach gener-
Programming notes, “while it is common to describe GP as
evolving programs, GP is not typically used to evolve pro- The material in this paper is taken from two original
grams in the familiar Turing-complete languages humans publications, titled “A Genetic Programming Approach
normally use for software development. It is instead more to Automated Software Repair” (Genetic and Evolutionary
common to evolve programs (or expressions or formulae) in Computation Conference, 2009) and “Automatically Find-
a more constrained and often domain-specific language.” ing Patches Using Genetic Programming” (Proceedings
(Poli et al.18 as quoted by Orlov and Sipper15). of the 2009 IEEE 31st International Conference on Software
Our approach assumes that we have access to C source code, Engineering, IEEE Computer Society).
a negative test case that exercises the fault to be repaired, and
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t h e acm 109
research highlights
ates repairs for several classes of defects in 11 produc- tree operations are well studied in GP. ASTs can be expressed
tion programs taken from multiple domains. at multiple levels of abstraction or granularity, and our pro-
• Experiments to analyze how algorithm performance gram representation reflects the trade-off between expressive
scales up with problem size and the relative contribution power and scalability. For example, C programs contain both
of different components of the evolutionary algorithm. statements, such as the conditional statement “if (!p) {x =
0;}” and expressions, such as “0” or “(!p)”. For scalability, we
In the remaining sections of the paper we first give an treat the statement as the basic unit, or gene. Thus, we never
overview of our technical approach (Section 2), illustrating it modify “(!p)” into “(p || error_flag)” because doing so
with a recent bug in Microsoft’s Zune media player (Section would involve changing the inner structure of an expression.
3). In Section 4 we report results obtained for repairs of sev- Instead, when manipulating compound statements, we oper-
eral benchmark programs and study how algorithm perfor- ate on entire AST subtrees. For example, we might delete the
mance scales with problem size. We place the work in the entire “if …” statement, including its then-branch and else-
context of prior contributions in Section 5 and discuss our branch children. Finally, we never directly modify low-level
experiences, caveats, and thoughts for future work in Section control-flow directives such as break, continue, or goto,
6, concluding in Section 7. although statements around them can be modified.
110 communications of t h e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
crossover exchanges subtrees between two ASTs (see below for programs (e.g., it will never generate unbalanced parenthe-
details). Each modification produces a new AST and weighted ses). However, it could move the use of a variable outside of
program path. The fitness of each variant is evaluated by com- its declared scope, leading to a semantically ill-formed vari-
piling the AST and running it on the test cases. Its final fitness ant that does not type check and thus does not compile.
is a weighted sum of the positive and negative test cases it
passes. Once the fitnesses have been computed for each indi- 2.5. Fitness function
vidual, a selection phase deletes the bottom-ranked 50% of the In GP, the fitness function is an objective function used to eval-
population.a The new population is formed by first crossing uate variants. The fitness of an individual in a program repair
over the remaining high-fitness individuals with the original task should assess how well the program avoids the program
program. Each crossover produces a single child. We add the bug while still doing “everything else it is supposed to do.” We
children to the population and retain the parents unchanged, use test cases to measure fitness. For our purposes, a test case
maintaining a constant population size. Finally, all surviving consists of input to the program (e.g., command-line argu-
individuals are mutated. ments, data files read from the disk, etc.) and an oracle compar-
The repair process terminates either when it finds a can- ator function that encodes the desired response. A program P
didate solution that passes all its positive and negative test is said to pass a test case T iff the oracle is satisfied with the
cases, or when it exceeds a preset number of generations. program’s output: Toracle(P(Tinput) ) = pass. Test cases may check
The first variant to pass all test cases is the primary repair. additional behavior beyond pure functional correctness (e.g.,
the program may be required to produce the correct answer
2.4. Genetic operators within a given time bound or otherwise avoid infinite loops).
As mentioned above, we apply GP operators to a given vari- Such testing accounts for as much as 45% of total software life-
ant to produce new program variants, thus exploring the cycle costs,17 and finding test cases to cover all parts of the pro-
search space of possible repairs. A key operator is mutation, gram and all required behavior is a difficult but well-studied
which makes random changes to an individual. Because problem in the field of software engineering.
the primitive unit (gene) of our representation is the state- We call the defect-demonstrating inputs and their anoma-
ment, mutation is more complicated than the simple bit lous outputs (i.e., the bug we want to fix) the negative test cases.
flip used in other evolutionary algorithms. Only statements We use a subset of the program’s existing test inputs and
on the weighted path are subject to the mutation operator. oracles to encode the core functionalities of the program, and
Each location on the weighted path is considered for muta- call them the positive test cases. Many techniques are available
tion with probability equal to its path weight multiplied by for identifying bugs in programs, both statically (e.g., Ball and
a global mutation rate. A statement selected for mutation Rajamani3 and Hovemeyer and Pugh10) and dynamically (e.g.,
is randomly subjected to either deletion (the entire state- Forrest et al.7 and Liblit et al.13). We assume that a bug has been
ment and all its substatements are deleted: s ¬ {}), insertion identified and associated with at least one negative test case.
(another statement is inserted after it: s ¬ {s; s´;}), or swap The fitness function takes a program variant (genotype),
of (s ¬ s´ while s´ ¬ s). Note that a single mutation step in compiles the internal representation into an executable pro-
our scheme might contain multiple statement-level muta- gram, and runs it against the set of positive and negative test
tion operations along the weighted path. cases. It returns the weighted sum of the test cases passed.
The second operation for manipulating variants is cross- The sum is weighted so that passing the negative test cases
over, which in GP exchanges subtrees chosen at random is worth at least as much as passing the positive test cases.
between two individuals. Although our initial experiments Intuitively, this weighting rewards the search for moving
used a more complicated form of crossover, we have seen toward a possible repair. Programs that do not compile are
that the results do not depend on the particular crossover assigned fitness zero.
operator used.8 During each generation, every surviving vari-
ant undergoes crossover. 2.6. Minimizing the repair
Finally, there are a number of other C program compo- Because the GP may introduce irrelevant changes, we use
nents not touched by the GP operators, such as datatype defi- program analysis methods to trim unnecessary edits from
nitions and local and global variable declarations. Because the primary repair. For example, in addition to the repair,
these are never on the weighted path, they are never modified the GP might produce dead code (x = 3; x = 5;) or calls to
by mutation or crossover. This potentially limits the expres- irrelevant functions. We use tree-structured difference algo-
sive power of the repairs: If the best fix for a bug is to change rithms and delta debugging techniques in a postprocessing
a data structure definition, GP will not discover that fix. For step to generate a simplified patch that, when applied to the
example, some programs can be repaired either by reordering original program, causes it to pass all of the test cases.
the data structure fields, or by changing the program control Using tree-structured differencing,1 we view the primary
flow; our technique finds the second repair. Ignoring variable repair as a set of changes against the original program. Each
declarations, on the other hand, can cause problems with change is a tree-structured operation such as “take the sub-
ill-formed variants. Because of the constraints on mutation tree of the AST rooted at position 4 and move it so that it
and crossover, GP never generates syntactically ill-formed becomes the 5th child of the node at position 6”. We seek to
find a small subset of changes that produces a program that
a
We obtained results qualitatively similar to those reported here with a still passes all of the test cases.
more standard method known as tournament selection. Let Cp = {c1, …, cn} be the set of changes associated with
m ay 2 0 1 0 | vo l . 5 3 | n o. 5| c o m m u n i c at i o n s o f t h e acm 111
research highlights
the primary repair. Let Test(C) = 1 if the program obtained When the value of the input days is the last day of a leap
by applying the changes in C to the original program passes year (such as 10,593, which corresponds to 31 December
all positive and negative test cases; let Test(C) = 0 otherwise. 2008), the program enters an infinite loop on lines 3–16.
A one-minimal subset C Í Cp is a set such that Test(C) = 1 and We now walk through the evolution of a repair for this
"ci Î C. Test(C\{ci}) = 0. That is, a one-minimal subset pro- program. We first produce its AST and determine the
duces a program that passes all test cases, but dropping any weighted path, using line numbers to indicate statement
additional elements causes the program to fail at least one IDs. The positive test case zunebug (1,000) visits lines 1–8,
test case. Checking if a set is valid involves a fitness evalua- 11–18. The negative test case zunebug (10,593) visits lines
tion (a call to Test). 1–16, and then repeats lines 3, 4, 8, and 11 infinitely.
We use delta debugging25 to efficiently compute a one- For the purposes of this example, the negative test cases
minimal subset of changes from the primary repair. Delta consist of the inputs 366 and 10,593, which cause an infinite
debugging is conceptually similar to binary search, but it loop (instead of the correct values, 1980 and 2008), and the
returns a set instead of a single number. Intuitively, start- positive test cases are the inputs 1,000, 2,000, 3,000, 4,000,
ing with {c1, …, cn}, it might check {c1, …, cn/2}: if that half and 5,000, which produce the correct outputs 1982, 1985,
of the changes is sufficient to pass the Test, then {c1+n/2, …, 1988, 1990, and 1993.
cn} can be discarded. When no more subsets of size n/2 We consider one variant, V, which is initialized to be iden-
can be removed, subsets of size n/4 are considered for tical to the original program. In Generation 1, two operations
removal, until eventually subsets of size 1 (i.e., individual mutate V: the conditional statement “if (days > 366)
changes) are tested. Finding the overall minimal valid set {days −= 366; year += 1;}” is inserted between lines
by brute force potentially involves O(2n) evaluations; delta 6 and 7 of the original program; and the statement
debugging finds a one-minimal subset in O(n2).25, Proposition 12 “days −= 366” is inserted between lines 10 and 11. Note
However, we typically observe a linear number of tests in that the first insertion includes not just the if but its entire
our experiments. This smaller set of changes is presented subtree. This produces the following code fragment:
to the developers as the final repair in the form of a stan-
dard program patch. In our experiments, the final repair is 5 if (days > 366) {
typically at least an order-of-magnitude smaller than the 6 days −= 366;
primary repair. 7 if (days > 366) { // insert #1
8 days −= 366; // insert #1
3. ILLUSTRATION 9 year += 1; // insert #1
On 31 December 2008, a bug was widely reported in Micro- 10 } // insert #1
soft Zune media players, causing them to freeze up.b The 11 year += 1;
fault was a bug in the following program fragment:c 12 }
13 else {
14 }
1 void zunebug(int days) { 15 days −= 366; // insert #2
2 int year = 1980;
3 while (days > 365) {
4 if (isLeapYear (year) ){
5 if (days > 366) { This modified program passes the negative test case 366
6 days −= 366; (year 1980) and one positive test case 1000.
7 year += 1; Variant V survives Generations 2, 3, 4, 5 unchanged, but
8 } in Generation 6, it is mutated with the following opera-
9 else { tions: lines 6–10 are deleted, and “days −= 366” is inserted
10 } between lines 13 and 14:
11 }
12 else {
13 days −= 365; 5 if (days > 366) {
14 year += 1; 6 // days −= 366; // delete
15 } 7 // if (days > 366) { // delete
16 } 8 // days −= 366; // delete
17 printf(“the year is %d\n”, year); 9 // year += 1; // delete
18 } 10 // } // delete
11 year += 1;
12 }
13 else {
b
See Microsoft Zune affected by “Bug,” BBC News, December 2008, http://
news.bbc.co.uk/2/hi/technology/7806683.stm.
14 days −= 366; // insert
c
Downloaded from http://pastie.org/349916 (Jan. 2009). Note that the origi- 15 }
nal program source code does not make lines 9–10 explicit: our AST repre- 16 days −= 366;
sents missing blocks, such as those in if statements without else clauses,
as blocks containing zero statements.
112 communications of t h e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
At this point, V passes all of the test cases, and the search On average, constructing and minimizing a repair for the
terminates with V as the primary repair. The minimization Zune fragment shown here takes our prototype a total 42 s,
step is invoked to discard unnecessary changes. Compared including the time to compile and evaluate variants against
to the original program (and using the line numbers from a suite of five positive and two negative tests.
the original), there are three key changes: c1 = “days −=
366” deleted from line 6; c2 = “days −= 366” inserted 4. RESULTS
between lines 9 and 10; and c3 = “days −= 366” inserted To date, we have repaired 20 defects in modules totaling
between lines 10 and 11. Only c1 and c3 are necessary to pass 186kLOC from 20 programs totaling 2.3MLOC (not all
all tests, so change c2 is deleted, producing the final repair: shown here). We have repaired defects from eight classes:
infinite loop, segmentation fault, heap buffer overrun,
1 void zunebug_repair (int days) { nonoverflow denial of service, integer overflow, invalid
2 int year = 1980; exception, incorrect output, and format string vulner
3 while (days > 365) { ability. Constructing a repair requires 1428 s on average,
4 if (isLeapYear (year) ) { most of which is spent performing an average of 3903
5 if (days > 366) { fitness evaluations. In Table 1, we summarize results for
6 // days −= 366; // deleted 11 benchmark programs reported in Forrest et al.8 and
7 year += 1; Weimer et al.24 The benchmark programs, test cases, GP
8 } code, and the supporting infrastructure used to generate
9 else { and reproduce these results are available at: http://gen
10 } prog.adaptive.cs.unm.edu/.
11 days −= 366; // inserted In all of our experiments, a standard trial uses the
12 } else { following setup. The population size is 40, and GP runs
13 days −= 365; for a maximum of 20 generations. For the first 10 gen-
14 year += 1; erations, the global mutation rate is 0.06. If no primary
15 } repair is found, the current population is discarded, the
16 } global mutation rate is halved to 0.03, and, if possible, the
17 printf (“the year is %dn”, year); weighted path is restricted to statements visited solely
18 } during the negative test case, and the GP is run for 10
additional generations. These results show that GP can
automatically discover repairs for a variety of documented
bugs in production C programs.
Table 1. Eleven defects repaired by Genetic Programming, summarized from previous work. The size of each program is given in lines of code
as well as weighted path units (see Section 2.2). Each repair used five or six positive tests and one or two negative tests. The “Time” column
gives the total wall-clock time required to produce and minimize the repair (on a successful trial). The “Fitness Evals” column lists the
number of times the entire fitness function was called before a repair was found (averaged over only the successful trials). The “Repair Size”
column gives the size of the final minimized repair, as measured in lines by the Unix diff utility.
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t h e acm 113
research highlights
The trial terminates if it discovers a primary repair. We Figure 1. GP search time scales with weighted path size. Data are
performed 100 trials for each program, memoizing fitnesses shown for 18 programs successfully repaired by GP (gcd and zune
such that within one trial, two individuals with different examples omitted; figure includes several additional programs to
ASTs but the same source code are not evaluated twice. those listed in Table 1), with best linear fit. The x-axis is the base-10
Similarly, individuals that are copied to the next generation logarithm of the weighted path length, and the y-axis shows the
logarithm of the total number of fitness evaluations performed
without change are not reevaluated. before the primary repair is found (averaged over 100 runs).
Once a primary repair has been located, the process of
minimizing it to a final repair is quite rapid, requiring less 4
than 5 s on average. Final repairs, expressed in patch for-
mat, varied in size from four lines (e.g., zune: one insert,
3.5
one delete, and one context-location line for each edit) to 11
114 communications of t h e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
up” inconsistent state so that the buggy program can con- within the first few generations or occasionally, not at all.
tinue to execute. Thus, their programs continue to incur We have conducted some experiments using a brute force
the runtime overhead after the repair is effected. Another algorithm (which applies simple mutation operations in a
difference from our work is that their data structure repair predetermined order) and random search (which applies
requires formal specifications. Finally, their technique is mutation operations randomly without any selection or
limited to data structures and does not address the full inheritance of partial solutions). Both these simpler alterna-
range of logic errors. The gcd infinite loop in Section 3, for tives perform as well or better than the GP on many, but not
example, is outside the scope of this technique. However, all, of our benchmark programs. We do not fully understand
this technique complements ours: in cases where runtime what characteristics, either of the program or the particular
data structure repair does not provide a viable long-term bug, determine how easily a solution can be found through
solution, it may enable the program to continue to execute random trial and error. However, thus far GP outperforms
while our technique searches for a long-term repair. the other two search strategies in cases where the weighted
Clearview16 automatically detects and patches assem- path is long (i.e., where the fault is difficult to localize).
bly-level errors in deployed software. Clearview monitors a There are several interesting questions related to the design
program at runtime, learns invariants that characterize nor- of our GP algorithm, but the overall process proved so suc-
mal behavior, and subsequently flags violations for repair. cessful initially that we have not experimented carefully with
Candidate patches that make the implicated invariant true parameter values, selection strategies, and operator design.
are generated and tested dynamically. Although the perfor- These all could almost certainly be improved.
mance overhead of Clearview is high, it has successfully been Fault localization. As Figure 1 shows, the time to find a solution
applied to buggy versions of Mozilla Firefox and evaluated varies with the length of the weighted path. Since the weighted
against a Red Team of hackers. However, Clearview can repair path is a form of fault localization, we could use off-the-shelf
only those errors that are relevant to selected monitors. Our fault localization techniques (e.g., Jones and Harrold11 and
method is more generic, providing a single approach to repair Renieres and Reiss20) or dynamically discovered invariants,13
multiple classes of faults without the need for specific moni- in the style of Daikon6 to further narrow the search space.
tors, and we do not require continual runtime monitoring Predicates over data might help in cases where faults cannot
(and the incumbent slowdown) to create and deploy repairs. be localized by control flow alone, such as cross-site scripting
This body of work illustrates a burgeoning interest in or SQL injection attacks. In addition, our recent experiments
the problem of automated software repair and some of the have shown that the location of the fault (i.e., where to insert
many possible approaches that might be tried. There are new code) is rarely the same as source of the fix (i.e., where to
several other recent but less mature proposals for automati- find code to insert). Since more than half of our repairs involve
cally finding and repairing bugs in software, e.g., Dallmeier inserting or swapping code, locating viable fixes is of critical
et al.,4 suggesting that we can expect rapid progress in this importance but remains poorly understood.
area over the next several years. Fitness function. Our current test suite fitness function
has the advantage of conceptual simplicity: a variant that
6. DISCUSSION passes all test cases is assumed to be correct, and a variant
The results reported here demonstrate that GP can be that does not compile or fails all tests is rejected. However, it
applied to the problem of bug repair in legacy C programs. may not be accurate in the middle ranges or precise enough
However, there are some caveats. to guide the evolutionary search in more complex problems.
Basic limitations. First, we assume that the defect is reproduc- Consider a program with a race condition, for which the fix
ible and that the program behaves deterministically on the consists of inserting separate lock and unlock calls. A vari-
test cases. This limitation can be mitigated by running the test ant with a partial solution (e.g., just an inserted lock) may
cases multiple times, but ultimately if the program behavior is unfortunately pass fewer test cases (e.g., by deadlocking),
random it will be difficult for our method to find or evaluate a thus “deceiving” the evolutionary algorithm. Fitness func-
correct patch. We further assume that positive test cases can tion design could be enhanced in several ways, for example,
encode program requirements. Test cases are much easier to by weighting individual test cases, dynamically choosing
obtain than formal specifications or code annotations, but if subsets of test cases to be included, or by augmenting the
too few are used, a repair could sacrifice important functional- test case evaluation with other information. For example, if
ity. In practice, we are likely to have too many test cases rather a simple predicate like x == y is true at a particular point
than too few, slowing down fitness evaluation and impeding on all positive test cases, but false for the negative test, a vari-
the search. We also assume that the path taken along the nega- ant that causes it to be true for the negative test might be
tive test case is different from the positive path. If they over- given a higher fitness value.
lap completely, our weighted representation will not guide GP Repair quality. We are interested in how much repairs vary after
modifications as effectively. Finally, we assume that the repair minimization, and how repair quality compares to human-
can be constructed from statements already extant in the pro- engineered solutions. In our experiments to date, many, but
gram; in future work, we plan to extend our method to include not all, repairs look identical after the minimization step. For
a library of repair templates. example, we have isolated 12 distinct repairs for the null-
Evolution. One concern about our results to date is the role httpd fault, but much overlap exists (e.g., two repairs may
of evolution. Most of our repairs result from one or two ran- insert the same statement into different points in the same
dom modifications to the program, and they are often found basic block). Repair quality depends on the presence of a
m ay 2 0 1 0 | vo l . 5 3 | n o. 5| c o m m u n i c at i o n s o f t h e acm 115
research highlights
116 communications of t h e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
Call for Papers and Posters
ACM International Conference On Bioinformatics and
Computational Biology (ACM-BCB 2010)
August 2-4, Niagara Falls, New York, USA
ACM-BCB Website: http://www.cse.buffalo.edu/ACM-BCB2010
Key Dates ACM-BCB is the first ACM conference in the areas of bioinformatics,
Paper Submission Mar . 15, 2010 computational biology, and biomedical researches. The conference is pleased to
Poster Submission Apr. 11, 2010 announce that the conference has set up three awards: the best paper award, the best
Notification to Authors May 1, 2010
student paper award, and the best poster award. The conference will also support 10
Organizing Committee
Steering Committee
student travel grants ( see the conference website for more details).
Joydeep Ghosh, University of Texas at Austin We invite you to submit papers with unpublished, original research describing
Vipin Kumar, University of Minnesota recent advances on all aspects of Bioinformatics and Computational Biology. All
Meral Ozsoyoglu, Case Western Reserve University papers will undergo peer review by the conference program committee; accepted
Yi Pan, Georgia State University
Dong Xu, University of Missouri-Columbia papers will be published in the conference proceedings (in CD) and in the ACM
Aidong Zhang, SUNY at Buffalo (co-chair) Digital Library. Authors of selected papers will be invited to extend their papers
Joe Zhang, University of Southern Mississippi (co-chair) for submission to several journals.
General Chairs Papers should not exceed 10 pages in ACM template on 8.5 x 11 inch paper (see
Aidong Zhang, SUNY at Buffalo
Mark Borodovsky, Georgia Tech ACM templates at http://www.acm.org/sigs/publications/proceedings-templates).
Program Chairs Papers should be submitted via the link
Gultekin Ozsoyoglu, Case Western Reserve University (https://cmt.research.microsoft.com/BCB2010/).
Armin Mikler, University of North Texas
Treasurer
Joe Zhang, University of Southern Mississippi
We also invite you to submit posters focusing on problems and new challenges of
Workshop Chairs Bioinformatics and Computational Biology. Submit your posters (limited to 3 pages
Michael Buck, SUNY at Buffalo of ACM template) to poster co-chair: Tony Hu (xh29@drexel.edu). Accepted posters
Vasant Honavar, Iowa State University will be published in the conference proceedings.
Zhongming Zhao, Vanderbilt University Medical Center
Jason Wang, New Jersey Institute of Technology
Poster Chairs
Topics
Tony Hu, Drexel University Assembly algorithms for the next Models of gene expression networks
Sun Kim, Indiana University generation sequencing Computational proteomics and
Publicity Chairs
Mary Qu Yang, NIH Genome annotations via mass methabolomics
Kebin Jia, Beijing University of Technology spectrometry Prediction of protein-protein interactions
Student Awards Chairs Gene discovery and protein function
Susan Bridges, Mississippi State University Protein structure prediction and molecular
prediction dynamics
Parthasarathy Srinivasan, Ohio State University
Best Paper Awards Chairs Functional genomics algorithms for high Visualization of biomolecular and cellular
Joydeep Ghosh, University of Texas at Austin throughput data generation methods structure, dynamics and interactions
Wei Wang, University of North Carolina at Chapel Hill
Panel Chair
DNA and protein motif discovery Modeling of methabolic pathways
Vipin Kumar, University of Minnesota Models of gene expression regulation at Computational epigenomics
Keynote Chair RNA level
Dong Xu, University of Missouri-Columbia Models of cellular and multicellular
Proceedings Chairs Algorithms for comparative and systems
Li Liao, University of Delaware evolutionary genomics
Guo-zheng Li, Tongji University Prediction of cellular network dynamics
Molecular evolution and phylogeny from incomplete information
Tutorials Chairs reconstruction
Mohammed Zaki, Rensselaer Polytechnic Institute Clinical genomics and proteomics
Bo Yuan, Shanghai Jiaotong University Multiple genome alignment
Registrations Chair Data mining in biomolecular databases
Computational genomics for plant and
Preetam Ghosh, University of Southern Mississippi High performance computing for complex
Local Arrangements
animal genomes
biomolecular and cellular systems
Zihua Hu, SUNY at Buffalo Engineering of bioinformatic databases
Marianne Sullivan, SUNY at Buffalo Biomedical imaging
careers
Case Western Reserve University Drexel University Georgia State University, founded in 1913, is a
Tenure Track Assistant Professor Positions In University Professorships Carnegie Doctoral/Research Extensive university.
Biomedical Informatics Located in the heart of downtown Atlanta, this ma-
Drexel University (drexel.edu) invites applications jor research university has an enrollment of more
The Division for Medical Informatics in Case West- for anticipated senior faculty positions (Univer- than 30,000 undergraduate and graduate students
ern Reserve University’s School of Medicine invites sity Professors) in key science and engineering in six colleges. Georgia State is the second largest
applications for two tenure track Assistant Profes- areas aligned with strategic university-wide re- university in the state, with students coming from
sor positions. We are seeking candidates whose re- search initiatives. Hiring and appointments will every county in Georgia, every state in the nation and
search areas intersect computer science and clini- be directed by the Office of the Provost in col- from over 145 countries. Georgia State University is
cal and health science, with an aptitude to develop laboration with relevant colleges/schools and currently embarking on a record $1 billion campus
software tools, methodologies and informatics in- academic departments across the University and expansion. The Computer Science Department of-
frastructure with a direct bearing on the biomedi- the possibility of interdisciplinary appointments. fers programs leading to the B.S., M.S., and Ph.D. de-
cal research enterprise. Specific areas of interest Drexel University is in the midst of a period of grees in computer science. Currently, more than 60
include, but are not limited to (in the context of unprecedented growth and opportunity. Drexel PhD students are enrolled. Departmental comput-
clinical, comparative and translational research): seeks to identify and recruit senior faculty com- ing facilities for research and instruction include a
˲˲ Knowledge assimilation and intelligent deci- mitted to advancing current interdisciplinary re- departmental network of PCs, Unix/Linux worksta-
sion support; search programs and creating new ones. More in- tions, two interconnected Beowulf clusters, and a
˲˲ Biomedical ontologies and their applications; formation is available in the University’s current 24-processor shared-memory high-performance
˲˲ Machine learning and natural language pro- strategic plan: http://www.drexel.edu/provost/ computer, and five labs, including a hypermedia
cessing; strategicplan/ and visualization research laboratory. A full-time
˲˲ Data collection, storage, management, integra- Key areas of strategic interest for which Drexel systems programmer supports the departmental
tion, query, and mining. University is currently searching include: computing facilities. All four of the department’s
Must have a Ph.D. or equivalent in computer ˲˲ Verification and validation of complex software assistant professors currently hold awards from the
science or biomedical informatics. Minimum 5 systems National Science Foundation’s Faculty Early Career
years experience in biomedical informatics, com- ˲˲ Modeling & simulation (e.g., computer net- Development (CAREER) Program.
puter science or health IT. works, air space deconfliction, cyber-physical Applicants should send: letter of interest, C.V.
Applicants should provide via email (JXA136@ systems, etc) without birth date, but with citizenship status,
case.edu) a current CV, a statement (2-3 pages) of ˲˲ CyberSecurity, CyberWarfare, CyberForensics, and three letters of recommendation and tran-
their research plans, and the names/contact info Information Assurance scripts of all graduate work to:
of four references. Specify Search #204/205 in the Drexel seeks individuals who have demon- Dr. Yi Pan, Chair
email subject line. Enquiries about the positions strated skills in working across college and de- Department of Computer Science
may be directed to Professor GQ Zhang, Division partmental boundaries and are experienced in Georgia State University
Chief, at GQ@case.edu. building and managing large-scale, interdisci- 34 Peachtree Street, Suite 1450
Case Western Reserve, a leader among inde- plinary, research and educational efforts. Atlanta, Georgia, 30303
pendent research universities, offers world-class Successful applicants will have a distinguished
academic programs in Medicine and Engineer- track record of leadership, research execution and Applications can also be sent via email to
ing. In employment, as in education, Case West- management, as well as teaching and service. In- pan@cs.gsu.edu and will be accepted until posi-
ern Reserve University is committed to Equal terested candidates should apply online at: tion is filled.
Opportunity and Diversity. Women and under- www.drexeljobs.com/applicants/ Georgia State University, a Research Univer-
represented minorities are encouraged to apply. Central?quickFind=73467 sity of the University System of Georgia, is an AA/
EEO employer.
Please complete the short online application
DOCOMO Communications and submit a cover letter, CV, brief statements
Laboratories USA, Inc. describing your research program and teaching Goshen College
Research Engineer (Full-Time/ philosophy, and contact information for at least Informatics Professor
Contractor/Intern) four references. Review of applications will com-
mence immediately. Develop and teach courses in Informatics, ad-
DOCOMO USA Labs is looking for a Ph.D. level Drexel University is an Affirmative Action/ vise student capstone projects, work with other
researcher to work in data analysis, distributed Equal Opportunity Employer. departments to develop cognates, and promote
computing, and optimization. The candidate the new program. PhD preferred, Master’s degree
must have a track record of publications in top required, in a computing field. See www.goshen.
tier conferences and/or journals. Strong back- Georgia State University edu/employment for more information.
ground in the following areas is required: statis- Department of Computer Science
tical algorithm design, signal processing, graph Assistant or Associate Professor
theory, queuing theory, stochastic optimization, Institute for Infocomm Research (I²R)
control theory, game theory, and information the- The Department of Computer Science of Georgia Research Scientist
ory. Strong programming experience in Java and State University invites applications for an antici- Human Factors Engineering
statistical programming languages like R are re- pated tenure-track position for Assistant or Asso- Ref: I2R /R/300110/04
quired. Experience with implementation on dis- ciate Professor beginning the Fall semester, 2010,
tributed computing platforms like MapReduce or pending budgetary approval. Earned Ph.D. in You will develop and contribute to the development
Hadoop on Linux systems will be a plus. Computer Science, or a closely related discipline, of new human factors methods across a variety of
Applicants must have the relevant authoriza- and excellent records of publications and fund- hardware and software platforms, and domains.
tion to work in a U.S. company. ing are required. Preference is for individual with You will provide thought leadership in research and
Please indicate Code: OOP-RE-ACM, Email specialty in distributed systems and networking. development of ideas, and translate the research
Address: oop_recruit@docomolabs-usa.com. Ap- An offer of employment will be conditional on into intellectual properties and publications. You
ply URL: http://www.docomolabs-usa.com/ background verification. will also work with other technologists and re-
118 communications of t h e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
searchers to understand user requirements in their of EUR 10 million and partnerships with global
social and physical context and guide more junior ICT corporations and major research institutions
human factors researchers to generate ideas. the Director has an opportunity to contribute to
Requirements: ICT research with world-class results.
˲˲ A PhD in Human Factors Engineering, Human- The parent universities of HIIT offer up to a
Computer Interaction or other research-based five years contract starting from 1 August 2010
behavioral science discipline. and excellent facilities in Finland. The position is
˲˲ At least 5 years of experience in applying Hu- renewable. The application deadline is 19 March
man Factors/ Usability evaluation techniques, 2010 at 3.45 pm Finnish time.
preferably in infocomm, consumer electronics or More information at www.hiit.fi/jobs
healthcare domains.
˲˲ Good communication and writing skills with
an excellent record of publications and/or suc- Pacific Northwest National Laboratory
cess in projects. Senior Research Scientist in Data Intensive
˲˲ Ability to work independently as well as in Scientific Computing
teams and willing to take up challenges.
˲˲ Strong R&D leadership and ability to build up PNNL is embarking on an ambitious new R&D agen-
new competency in the areas mentioned above. da to create the next generation of data management
For interested candidate, please send your and analysis technologies for large scale scientific
resume to joinus@i2r.a-star.edu.sg. Alternatively challenges. We are looking for a senior computer
please logon to www.i2r.a-star.edu.sg, for more scientist to help drive this agenda. The position in-
career opportunities. volves all aspects of defining, creating and deploy-
ing complex, innovative software tools that leverage
Cloud- and HPC-based computational platforms.
HIIT Helsinki Institute for Job 118396. Apply URL: http://jobs.pnl.gov
Information Technology
Director
Professionals Incorporated
Aalto University and the University of Helsinki are Software Engineer
looking for a proven leader to be the next Director of
Helsinki Institute for Information Technology HIIT. Multiple Software Engineer openings in scenic
The new leader will create and execute an am- Ithaca, NY situated at the base of Cayuga Lake and
bitious research agenda in an institute conduct- home of wineries, Cornell University and more.
ing basic and applied research in ICT. With al- BS in Computer Science from an accredited
most 200 multidisciplinary researchers, a budget University; 2-20 years of exp; C/C++. Interested in
Compilers, Scheme, and/or Python. US Citizens
Only. Relocation available! Apply URL: http://
www.cpsprofessionals.com
m ay 2 0 1 0 | vo l . 5 3 | n o. 5 | c o m m u n i c at i o n s o f t h e acm 119
last byte
Puzzled
Variations on the
Ham Sandwich Theorem
Welcome to three new puzzles. Solutions to the first two will be
published next month; the third is (as yet) unsolved. In each, the issue
is how your intuition matches up with the mathematics.
1. A pair of intrepid
computer programmers
spend a weekend hiking
2. Prove that Lake
Champlain can be
inscribed in a square. More
3. Be the first person ever
to prove (or disprove)
that every closed curve in the
the Cascade Range in precisely, show that, given plane contains the corners of
Washington. On Saturday any closed curve in the plane, some square.
morning they begin an ascent there is a square containing
of Mt. Baker—all 10,781 feet the curve all four sides of
of it—reaching the summit which touch the curve.
by nightfall. They spend the A corner counts for both
night there and start down incident sides.
the mountain the following
morning, reaching the
bottom at dusk on Tuesday.
Prove that at some
precise time of day, these
Illustration from isto ckp hoto.com
All readers are encouraged to submit prospective puzzles for future columns to puzzled@cacm.acm.org.
Peter Winkler (puzzled@cacm.acm.org) is Professor of Mathematics and of Computer Science and Albert Bradley
Third Century Professor in the Sciences at Dartmouth College, Hanover, NH.
120 communications of t h e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
Think Parallel.....
It’s not just what we make.
It’s what we make possible.
Advancing Technology Curriculum
Driving Software Evolution
Fostering Tomorrow’s Innovators