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

COMMUNICATIONS

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

General conference chairs Call for participations


Jean Vanderdonckt (Université catholique de
EICS is the second international conference devoted to the engineering of usable and
Louvain, Belgium) & Noi Sukaviriya (IBM
Research Center, USA) effective interactive computing systems. Systems of interest will include traditional
workstation-based interactive systems, new and emerging modalities (e.g., gesture),
Technical program chair entertaining applications (e.g., mobile and ubiquitous games) and development methods
Michael Harrison (Newcastle University, UK)
(e.g., extreme programming).
Research papers & practical and
experience reports chairs EICS focuses on methods and techniques, and the tools that support them, for designing and
Jeffrey W. Nichols (IBM Almaden Research developing interactive systems. It brings together people who study or practice the
Center, USA) & Sahin Albayrak (Technische engineering of interactive systems, drawing from the HCI, Software Engineering,
Universität Berlin, Germany) Requirements Engineering, CSCW, Ubiquitous / Pervasive Systems and Game Development
Late breaking results chairs communities.
Angel Puerta (RedWhale Soft Corporation, USA)
& Gavin Doherty (Trinity College Dublin, Ireland)
EICS encompasses the former EHCI (Engineering Human Computer Interaction, sponsored
by IFIP 2.7/13.4), DSV-IS (International Workshop on the Design, Specification and
Demonstrations chairs Verification of Interactive Systems), CADUI (International Conference on Computer-Aided
Heinrich Arnold (T-Labs, Germany), James Lin
(Google, USA) & Phil Gray (University of
Design of User Interfaces) and TAMODIA (International Workshop on Task Models and
Glasgow, UK) Diagrams) conferences.

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

You can join ACM in several easy ways:


Online Phone Fax
http://www.acm.org/join +1-800-342-6626 (US & Canada) +1-212-944-1318
+1-212-626-0500 (Global)
Or, complete this application and return with payment via postal mail

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

choose one membership option:


PROFESSIONAL MEMBERSHIP: STUDENT MEMBERSHIP:
❏ ACM Professional Membership: $99 USD ❏ ACM Student Membership: $19 USD

❏ 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

All new ACM members will receive an payment:


ACM membership card. Payment must accompany application. If paying by check or
For more information, please visit us at www.acm.org money order, make payable to ACM, Inc. in US dollars or foreign
currency at current exchange rate.
Professional membership dues include $40 toward a subscription
to Communications of the ACM. Member dues, subscriptions, ❏ Visa/MasterCard ❏ American Express ❏ Check/money order
and optional contributions are tax-deductible under certain
circumstances. Please consult with your tax advisor.
❏ Professional Member Dues ($99 or $198) $ ______________________

❏ ACM Digital Library ($99) $ ______________________


RETURN COMPLETED APPLICATION TO:
❏ Student Member Dues ($19, $42, or $62) $ ______________________
Association for Computing Machinery, Inc.
General Post Office Total Amount Due $ ______________________
P.O. Box 30777
New York, NY 10087-0777

Questions? E-mail us at acmhelp@acm.org Card # Expiration date


Or call +1-800-342-6626 to speak to a live representative

Satisfaction Guaranteed! Signature


communications of the acm

Departments News Viewpoints

5 Editor’s Letter 32 Economic and Business Dimensions


Globalization and Offshoring Cloud Computing and Electricity:
of Software Revisited Beyond the Utility Model
By Moshe Y. Vardi Assessing the strengths, weaknesses,
and general applicability of the
6 Letters To The Editor computing-as-utility business model.
Roots of Publication Delay By Erik Brynjolfsson, Paul Hofmann,
and John Jordan
8 In the Virtual Extension
35 Education
10 BLOG@CACM How to Make Progress
NSF Funding Advice; in Computing Education
21st Century Innovation Improving the research base
Jeannette M. Wing shares useful for computing education
suggestions for department heads. requires securing competitive
Daniel Reed discusses the funding commitments.
importance of synergy among 13 Modeling the Astronomical By Cameron Wilson and Mark Guzdial
computing specialists and Advances in computer technology
generalists. have changed the way astronomers 38 Viewpoint
see and study the universe. Can IT Lean Against the Wind?
12 CACM Online By Jeff Kanipe Lessons from the global
Looking for Control financial crisis.
By David Roman 16 Happy Birthday, RDBMS! By Roman Beck
The relational model of data
23 ACM Election Ballot management, which dates to 1970, 41 Viewpoint
ACM’s 2010 General Election still dominates today and influences Is Mobile Email
Meet the candidates who new paradigms as the field evolves. Addiction Overlooked?
introduce their plans—and stands— By Gary Anthes Studying the prevalence
for the Association. of mobile email addiction and
18 Cloud Computing the associated possible
39 Calendar and Developing Nations implications for organizations.
For a growing number of By Ofir Turel and Alexander Serenko
118 Careers organizations worldwide, cloud
computing offers a quick and 45 Computer Museum Series
affordable way to tap into IT Great Computing Museums
Last Byte infrastructure as an Internet service. of the World, Part Two
But obstacles and challenges remain. The second of a two-part series
120 Puzzled By Samuel Greengard highlighting several of the world’s
Variations on the museums dedicated to preserving,
Ham Sandwich Theorem 21 Thacker Wins Turing Award exhibiting, and elucidating
By Peter Winkler Microsoft’s Charles P. Thacker computing history.
named 56th recipient of ACM’s By William Aspray
illustration court esy of ESO/L. Ca lça da

A.M. Turing Award.


By Jack Rosenberger

Association for Computing Machinery


Advancing Computing as a Science & Profession

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

Practice Contributed Articles Virtual Extension

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

About the Cover:


The arduous process of Automated Patching Techniques: Charles E. Downing
capturing a lifetime of
memories is best stored The Fix Is In
in the human memory, By Mark Harman IT Innovation Persistence:
say authors Abigail Sellen
and Steve Whittaker An Oxymoron?
in this month’s cover 109 Automatic Program Repair Theophanis C. Stratopoulos
story, beginning on p. 70.
Brooklyn-based artist with Evolutionary Computation and Jee-Haw Lim
Giacomo Marchesi (who By Westley Weimer, Stephanie Forrest,
also goes by the name
James Gray) illustrates Claire Le Goues, and ThanhVu Nguyen
the essence of lifelogging,
building a metallic image
attempting to contain a life in every possible medium.

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.

ACM, the world’s largest educational STAF F editorial B oard


and scientific computing society, delivers  
resources that advance computing as a Director of Group Publish ing E ditor-i n-c hief
science and profession. ACM provides the Scott E. Delman Moshe Y. Vardi ACM Copyright Notice
computing field’s premier Digital Library publisher@cacm.acm.org eic@cacm.acm.org Copyright © 2010 by Association for
and serves its members and the computing Executive Editor News Computing Machinery, Inc. (ACM).
profession with leading-edge publications, Diane Crawford Co-chairs Permission to make digital or hard copies
conferences, and career resources. Managing Editor Marc Najork and Prabhakar Raghavan of part or all of this work for personal
Thomas E. Lambert Board Members or classroom use is granted without
Executive Director and CEO Senior Editor Brian Bershad; Hsiao-Wuen Hon; fee provided that copies are not made
John White Andrew Rosenbloom Mei Kobayashi; Rajeev Rastogi; or distributed for profit or commercial
Deputy Executive Director and COO Senior Editor/News Jeannette Wing advantage and that copies bear this
Patricia Ryan Jack Rosenberger notice and full citation on the first
Director, Office of Information Systems Web Editor Viewpoints page. Copyright for components of this
Wayne Graves David Roman Co-chairs work owned by others than ACM must
Director, Office of Financial Services Editorial Assistant Susanne E. Hambrusch; John Leslie King; be honored. Abstracting with credit is
Russell Harris Zarina Strakhan J Strother Moore permitted. To copy otherwise, to republish,
Director, Office of Membership Rights and Permissions Board Members to post on servers, or to redistribute to
Lillian Israel Deborah Cotton P. Anandan; William Aspray; lists, requires prior specific permission
Director, Office of SIG Services Stefan Bechtold; Judith Bishop; and/or fee. Request permission to publish
Donna Cappo Art Director Stuart I. Feldman; Peter Freeman; from permissions@acm.org or fax
Director, Office of Publications Andrij Borys Seymour Goodman; Shane Greenstein; (212) 869-0481.
Bernard Rous Associate Art Director Mark Guzdial; Richard Heeks;
Director, Office of Group Publishing Alicia Kubista Rachelle Hollander; Richard Ladner; For other copying of articles that carry a
Scott Delman Assistant Art Director Susan Landau; Carlos Jose Pereira de Lucena; code at the bottom of the first or last page
Mia Angelica Balaquiot Beng Chin Ooi; Loren Terveen or screen display, copying is permitted
ACM Cou nc il Production Manager provided that the per-copy fee indicated
President Lynn D’Addesio in the code is paid through the Copyright
Wendy Hall Director of Media Sales P ractice Clearance Center; www.copyright.com.
Vice-President Jennifer Ruzicka Chair
Alain Chesnais Marketing & Communications Manager Stephen Bourne Subscriptions
Secretary/Treasurer Brian Hebert Board Members An annual subscription cost is included
Barbara Ryder Public Relations Coordinator Eric Allman; Charles Beeler; David J. Brown; in ACM member dues of $99 ($40 of
Past President Virgina Gold Bryan Cantrill; Terry Coatta; Mark Compton; which is allocated to a subscription to
Stuart I. Feldman Publications Assistant Stuart Feldman; Benjamin Fried; Communications); for students, cost
Chair, SGB Board Emily Eng Pat Hanrahan; Marshall Kirk McKusick; is included in $42 dues ($20 of which
Alexander Wolf George Neville-Neil; Theo Schlossnagle; is allocated to a Communications
Co-Chairs, Publications Board Columnists subscription). A nonmember annual
Jim Waldo
Ronald Boisvert, Holly Rushmeier Alok Aggarwal; Phillip G. Armour; subscription is $100.
Martin Campbell-Kelly; The Practice section of the CACM
Members-at-Large
Michael Cusumano; Peter J. Denning; Editorial Board also serves as
Carlo Ghezzi; ACM Media Advertising Policy
Shane Greenstein; Mark Guzdial; the Editorial Board of .
Anthony Joseph; Communications of the ACM and other
Mathai Joseph; Peter Harsha; Leah Hoffmann; ACM Media publications accept advertising
C ontributed Articles
Kelly Lyons; Mari Sako; Pamela Samuelson; in both print and electronic formats. All
Co-chairs
Bruce Maggs; Gene Spafford; Cameron Wilson advertising in ACM Media publications is
Al Aho and Georg Gottlob
Mary Lou Soffa; Board Members at the discretion of ACM and is intended
Fei-Yue Wang C o n tac t P o i n ts to provide financial support for the various
Yannis Bakos; Gilles Brassard; Alan Bundy;
SGB Council Representatives Copyright permission activities and services for ACM members.
Peter Buneman; Ghezzi Carlo;
Joseph A. Konstan; permissions@cacm.acm.org Current Advertising Rates can be found
Andrew Chien; Anja Feldmann;
Robert A. Walker; Calendar items by visiting http://www.acm-media.org or
Blake Ives; James Larus; Igor Markov;
Jack Davidson calendar@cacm.acm.org by contacting ACM Media Sales at
Gail C. Murphy; Shree Nayar; Lionel M. Ni;
Change of address (212) 626-0654.
Sriram Rajamani; Jennifer Rexford;
Publicat i o n s Boa r d acmcoa@cacm.acm.org
Marie-Christine Rousset; Avi Rubin;
Co-Chairs Letters to the Editor Single Copies
Abigail Sellen; Ron Shamir; Marc Snir;
Ronald F. Boisvert and Holly Rushmeier letters@cacm.acm.org Single copies of Communications of the
Larry Snyder; Veda Storey;
Board Members Manuela Veloso; Michael Vitale; ACM are available for purchase. Please
Jack Davidson; Nikil Dutt; Carol Hutchins; W e b SITE contact acmhelp@acm.org.
Wolfgang Wahlster; Andy Chi-Chih Yao;
Ee-Peng Lim; Catherine McGeoch; http://cacm.acm.org
Willy Zwaenepoel
M. Tamer Ozsu; Vincent Shen; Communi c ations o f the ACM
Mary Lou Soffa; Ricardo Baeza-Yates Au t h o r G u i d e l i n es Research Highligh ts (ISSN 0001-0782) is published monthly
http://cacm.acm.org/guidelines Co-chairs by ACM Media, 2 Penn Plaza, Suite 701,
ACM U.S. Public Policy Office David A. Patterson and Stuart J. Russell New York, NY 10121-0701. Periodicals
Cameron Wilson, Director Adv e rt i s i ng Board Members postage paid at New York, NY 10001,
1100 Seventeenth St., NW, Suite 50 Martin Abadi; Stuart K. Card; Deborah Estrin; and other mailing offices.
Washington, DC 20036 USA ACM A dvertisi n g Departmen t Shafi Goldwasser; Monika Henzinger;
T (202) 659-9711; F (202) 667-1066 2 Penn Plaza, Suite 701, New York, NY Maurice Herlihy; Norm Jouppi; POSTMASTER
10121-0701 Andrew B. Kahng; Gregory Morrisett; Please send address changes to
Computer Science Teachers Association T (212) 869-7440 Michael Reiter; Mendel Rosenblum; Communications of the ACM
Chris Stephenson F (212) 869-0481 Ronitt Rubinfeld; David Salesin; 2 Penn Plaza, Suite 701
Executive Director
Lawrence K. Saul; Guy Steele, Jr.; New York, NY 10121-0701 USA
2 Penn Plaza, Suite 701 Director of Media Sales
Gerhard Weikum; Alexander L. Wolf;
New York, NY 10121-0701 USA Jennifer Ruzicka
Margaret H. Wright
T (800) 401-1799; F (541) 687-1840 jen.ruzicka@hq.acm.org
Web
Association for Computing Machinery Media Kit acmmediasales@acm.org
Co-chairs
(ACM)
Marti Hearst and James Landay
2 Penn Plaza, Suite 701
Board Members SE
REC
New York, NY 10121-0701 USA A Y

Jason I. Hong; Jeff Johnson;


E

CL
PL

T (212) 869-7440; F (212) 869-0481


E

Greg Linden; Wendy E. MacKay Printed in the U.S.A.


TH

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

DOI:10.1145/1735223.1735224 Moshe Y. Vardi

Globalization and Offshoring


of Software Revisited
In 2003–2004, the computing community
in the U.S. suddenly realized it had lost its
“monopoly” on software. India’s IT industry
had been growing at an exponential rate for
a few years by then, driven by offshor- just as containerization and air freight The bottom line, therefore, is one
ing and outsourcing of IT services. reduced shipping costs and increased of a thriving computing field, with pro-
Alarming reports by consulting firms global trade. jections of continued growth for years
predicted the migration of millions There is no doubt that many people to come. The difference is the field
of jobs. The political response to the in developed countries lost their jobs is now global, and so is the competi-
news was quite shrill, referring to to offshoring. Indeed, some catego- tion. Such competition is moving up
“Benedict Arnold CEOs.” Grim jokes ries of jobs, for example, call centers, the skill ladder. Companies, including
circulated about the U.S. offshoring the have migrated more than others. Yet, start-ups, are learning how to access
President’s job. Parents and students there is no evidence that offshoring and use higher skill levels in developed
became convinced the IT field had no had a measurable impact on aggre- countries. We are seeing new research
future. U.S. computing enrollments, gate IT employment in developed labs and increasing national research
already hammered by the dot-com and countries. U.S. employment and wage investment in India and China. We
telecomm crashes, took another dive. data showed complete recovery from are also seeing an increase in the to-
In response to these concerns about the dot-com and telecomm crashes by tal worldwide investment in research
the viability of computing as a field of 2005. The report pointed out that once and a wider distribution of research
study and work in developed countries, we ignore the many biased and hyped activities around the world. These are
ACM Council commissioned in 2004 a reports and concentrate on concrete all signs of a thriving global field, with
Task Force to “look at the facts behind data, there is no reason to believe that intense global competition.
the rapid globalization of IT and the IT jobs are migrating away. Can offshoring be ignored? Abso-
migration of jobs resulting from out- After the report’s release, many peo- lutely not! We must continue monitor-
sourcing and offshoring.” The Task ple asked me for a “one-bit answer”: Is ing employment and wage trends, as
Force, co-chaired by Frank Mayadas offshoring good or bad? Of course, this well as global R&D trends, to assess its
and myself, with the assistance of Wil- is not a meaningful question. Good for ongoing impact. To stay competitive
liam Aspray as Editor, was convened in whom? Undoubtedly, trade contrib- in a global IT environment and indus-
late 2004 and issued its report in Feb- utes to economic growth and greater try, countries must adopt policies that
ruary 2006. See http://www.acm.org/ wealth. Offshoring pulled tens of mil- invest in R&D and foster innovation.
globalizationreport/ lions of people out of poverty in India, Policies that improve a country’s abil-
Do the insights produced by the re- and that is surely a good thing. But econ- ity to attract, educate, and retain the
port still ring true four years and a ma- omists admit that “Trade gains may be best IT talent are critical. Education is
jor economic crisis later? To me, the distributed differentially,” meaning a primary means for both developed
most fundamental insight is that off- some individuals gain and some lose; and developing countries to mount a
shoring is just a symptom; the under- some localities gain and some lose. Glo- response to offshoring so their work
lying phenomenon is the globalization balization leads to enhanced competi- forces can compete globally for IT jobs.
of computing. Globalization is driven tion, and technology leaders risk losing So how do countries and individuals
by trade policies, by the evolution of their current dominant position. IT is thrive in a global computing world? In-
work and business processes, and by now a truly global field, business, and vest, innovate, develop, produce, edu-
IT itself. The dramatic drop in com- industry. Between 1980 and 2000, the cate, compete. Simple.
munication costs means that labor market share of the top-five software
can now be viewed as a tradeable good, firms dropped almost 30%. Moshe Y. Vardi, editor-in-chief

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

Roots of Publication Delay

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

develop applications across a range of


Event Processing for All
industries, including health care, re-
In its description of streaming queries, tail, defense, online games, chemical
Julian Hyde’s article “Data in Flight” and petroleum, social computing, air-
(Jan. 2010) included a paragraph on the line management, and car-fleet man-
relationship between streaming queries agement. While applications in the
and complex event processing, saying financial services industry were early
“CEP has been used within the industry adopters, the claim of an overly narrow
as a blanket term to describe the entire focus for the current state of the prac-
field of streaming query systems. This tice is simply not correct.
is regrettable because it has resulted in Opher Etzion, Haifa, Israel
a religious war between SQL-based and
non-SQL-based vendors and, in overly References
1. Gedik, B., Andrade, H., Wu, K.-L., Yu, P.S., and Doo, M.
focusing on financial services applica- SPADE: The system s declarative stream processing
tions, has caused other application ar- engine. In Proceedings of the SIGMOD Management
of Data Conference (Vancouver, B.C., Canada, June
eas to be neglected.” 9–12). ACM Press, New York, 2008, 1123–1134.
Here, I’d like to offer some perspec- 2. Jain, N., Mishra, S., Srinivasan, A., Gehrke, J., Widom,
J., Balakrishnan, H., Çetintemel, U., Cherniack, M.,
tive on these three assertions: Tibbetts, R., and Zdonik, S.B. Towards a streaming SQL
standard. In Proceedings of the 34th International
On the relationship between event Conference on Very Large Databases (Aukland, New
processing and streaming SQL. Event Zealand, Aug. 23–28, 2008), 1379–1390.
processing is a broad term, like data
management and signal processing, Author’s Response:
dealing with computing that per- Etzion’s point that the Event Processing
forms activities on events. A number Technical Society offers a range of
of related programming styles are em- approaches to event-processing problems
ployed in the research community, as is well taken. However, in framing the
well as in commercial products, for problem as “event processing,” the Society, ACM’s
implementing event-processing ap- as well as the complex event processing
plications, including stream-oriented vendors, fails to address the needs of the
interactions
(based on SQL extensions2 and not data warehousing/business intelligence magazine explores
based on SQL extensions1), script lan- community. critical relationships
guages, and rule-based. The Event Pro- Consider how such a BI practitioner
between experiences, people,
cessing Technical Society Language might see the world: Business events are
Analysis Workgroup gave a tutorial on embodied as rows in a fact table, and events and technology, showcasing
the languages (http://www.slideshare. are captured in log files or through database emerging innovations and industry
net/opher.etzion/debs2009-event- triggers and transformed through an extract leaders from around the world
processing-languages-tutorial) at the transform load tool or in the target database.
2009 ACM International Conference SQL is the lingua franca. This perspective is across important applications of
on Distributed Event-Based Systems different from the event-processing view, an design thinking and the broadening
(http://www.debs.org/2009). important distinction because many large, field of the interaction design.
On vendor competition. I have seen complex problems are expressed in BI terms
no religious wars over event-process- and because many people have BI skills.
Our readers represent a growing
ing languages (unlike the classic one BI technologies alone do not adequately community of practice that
between Lisp and Prolog). Vendors address the needs of this community. is of increasing and vital
compete but generally acknowledge Streaming query systems (such as
global importance.
the variety of ways to approach event- SQLstream) allow them to solve important
processing applications. They also col- new problems.
laborate through the Event Processing Julian Hyde, San Francisco
Technical society (http://www.ep-ts.
e

com/), a consortium including most


ib
cr

vendors in the area, as well as its lead- Credit Line


ubs

ing academic people, to investigate The Communications cover illustration


/s
rg

common functions and steps toward a of Amir Pnueli (Jan. 2010) was inspired
.o
cm

common modeling language. by a photograph taken by Dan Porges/


a
w.

On the range of applications. Some Photo Shwartz.


w

have asserted the field is overly focused


w
://
tp

on financial services to the exclusion Communications welcomes your opinion. To submit a


ht

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

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 the acm 7


in the virtual extension

DOI:10.1145/1735223.1735227

In the Virtual Extension


Communications’ Virtual Extension brings more quality articles to ACM
members. These articles are now available in the ACM Digital Library.

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

AWARD DESIGN AND REALIZATION


OF THE FIRST MODERN
PERSONAL COMPUTER—
THE ALTO AT XEROX PARC—
AND SEMINAL INVENTIONS
AND CONTRIBUTIONS TO
LOCAL AREA NETWORKS
(INCLUDING THE ETHERNET),
MULTIPROCESSOR
WORKSTATIONS, SNOOPING
BY THE COMMUNITY... CACHE COHERENCE
PROTOCOLS, AND TABLET
FROM THE COMMUNITY... PERSONAL COMPUTERS

FOR THE COMMUNITY...

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.

Follow us on Twitter at http://twitter.com/blogCACM

doi:10.1145/1735223.1735228 http://cacm.acm.org/blogs/blog-cacm

NSF Funding Advice; of our research to the general public, to


the administration, and to Congress.

21st Century Innovation


Writing a highlight is a good opportu-
nity to practice this form of communi-
cation. Also, it is a real honor if a Princi-
pal Investigator’s highlight is featured
Jeannette M. Wing shares useful suggestions for department heads. in the President’s Budget Request since
Daniel Reed discusses the importance of synergy among computing all highlights submitted to NSF go
specialists and generalists. through many stages of filtering. If your
highlight is chosen, add it to your CV.
b. Submit your annual and final re-
Jeannette M. Wing’s about not just the programs they over- ports on time. The funding of a new
“Twelve Tips for see, but also other programs through- award will be held up because of miss-
Department Heads out CISE and NSF, and NSF policies ing overdue reports. Alert: Sometime
from an NSF and processes. If you have a good idea this year, you will be asked to identify a
Perspective” for a proposal and it’s not clear which section of your final report that will be
http://cacm.acm.org/blogs/ program is most appropriate for your published on http://www.research.gov
blog-cacm/54177 idea, the PDs can help steer you in so that the public can get a better un-
I was recently asked by the organizers the right direction. They can help you derstanding of research and education
of this summer’s CRA Snowbird Work- navigate through our many rules and supported with taxpayer funds.
shop for New Department Heads for procedures. 3. Learn the basics of the NSF orga-
advice I would give from the National a. Corollary #1: You may be familiar nization. Ditto for other funding agen-
Science Foundation (NSF) perspective. with one or two “core” programs but as cies. Under the Director of NSF are the
I thought I would share my sugges- your research changes, you may not re- Assistant Directors (e.g., one for CISE),
tions with everyone since all academic alize there are other ongoing “core” or then the Division Directors (e.g., three
and industry researchers and practitio- new programs suitable for your new re- in CISE), and then the PDs.
ners, not just new (and old) department search ideas. Don’t think that you need Here’s what a department head
heads, may find them useful. These tips to stick to your current PD or program should make sure to do:
are targeted primarily for academic re- for funding. 4. Sign up for the NSF and CISE mail-
searchers since they are who NSF pri- b. Corollary #2: Get to know your ing lists. You can do this via the NSF
marily funds. In fact, 82% of all feder- Program Director(s). Don’t be shy to vis- and CISE Web sites. NSF sends out fre-
ally funded fundamental research in it NSF and stop by to meet the PD who is quent announcements about funding
computer science comes from the NSF funding you. It’s also a good opportuni- opportunities and changes to policies
Computer and Information Science ty to meet other PDs not just in CISE but and processes. CISE sends out infre-
and Engineering (CISE) Directorate. in other directorates and offices related quent informal “Dear Colleague Let-
Scary number! to your interests. ters” alerting the community to impor-
Here’s what a department head 2. Take reporting requirements tant events and funding opportunities.
should advise his or her faculty and what seriously. As a department head, make sure to
all faculty should do for themselves: a. Learn to write a good “highlight.” forward these mailings to your faculty.
1. Talk to NSF Program Directors. It is important for the computing com- 5. Mentor junior faculty in writing
The PDs are the most knowledgeable munity to be able to explain the nature CAREER and regular NSF proposals.

10 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
blog@cacm

Give feedback on their research ideas discovery and innovation. Much of


and the ways in which they present computing’s power accrues from its
them in their proposals. Encourage “We need to consider broad applicability and relevance; its
them to attend the CRA Career Men- how we combine definitions are at least as varied as the
toring Workshop run for senior gradu- talents and interests of its practitio-
ate students, post-docs, and assistant our disparate ners, in varying proportions spanning
professors for advice on writing pro- technical skills mathematics, science, technology, en-
posals and other professional develop- gineering, policy, the humanities and
ment activities. to attack large-scale the arts. I would not presume to define
6. Learn the basics of the federal problems in computing more precisely for to do so
budget process. Please see my first would inevitably omit something im-
Communications blog entry (http:// a holistic way,” portant and would unnecessarily con-
cacm.acm.org/blogs/blog-cacm/20487) Daniel Reed writes. strain its scope.
on this topic. Make sure to attend any In this era of hyper-specialization,
CRA Snowbird session on government “This is the beauty it is important to remember the com-
affairs. You should learn the vocabulary and universality bined power of generality and special-
and what steps happen when. ization, lest we render true the old joke
7. Lead your faculty in building col- of our field.” that education teaches one more and
laborations. Connect the faculty within more about less and less until finally
your department to other departments one knows everything about nothing
on campus, to other universities, to and is eligible for a Ph.D. After all,
industry, to private foundations, and Ph.D. is an abbreviation for the Latin
to your local and regional school dis- Philosophiae Doctor (“Doctor of Phi-
tricts. Computing is transforming ev- the logic: The PD chooses the reviewers losophy”), and science itself evolved
ery aspect of our lives, so leverage the and the PD makes the funding recom- from natural philosophy.
strengths of your faculty and your in- mendations. Clearly good judgment I believe solutions to many of the
stitution to build new interdisciplin- is required for both. In the end what most challenging problems facing our
ary partnerships and new research and is funded and what is not partly deter- society—medicine and health care,
education collaborations. As a depart- mine where our field moves and what climate and the environment, eco-
ment head, you can spearhead a new our field looks like. nomic security and privacy—will re-
large-scale research and/or education 12. Encourage bold, creative, and quire fusing expertise from multiple
effort for your campus, e.g., on the scale visionary thinking. NSF first and fore- disciplines, including computing.
of a CISE Expedition, an Engineering most looks to fund good people and Filling those disciplinary interstices
Research Center, or an NSF Science and good ideas. is both our challenge and our oppor-
Technology Center. a. NSF is all about fundamental, tunity, and we must embrace diverse
8. Encourage undergraduates to do long-term research. It is all about high- intellectual cultures and technical
research in computing. Make sure your quality research identified through the approaches to succeed. We also need
faculty always request supplements to merit-review process. Regardless of both computing specialists and gen-
support undergraduate researchers your perception of NSF, we welcome eralists who think systemically.
and/or consider submitting proposals groundbreaking, high-risk, high-return Cooperation, collaboration, syn-
to host Research Experiences for Un- and potentially transformative ideas. ergy, and consilience—the words are
dergraduates Sites. b. NSF supports not just curiosity- often used and abused, but the sum
9. Encourage seniors and first-year driven, but use-inspired research (“Pas- really is more than just the parts, and
graduate students to apply for an NSF teur’s Quadrant”). Computing research the harmonious integration of those
Graduate Research Fellowship. Stu- is naturally use-inspired. In tackling parts is often the difference between
dents indicating their intent to pursue societal grand challenges (e.g., energy, excellence and mediocrity. It’s why
graduate studies in computing are un- environment, health care, and securi- we have building architects, as well
derrepresented in this program. ty), we will need both fundamental ad- as specialists in each technical area.
10. Encourage faculty to serve as re- vances in computing and working with In the same vein, we need to consider
viewers for NSF. Serving on a panel can others in other disciplines. Opportuni- how we combine our disparate tech-
especially be an eye-opening learning ties abound! nical skills to attack large-scale prob-
experience for junior faculty. Remind lems in a holistic way. This is the beau-
your faculty that the PI community and Daniel Reed’s ty and universality of our field.
peer review community are one and the “Consilience: The Path
same. Service matters. to Innovation”
Jeannette M. Wing is a professor at Carnegie Mellon
11. Encourage mid-career and senior http://cacm.acm.org/blogs/ University and the assistant director for Computer and
faculty to serve as “rotators” to NSF. blog-cacm/51326 Information Science and Engineering at NSF. Daniel Reed
is vice president of Technology Strategy & Policy and the
CISE is always looking for good PDs and As a universal intel- eXtreme Computing Group at Microsoft.
Division Directors. The quality of PDs lectual amplifier, computing is the
shapes the frontiers of our field. Here is quintessential enabler of 21st century © 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 11
cacm online

ACM
Member
News
DOI:10.1145/1735223.1735229 David Roman Eric Brewer Wins
ACM-Infosys

Looking for Control Foundation Award


Eric Brewer, a professor at
the University of California,
Berkeley, is the recipient of
the 2009 ACM-Infosys
Computer scientists are wrestling to tame the glut of online data, which Foundation Award in the
Computing Sciences for his
is overwhelming both individuals and companies (http://cacm.acm.org/ contributions to the design
news/46847). For some users the answer starts with restrictions (http://calacanis. and development of highly
com/2007/10/03/web-3-0-the-official-definition/), but that suggestion has been scalable Internet services.
met with predictable, polite opposition grounded in the Web’s freewheeling “I spent about a decade
working on the use of clusters
openness (http://www.demo.com/community/?q=node/9178). for scalable, highly available
It’s not difficult to find evidence of an overconnected world, and there’s a Internet services, starting in
tendency to want to rein it in. More professors are banning distracting laptops 1994 when the Web was new
(and didn’t need clusters),
from university classrooms (http://cacm.acm.org/news/79243). Emergency
and ending roughly with the
medical technicians now risk additional life-threatening danger when check- sale of Inktomi [which Brewer
ing dashboard computers and navigational systems for directions, vital medi- co-founded] to Yahoo! in
cal information, even baseball scores, while racing patients to the hospital 2003,” Brewer said in an email
interview. “The surprise, in
at top speeds. Will “regulators, legislators and safety advocates seek to limit retrospect, was that it took
the use of gadgets by most drivers”? (http://www.nytimes.com/2010/03/11/ another five years for the
technology/11distracted.html?pagewanted=1). Physicians fear losing influ- lessons of that decade to
ence over patients who read online testimonials and incorrect data “perceived become standard practice
to the point where companies
as factual” on Web sites not “fully under the doctor’s control” (www.physorg. like Amazon and eBay talked
com/news188672089.html). In addition, the Simon Wiesenthal Center recently about these issues publicly.
released its 2010 Digital Terrorism and Hate report, identifying the Web’s most Personally, it is the vast use
of these ideas that I find
dangerous and offensive content (http://www.foxnews.com/slideshow/sci- most gratifying.”
tech/2010/03/15/world-wide-web-hate). Brewer is currently
Restricting access and content is a tempting solution, but restrictions won’t working to bring information
end any of this. Connectivity is only the enabler, not the cause. The Internet technology to developing
nations around the world via
and mobile communications give some people new ways his TIER project. “There are
to misbehave, and examples abound. Legislated penalties a few things I have learned
don’t work (http://recombu.com/news/london-drivers- from working in developing
countries that I hope to bring
love-to-chat-legally-or-otherwise_M11236.html). That
back to the U.S.,” he said.
texting driver in the next lane is not going away soon, “Although people talk about
law or no law. the ‘digital divide’ in terms
Salvation may come from com- of nations, the real issue is
the divide between urban and
puter science. Researchers are rural areas in nearly every
exploring innovations that will nation. Bangalore and Manila,
make voluminous online data for example, have roughly the
more manageable, for exam- same infrastructure, stores,
and use of technology as Los
ple, by making connections Angeles or Amsterdam. But
between different data sets if you go 20 miles outside
(http://cacm.acm.org/ of Bangalore or Manila you
are in a different world
news/80562). These and altogether—likewise for
other methods will give the middle of California.
Illustration from Istockp hoto.com

users new ways to sift The rural populations need


through, sort, inter- technology help the most—
urban customers will be well
rogate, and organize addressed by businesses due
online information. to their density and ease of
reach. I hope that some of the
TIER technologies around
connectivity and energy will
return to the rural U.S.”
—Jack Rosenberger

12 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
N
news

Science | doi:10.1145/1735223.1735230 Jeff Kanipe

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

served. Even in clusters, galaxies are


small compared to the vast distances ies. Most of these disturbed specimens computer simulations of galaxy inter-
between them, therefore an encounter could only be explained as products of actions in the early 1970s. They de-
was deemed unlikely. This mind set mergers with other galaxies. signed numerical programs that could
quickly shifted, however, once more ex- Astronomer and mathematician determine the trajectories of a number
tensive photographic surveys of the sky Alar Toomre, of the Massachusetts In- of test particles, or N-point masses, in
revealed that some galaxies appeared stitute of Technology, and his brother which only gravitational interactions
to be peculiar amalgams of both spiral- Jüri, of the University of Colorado, are considered. Such programs were
shaped galaxies and spheroidal galax- Boulder, conducted some of the first run on state-of-the-art mainframes

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

than five million SETI@home volun- Information Retrieval


teers, essentially constitutes one of the
world’s largest supercomputers, and is
an excellent example of how a network
“Exoplanets are
greatly expanding
Data
of home computers can be amazingly
efficient by spreading around the pro- the planetary Deluge
cessing burden. menagerie,” says The U.S. Blue Ribbon Task Force
Another ongoing citizen science
program, Galaxy Zoo, uses tens of Bruce Fegley, Jr. on Sustainable Digital Preservation
and Access released its final report,
thousands of home computers, but “They provide us Sustainable Economics for a
Digital Planet: Ensuring Long-term
in this case the processing power lies
mostly in the human brain. Origi- with all sorts of Access to Digital Information, a
two-year effort that addressed
nally launched in 2007, Galaxy Zoo oddball planets the economic challenges of
preserving the world’s ever-
is the most massive galaxy classifica-
tion project ever undertaken. Galax- that one could only increasing amount of digital
information.
ies come in a mind-boggling variety imagine in the past.” “The data deluge is
here,” said Fran Berman,
of shapes and combinations, making
vice president for research
classifying them extremely difficult.
at Rensselaer Polytechnic
Galaxy Zoo was tasked with classifying Institute and co-chair of the
the nearly one million galaxies swept task force. “Ensuring that our
up in the Sloan Digital Sky Survey, the most valuable information
is available both today and
most ambitious survey in the history of the long run, I think we’ll need a com- tomorrow is not just a matter
astronomy. Computers and the Inter- bination of man and machine,” says of finding sufficient funds. It’s
net have been instrumental in circulat- Lintott. “This sort of development is about creating a ‘data economy’
ing images of galaxies to thousands of going to be necessary to cope with the in which those who care,
those who will pay, and those
volunteers, but the success of Galaxy next generation of sky surveys, which who preserve are working in
Zoo depends on the pattern recogni- should produce data rates of up to 30 coordination.”
tion faculties particular to humans. terabytes per night.” A recent study by
the International Data
“Supercomputers, or even my bat- Corporation (IDC) found that
tered old laptop, can beat large num- 3,892,179,868,480,350,000,000
bers of humans for sheer processing Further Reading (roughly 3.9 trillion times a
power,” says Chris Lintott, an astro- Governato, F., Brook, C., Mayer, L., Brooks, A., trillion) new bits of digital
Rhee, G., Wadsley, J., Jonsson, P., Willman, B., information were created in
physicist at Oxford University. “The 2008. IDC predicts that the
Stinson, G., Quinn, T., Madau, P.
problem we were facing is one of pat- amount of digital information
Bulgeless dwarf galaxies and dark matter
tern recognition, and for this task, we generated in 2011 will be 10
cores from supernova-driven outflows,
times the size it was in 2006.
humans have a huge advantage.” Nature 463, 7278, Jan. 14, 2010. The Sustainable Economies
Computerized methods of galaxy Benedict, G.F., McArthur, B.E., Forveille, T., report focuses on the
classification have been applied to gal- Delfosse, X., Nelan, E., Butler, R.P., Spiesman, economic aspects of digital
axy surveys before, including the Sloan W., Marcy, G., Goldman, B., Perrier, C., data preservation, such as how
Jefferys, W.H., Mayor, M. stewards of valuable, digitally
Digital Sky Survey, but their galaxy clas- based information can pay for
A mass for the extrasolar planet Gl 876b
sification is correct about only 80% of preservation over the longer
determined from Hubble Space Telescope
the time, says Lintott. “That may not fine guidance sensor 3 astrometry and
term. The report provides
sound too bad, but the missing 20% principles and actions to
high-precision radial velocities, The
support long-term economic
are often those that are unusual and Astrophysical Journal 581, 2, Dec. 20, 2002. sustainability; context-specific
thus contain the most information,” Schaefer, L. and Fegley, B. recommendations tailored to
he says. As Galaxy Zoo team members Chemistry of silicate atmospheres specific scenarios analyzed in
of evaporating super-earths, The the report; and an agenda for
have discovered, humans are adept at priority actions and next steps.
Astrophysical Journal 703, 2, June 2, 2009.
spotting unusual details. For example, The report also concentrates
volunteers noticed some small, round Raddick, M. J., Bracey, G., Gay, P.L., on four different scenarios,
green objects, now known as “peas,” Lintott, C.J., Murray, P., Schawinski, K., each having ever-increasing
Szalay, A.S., Vandenberg, J. amounts of preservation-worthy
in the background of some Galaxy Zoo Galaxy Zoo: exploring the motivations of digital assets in which there
images. “They turn out to be the sites of citizen science volunteers, Astronomy is a public interest in long-
the most efficient star formation in the Education Review 9, 1, Feb. 18, 2010. term preservation: scholarly
discourse, research data,
present-day universe, but it was only be- Astronomy Education Review Web site commercially owned cultural
cause our volunteers spotted them that http://aer.aip.org/aer/ content, such as digital movies
we knew to study them,” says Lintott. and music, and collectively
A new incarnation of the project, produced Web content, such
Based near Boulder, CO, Jeff Kanipe is a science writer
and author of The Cosmic Connection: How Astronomical as blogs.
Galaxy Zoo 2, is now under way and in- The report is available at
Events Impact Life on Earth.
cludes a supernova search adjunct. A http://brtf.sdsc.edu/biblio/
veritable flood of data is expected. “In © 2010 ACM 0001-0782/10/0500 $10.00 BRTF_Final_Report.pdf.

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

Technology | doi:10.1145/1735223.1735231 Gary Anthes

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

Society | doi:10.1145/1735223.1735232 Samuel Greengard

Cloud Computing and


Developing Nations
For a growing number of organizations worldwide, cloud computing
offers a quick and affordable way to tap into IT infrastructure as an
Internet service. But obstacles and challenges remain.

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

introduced cloud-based commercial


services. In addition, IBM has estab-
lished cloud computing centers in
Beijing, China; Bangalore, India; Ha-
In Kenya, Wilfred Mworia, left, created an iPhone application using only an online iPhone noi, Vietnam; Sao Paulo, Brazil; and
simulator and Steve Mutinda made an Ushahidi application for Java-enabled mobile phones. Seoul, South Korea.

18 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
news

For a growing number of organiza- Milestones

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

Robin Milner, Turing Award Winner, Dies at 76


Robin Milner, a British working in the Artificial science at the University of on theoretical models that aim
computer scientist who won Intelligence laboratory at Edinburgh for more than 20 to give us the ability to engineer
the ACM A.M. Turing Award in Stanford University; leading years; and being a professor at and analyze ubiquitous systems
1991, died on March 20th, at the department of computer Cambridge University and head more soundly than has often
the age of 76. Milner’s major of its computer laboratory. been the case for present-day
accomplishments included His honors included software. I would dearly love
developing LCF (Logic for being named a Fellow of to follow this kind of work
Computable Functions), an ACM and the Royal Society of through to the front line of
interactive automated theorem London, a Foreign member design and experience, but I
prover, in the early 1970s; of the Academie Francaise don’t think I’ll be around for
creating ML, a general-purpose de Sciences, and a Foreign long enough. I’m making up
functional programming Associate of the National for it by listening and talking to
Photogra ph by L afayet te P hotograph y

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

Milestones | doi:10.1145/1735223.1735233 Jack Rosenberger

Thacker Wins cal and experimental analysis of algo-


rithms, and Kurt Mehlhorn of the Max

Turing Award Planck Institute is the recipient of the


European Association for Theoretical
Computer Science’s EATCS Award for
Microsoft’s Charles P. Thacker named 56th recipient his distinguished career in theoretical
of ACM’s A.M. Turing Award. computer science.
“One cannot imagine NP-complete-

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

Meet the candidates who introduce their


plans—and stands—for the Association.

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)

vinton G. cerf Satoshi Matsuoka


Vice President and Professor of Mathematical
Chief Internet Evangelist and Computing Sciences
Google Tokyo Institute of Technology
Reston, VA, USA Tokyo, Japan

Biography Statement Biography Statement


Vinton G. Cerf has served as VP and I have been a member of ACM since Satoshi Matsuoka received his Bach- Computing is now playing unprec-
chief Internet evangelist for Google 1967 served as a member of Coun- elor’s, Master’s, and Ph.D. in Infor- edentedly dominant roles in
since October 2005. He is respon- cil in the distant past during which mation Science from the University of advancement of our society, and in
sible for identifying new enabling time my primary policy objective Tokyo. After being a Research Associ- solving some of the key challenges
technologies to support the develop- was to create the Fellow grade of ate and Lecturer for the university’s that mankind faces today, such
ment of advanced, Internet-based ACM membership. I also served Information Science and Informa- as global warming and pandemic
products and services from Google. for four years as chairman of ACM tion Engineering, departments, he outbreaks. However, another
In the Internet world, he is an active SIGCOMM. became an Associate Professor in the recent poll showed that many
public face for Google. Cerf is the As Member-at-Large, I consider Dept. of Mathematical and CS. Five non-IT researchers considered IT
former senior VP of Technology Strat- that my primary function will be years later, he became a professor to be a diminishing research area,
egy for MCI and VP of MCI Digital to convey to Council and ACM at the Global Scientific Information to be rather stagnant in the next
Information Services. Recognized leadership the policy views of the and Computing Center (GSIC) of 20 years. I had been involved in
as one of the “Fathers of the Inter- general membership. To this end, Tokyo Institute of Technology (Tokyo various large ACM conferences,
net,” Cerf is the co-designer of the I will invite open dialog with any Tech)—ranked 2nd in Japan and academic societies, as well as many
TCP/IP protocols and the Internet and all members of ACM so as to be 22nd in the world in engineering and national projects especially in
architecture. During his tenure from informed of their views. I offer to IT, according to the Times rankings. supercomputing / e-Science where
1976–1982 with the U.S. Department do my best to represent these views Matsuoka leads GSIC’s Research multiple IT technologies needed
of Defense’s Advanced Research and also to exercise my best judg- Infrastructure Division overseeing to be harnessed, as well as being
Projects Agency (DARPA), Cerf played ment in the setting of ACM policy Tokyo Tech’s responsibilities as a extremely interdisciplinary in its
a key role leading the development of and assisting the staff in their oper- national supercomputing center. relationship to other disciplines—
Internet and Internet-related packet ational roles. He leads Tokyo Tech’s TSUBAME based on such experience, I pro-
data and security technologies. In It seems clear that ACM can and supercomputer effort, named the pose to focus my initial role as an
December 1997, President Clinton must take increasing advantage of the fastest supercomputer in Asia- Pacific at-large council member to be the
presented the U.S. National Medal of online environment created by the in June 2006 for three consecutive following: (1) to elevate the status
Technology to Cerf and his colleague, Internet, World Wide Web, and other Top500s. He also heads a lab of 25 of ACM conferences to be acknowl-
Robert E. Kahn, for founding and applications supported by this global researchers and graduate students for edged amongst all academic dis-
developing the Internet. Kahn and networking infrastructure. This sug- the university’s Dept. of Mathematical ciplines as a top-rate publication,
Cerf were named the recipients of gests to me that Council and ACM and CS. From 2003–2008 he served as and (2) to establish an improved
the ACM A. M. Turing Award in 2004 leadership should be looking for a sub-leader of the Japanese National framework in tightening relation-
for their work on the Internet proto- ways to assist Chapters and Special Research Grid Initiative project—a ship of ACM with sister informa-
cols. In November 2005, President Interest Groups to serve as conduits $100 million national project to tion societies and related academic
Bush awarded Cerf and Kahn the for two-way flows of information, create middleware and applications archival activities outside of the
Presidential Medal of Freedom—the education, training, and expertise. for next-generation Japanese Cyber- United States, particularly in Asia
highest civilian award given by the The power and value of ACM mem- Science (Grid) infrastructure. He has Pacific. The former will be a key to
U.S. to its citizens. In April 2008, Cerf bership flows from the contributions published over 200 refereed publica- enhance the prestige of IT research
and Kahn received the prestigious and actions of its members. tions, many in top-tier conferences in academia, and will be achieved
Japan Prize. As a consumer of ACM publications, and journals, and has won several by setting and publicizing more
ACM also awarded Cerf’s work the I am interested in increasing the awards including the prestigious streamlined standards in the
ACM Software System Award and accessibility and utility of ACM’s JSPS Prize from the Japan Society for conference review process. The
ACM SIGCOMM Award. Cerf served online offerings, including options for Promotion of Science in 2006 from latter will be demonstrable in col-
as chairman of the board of the Inter- reducing the cost of access to content Prince Akishinomiya. He has played laboration with Information Pro-
net Corporation for Assigned Names in this form. By the same token, I am key roles in a number of international cessing Society of Japan (IPSJ) as
and Numbers (ICANN) from 2000– interested in making the face-to- conferences, including program chair well as other Asian societies, along
2007 and was founding president of face events sponsored by ACM and of ACM OOPSLA 2002, and technical with involving Japan’s National
the Internet Society from 1992–1995, its affiliates useful during and after paper chair of IEEE/ACM Supercom- Institute of Informatics that owns
serving a term as chairman of the the events have taken place. The puting 09, the latter drawing over one of the world’s largest pan-
Board in 1999. Cerf holds a Bachelor possibility of audio, video, and text 10,000 attendees worldwide. discipline academic publication
of Science degree in Mathematics transcripts of presentations (per- He has also held various key posi- databases. Hopefully such activi-
from Stanford University and Master haps starting with keynotes) seems tions in academic societies, includ- ties will foster better recognition of
of Science and Ph.D. degrees in Com- attractive. If these forms of content ing secretariat of ACM Japan Chap- our field as an indispensable and
puter Science from UCLA and is the can be made searchable, their value ter. His research interests focus ongoing research discipline during
recipient of over a dozen honorary may well increase and persist over on software issues in peta/exaflop the 21st century.
degrees. longer periods of time. supercomputers and clouds.

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)

Salil Vadhan Fei-Yue Wang


Professor of Computer Science Research Scientist and Director of the Key Lab
and Applied Mathematics of Complex Systems and Intelligence Science
Director, Center for Research at Chinese Academy of Sciences
on Computation and Society Professor and Dean of the School of
School of Engineering and Applied Sciences Software Engineering
Harvard University Xi’an Jiaotong University
Cambridge, MA, USA Beijing, China

Biography Statement Biography Statement


Salil Vadhan is the Vicky Joseph As Member-at-Large, I will work Fei-Yue Wang received his Ph.D. This year marks a special equilibrium
Professor of Computer Science and to ensure that ACM’s policies and in Computer and Systems Engi- in my life. By the end of 2010, I will
Applied Mathematics and Director organization continue to support neering from Rensselaer Poly- have spent exactly the same number
of the Center for Research on Com- the mission of the academic and technic Institute, Troy, New York of years living and working in China
putation and Society at the Harvard research communities to advance in 1990. He joined the University and the US. This valuable experi-
University School of Engineering and disseminate our scientific of Arizona in 1990 and became a ence offers me a unique perspective
and Applied Sciences. understanding of computing. Two Professor and Director of Robot- to understand and appreciate the
Vadhan received an A.B. summa issues in which I am particularly ics Lab and Program in Advanced similarity and differences between
cum laude in Mathematics and interested are: Research for Complex Systems. In the East and the West, especially in
Computer Science from Harvard ˲˲ Conveying the importance of 1999, he founded the Intelligent issues related to academic exchang-
College in 1995, a Certificate of long-term, fundamental research Control and Systems Engineering es, the promotion and advancement
Advanced Study in Mathematics in computing to the public and Center at Chinese Academy of of science and technology. If elected,
with distinction from Cambridge the government. From my service Sciences (CAS) under the support my focus would be to broaden the
University in 1996, and a Ph.D. in on the ACM-SIGACT Committee of Outstanding Oversea Chinese membership base, the scope, the
Applied Mathematics from MIT in for the Advancement of Theo- Talents Program. Since 2002, he reach, and the impact of ACM in
1999. He was an NSF Postdoctoral retical Computer Science, I have is the Director of Key Lab of Com- Eastern Asia. In particular, I will do my
Fellow at MIT and the Institute for experience in such efforts and plex Systems and Intelligence Sci- best to help ACM in its process of cre-
Advanced Study before joining the have seen the positive impact that ence at CAS. Currently, he is the ating the ACM China Council to recog-
Harvard faculty in 2001. He has they can have. Dean of School of Software Engi- nize and support Chinese ACM mem-
also been a Fellow at the Radcliffe ˲˲ Enabling the widest pos- neering, Xi’an Jiaotong University, bers and ACM activities in China.
Institute for Advanced Study (2003– sible dissemination of scholarly and Vice President of Institute of After the establishment of ACM
2004) and a Miller Visiting Profes- research. I would like to see ACM Automation, CAS. Europe and India Councils in 2009
sor at UC Berkeley (2007–2008). seriously consider how it can His major research interests and 2010 respectively, an ACM
Vadhan’s research interests support and join the movement include social computing, Web sci- China Council should be an impera-
in theoretical computer science toward open-access publishing ence, and intelligent control. tive and important step. China, with
include computational complexity, models, which are being embraced From 1995–2000, Wang was the its sheer numbers of students, engi-
cryptography, and randomness in by universities (such as Harvard) Editor-in-Chief of Int’l J. of Intel- neers, researchers, and educators in
computation. His Ph.D. disserta- and the research community. ligent Control and Systems and Series computing professionals, will pro-
tion on zero-knowledge proofs From my work with Harvard’s in Intelligent Control and Intelligent vide a huge opportunity for ACM’s
received the ACM Doctoral Dis- Center for Research on Computa- Automation. Currently, he is the future development. However, as I
sertation Award in 2000, and his tion and Society, I will also bring an EiC of IEEE Intelligent Systems and had advocated at the ACM Council
work on expander graphs received appreciation for the social and legal IEEE Trans on ITS. He has served as Meeting last October, we should try
the ACM-SIGACT/EATCS Gödel dimensions of computing research, Chair of more than 20 IEEE, ACM, our best to get computing profes-
Prize in 2009. He has also received particularly with respect to privacy INFORMS conferences. He was the sionals inside China to be involved
a Guggenheim Fellowship (2007), and security. President of IEEE ITS Society from in the process of creating the ACM
an ONR Young Investigator Award 2005–2007, Chinese Association for China Council and avoid the impres-
(2004), a Sloan Research Fellow- Science and Technology in 2005, sion of imposing an ACM organiza-
ship (2002), an NSF Early Career American Zhu Kezhen Education tion from outside. I will work hard
Development Award (2002), and Foundation from 2007–2008. to help ACM recruit new members
a Phi Beta Kappa Award for Excel- From 2006–2008, Wang was the in China and assist them to orga-
lence in Teaching (2004). Founding President of the ACM nize more local chapters, student
Vadhan’s service to ACM includes Beijing Chapter. Currently he is chapters, and SIG chapters before
the ACM-SIGACT Committee for an ACM Council Member-at-Large launching the ACM China Council. I
the Advancement of Theoretical and Vice President and Secretary- believe this approach is critical for a
Computer Science (since 2007), General of the Chinese Association solid foundation and healthy growth
the program committee of the of Automation. of ACM in China and extremely help-
39th ACM Symposium on Theory Wang is member of Sigma Xi and ful to the long term benefit of ACM.
of Computing (STOC 2007) and an elected Fellow of IEEE, INCOSE, Finally, social computing is the
chairing the program committee IFAC, ASME, and AAAS. In 2007, current focus of my research inter-
of STOC 2011. Beyond ACM, he has he received the National Prize est and I will make a significant
served on numerous other confer- in Natural Sciences of China effort to promote this emerging and
ence program committees, editorial and was recognized as an important interdisciplinary field
boards, and grant review panels. ACM Distinguished Scientist. within ACM.

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

doi:10.1145/1735223.1735234 Erik Brynjolfsson, Paul Hofmann, and John Jordan

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

Strengths of the Utility Model


Carr correctly highlights the concept
of a general-purpose technology. This
class of technology has historically
been the greatest driver of productivity
growth in modern economies. They not
only contribute directly, but also by cat-
alyzing myriad complementary innova-
tions.3 For electricity, this includes the
electric lighting, motors, and machin-
ery. For IT, this includes transaction
processing, ERP, online commerce and
myriad other applications and even
business model innovations.
Some of the economies of scale and
cost savings of cloud computing are
also akin to those in electricity genera-
tion. Through statistical multiplexing,
centralized infrastructure can run at
higher utilization than many forms of
distributed server deployment. One
system administrator, for example, can
tend over 1,000 servers in a very large
data center, while his or her equivalent
in a medium-sized data center typical-
ly manages approximately 140.7 ed by others, unlike managing stable utilization—a combination of strategic
By moving data centers closer to technologies. importance and operational perfor-
energy production, cloud computing The Limits of Scale. The rapid avail- mance that would negate any arguments
creates additional cost savings. It is far ability of additional server instances is a for shifting that load to a cloud vendor.
cheaper to move photons over the fiber- central benefit of cloud computing, but Ironically, even as the utility model is
optic backbone of the Internet than it it has its limits. In the first place, paral- being touted for computing, the highly
is to transmit electrons over our power lel problems are only a subset of diffi- centralized approach is becoming less
grid. These savings are captured when cult computing tasks: some problems effective for electricity itself: an emerg-
Illustration by St ua rt bra dford

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

doi:10.1145/1735223.1735235 Cameron Wilson and Mark Guzdial

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

These are likely positive steps to- Funding is particularly important


ward addressing clear gaps in the field. to bootstrap a field. Computing educa-
But it will likely be a series of small It isn’t enough to rely tion research seems to be in a vicious
steps until the community can start on general education cycle. As a community we need to take
leveraging other parts of NSF. Com- some basic steps to break the cycle:
pared to the relatively small CISE bud- research. We need ˲˲ Learn what NSF programs are avail-
get for education, EHR has over $850 research specific to able and aggressively go after fund-
million for education research, which ing. NSF CCLI Program Officers regu-
is where we need to turn our attention. computing—a form larly offer SIGCSE workshops walking
Not all of this funding goes into edu- of domain-specific through the various NSF programs that
cation research, but in looking where are available for education research to
Congress is investing federal educa- education research. catalyze proposals.
tion research money, it is clear they ˲˲ Sit on NSF review panels when
are looking to EHR for those answers. asked, particularly in EHR. There
EHR funds both higher education and should be a computing voice at these
K–12 research programs through vari- review panels. The best way to learn
ous programs. what gets funded (and how to write a
The program that probably does component. Our analysis of abstracts fundable proposal) is to sit on these
the most for higher-education com- could not tell us which of these proj- panels.
puter science is the Course, Curricu- ects had any kind of research compo- ˲˲ Encourage fundamental research
lum, and Laboratory Improvement nent, nor where the research informed in computing education. As teachers
(CCLI) program. It seeks to improve our understanding of learning com- of computing, we want to know what
undergraduate education across puting specifically. language, IDE, book, and curriculum
STEM through proposals on how in- Regardless of the limitation of the works best in our classroom. We also
terventions work and how they get analysis, it is clear—there is far too little need the theory that helps us make
disseminated, and funds the develop- computing research or teacher support these choices, and the assessment that
ment of new assessment techniques being done by the key agency charged by gives us data on what works best. We
and instruments. It funds applied the federal government for understand- want students to start successfully and
research that informs interventions, ing how to improve STEM education. to develop expertise and skill.
and doesn’t fund computing educa- ˲˲ Look for opportunities to work
tion research that helps us develop Making Progress in with other domain-specific education
new theory about how people come to Computing Education groups. Mathematics education, for ex-
understand computing. Funding is important. Funding allows ample, has funding sources, and com-
The state of computing educa- researchers to make progress on prob- puting education research could grow
tion research and teacher support at lems that are a priority. Funding is rec- in combined projects.
the K–12 level is more complicated. ognition that a particular discipline or ˲˲ We must stand together. Reform
There are several relevant EHR fund- strategy is worthwhile. Funding can proposals supported by many institu-
ing programs. ACM staff analyzed create a virtuous circle, where funded tions carry weight. Shared goals and
abstract summaries from NSF’s “Fast- work attracts more funded work. Lack strategies lead to proposals that review-
lane” within EHR to better under- of funding creates a vicious circle, when ers can support.
stand where computer science edu- the lack of theory and of assessment pre- Computing education research is
cation research is funded or where vents other projects from being funded. an important investment in innova-
computer science teacher support The computing education research tion and competitiveness. If the U.S.
existed. The scope of EHR programs is concerned with how to sustain inter- wants to remain the world leader in
was limited to: funded proposals that est and progress in the research com- computing, it ought to be making that
had a significant K–12 focus, or those munity. Few of the U.S.-based present- investment and the community needs
that prepared or continually trained ers at the International Computing to aggressively go after funding. Oth-
K–12 teachers. Abstracts are only a Education Research Workshop have er countries are making that invest-
brief representation of the plan, so NSF funding to work in computing ment. Growing computing education
the analysis tended to be more inclu- education research. Those that have research in the U.S. would improve
sive—“close” was good enough. How- received NSF funding do the comput- teaching and learning in computing
ever, the analysis specifically exclud- ing education research component nationally and inform the research
ed grants that were primarily focused on the side. Few Ph.D. students focus community internationally.
on getting computing into the class- on computing education, and those
room or getting teachers prepared to that do focus on this area rarely obtain Cameron Wilson (wilson_c@hq.acm.org) is director of
use computing in the classroom. faculty slots in research institutions. the ACM U.S. Public Policy Office in Washington, D.C.

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

doi:10.1145/1735223.1735238 Roman Beck

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

that financial industry professionals in


investment banks, brokerages, pension
It was not possible
Calendar
funds, and other organizations lacked
the tools to treat simultaneous crises
from operational, credit, and market
to assess risks of of Events
risks through an integrated risk assess- transactions as they May 17–19
ment. This was not the kind of crisis IT occurred, so financial Computing Frontiers
Conference,
specialists planned for.
industry experts Bertinoro, Italy,
Sponsored: SIGMICRO,
Liquidity Crisis simply assumed the Contact: Nancy M Amato,
Email: amato@cs.tamu.edu
The collapse of Northern Rock, the
U.K.’s fifth-largest bank, was the vis- transactions were OK. May 26–28
ible warning of the debacle to come. The International Conference
When Northern Rock was taken over on Advanced Visual Interfaces,
by the British government in February Rome, Italy,
Contact: Giuseppe Santucci,
2008, no one considered the problems Email: santucci@dis.uniroma1.it
as related to IT. The crisis of Northern
Rock was not big enough for that pur- played a major role in its origin. The June 1–4
pose. However, when Lehman Brothers problem was a discrepancy between 23rd International Conference
on Industrial, Engineering &
failed on September 15, 2008 the role of two essential capabilities: the ability to Other Applications of Applied
IT in the debacle became clear. When execute transactions and the ability to Intelligent Systems,
Lehman Brothers faltered, financial in- comprehend the implications of the Cordoba, Spain,
stitutions around the world were forced transactions being executed. IT depart- Contact: Moonis Ali,
Email: ma04@txstate.edu
to reevaluate their risk exposure almost ments within financial institutions
instantly. All of their IT systems were were able to deliver “millisecond infor- June 1–4
built on presumptions of an orderly mation flows” for real-time processing International Conference on
flow of prudent business transactions; of transactions. However, they could not Supercomputing,
Tsukuba, Japan,
no one had imagined that the transac- support counterparty credit risk calcu- Contact: Taisuke Boku,
tions themselves might be the problem. lations at speeds to match the transac- Email: taisuke@cs.tsukuba.
Lehman Brothers was an investment tions. It was not possible to assess risks ac.jp
bank, an essential intermediary in of transactions as they occurred, so
June 3–4
global credit markets. Many banks had financial industry experts simply as- The 20th International
hundreds of millions of dollars queued sumed the transactions were OK. A Workshop on Network and
up in payments to Lehman Brothers few experts making risky assumptions Operating Systems Support for
Digital Audio and Video,
when the news broke. There were no IT might be protected if the vast majority Amsterdam, Netherlands,
routines in place to stop such transac- of experts are executing due diligence Contact: Dick Bulterman,
tions once they were initiated. and evaluating risks carefully. The few Email: dick.bulterman@cwi.nl
When it became clear that money benefit from the equivalent of “herd
June 4–5
was about to go into a black hole, the immunity” in vaccinations against dis- Design Science Research in
IT specialists in the banks did the only ease. When all of the experts assume Information Systems and
thing they could do: they pulled the plug the transactions are OK, serious trouble Technologies,
on the IT infrastructure, thereby halting can follow. St. Gallen, Switzerland,
Contact: Purao Sandeep,
all operations. Banks around the world Credit risk calculations require a Email: sandeep-purao@psu.edu
became risky partners simply because lot of work. The data for them must be
no one knew who was risky and who gathered from many—sometimes sev- June 5–7
was not. All transactions were stopped eral hundred—data warehouses. Data International Symposium
on Memory Management,
and cash flow came to a halt. This was in such systems is often inconsistent Toronto, ON Canada,
the dreaded “liquidity crisis” that is still and subject to quality control problems. Contact: Vitek Jan,
being discussed widely. The only way During crises expert analysts often face Email: jv@cs.purdue.edu
banks could avoid sending good mon- absurdly simple but debilitating prob-
June 5–6
ey after bad was to disconnect the IT lems, such as trying to determine what ACM SIGPLAN-SIGSOFT
systems from the global financial net- the headers in their data sets mean, or Workshop on Program
works. Within hours, the lightning-fast trying to deduce which financial part- Analysis for Software Tools
and Engineering,
global financial system had slowed to ners have provided given data. It seems
Toronto, ON Canada,
the speed of the pre-computer era. The difficult to believe that such data prob- Contact: Atanas Rountev,
effects were pervasive, hitting even the lems were allowed to continue even as Email: rountev@cse.ohio-state.edu
smallest financial institutions in the IT sped up transactions to light speed.
most remote corners of the Earth. But as it often happens with IT, differ-
This crisis was not caused by IT, ent parts of the IT ecology develop at
but an imbalance in IT infrastructure different speeds.

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

Data Exchange Standardization


IT specialists might be surprised to
learn that there are no standardized It might be necessary
data exchange formats for traded asset to slow transactions
classes. Some financial experts say it is
difficult or even impossible to develop down until risk
ACM data exchange standards that cover all assessment can
elements needed for sound risk assess-
Transactions on ments. The financial market is highly occur at the
product driven, with extremely short same speed the
Reconfigurable development cycles. Standardization
of data exchange formats might never transactions occur.
Technology and catch up with what is being traded.
But, as every seasoned IT professional

Systems realizes, such standardization must


be part of the product. Otherwise, func-
tions that require standardization,
such as real-time counterparty credit tion might do a good job at evaluating
risk calculation, might never catch up risks for their department, but they
with the risks being taken. Legislators lack the global enterprise perspective
and regulators seeking to tame the fi- that is vital to a global financial indus-
nancial markets must look at these try. This must change. Financial insti-
matters systematically. Mandatory tutions are looking for improvements
standardization of data exchange for- to data management, risk evaluation
mats based on emerging schemes (for algorithms, and simulation systems,
example, Financial product Markup not because they are forced to do so
Language, FpML) might have to be de- by regulation, but because these are
veloped for different asset classes so essential to their survival. The crisis
that a common understanding of of- has shaken confidence in the ability of
ferings and risks is possible with suf- IT systems to support the risk assess-
ficient speed to accompany financial ment at the heart of financial system
product offerings. operation, regulation, and market
At present, financial firms cannot as- transparency. However, only by im-
sess risk exposure in real time. They col- proving IT systems to support such
◆ ◆ ◆ ◆ ◆ lect the necessary data and do the math assessment can the global financial
during nighttime batch processing op- industry move forward.
This quarterly publication is a peer-
erations that can last hours. It would be Perhaps financial regulators should
reviewed and archival journal that a huge improvement if there were noth- not lean against the wind, but im-
covers reconfigurable technology, ing more than systems to support ini- proved IT systems might play a vital role
systems, and applications on recon- tial heuristic risk assessment, but this by helping bank risk managers do their
might not be enough to avoid problems jobs more effectively. IT professionals,
figurable computers. Topics include
such as those of 2008. It might be nec- working closely with colleagues from
all levels of reconfigurable system essary to slow transactions down until other business departments, can create
abstractions and all aspects of recon- risk assessment can occur at the same industrywide, canonical data exchange
figurable technology including plat- speed the transactions occur. standards to help with management of
forms, programming environments Former chairman of the U.S. Fed- risk by improving data quality across or-
eral Reserve Alan Greenspan has said ganizations and borders. In this way, IT
and application successes.
that bank risk managers are more might lean against the wind of threats
◆ ◆ ◆ ◆ ◆ knowledgeable than government to global financial markets by enabling
bank regulators, and that regulators mature and embedded analytics that
www.acm.org/trets cannot “lean against the wind” to must influence decisions in financial
dampen economic swings. This might institutions. Pulling the plug was a poor
www.acm.org/subscribe be correct, but bank risk managers response to the crisis of 2008; the next
need the right systems to do their jobs. time it might not work at all.
The IT systems used to support assess-
ment of counterparty credit risk are Roman Beck (rbeck@wiwi.uni-frankfurt.de) is an assistant
not as mature as transaction systems, professor with the E-Finance Laboratory in the Department
for Economics and Business Administration at Goethe
especially for integrated assessment University Frankfurt, Germany.
of operational, credit, and market
risks. Individual desks at an institu- Copyright held by author.

40 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
V
viewpoints

doi:10.1145/1735223.1735237 Ofir Turel and Alexander Serenko

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

doi:10.1145/1735223.1735239 William Aspray

Computer Museum Series


Great Computing Museums
of the World, Part Two
The second of a two-part series highlighting several of the world’s museums
dedicated to preserving, exhibiting, and elucidating computing history.

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

The Science Museum in London


Tilly Blyth
Highlights of the London
Science Museum’s
The Science Museum’s collections in
London form an enduring record of

Computing Collection scientific, technological, and medi-


cal change since the 18th century.
The Science Museum has its origins
in the Great Exhibition of 1851. Ini-
1 3 1. Difference Engine No. 1: This trial tially part of the South Kensington
portion of the Difference Engine was
used by Babbage as a demonstration Museum, the impetus was to pro-
machine. mote the new “industrial arts” (what
we might now call art, craft, science,
2. Analytical Engine Mill, 1834–1871: design, and engineering).
Babbage’s design possessed all the The museum’s science collections
essential logical features of the modern were enriched in 1876 with the acqui-
general-purpose computer.
sition of a large number of scientific
instruments, and the engineering
3. Lord Kelvin’s tide predicting ma-
chine, 1876: By cranking the handle, collections grew through the absorp-
2 4
the machine calculates the harbor’s tion of the Patent Office Museum in
tide patterns for up to a year in only four 1883. The museum attracts over 2.6
hours. million visitors a year, and is world
renowned for its historic collections,
4. Hartree and Porter differential analyz-
awe-inspiring galleries, and inspira-
er, 1934: Built using Meccano at a cost
5 6
of just £20, the model was based on the tional exhibitions.
differential analyzer built by Vannevar The Science Museum’s collections
Bush at MIT, 1930. celebrate computing as one of the most
important technologies of our time,
5. Parts of Colossus, 1943: From the both in its own right, but also as an un-
7 code-breaking machine used during the derpinning and enabling technology
Second World War at Bletchley Park.
for so many other industries (see http://
www.sciencemuseum.org.uk/).
6. Unit from ENIAC, 1946: Developed
at the University of Pennsylvania, the The museum’s computing collec-
machine laid the foundations for high- tions are perhaps most well known
speed digital computing. for containing the seminal objects
and material legacy of the mathema-
7. Pilot ACE, 1950: The first machine tician and inventor Charles Babbage
to embody the theoretical ideas of a
8
(1791–1871). In Victorian Britain
general-purpose computer by math-
ematician Alan Turing. printed mathematical tables were
used by navigators, architects, engi-
8. Unit from LEO 1, 1951: The first neers, mathematicians and bankers,
business computer used by the Lyons but these tables were calculated by
teashops. human clerks (literally called calcula-
tors) and they were quite often riddled
9. Ferranti Pegasus Computer, 1959: with errors. Charles Babbage became
Currently the oldest working electronic
computer in the world.
interested in mechanizing the produc-
9 10
tion of these tables and he developed
10. BESM-6 supercomputer, 1966: The
a series of diagrams and prototypes to
only known example of a Russian super- enable him to explore his ideas.
computer in the West. Babbage designed two types of en-
gine, Difference Engines and Analytical
11 12 11. Apple I, 1976: This first Apple Engines. The Difference Engines are
computer was a kit machine for home calculators that work on a mathematical
assembly.
principle of “a method of finite differenc-
es,” which allow polynomial equations
12. Cray I-A, 1976: The last operating
Cray 1-A in the world, the machine to be calculated using pure addition. In
employed a cylindrical design to reduce contrast, The Analytical Engines mark a
the need for wiring. progression toward a general-purpose
machine. They are one of the startling
intellectual feats of the 19th century

46 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
viewpoints

and tangibly support Babbage’s reputa- The Deutches Museum


tion as a computing pioneer. Hartmut Petzold
Examples of both types of machine The Science
are on display, including Babbage’s Museum’s collections The Deutsches Museum is one of the
original trial piece for the Difference world’s biggest and oldest museums
Engine No. 1, a portion of the mill of celebrate computing for science and technology, today with
the Analytical Engine, and the first as one of the approximately 1.3 million visitors a
completed engine, the Difference En- year. Founded in 1903 as a “Museum
gine No. 2, built by the museum in most important of Masterpieces of Science and Tech-
1991 for the 200 centenary of Babbage’s technologies of nology,” in 1906 Kaiser Wilhelm II
birth. With over 4,000 parts, and weigh- placed the foundation stone for the
ing five tons, the machine can calculate our time. new museum building on an island
numbers up to 31 digits long. in the Isar river in the Bavarian capital
The Science Museum’s displays Munich; the museum was completed
also reflect Britain’s role at the fore- and opened in 1925. The fundamental
front of computing research in the idea, which continues influencing the
1940s and as central to the creation so it has presented new computing museum, involves presenting the new-
of a new global computing indus- technologies using art and interactive est “masterpieces” as a logical and his-
try in the 1950s. During this period, elements, through a computer arts torical extension of their precursors.
Britain created the digital, electronic booth (1975) and exhibitions like The From the very beginning this concep-
computer, the code-breaking Colos- Challenge of the Chip (1980). Today, tion has been both criticized and also
sus machine (1943), the first stored- visitors flock to view Listening Post by copied in many ways.
program computer, the Manchester Ben Rubin and Mark Hassan, an art in- Planning the exhibition “Informa-
Baby (1948), and the first business stallation that presents a dynamic and tik” (English translation: computer
computer, the Lyons LEO (1951). Ar- visually enticing portrait of Internet science) began in 1983. At that time,
tifacts from all of these machines are communication. there were only some experts knowing
on display in the Computing Gallery. In addition to the public galler- the Internet, and the personal com-
The Science Museum’s galleries ies, the Science Museum Library and puter was an expensive and special de-
also showcase three important com- Archives in London (see http://www. vice. The “Informatik” exhibit opened
plete computers from this pioneer- sciencemuseum.org.uk/about_us/ in 1988; the initiator of the exhibition
ing industry: the Pilot ACE computer about_the_museum/science_library. project was Professor Friedrich L. Bau-
(1950), embodying the original ideas aspx) offers a world-class collection on er, who involved many university- and
of the mathematician Alan Turing the history, biography, and social con- academic-based experts and collabo-
and his conceptual discovery of the text of science and technology. rators. Bauer, as a mathematician and
general-purpose machine; the Ferran- The collections in Swindon offer co-founder of computer science as a
ti Pegasus (1959), which was fast and original scientific and technical books new academic discipline, had no dif-
reliable and is now the oldest working and journals, alongside computing ficulties presenting the historical in-
electronic computer in the world; and archives of important historical inter- struments and machines as ancestors
ERNIE (1957), the first random-num- est. These include the personal papers of the computer.
ber generator for the national Premi- and technical drawings of Charles The museum’s exhibition room
um Bonds that used a hybrid of valves Babbage, Mike Woodger from the Na- borders on the exhibitions on micro-
and transistors and generated physi- tional Physical Laboratory, and Stanley electronics, telecommunication, and
cal random events through a series of Gill, who was significant in early U.K. geodetics. It is subdivided into cabinet-
neon gas diodes. computing policy. like thematic units by numerous walls
Contemporary machines on display The Archives Collection holds a providing explanatory text. Therefore
in our Making the Modern World gallery range of computer literature, most visitors do not typically initially notice
include the Cray 1-A supercomputer notably through the ICL archive that that the middle of the hall is marked
(circa 1976) and an Apple 1 (1976). contains significant information about by Konrad Zuse’s early program con-
Displayed side by side, the research the products and history of the merged trolled calculators Z3 and Z4. The Z4’s
machine (the Cray was installed at Al- companies that became ICL, including original parts are presented in the same
dermaston Atomic Weapons Establish- British Tabulating Machine, Powers- condition as they were in 1955, when
ment in England) and the Apple kit Samas, ICT, and English Electric. they were used at the ETH Zurich. The
home computer built by enthusiasts The Science Museum Library collec- Z3, representing Zuse’s priority as the
provide a strong message about the tion also holds trade literature specific inventor and builder of the first free
shift to personal computing during the to a particular machine, installation, or programmable automatic calculator,
late 1970s. company. working in 1941, and anticipating an
Since its founding, the museum has essential part of John von Neumann’s
always had a remit to display contem- classical computer concept from 1945,
Tilly Blyth (tilly.blyth@sciencemuseum.org.uk) is the
porary science and technology along- curator of computing and information at the Science is a reconstruction, built by Zuse him-
side its historical collections. In doing Museum in London, U.K. self from 1961–1962 (the original

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

machine had been destroyed by the trols) by an employee of the company.


bombs of World War II). Representing Several office computers produced by
one of the highlights of the Deutsches The fundamental idea the companies Nixdorf, Kienzle, and
Museum, the Z3 is still demonstrated involves presenting Siemag/Philips, as well as several very
to visitors. Located near the Dehomag/ early personal computers and elec-
IBM plugboard programmed punched the newest tronic pocket computers are displayed
card tabulating machine D11, the pio- “masterpieces” as at the end of the exhibition.
neer machines of Konrad Zuse also More artifacts of the collection of
mark the middle of the exhibition in a logical and historical calculating instruments,
a technohistorical sense. Zuses’s ma- historical extension machines, and computers are stored
chines separate the historical math- in the depositions of the museum,
ematical instruments, the mechanical of their precursors. mostly in other buildings. Fundamen-
calculators, and sequence controlled tal for research in the history of com-
historical automatons in the first part puters and computer science particu-
of the exhibit from the spectrum of the larly in Germany, but not only, are the
big, middle, and small real computers documents collected in the archive of
in the second part of the exhibit. the Deutsches Museum. In the estates
One main issue is the separation of ing two Enigmas. Some historical se- of some German computer pioneers
analog and digital calculating instru- quence controlled automatons are also like Konrad Zuse, Heinz Billing, and
ments and machines. The contrast is shown as a part of the prehistory of the Joachim N. Lehmann researchers can
highlighted by red text tables for all computer, one of them the famous me- find many written and printed docu-
explanations on analog technology, chanical trumpeter, made by Friedrich ments. In addition, the archive in-
and by blue tables for all texts on digi- Kaufmann in 1810. cludes a large collection of historical
tal technology. One of the outstanding In the second half of the exhibition printed materials like catalogues and
early analog calculating instruments with real computers, the gigantic cen- advertising leaflets from many com-
is the exceptionally big astrolabium, tral processing unit of the UNIVAC I puter-producing companies.
made by Erasmus Habermel in 1588. A Factronic with its mercury delay line
showcase with different modern slide memory is particularly representa- Hartmut Petzold (h.petzold@deutsches-museum.de)
is the former curator for mathematical instruments,
rulers, mainly used by engineers until tive. Visually it is overshadowed a bit compilers, and time measurement at the Deutsches
the 1970s, is a logical follow-on. This the so-called PERM computer (Pro- Museum in Munich, Germany.

part of the exhibition also includes a grammgesteuerte Elektronische Rech-


big and unique collection of mechani- enanlage München) with its magnetic U.S. National Museum
cal planimeters, and some compo- drum memory, which has been built of American History
nents of several big mechanical and at the Technical University Munich David K. Allison
electronic analog computers. as a scientific project financed by the
The blue-marked part with digital in- Deutsche Forschungsgemeinschaft The U.S. National Museum of Ameri-
struments and calculators begins with (German Research Foundation) from can History has collected and preserves
a small collection of different abaci. A 1950 until 1956. The UNIVAC com- more than three million artifacts that
historical sequence of selected mechan- puter, which was used at the Battelle- document the history of the American
ical digital desk calculators starts with Institute at Frankfurt/Main between people. These range from the original
Wilhelm Schickard’s reconstructed ma- 1956 and 1963, represents the start of “Star-Spangled Banner” and Abraham
chine, and is continued by replicas of the industrially produced computers in Lincoln’s top hat to Alexander Bell’s
machines of Blaise Pascal and Gottfried the U.S., whereas the PERM represents telephone prototypes. The museum’s
Wilhelm Leibniz, all designed during the beginning of research and devel- collections form a mosaic of American
the 17th century. Particularly valuable opment of electronic computers at life and comprise the nation’s greatest
is an original calculator, made by Anton German universities. Also interesting single collection of historical objects.
Braun and Philippe Vayringe and pre- are some original parts of the U.S. pio- The Division of Information Tech-
sumably completed around 1735. Be- neer computers ILLIAC and ORACLE. nology and Communications is one of
side these historical unique specimens Several computers, developed and pro- eight curatorial divisions in the muse-
one can view the broad spectrum of the duced by the then West German indus- um. Collections in the Division include
mechanical calculators, industrially try are included in the gallery. With the computing, mathematics, electricity,
produced in series, beginning with C.X exception of the vacuum tube machine printing, graphic arts, photography,
Thomas and ending with the sophisti- Z22, produced by the Zuse KG in 1958, and numismatics. The Computing Col-
cated Friden-Model SRW 10. Many of they all were designed on the base of lection has approximately 2,000 objects
the mechanical calculators were still discrete semiconductor elements. in the following categories: supercom-
used in the 1970s. A special cabinet on Also presented is a Cray I from puters and components; mainframe
the cryptology is presented as a part of 1983, which until the end of Cold War computers and components; minicom-
the digital calculating exhibit—here in 1990 had its completeness checked puters and components; microcom-
not with digits but with letters. Visitors for the COCOM-office (Coordinating puters and components; electronic cal-
find several coding machines, includ- Committee on Multilateral Export Con- culators; analog computers; computer

48 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
viewpoints

games; documentation; computer


paraphernalia; and related devices. The
related Electricity Collection includes
electronic components; microchips; Highlights of the
cellular telephones; and personal digi-
tal assistants. Printers are distributed U.S. National Museum
among the Computer Collection, the
Photography Collection, and the Print-
of American History
ing Collection. Indeed, the process of 1 2 1. The “First Computer Bug,” 1947:
digital convergence increasingly links The Smithsonian has the research
all the collecting units in the Division. notebook with what is reputedly the
“first computer bug,” a moth taken
Further information about all of the
from a register in the Mark II computer
components of the Division is available at Harvard and taped into the notebook
from the museum’s Web site: http:// with the note “first actual case of bug
americanhistory.si.edu. Among the being found.”
materials there are transcripts of oral 3
2. A UNIVAC I Console, 1951: In ad-
and video history interviews with lead- dition to the Console, the collection
includes a mercury delay line memory
ers in American computing including unit and an arithmetic chassis unit.
J. Presper Eckert, Seymour Cray, Ken- 3. The Institute for Advanced Study
neth Olsen, Bill Gates, Steve Jobs, and Computer, 1952: Developed at Princeton’s
Larry Ellison. Institute for Advanced Study in Princ-
In addition to the holdings of the eton, NJ, the design for this computer
was replicated in other early machines,
curatorial division, the museum’s Ar- such as MANIAC at Los Alamos and IL-
chives Center has a number of comput- LIAC at the University of Illinois.
er-related collections (see http://ameri- 4 5
4. An IBM 650, 1954: This is an example
canhistory.si.edu/archives). Among its of IBM’s first mass-produced computer.
holdings are papers of Grace Murray The Smithsonian has a console unit
and card reader/punch, plus documen-
Hopper, Ralph Baer, and Herb Grosch. tation.
Of particular interest are transcripts and
5. A Digital Equipment Corporation
other materials from a Computer Oral PDP-8 minicomputer, 1965: The collec-
History project sponsored by the Ameri- tion includes both the processor and
can Federation of Information Process- documentation.
ing Societies in the 1960s and 1970s 6. The “Brown Box,” 1967: A prototype
(see http://invention.smithsonian.org/ 6 for the first video game developed by
inventor Ralph Baer.
resources/fa_comporalhist_index.aspx ).
Although the computer collection 7. A Xerox Alto, 1973: Developed at
Xerox’s Palo Alto Research Center,
is readily available to researchers, cur- this device paved the way to graphical
rently, little of it is on physical display user interfaces and networked desktop
at the museum. A major exhibition on computers.
the history of computing and commu- 8. Early personal computers,
nications, “Information Age: People, 1975–present: The Smithsonian collec-
tion includes a range of personal com-
Information, and Technology” ran 7 8
puters including several Altair 8800s,
from 1990–2006, but has now closed. Apple IIs, Radio Shack TRS-80s, IBM
A new exhibition that will include cov- PCs, an Apple Lisa, a Timex Sinclair,
erage of digital computing is currently and one of Michael Dell’s PC Limited
computers, as well as more modern
under development. Tentatively titled devices.
“American Enterprise,” it is slated to be
9. CIX Router, 1994: This Cisco Systems
the Smithsonian’s first comprehensive 7500 router was used between 1994 and
Smithsonian exhibition on the history 2001 as part of the first Commercial
9 10
of the American economy and to survey Internet Exchange. It was a private,
membership organization that allowed
innovation in finance, manufacturing, networks to exchange Internet traffic
agriculture, energy, information tech- directly, regardless of which network
nology, and communications from the the customer obtained service from, at
late 18th century to the present. no additional charge for the traffic.
10. Deep Blue, 1997: The Smithsonian
has one of the two towers of IBM’s Deep
David K. Allison (allisond@si.edu) is chairman of the Blue computer, which won the first
information technology and communications department
at the National Museum of American History in
regulation chess match against a world
Washington, D.C. champion.

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 49
practice
doi:10.1145/1735223.1735240

Article development led by


queue.acm.org

An essential technique used in emulator


development is a useful addition to any
programmer’s toolbox.
by Peter Phillips

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

ability in the kinds of bugs that may


possible the binary data for the original program present themselves. Ignoring major
has become subtly corrupted or is not the version execution path failures (for example,
infinite loop, the program counter
expected.) Solving these problems requires some ending up in nonprogram memory),
unusual debugging techniques. a typical failure would be noticed in

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

certainly isn’t as easy as using a ref-


erence, but there is a good chance of
Screen Image Chain finding the error without constantly
rerunning the emulator.
In bits of partial C code, here is how a sprite position is determined, starting from
the actual hardware value and working backward. The C code is reverse engineered,
as the emulator would execute machine instructions directly. Using Traces
An emulator using traces can hunt
1. The image position of sprites is determined by hardware registers starting at 0xc000 down problems in a machine descrip-
(each register has a size of two bytes):
tion, but traces can also be useful
Sprite #0 0xc000 Xpos Ypos Shape Palette when the problem exists in the code it-
Sprite #1 0xc008 Xpos Ypos Shape Palette self and not the machine description.
... Using such a trace can make finding
In this case, 0xc000 contains 0x000d 0x00b (corresponding to 13,11 on screen).
memory corruption problems much
2. The registers are set at the vertical blank (60 times per second) frame by copying from easier. Consider a particularly nasty
an internal array. kind of corruption: the corrupted data
structure is owned by the runtime
struct sprite { unsigned short x, y, shape, palette; }
shadow[16]; memory allocator implementation.
... For example, the program crashes
void vblank _ intr() { memcpy( (void*)0xc000, &shadow, inside of a call to malloc() as it tra-
sizeof(shadow));
verses the free list. The actual crash is
3. The shadow values are updated in an object update routine. apparent in the debugger but the ulti-
mate cause is not.
void Object::update _ sprite() { Suppose that the direct problem
shadow[this->sprite _ index].x = this->x + this->x _ center;
shadow[this->sprite _ index].y = this->y + this->y _ center; is that a particular pointer value at
} location 0x8004074 in the allocator’s
linked list has been modified. Instead
4. The object changes the position based on speed.
of a plausible value, it contains 0x1—
void Object::move() { an invalid and unaligned memory ref-
this->x += this->delta _ x; erence. The standard debugger cannot
if (this->x > 128) { this->x -= this->delta _ x; } be of much more help at this point, as
...
} it can reveal the invalid value but not
The fourth and final level is the first point of interest. Perhaps something is wrong when it became invalid. (You could use
with the emulator’s implementation of the compare instruction. a break-on-write, but that won’t work
if the corrupted address changes be-
tween runs.)
Here is where the trace solves the
problem. Search the trace backward
for the last write to the memory loca-

An Example 6502 Trace tion 0x8004074. You may find an entry


such as:
The 8-bit 6502 microprocessor had only a few registers: A, X, Y, S, PC, and P. An actual
system might also have a simple 8-bit input port for joystick positions. The trace file 0x80004074: write 0x1 PC=0x1072ab0
would be (hexadecimal) values of the registers and I/O port along with the current
(symbolic) instruction: ...

PC A X Y S P IO BUS ASM Translating the given program


F010 00 01 02 F7 D1 01 F011r7A lda #$7A counter (0x1072ab0) to a location in
F012 7A 01 02 F7 31 01 ...
the source code will immediately re-
In this example, the instruction at location F010 loads the value 7A into the A veal a likely cause of the corruption.
register, and the next line of the trace reflects the change. The high bit of the status For example, it may now be clear that
register (named P on the 6502) is cleared as the value in A is not negative. A BUS column
is included to show the reading or writing of data values onto the system bus.
the array bounds were not correctly re-
spected. An attempt to store a value of
There are a lot of possible ways to represent traces. For long traces, it may be more 1 in the array resulted in the memory
efficient simply to store entire machines states with a counter describing the number of corruption. Of course, as in the sprite
instructions to execute before a new machine state is reached or an I/O value changes.
The detailed trace can be reconstructed (as necessary) by running the emulator for N example, the actual source of the cor-
steps on a given machine state. ruption may need to be traced further
back.

Tracing for All Programs?


Tracing is useful for debugging ordi-
nary problems, but how to generate

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

0 2 4 6 8 10 12 −200 0 200 400 −20 0 20 40 60 80


Time [days] [mus] [mus]

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.

The Bigger Picture References


Thus far we have considered the syn- 1. Endace Measurement Systems. DAG series PCI and
PCI-X cards; http://www.endace.com/networkMCards.
chronization of a single host over the htm.
network to a server, but what about the 2. Mills, D.L. 2006. Computer Network Time
Synchronization: The Network Time Protocol. CRC
system as a whole? In NTP, the main Press, Boca Raton, FL, 2006.
system aspect is the server hierarchy. 3. Ridoux, J., Veitch, D. RADclock Project Web page;
http://www.cubinlab.ee.unimelb.edu.au/radclock/.
In a nutshell, Stratum-1 servers anchor 4. Veitch, D., Ridoux, J., Korada, S.B. Robust
the tree as they use additional hardware synchronization of absolute and difference clocks over
networks. IEEE/ACM Transactions on Networking 17,
(for example, a PC with a GPS receiver 2 (2009), 417–430. doi: 10.1109/TNET.2008.926505.
or a purpose-built synchronization box
with GPS) to synchronize locally, rath-
Julien Ridoux is a Research Fellow at the Center for
er than over a network. By definition, Ultra-Broadband Information Networks (CUBIN) in the
Stratum-2 servers synchronize to Stra- Department of Electrical & Electronic Engineering at The
University of Melbourne, Australia.
tum-1, Stratum-3 to Stratum-2, and so
on, and hosts synchronize to whatever Darryl Veitch is a Principal Research Fellow at the Center
for Ultra-Broadband Information Networks (CUBIN) in
they can find (typically a Stratum-2 or a the Department of Electrical & Electronic Engineering at
public Stratum-1). The University of Melbourne, Australia.

At the system level there are a num-


ber of important and outstanding chal- © 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 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.

The Essential Characteristics


of Cloud Computing
This is where we come full circle and
timesharing is reborn. The same forces
are at work that made timesharing a vi-
able option 30 years ago: the high cost
of computing (far exceeding the cost of
The l ast tim e the IT industry delivered outsourced the physical systems), and the highly
specialized labor needed to keep it run-
shared-resource computing to the enterprise was with ning well. The essential characteristics
timesharing in the 1980s when it evolved to a high art, of cloud computing that address these
delivering the reliability, performance, and service needs are:4
˲˲ On-demand access. Rapid fulfill-
the enterprise demanded. Today, cloud computing ment of demand for computing and
is poised to address the needs of the same market, continuing ability to fulfill that de-
mand as required.
based on a revolution of new technologies, significant ˲˲ Elasticity. Computing is provided
unused computing capacity in corporate data centers, in the amount required and disposed
and the development of a highly capable Internet of when no longer needed.
˲˲ Pay-per-use. Much like a utility,
data communications infrastructure. The economies cloud resource charges are based on
of scale of delivering computing from a centralized, the quantity used.
˲˲ Connectivity. All of the servers are
shared infrastructure have set the expectation connected to a high-speed network
among customers that cloud computing costs will be that allows data to flow to the Internet
significantly lower than those incurred from providing as well as between computing and stor-
age elements.
their own computing. Together with the reduced ˲˲ Resource pooling. The cloud pro-
deployment costs of open source software and the vider’s infrastructure is shared across

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

viders competing to deliver very similar ˲˲ Offer a range of performance for a


product in a highly price-competitive particular instance, such as a range of
environment is termed perfect competi- GHz; and
tion by economists. Perfectly competi- ˲˲ Overallocate resources on a physi-
tive markets, such as those for milk,
gasoline, airline seats, and cellphone The cloud cal server, or “thin provisioning.” Com-
mercial virtualization management
service, are characterized by a number
of supplier behaviors aimed at avoid-
computing market software such as VMWare or Virtuozzo
offer the ability to overallocate resourc-
ing the downsides of perfect competi- is becoming more es on the underlying hardware, result-
tion, including:
˲˲ Artificially differentiating the
crowded with ing in reduced performance during
peak loads.
product through advertising rather large providers Like overcommitment, limiting
than unique product characteristics
˲˲ Obscuring pricing through the use
entering the playing access to infrastructure resources or
choosing lower-priced, lower-perfor-
of additional or hidden fees and com- field, each one of mance (and potentially older) infra-
plex pricing methodologies
˲˲ Controlling information about which trying to structure is used by vendors to make
providing cloud computing at rock-
the product through obfuscation of its differentiate itself bottom prices viable. We entered the
specifications
˲˲ Compromising product quality in from the already cloud provider business after discover-
ing we could not guarantee enterprise-
an effort to increase profits by cutting
corners in the value delivery system
established players. grade performance to our customers
by reselling other vendors’ cloud ser-
˲˲ Locking customers into long-term vices due to their corner-cutting. Here
commitments, without delivering obvi- is a list of some of the strategies the au-
ous benefits. thor has seen over the years:
These factors, when applied to the ˲˲ Traffic shaping. A new client asked
cloud computing market, result in a us to move their existing VPDC to our
product that does not meet the enter- infrastructure. Shortly after initiating
prise requirements for deterministic the transfer, the data rate dropped from
behavior and predictable pricing. The approximately 10Mbit/sec to 1Mbit,
resulting price war potentially threat- where it remained for the duration of
ens the long-term viability of the cloud the transfer. This behavior speaks pret-
vendors. Let’s take a closer look at how ty strongly of traffic shaping. Because
perfect competition affects the cloud the client based their downtime win-
computing market. dow for the data center move on the as-
Variable performance. We frequently sumption that the connecting network
see advertisements for cloud comput- was gigabit Ethernet, they missed their
ing breaking through the previous estimate by over a week.
price floor for a virtual server instance. ˲˲ Using older gigabit or fast Ethernet
It makes one wonder how cloud pro- networking. An ISP that was selling an
viders can do this and stay in business. Amazon-like cloud computing product
The answer is that they over commit connected their servers to the Internet
their computing resources and cut using fast Ethernet switches. If a cus-
corners on infrastructure. The result tomer wanted faster connectivity, there
is variable and unpredictable perfor- was an up charge per port.
mance of the virtual infrastructure.5 ˲˲ Recycling failed disk drives. A client
Many cloud providers are vague on leased several servers in a private cloud
the specifics of the underlying hard- from a very large ISP. He had previously
ware and software stack they use to de- experienced several drive failures with
liver a virtual server to the end custom- this ISP, so he decided to check up on
er, which allows for overcommitment. the hardware by running smartctl to
Techniques for overcommitting hard- assess the health of the drives. What he
ware include (but are not limited to): found was shocking to him: the ‘new’
˲˲ Specify memory allocation and servers he had just received had disk
leave CPU allocation unspecified, al- drives in them that were over three
lowing total hardware memory to dic- years old! When he challenged the ISP,
tate the number of customers the hard- he was told their policy was to replace a
ware can support; drive only when it fails.
˲˲ Quote shared resource maximums ˲˲ Deploying older CPU technology. We
instead of private allocations; were asked to manage a client’s ap-

64 communications of th e ac m | m ay 2 0 1 0 | vo l . 5 3 | n o. 5
practice

plications that were hosted at another


ISP. As part of our initial assessment
of the client’s environment, we discov-
ered that he had received Athlon desk-
top processors in the servers that he
was paying top dollar for.
This difference between advertised
and provided value is possible because
cloud computing delivers abstracted
hardware that relieves the client of
the responsibility for managing the
hardware, offering an opportunity for
situations such as those listed here to
occur. As our experience in the mar-
ketplace shows, the customer base is
inexperienced with purchasing this
commodity and overwhelmed with the
complexity of selecting and determin-
ing the cost of the service, as well be-
ing hamstrung by the lack of accurate
benchmarking and reporting tools.
Customer emphasis on pricing levels
over results drives selection of poorly
performing cloud products. However,
the enterprise will not be satisfied with
this state of affairs.
Extra charges. For example, ingress
and egress bandwidth is often charged
separately and using different rates,
overages on included baseline storage,
or bandwidth quantities are charged
at much higher prices than the adver-
tised base rates, charges are applied to
the number of IOPS used on the stor- delivery model, most obviously cellu- challenges to the end customer in pur-
age system, and charges are levied on lar telephone providers and to some chasing services that will meet their
HTTP get/put/post/list operations, extent electrical utilities. However, needs. This first-generation cloud of-
to name but a few. These additional for some reason, cloud computing is fering, essentially Cloud 1.0, requires
charges cannot be predicted by the end not delivered with the same pricing the end customer to understand the
user when evaluating the service, and models as those developed over the trade-offs that the service provider has
are another way the cloud providers are last hundred years to deliver electric- made in order to offer computing to
able to make the necessary money to ity. These providers all use long-term them at such a low price.
keep their businesses growing because commitments to ensure their eco- Service-Level Agreements. Cloud
the prices they are charging for com- nomic viability by matching their pric- computing service providers typically
pute aren’t able to support the costs of ing to customer resource usage that define an SLA as some guarantee of
providing the service. The price of the determines their costs. Long-term how much of the time the server, plat-
raw compute has become a loss-leader. commitments—in other words, con- form, or application will be available.
Long-term commitments. Commit- tracts—allow for time-of-use pricing In the cloud market space, meaningful
ment hasn’t been a prominent feature and quantity discounts. We feel these SLAs are few and far between, and even
of cloud customer-vendor relation- characteristics will become ubiqui- when a vendor does have one, most of
ships so far, even to the point that pun- tous features of cloud computing in the time it is toothless. For example, a
dits will tell you that “no commitment” the near future. For cloud computing well-known cloud provider guarantees
is an essential part of the definition of delivered as SaaS, long-term commit- an availability level of 99.999% uptime,
cloud computing. However, the eco- ments are already prevalent. or five minutes a year, with a 10% dis-
nomics of providing cloud computing count on their charges for any month
Illustration by Gary Neill

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

best, it makes sense to ask about per-


formance SLAs, though at this time we
have not seen any in the industry. In
most cases, the only way to determine
if the service meets a specific applica-
tion need is to deploy and run it in pro-
duction, which is prohibitively expen-
sive for most organizations.
In my experience, most customers
use CPU-hour pricing as their primary
driver during the decision-making
process. While the resulting perfor-
mance is adequate for many applica-
tions, we have also seen many enter-
prise-grade applications that failed to
operate acceptably on Cloud 1.0.
Service and support. One of the great
attractions of cloud computing is that
it democratizes access to production
computing by making it available to a
much larger segment of the business
community. In addition, the elimina-
tion of the responsibility for physical
hardware removes the need for data
center administration staff. As a result,
there is an ever-increasing number
of people responsible for production
computing who do not have system ad-
ministration backgrounds, which cre-
ates demand for comprehensive cloud
vendor support offerings. Round-the-
clock live support staff costs a great
deal and commodity cloud pricing
ability. If a customer really needs five- Taking advantage of the low prices models cannot support that cost. Many
nines of uptime, a 10% discount is not of Cloud 1.0 requires an honest assess- commodity cloud offerings have only
going to even come close to the cost of ment by the end customer of the level email or Web-based support, or only
lost revenue, breach of end-user ser- of reliability they actually need. support the usage of their service, rath-
vice levels, or loss of market share due Performance is almost never dis- er than the end-customer’s needs.
to credibility issues. cussed. One of the hazards of shared When you can’t reach your server
Another trick the service providers infrastructure is that one customer’s just before that important demo for the
play on their customers is to compute usage patterns may affect other cus- new client, what do you do? Because
the SLA on an annualized basis. This tomers’ performance. While this in- of the mismatch between the support
means that customers are only eligible terference between customers can levels needed by cloud customers and
for a service credit after one year has be engineered out of the system, ad- those delivered by Cloud 1.0 vendors,
passed. Clearly the end user should pay dressing this problem is an expense we have seen many customers who
close attention to the details of the SLA that vendors must balance against the replaced internal IT with cloud, fir-
being provided and weigh that against selling price. As a result, repeatable ing their system administrators, only
what business impact it will have if the benchmarks of cloud performance to hire cloud administrators shortly
service provider misses the committed are few and far between because they thereafter. Commercial enterprises
SLA. From what we have seen in the last are not easily achieved, and Cloud 1.0 running production applications need
four years of providing IaaS and PaaS, infrastructure is rarely capable of per- the rapid response of phone support
most customers do not have a strong formance levels that the enterprise is delivered under guaranteed SLAs.
understanding of how much downtime accustomed to. Before making the jump to Cloud
their businesses can tolerate or what While it makes intuitive sense to 1.0, it is appropriate to consider the
Illustration by Gary Neill

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

created a cloud computing product deserving of the most mission-critical


that has left a lot on the table for the applications. In addition, there are
customer seeking enterprise-grade re- significant infrastructure challenges
sults. While many business problems to meet the performance requirements
can be adequately addressed by Cloud
1.0, there are a large number of busi- The current myopic of the enterprise, which significantly
raise resource prices.
ness applications running in purpose-
built data centers today for which a
focus on price has Technology challenges faced by Cloud
2.0 providers. The number-one prob-
price-focused infrastructure and de- created a cloud lem that Cloud 2.0 providers face is
livery model will not suffice. For that
reason, we see the necessity for a new
computing product supplying their enterprise customers
with storage that can match the per-
cloud service offering focused on pro- that has left a lot formance and reliability they are ac-
viding value to the SME and large enter-
prise markets. This second-generation
on the table for the customed to from their purpose-built
data centers at a price point that is
value-based cloud is focused on deliv- customer seeking significantly lower. When traditional
ering a high performance, highly avail-
able, and secure computing infrastruc- enterprise-grade storage technologies are used in a
cloud infrastructure, they fail to deliver
ture for business-critical production results. adequate performance because the
applications, much like the mission of workload is considerably less predict-
today’s corporate IT departments. able than what they were designed for.
This new model will be specifically In particular, the randomness of disk
designed to meet or exceed enterprise accesses as well as the working set size
expectations, based on the knowledge are both proportional to the number of
that the true cost to the enterprise is different applications that the storage
not measured by the cost per CPU cycle system is serving at once. Traditionally
alone. The reasons most often given by SANs have solved the problem of disk
industry surveys of CIOs for holding read caching by using RAM caches.
back on adopting the current public However, in a cloud application, the
cloud offerings are that they do not ad- designed maximum RAM cache sizes
dress complex production application are completely inadequate to meet the
requirements such as compliance, reg- requirement of caching the total work-
ulatory, and/or compatibility issues. To ing sets of all customer applications.
address these issues, the value-based This problem is compounded on the
cloud will be focused on providing so- write side, where the caches have tra-
lutions rather than just compute cycles. ditionally been battery-backed RAM,
Cloud 2.0 will not offer CPU at $0.04/ which is causing storage vendors to
hour. Mission-critical enterprise ap- move to SSD technology to support
plications carry with them a high cost cloud applications.
of downtime.2 Indeed, many SaaS Once the storage caching problem
vendors offer expensive guarantees has been solved, the next issue is get-
to their customers for downtime. As ting cloud applications’ large volumes
a result, enterprises typically require of data out of the SAN into the server.
four-nines (52 minutes unavailable a Legacy interconnect, such as fiber-
year) or more of uptime. Highly avail- channel with which most SANs are cur-
able computing is expensive, and his- rently shipped, cannot meet the needs
torically, each additional nine of avail- of data-hungry Cloud 2.0 infrastruc-
ability doubles the cost to deliver that tures. Both Ethernet and Infiniband
service. This is because infrastructure offer improved performance, with cur-
built to provide five-nines of availabil- rently shipping Infiniband technology
ity has no single points of failure and holding the title of fastest available in-
is always deployed in more than one terconnect. Storage vendors who es-
physical location. Current cloud de- chew Infiniband are relegating their
ployment technologies use n+1 redun- products to second-tier status in the
dancy to improve on these economies Cloud 2.0 world. Additionally, fast in-
up to the three-nines mark, but they terconnect is a virtual requirement be-
still rule past this point. Because the tween servers, since enterprise appli-
cost of reliability goes up geometrically cations are typically deployed as virtual
as the 100% mark is neared, many con- networks of collaborating instances
sider five-nines and above to be nearly that cannot be guaranteed to be on the
unachievable (and unaffordable), only same physical servers.1

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

With an increasing number of software are not designed to provide


clouds being deployed in private data this information. For example, billing
centers or small-to-medium MSPs, for IOPs in a multitenant environment
the approach to build a cloud used by is a very deep technological problem,
Amazon, in which hardware and soft-
ware were all developed in-house, is Transparency impacting not only the design of the
cloud service, but the technologies it
no longer practical. Instead, clouds are
being built out of commercial technol-
allows the rests on such as operating systems,

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-

we touch and record every event we experience? key insights


What would such a personal digital archive be like,
and how might it affect the way we live? This vision F ocusing on “total capture,” current
approaches to lifelogging have failed
of a complete “lifelog” is the holy grail for many to explore what practical purpose such
exhaustive personal digital records
technologists and researchers who consider us to be might actually serve.

on the brink of an “e-memory” revolution. E valuating new approaches, psychology


has emerged as an underexploited
In the past few years, capturing “Memories for Life” resource in defining the nature of human
Illustration by Giacom o Ma rch esi

memory and its key processes and


has become a U.K. Grand Challenge in Computing weaknesses.
(http://www.nesc.ac.uk/esi/events/Grand_Challenges/ P sychology as design framework could
help define the types of memory such
proposals/), and many research programs today are systems should support, along with
dedicated to developing technologies to support the their key interface properties and need
to work in synergy with human memory,
archiving of vast amounts of personal data. A 2009 rather than as its replacement.

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

images to videos to sound to location us mentally “re-live” specific life ex-


to ambient temperature, along with periences, thinking back in detail to
light levels and biosensor readings. past personal experiences (often called
In early systems (such as Lamming “episodic” memories25). Remembering
et al.17), capturing people’s locations
was a focus, involving users carrying Surprisingly, aspects of a past experience can serve
many practical purposes; examples
or wearing small devices tracked by many lifelogging include locating lost physical objects

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

% Agree with Senior


Faculty Response Agreement Change
with Seniors
Item # Faculty CS1 CS2 Senior Faculty vs CS1

Cluster 1: Computer Science as Accomplishment


Subcluster: Don’t just learn from the examples.
10 There is usually only one correct approach to solving a computer science problem. Reject 91 98 95  4
40 To learn computer science, I only need to memorize solutions to sample problems. Reject 80 94 90  10
54 Reading books or manuals is usually a waste of time in computer science. Reject 75 73 61  –14
Subcluster: The end justifies the means.
20 On a computer science assignment, what matters is getting the desired result, not how you Reject 42 51 46  4
arrive at the result.
52 If a program works it doesn’t matter much how it is written. Reject 55 73* 80  25*
68 Doing things the “right” way isn’t as important as just pushing through to a solution. Reject 44 55 68  24*
Theme: Work in the real world.
16 In the real world, computer scientists spend a lot of time working alone. Reject 51 65 66  15
18 In the real world, computer scientists’ work is mostly programming. Reject 25 57* 76  51*
62 Managers are usually people who can’t cut it technically. Reject 46 47 58  12
Theme: Group work.
8 If you work in a group you can’t take as much pride in the results as when you work alone. Reject 62 53 73  11
36 You can only truly understand something if you figure it out on your own. Reject 51 53 51  0
Other
6 Getting through the computer science curriculum Reject 48 55 54  6
basically means being able to recall something you’ve read or been shown.
14 I cannot learn computer science without a teacher Reject 51 57 63  12
to explain it.
28 A significant problem in learning computer science is being able to memorize all the Reject 24 51 68  44*
information I need to know
56 In the computer science curriculum, if you spend enough time coding you’ll get all you Reject 27 45 73  46*
need to get from the courses.
66 If you know what you are doing you can leave work to the last minute and still get it done. Reject 46 53 49  3

Cluster 2: Computer Science as an Intellectual Discipline


Subcluster: Computer Science is creative and valuable.
50 The work you do in computer science in the real world requires a lot of creativity. Endorse 83 82 68  –15
58 Research in computer science often develops really important ideas. Endorse 56 84* 66  10
60 Reasoning skills used to understand computer science material can be helpful to me in Endorse 70 80 61  –9
understanding things in everyday life.
Related items: Concepts and understanding are important.
12 I am not satisfied until I understand why something works the way it does. Endorse 79 82 80  1
22 Theoretical computer science, such as analysis of algorithms, isn’t very relevant to the real world. Reject 73 75 56  –17
44 When I solve a computer science problem, I explicitly think about which computer science Endorse 72 65 44  –28*
ideas apply to the problem.
46 If I get stuck on a computer science problem, there is no chance I’ll figure it out on my own. Reject 59 84* 85  26*
64 If you can do something you don’t need to understand it. Reject 79 80 80  1
Other
4 Nearly everyone is capable of succeeding in the computer science curriculum if they work at it. Reject 30 26 34  4
26 After I study a topic in computer science and feel that I understand it, I have difficulty Reject 45 57 61  16
solving problems on the same topic.
48 There are times I solve a computer science problem more than one way to help my Endorse 41 49 61  20*
understanding.
Items on which faculty disagreed
24 The curriculum in computer science covers many disconnected topics.
30 I find that reading the textbook carefully is a good way for me to learn the topics covered in
my computer science courses.
32 It’s better to jump into a problem instead of trying to analyze it first.
34 It’s a lot more satisfying to do an assignment on your own than with help.
38 When you submit a group project, the instructor can’t tell how good your individual work was.

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

with faculty that


doing you can leave work to the last of concepts and understanding. For
minute and still get it done”), confirm- two of the apparent bright spots, item
ing a problem identified by Waite et
al.16 and Leonardi et al.8 that students
doing things right 12 (“I am not satisfied until I under-
stand why something works the way
see procrastination not as a failing but is more important it does”) and item 64 (“If you can do
as something positive, a way to dem-
onstrate personal prowess, writing:
than just getting something you don’t need to under-
stand it”), agreement was good but
“The important point here is that a solution, though hardly better among the seniors than
for the informants in this study, wait-
ing until the last minute to begin a this response among CS1 students. Only for item 46
(“If I get stuck on a computer science
project was not a sign of laziness or dis- represents problem, there is no chance I’ll fig-
interest in the subject matter. Rather,
beginning an assignment late makes a significant ure it out on my own”) was the greater
agreement by seniors than by CS1 stu-
successfully completing the task more
difficult, and, thus, is a sign of their ex-
improvement dents statistically significant.
On the negative side, for two of the
pertise and mastery of technical skill. over the position items in this group the seniors agreed
In the laboratories on days before large
projects were due, informants regu-
of CS1 students. less with faculty than did the CS1 stu-
dents. For example, seniors were less
larly discussed the status of their proj- likely to endorse item 44 (“When I
ects with one another, comparing how solve a computer science problem, I
much they had completed. Similarly, explicitly think about which computer
on days on which a large project was science ideas apply to the problem”)
due, student engineers typically asked than were the CS1 students. Most se-
one another ‘When did you start?’ and niors (88%) said faculty explicitly en-
‘When did you finish?’ Higher status dorsed thinking about ideas, but they
was awarded to those who could wait themselves didn’t endorse it. Why
the longest and still complete the proj- didn’t they?
ect successfully.” Interviews reported by Leonardi et
Senior attitudes on this matter al.8 may shed light on this misalign-
were hardly better than those of CS1 ment, identifying a “norm” among
students and slightly worse than CS2 students that “expertise is measured
students; at least they weren’t much by task difficulty” among the students
worse. aspiring to be engineers, writing:
CS is creative and valuable. Re- “The norm suggests that engineers
sponses to the three items in this sub- should place value on overcoming
cluster were strongly related. Unfor- challenge and ‘beating the odds.’ The
tunately, agreement between seniors work practices reflecting this norm
and faculty was not strong for any of artificially and purposefully increased
them. Worse, for two items, 50 (“The the difficulty of a given task, such as
work you do in computer science in a homework assignment. Taken to-
the real world requires a lot of creativ- gether, these practices introduced a
ity”) and 60 (“Reasoning skills used to sense of ‘sport’ to engineering work by
understand computer science materi- providing handicaps that ultimately
al can be helpful to me in understand- decreased an informant’s chances of
ing things in everyday life”), seniors success. Informants perceived that
agreed less with faculty than did CS1 completing a task with a handicap was
students. For item 58 (“Research in a mark of an ‘expert engineer.’ ”
computer science often develops re- Leonardi et al. also suggested that
ally important ideas”), agreement with one way students increase the difficulty
faculty was somewhat stronger among of assignments (so as to demonstrate
seniors than among CS1 students but their skill to themselves and sometimes
at 66% did not constitute a ringing en- to their peers) is to ignore concepts that
dorsement. would actually help with the work.

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

Other items in cluster 2. Like some work on computational thinking.


of the “other” items in cluster 1, items The fact that these two clusters
26 and 58 in this group might have emerged from the data is important.
been expected to appear in one of the Interestingly, earlier research dis-
subclusters but did not. They show
only middling agreement between se- Faculty must cussed a similar contrast between ac-
complishment and creativity in engi-
niors and faculty, with agreement by consider ways to neering.3,14,10 It is possible that the two

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.

in university physics education show the same results?


that student attitudes and beliefs re- Clayton Lewis (clayton.lewis@colorado.edu) is a
late to performance on content as- Acknowledgements professor in the Department of Computer Science at the
University of Colorado at Boulder.
sessments.1,13 Studies in physics edu- An earlier report of these results ap-
Michele H. Jackson (michele.jackson@colorado.
cation also show direct evidence of peared in 2007 in the ACM SIGCSE Bul- edu) is an associate professor in the Department of
selection, rather than a change in at- letin.9 We thank Amer Diwan, Chris- Communication at the University of Colorado at Boulder.
titude, as more advanced students are tian Doerr, Noah Finkelstein, Gary William M. Waite (william.waite@colorado.edu) is a
compared with beginners. This selec- Nutt, Steven Pollock, Bruce Sanders, professor emeritus in the Department of Electrical,
Computer, and Energy Engineering at the University of
tion effect raises the possibility that and Brian Shuckey for ideas, inspira- Colorado at Boulder.
understanding student attitudes and tion, and assistance. This project was
beliefs could be important in terms an activity of the President’s Teaching © 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 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 pro­mote  the use of renewable energy resources. minimize energy consumption is
Individuals, companies, and organizations seek energy- a single computational device? We

efficient products as the energy cost to run equipment key insights


has grown to be a major factor. E nergy management has become
Energy consumption is also critical in computer sys­ an important issue in computing
environments. Algorithmic techniques
tems, in terms of both cost and availability. Electricity provide effective solutions for energy
savings, complementing hardware and
costs impose a substantial strain on the budget of systems-based approaches.
data and computing centers. Google engineers, E nergy-efficient algorithms have been
developed for a range of fundamental
maintaining thousands of servers, warned that if power power management and dynamic
consumption continues to grow, power costs can easily speed-scaling problems that arise in
many environments.
overtake hardware costs by a large margin.12 In office E nergy conservation involves decision
environments, computers and monitors account making with incomplete information
about the future. Energy-efficient
for the highest energy consumption after lighting. algorithms achieve a provably good
performance relative to the true
Power dissipation is also a major concern in portable, optimum.

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 stra­tegies 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.

energy consumption during the active


periods is fixed, assuming that pre-
their products. Systems with Two States
Consider a two-state system that may
scribed tasks have to be performed, we reside in an active state or in a sleep
concentrate on energy minimization state. Let r be the power consump-
in the idle intervals. In fact, we focus tion rate, measured in energy units
on any idle period and optimize the per time unit, in the active state. The
energy consumption in any such time power consumption rate in the sleep
window. mode is assumed to be 0. The results
This power management problem we present in the following general-
is an online problem, that is, at any time ize to an arbitrary consumption rate
a device is not aware of future events. in the sleep mode. Let b energy units,
More specifically, in an idle period, where b > 0, be required to transition
the system has no information when the system from the sleep state to the
the period ends. Is it worthwhile to active state. We assume that the energy
move to a lower-power state and ben- of transitioning from the active to the
efit from the reduced energy consump- sleep state is 0. If this is not the case,
tion, given that the system must finally we can simply fold the correspond-
be powered up again at a cost to the ing energy into the cost b incurred in
active mode? the next power-up operation. The sys-
Performance analysis: Despite the tem experiences an idle period whose
handicap of not knowing the future, length T is initially unknown.
an online strategy should achieve a An optimal offline algorithm OPT,
provably good performance. Here knowing T in advance, is simple to for-
the algorithms community resorts to mulate. We compare the value of rT,
com­petitive analysis, where an online which is the total energy consumed
algorithm ALG is compared to an opti- during the idle period when residing
mal offline algorithm OPT.38 OPT is an in the active mode, to the power-up
omniscient strategy that knows the cost of b. If rT < b, OPT remains in the
entire future and can compute a state active state throughout the idle period
transition schedule of minimum total as transitioning between the active
energy. Online algorithm ALG is called and sleep modes costs more. If rT ³ b,
c-competitive if for every input, such using the sleep mode is beneficial. In
as, for any idle period, the total energy this case OPT transitions to the sleep
consumption of ALG is at most c times state right at the beginning of the idle
that of OPT. period and powers up to the active
Competitive analysis provides a state at the end of the period.
strong worst-case performance guar- The following deterministic online
antee. An online strategy must per- algorithm mimics the behavior of OPT,
form well on all inputs (idle periods) which uses the sleep mode on idle
that might even be generated by an periods of length at least b/r.

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 Avail­able 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

Network Topologies of V (see, e.g., Cormen et al.20). The tree


Wireless ad hoc network do not have a is rooted at source node s. Data trans-
fixed infrastructure. The network basi- mission is performed along the edges
cally consists of a collection of radio of T, that is, each node transmits a
stations with antennas for sending
and  receiving signals. During trans­ We need a better received message to all of its children
in the tree. Intuitively, this algorithm is
mission a station s has to choose a understanding of sensible because the small total edge
transmission power Ps, taking into
account that the signal strength the speed-scaling length of a minimum spanning tree
should lead to a small overall energy
decreases over distance. The signal is
successfully received by a station t only
techniques in consumption.
Algorithm MST: For a given V, compute
if Ps /dist(s,t)a > g. Here dist(s,t) denotes multiprocessor a minimum spanning tree rooted at s.
the distance between s and t, coeffi-
cient a  > 1 is the attenuation rate and
environments Any node v transmits a given message
to all of its children in T.
g  > 0 is a transmission quality param- as multicore Many papers have analyzed MST,
eter. In practice the attenuation rate is
in the range between 2 and 5. Without architectures see Ambühl,4 Caragiannis et al.,16
Clementi et al.,19 Flammini et al.,22
loss of generality we may assume g   = 1. become more and Wan et al.39 and references
In data transmission, a very basic
operation is broadcast, where a given common not therein. Ambühl4 proved that MST
achieves a 6-approximation. The
source node wishes to send a piece
of information to all other nodes in
only in servers analysis is tight because Wan et al.39
showed that the ratio is not smaller
the network. We study the problem of but in desktops than 6. A new improved algorithm was
designing broadcast topologies allow-
ing energy-efficient broadcast opera-
and laptops. recently presented by Caragiannis et al.16
From a practical point of view,
tions in wireless networks. Consider a another strategy, called Broadcast
set V of n nodes that are located in the Incremental Power (BIP), is very inter-
real plane R2. A source node s Î V has esting. This algorithm constructs a
to disseminate a message to all other broadcast tree in a series of iterations,
nodes in the network. However s does starting from an initial tree T0 that only
not have to inform all v Î V directly. contains s. In any iteration i, a new tree
Instead nodes may serve as relay sta- Ti is obtained from Ti−1 by computing
tions. If v receives the message and the smallest additional power neces-
transmits it to w1, …, wk, then v has to sary at any node of Ti−1 to include (at
use a power of Pv = max1£j£k dist(v, wj) least) one additional node v Ï Ti−1. The
a
. The goal is to find a topology, that new node and the corresponding edge
is, a transmission schedule that mini- are added to Ti−1. Results by Ambühl4
mizes the total power/energy E = Sv ÎV and Wan et al.39 imply that the approxi-
Pv incurred by all the nodes. Note that mation ratio c of BIP satisfies 13/3 £ c £ 6.
such a schedule corresponds to a tree It would be interesting to develop tight
T that is rooted at s and contains all bounds for this algorithm.
the nodes of V. The children of a node
v are the nodes to which v transfers the Data Aggregation
message. As mentioned above, sensor networks
Clementi et al.19 showed that the are typically used to monitor an envi-
computation of optimal schedules ronment, measuring, e.g., tempera-
is NP-hard. Therefore one resorts to ture or a chemical value. The data has
approximations. An algorithm ALG to be transferred to a designated sink
achieves a c-approximation if for every node that may perform further actions.
input, such as, for every node set V, the Becchetti et al.13 and Korteweg et al.29
solution computed by ALG incurs an develop energy-­efficient protocols for
energy consumption of no more than c data aggregation.
times the optimum value. Wan et al.39 Suppose the transmission topology is
investigate various algorithms in terms given by a tree T rooted at the sink s.
of their approximation guarantees. Data gathered at a network node v is
The most extensively studied strategy is transmitted along the path from v to
MST. For a given node set V, MST com- s in T. Network nodes have the ability to
putes a standard minimum spanning combine data. If two or more data pack-
tree T, such as, a tree of minimum total ets simultaneously reside at a node v,
edge length containing all the vertices then v may merge these packets into a

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

Technical Perspective the fact that the number of distinct


states in this problem is enormous: it
Learning to Act in is exponential in the number of ven-
ues. They exploit the favorable struc-
Uncertain Environments ture of the problem, and in particular
the way it decomposes neatly across
By Peter L. Bartlett the distinct venues. Their approach in-
volves a modification of a convention-
The problem of decision making in an face of uncertainty.” The idea is to treat al nonparametric statistical estimator
uncertain environment arises in many uncertain outcomes as optimistically for censored data—the Kaplan-Meier
diverse contexts: deciding whether to as the data allows: pick the alternative estimator, which is used in survival
keep a hard drive spinning in a net- that, in the best possible world, is con- analysis. They use one of these estima-
book; choosing which advertisement sistent with our experiences so far, and tors for each venue in order to decide
to post to a Web site visitor; choos- leads to the best outcome. One alter- on the allocation. Their modification
ing how many newspapers to order so native might be chosen either because to the Kaplan-Meier estimator incor-
as to maximize profits; or choosing a it is clearly superior to all others or be- porates the optimism heuristic by en-
route to recommend to a driver given cause there is not enough data to rule couraging exploration near the bound-
limited and possibly out-of-date in- out that possibility. If it turns out this ary of the region of state space that
formation about traffic conditions. alternative is a poor choice, at least it has already been adequately explored.
All are sequential decision problems, leads to a reduction in uncertainty, so The key result is that this approach
since earlier decisions affect subse- that in the future it can be confident- can successfully adapt to unknown
quent performance; all require adap- ly avoided. This approach naturally markets: under the assumption that
tive approaches, since they involve leads to a balance between the desire the volumes available in the various
significant uncertainty. The key issue to exploit information that has already venues are independent random vari-
in effectively solving problems like been gathered, and the need to explore ables, they prove that their strategy
these is known as the exploration/ex- uncertain alternatives. rapidly performs almost as well as the
ploitation trade-off: If I am at a cross- The authors illustrate how the opti- optimal allocation.
roads, when should I go in the most mism heuristic can be successfully ap- The heuristic of optimism in the
advantageous direction among those plied to the dark pools problem. One face of uncertainty is known to per-
that I have already explored, and when striking feature of this result is that form well in other sequential deci-
should I strike out in a new direction, their approach is successful despite sion problems. For instance, in small
in the hopes I will discover something Markov decision problems, it leads to
better? learning algorithms that have small
The following paper by Ganchev, The following regret: the amount of utility gathered
Kearns, Nevmyvaka, and Vaughan per time step rapidly approaches the
considers a sequential decision prob- paper considers best possible value. The key challenge
lem from the financial domain: how a sequential decision in this area is the development of
to allocate stock orders across a va- methods that can deal with very large
riety of marketplaces, each with an problem from the problems: in a wide range of applica-
unknown volume available, so as to financial domain: tions, the state space is enormous;
maximize the number of orders that the dark pools problem is typical in
are filled. These marketplaces are how to allocate this regard. For good performance in
known as dark pools because they al- stock orders a case like this, it seems essential that
low traders to keep their transactions the problem exhibits some kind of
hidden. The popularity of these dark across a variety of helpful structure. The work detailed
pools has grown enormously, as trad- marketplaces, each in the following paper shows how the
ers making large transactions hope generic approach of optimism in the
to reduce their market impact, that with an unknown face of uncertainty can be applied to
is, the tendency for the price to move volume available, exploit the structure of a very large
in an unfavorable direction. Because sequential decision problem to give
transactions are hidden, the charac- so as to maximize an adaptive strategy that allows au-
teristics of the various dark pools are the number of orders tomatic performance optimization.
uncertain, and can only be discovered This is an approach that will certainly
by active exploration. that are filled. see wider application.
The broad approach followed by the
authors is based on an intuitive heu- Peter L. Bartlett is a professor in the Computer Science
ristic that is reminiscent of a title you Division and Department of Statistics at the University of
California, Berkeley.
might encounter in the self-help sec-
tion of a bookstore: “optimism in the © 2010 ACM 0001-0782/10/0500 $10.00

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).

4.2. Modifying Kaplan–Meier


In Figure 3, we describe the minor modification of Kaplan–
It is easy to verify that for any s > 0, Meier necessary for our analysis. As described above
(Step  1),  the value cit in this algorithm can intuitively be
viewed as a cut-off up to which we are guaranteed to have
sufficient data to accurately estimate the tail probabilities
using Kaplan–Meier; this is formalized in Lemma 1. Thus
At a high level, we can think of Kaplan–Meier as first com- for every quantity s < cit, we simply let T̂it(s) be precisely the
puting a separate estimate of zi,s for each s and then using Kaplan–Meier estimate as in Equation 1.
these estimates to compute an estimate of Ti  (s). However, to promote exploration, we set the value
More specifically, let Mi,s t
be the number of direct obser- of T̂it(cit + 1) optimistically to the Kaplan–Meier estimate of
vations of s units up to time t, that is, the number of time the tail probability at cit (not at cit + 1). This optimistic modi-
steps at which strictly more than s units were allocated to fication is necessary to ensure that the greedy algorithm
venue i and exactly s were consumed. Let Ni,st be the number explores (i.e., has a chance of making progress towards
of either direct or censored observations of at least s units increasing at least one cut-off value) on every time step for
on time steps at which strictly more than s units were allo- which it is not already producing an e -optimal allocation.
cated to venue i. We can then naturally define our estimate In particular, suppose that the current greedy solution
ẑ i,s
t
= Mi,s
t
/Ni,st , with ẑ i,s
t
= 0 if Ni,st = 0. The Kaplan–Meier estima- allocated no more than cit units to any venue i and exactly
tor of the tail probability for any s > 0 after t time steps can cjt  units to some venue j. Using the standard Kaplan–Meier
then be expressed as tail probability estimates, it could be the case that this
s–1
allocation is suboptimal (there is no way to know if it
T̂it(s) = Õ (1 - ẑ i,s¢
t
), (1) would have been better to include unit cit + 1 from venue j
s¢= 0
in place of a unit from another venue since we do not have
with T̂it(0) = Ti (0) = 1 for all t. an accurate estimate of the tail probability for this unit),
Previous work has established convergence rates for the and yet no exploration is taking place. By optimistically
Kaplan–Meier estimator to the true underlying distribution in modifying the tail probability T̂it(cjt  + 1) for each venue, we
the case that each submission in the sequence v1i ,...,vti is inde- ensure that no venue remains unexplored simply because
pendently and identically distributed (i.i.d.),8 and asymptotic the algorithm unluckily observes a low demand a small
convergence for non-i.i.d. settings.10 We are not in the i.i.d. number of times.
case, since the submitted volumes at one venue are a function We now formalize the idea of cit as a cut-off up to which
of the entire history of allocations and executions across all the Kaplan–Meier estimates are accurate. In the results that
venues. In the following theorem, we give a new finite sample follow, we think of e > 0 and d > 0 as fixed parameters of the
convergence bound applicable to our setting. algorithm.e

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).

Proof. It is always the case that Ti(0) = T̂it(0) = 1, so the result

This result shows that as we make more and more direct e


  In particular, e corresponds to the value e specified in Theorem 3, and d
or censored observations of at least s – 1 units on time steps corresponds roughly to that d divided by the polynomial upper bound on
at which at least s units are allocated to venue i, our estimate time steps.

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

in Figure 4. Here the average performance of the two non- 12


0.3
adaptive allocation schemes (ideal and uniform) are rep-
10
resented as horizontal lines, while learning curves are 0.25

given for the adaptive schemes. Due to high variance of the

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

the ideal allocation (as suggested by the theory), often


12
­relatively quickly. Furthermore, in each case this ideal 0.3

asymptote is significantly better than the uniform allo- 10


0.25
cation strawman,  meaning that optimal allocations
are highly  nonuniform. Learning curves for the bandit
Learning

Learning
8
0.2

approach exhibit one  of the three general behaviors over


0.15 6
the set of 12 stocks. In some cases, the bandit approach
is quite competitive with our algorithm, though converg- 0.1 4

ing to ideal perhaps slightly slower (not shown in Figure


0.05 2
4). In other cases, the bandit approach learns to outper- 0.05 0.1 0.15 0.2 0.25 0.3 2 4 6 8 10 12
Uniform Uniform
form uniform allocation but appears to asymptote short
of the ideal allocation. Finally, in some cases the bandit
12
approach appears to actually “learn the wrong thing”, with 0.3

performance decaying significantly with more episodes. 10


0.25
This happens when one venue has a very heavy tail, but
Learning

also a relatively high probability of executing zero shares,


Learning

8
0.2

and occurs because the very naive bandit approach that we 6


0.15
use does not have an explicit representation of the tails of
the distribution. 0.1 4

The left column of Figure 5 shows more systematic


0.05 2
head-to-head comparisons of our algorithm’s perfor- 0.05 0.1 0.15 0.2 0.25 0.3 2 4 6 8 10 12
Bandit Bandit
mance versus the other allocation techniques after 2000
episodes for both small and large V. The values plotted are
averages of the last 50 points on learning curves similar to
Figure 4. These scatterplots show that across all 12 stocks
and both settings of V, our algorithm competes well with repeated resubmission of any remaining shares to get the
the optimal allocation, dramatically outperforms uni- total number executed above V/2. Despite the fact that
form, and significantly outperforms the naive bandit allo- our algorithm is not designed to optimize this criterion
cations (especially with V = 8000). The average completion and that our theory does not directly apply to it, we see the
rate across all stocks for the large (small) order sequences same broad story on this metric as well—our algorithm
is 10.0% (13.1%) for uniform and 13.6% (19.4%) for opti- competes with ideal, dominates uniform allocation and
mal allocations. Our algorithm performs almost as well as beats the bandit approach on large orders. The average
optimal—13.5% (18.7%)—and much better than bandits at order half-life for large (small) orders is 7.2 (5.3) for uni-
11.9% (17.2%). form allocation and 5.9 (4.4) for the greedy algorithm on
In the right column, we measure performance not by the true distributions. Our algorithm requires on average
the fraction of V shares filled in one step, but by the natu- 6.0 (4.9) steps, while bandits uses 7.0 (4.4) to trade the large
ral alternative of order half-life—the number of steps of (small) orders.

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.

Acknowledgments Kuzman Ganchev (kuzman@cis.upenn. Michael Kearns (mkearns@cis.upenn.


edu), University of Pennsylvania. edu), University of Pennsylvania.
We are grateful to Curtis Pfeiffer and Andrew Westhead
for  valuable conversations and to Bobby Kleinberg Yuriy Nevmyvaka (yuriy@cs.cmu.edu), Jennifer Wortman Vaughan (jenn@seas.
University of Pennsylvania. harvard.edu), Harvard University.
for   introducing us to the literature on the newsvendor
problem. © 2010 ACM 0001-0782/10/0500 $10.00

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.

interactions is also the membership magazine for ACM’s SIGCHI and


To apply, please send as such is distributed to more than 7,000 members worldwide.
a résumé, letter of motivation,
and statement of your vision The role of co-editor-in-chief is a three-year volunteer position and is
for the magazine to:
assisted by ACM professional staff for the production of the magazine.
Dan Olsen,
Search Committee Chair
The position starts in the third quarter of 2010 in preparation for the
olsen@cs.byu.edu January-February 2011 issue.

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

Automatic Program Repair with


Evolutionary Computation
By Westley Weimer, Stephanie Forrest, Claire Le Goues, and ThanhVu Nguyen

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.

2. TECHNICAL APPROACH 2.2. Fault localization


The core of our method is an evolutionary algorithm that We assume that software defects are local and that fixing one
repairs programs by selectively searching through the space does not require changing the entire program. This assump-
of related program variants until it discovers one that avoids tion narrows the search space by limiting code changes to
known defects and retains key functionality. We use a novel portions of the program likely to contain the defect. We bias
GP representation and make assumptions about the prob- modifications toward statement nodes that were visited when
able nature and location of the necessary repair, improving running the negative test cases but not visited when running
search efficiency. Given a defective program, there are sev- the positive test cases. We find this information by assigning
eral issues to be addressed: each statement a unique ID and instrumenting the program
to print out the ID of each statement visited.14 This allows our
1. What is it doing wrong? We take as input a set of nega- approach to scale to larger program sizes. For example, while
tive test cases that characterizes a fault. The input pro- the atris program contains a total of 8068 statement nodes
gram fails all negative test cases. (Table 1), we use this fault localization information to bias
2. What is it supposed to do? We take as input a set of pos- the search toward 34 statement nodes that are likely to mat-
itive test cases that encode functionality requirements. ter, a reduction of over two orders of magnitude.
The input program passes all positive test cases. Formally, each program variant is a pair containing:
3. Where should we change it? We favor changing pro-
gram locations visited when executing the negative 1. An abstract syntax tree (AST) including all of the state-
test cases and avoid changing program locations vis- ments s in the program.
ited when executing the positive test cases. 2. A weighted path through that program. The weighted
4. How should we change it? We insert, delete, and swap path is a list of pairs ás, wsñ, each containing a state-
program statements and control flow using existing ment in the program visited on the negative test case
program structure. We favor insertions based on the and the associated weight for that statement.
existing program structure.
5. When are we finished? We call the first variant that The default path weight of a statement is 1.0 if it is visited
passes all positive and negative test cases a primary in the negative test case but not on any positive test case. Its
repair. We minimize the differences between it and the weight is 0.1 if it is visited on both positive and negative test
original input program to produce a final repair. cases. All other statements have weight 0.0. The weight rep-
resents an initial guess of how relevant the statement is to
To present the repair process, we first describe our pro- the bug. This approach is related to the union/intersection
gram representation (Section 2.1) and fault localization model of fault localization.20 The weighted path length is the
(Section 2.2) choices. We then detail the GP-based repair sum of statement weights on the weighted path. This scalar
strategy (Section 2.3), discussing the genetic operators gives a rough estimate of the complexity of the search space
(Section 2.4), which modify the representation, and the fit- and is correlated with algorithm performance (Section 4).
ness function (Section 2.5), which uses test cases to evaluate We return to the issue of fault localization in Section 6.
the results of the modifications. Finally, a postprocessing
step is used to minimize the resulting repair (Section 2.6). 2.3. Genetic programming
We use GP to maintain a population of program variants.
2.1. Representation Each variant, sometimes referred to as an individual, is rep-
There are a number of commonly accepted structures for resented as an AST annotated with a weighted path (fault
representing programs, such as control-flow graphs (CFGs) localization information). We modify variants using two
and abstract syntax trees (ASTs). We chose ASTs because genetic operations, mutation and crossover. Mutation makes
they can losslessly represent all structured programs and random changes to the nodes along the weighted path, while

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.

Weighted Fitness Repair


Program Lines of Code Path Description Fault Time (s) Evals Size
gcd 22 1.3 Euclid’s algorithm Infinite loop 153 45.0 2
zune 28 2.9 MS Zune excerpt Infinite loop 42 203.5 4
uniq utx 4.3 1146 81.5 Duplicate filtering Segmentation fault 34 15.5 4
look utx 4.3 1169 213.0 Dictionary lookup Segmentation fault 45 20.1 11
look svr 4.0 1363 32.4 Dictionary lookup Infinite loop 55 13.5 3
units svr 4.0 1504 2159.7 Metric conversion Segmentation fault 109 61.7 4
deroff utx 4.3 2236 251.4 Document processing Segmentation fault 131 28.6 3
nullhttpd 5575 768.5 Webserver Heap buffer overrun 578 95.1 5
0.5.0
indent 1.9.1 9906 1435.9 Source code Infinite loop 546 108.6 2
formatting
flex 2.5.4a 18775 3836.6 Lexical analyzer Segmentation fault 230 39.4 3
generator
atris 1.0.6 21553 34.0 Graphical tetris Stack buffer overrun 80 20.2 3
game
Total 63277 8817.2 2003 651.2 39

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

log of avg fitness evals per repair


indent
lines (e.g., look utx 4.3). f(x) = 0.78x + 0.08
Not all trials lead to a successful repair; in the repairs 3 R2 = 0.62 units flex
shown here, an average of 60% of trials produce a primary
repair. The “Time” and “Fitness Evals” columns in Table 1 2.5 tiff
measure the effort taken for a successful trial. Since all trials imagemagick nullhttpd
are independent, a number of trials can be run in parallel, 2 wu-ftpd
terminating when the first successful trial yields a primary
repair. In addition, the fitnesses of different variants and ccrypt
1.5 atris lighttpd
deroff
the results of different test cases for a given variant can all uniq look utx
be evaluated independently, making our approach easy to php
look svr leukocyte
parallelize on multicore architectures. The measurement in 1
openldap
Table 1 was made on a quad-core 3 GHz machine.
Over half of the total time required to create a repair 0.5
is spent evaluating fitness by running compiled variants 0.5 1 1.5 2 2.5 3 3.5 4
through test cases. For programs with large test suites, this
log of weighted path length
cost can be considerable. A dominant factor in the scalability
of our approach is thus the number of such fitness evalua-
tions that must be made to find a repair. The number of fit- software project management, and effort estimation find
ness evaluations required is related to the size of the search safety violations and in some cases refactor or reengineer
space and the efficacy of the search strategy: each ­fitness large software bases. In SBSE, most innovations in the GP
evaluation represents a single probe. We hypothesize that technique involve new kinds of fitness functions, and there
the size of the weighted path is a good representation of the has been less emphasis on novel representations and opera-
search space size; recall that we only modify ­statements along tors, such as those explored here.
the path (Sections 2.2 and 2.4). Figure 1 shows the results of Our approach automatically repairs programs without
an empirical investigation into this relationship, plotting the specifications. In previous work, we developed an automatic
average number of fitness evaluations required to produce algorithm for soundly repairing programs with specifica-
each of 18 repairs against the length of their weighted paths tions.23 However, formal specifications are not always avail-
(note log–log scale). Although more data points are needed able (e.g., there were no formal specifications available for
before strong conclusions can be drawn, the plot suggests any of the programs repaired here), so the present work
that the number of fitness evaluations, and thus the search focuses on test cases to check and ensure correctness.
time, may scale as a power law of the form y = axb where b Trace and fault localization, minimization, and explana-
is the slope of the best fit line (0.78). This suggests that the tion (e.g., Jones and Harrold11) projects also aim to elucidate
time to find a repair scales nearly ­linearly with the size of the faults and ease debugging. These approaches typically nar-
weighted path for a fixed number of test cases. row down an error symptom to a few lines (a potential cause).
Our approach has also failed to repair some defects, Our work extends this work by proposing a concrete repair.
including those that require many simultaneous edits or In addition, these other algorithms are usually limited to the
changes that cannot be made directly at the statement level given trace or source code and will thus never localize the
(e.g., matmul(b, a) should be matmul(a, b) ). We return to “cause” of an error to a missing statement or suggest that a
the issue of repair quality in Section 6. statement be moved. Our approach can infer new code that
should be added, deleted, or swapped: 6 of the 11 repairs in
5. RELATED WORK Table 1 required insertions or swaps.
Arcuri2 proposed the idea of using GP to repair software Demsky et al.5 present a technique for data structure
bugs automatically, and Orlov and Sipper experimented repair. Given a formal specification of data structure
with evolving Java bytecode.15 However, our work is the ­consistency, they modify a program so that if the data
first to report substantial experimental results on real pro- structures ever become inconsistent, they can be modified
grams with real bugs. The field of Search-Based Software back to a consistent state at runtime. Their technique does
Engineering (SBSE)9 uses evolutionary and related meth- not modify the program source code in a user-visible way.
ods for software testing, e.g., to develop test suites, improve Instead, it inserts runtime monitoring code that “patches

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

high-quality set of positive test cases that encode program References


requirements. In other work, we experimented with held- 1. Al-Ekram, R., Adma, A., Baysal, O. program sampling. In Programming
out indicative workloads, fuzz testing, and held-out exploits diffX: an algorithm to detect changes Language Design and
in multi-version XML documents. Implementation (2003),
to demonstrate that our server repairs address the causes of In Conference of the Centre for 141–154.
problems without being fragile memorizations of the negative Advanced Studies on Collaborative 14. Necula, G.C., McPeak, S., Rahul, S.P.,
Research. IBM Press, Weimer, W. Cil: An infrastructure for C
input and without failing common requests (i.e., because of 2005, 1–11. program analysis and transformation.
the positive tests). Much remains to be done in this area, how- 2. Arcuri, A., Yao, X. A novel In International Conference on
co-evolutionary approach to Compiler Construction (Apr. 2002),
ever, such as automatically documenting or proving properties automatic software bug fixing. In 213–228.
of the generated repairs. IEEE Congress on Evolutionary 15. Orlov, M., Sipper, M. Genetic
Computation (2008), 162–168. programming in the wild: Evolving
Future work. Beyond these immediate steps, there are other 3. Ball, T., Rajamani, S.K. Automatically unrestricted bytecode. In Genetic
validating temporal safety properties and Evolutionary Computation
more ambitious areas for future work. For example, we plan of interfaces. In SPIN Workshop on Conference (ACM, 2009),
to develop a generic set of repair templates so the GP has an Model Checking of Software (May 1043–1050.
2001), 103–122. 16. Perkins, J.H., Kim, S., Larsen, S.,
additional source of new code to use in mutation, beyond those 4. Dallmeier, V., Zeller, A., Meyer, Amarasinghe, S., Bachrach, J.,
statements that happen to be in the program. Our AST program B. Generating fixes from object Carbin, M., Pacheco, C., Sherwood,
behavior anomalies. In International F., Sidiroglou, S., Sullivan, G., Wong,
representation could be extended in various ways, for example, Conference on Automated Software W.-F., Zibin, Y., Ernst, M.D., Rinard,
by including data structure definitions and variable declara- Engineering (2009). M. Automatically patching errors
5. Demsky, B., Ernst, M.D., Guo, P.J., in deployed software. In ACM
tions. Similarly, we are currently experimenting with assem- McCamant, S., Perkins, J.H., Rinard, Symposium on Operating Systems
bly- and bytecode-level repairs. Finally, we are interested in M. Inference and enforcement of data Principles (Oct. 2009), 87–102.
structure consistency specifications. 17. Pigoski, T.M. Practical Software
testing the method on more sophisticated errors, such as race In International Symposium on Maintenance: Best Practices for
conditions, and in learning more about bugs that need to be Software Testing and Analysis (2006), Managing Your Software Investment.
233–244. John Wiley & Sons, Inc., 1996.
repaired, such as their size and distribution, and how we might 6. Ernst, M.D., Perkins, J.H., Guo, P.J., 18. Poli, R., Langdon, W.B., McPhee, N.F.
identify which ones are good candidates for the GP technique. McCamant, S., Pacheco, C., Tschantz, A Field Guide to Genetic
M.S., Xiao, C. The Daikon system for Programming. Published via http://
dynamic detection of likely invariants. lulu.com and freely available at
7. CONCLUSION Sci. Comput. Program (2007).
7. Forrest, S., Hofmeyr, S.A., Somayaji,
http://www.gp-field-guide.org.uk,
2008.
We credit much of the success of this technique to design A., Longstaff, T.A. A sense of self for 19. Ramamoothy, C.V., Tsai, W.-T.
Unix processes. In IEEE Symposium Advances in software engineering.
decisions that limit the search space. Restricting attention to on Security and Privacy (1996), IEEE Comput. 29, 10 (1996),
statements, focusing genetic operations along the weighted 120–128. 47–58.
8. Forrest, S., Weimer, W., Nguyen, T., 20. Renieres, M., Reiss, S.P. Fault
path, reusing existing statements rather than inventing new Le Goues, C. A genetic programming localization with nearest neighbor
ones, and repairing existing programs rather than creating approach to automated software queries. In International Conference
repair. In Genetic and Evolutionary on Automated Software Engineering
new ones, all help to make automatic repair of errors using Computing Conference (2009), (Oct. 2003), 30–39.
GP tractable in practice. 947–954. 21. Schmidt, M., Lipson, H. Distilling
9. Harman, M. The current state and free-form natural laws from
The dream of automatic programming has eluded com- future of search based software experimental data. Science 324,
puter scientists for at least 50 years. The methods described engineering. In International 5923 (2009), 81–85.
Conference on Software Engineering 22. Seacord, R.C., Plakosh, D., Lewis,
in this paper do not fulfill that dream by evolving new pro- (2007), 342–357. G.A. Modernizing Legacy Systems:
grams from scratch. However, they do show how to evolve 10. Hovemeyer, D., Pugh, W. Finding Software Technologies, Engineering
bugs is easy. In Object-Oriented Process and Business Practices.
legacy software in a limited setting, providing at least a small Programming Systems, Languages, Addison-Wesley, 2003.
down payment on the dream. We believe that our success and Applications Companion (2004), 23. Weimer, W. Patches as better bug
132–136. reports. In Generative Programming
in evolving automatic repairs may say as much about the 11. Jones, J.A., Harrold, M.J. Empirical and Component Engineering (2006),
state of today’s software as it says about the efficacy of our evaluation of the tarantula automatic 181–190.
fault-localization technique. In 24. Weimer, W., Nguyen, T., Le Goues,
method. In modern environments, it is exceedingly difficult International Conference on C., Forrest, S. Automatically finding
Automated Software Engineering patches using genetic programming.
to understand an entire software package, test it adequately, (2005), 273–282. In International Conference on
or localize the source of an error. In this context, it should 12. Koza, J.R. Genetic Programming: Software Engineering (2009),
on the Programming of Computers 364–367.
not be surprising that human programming often has a by Means of Natural Selection. MIT 25. Zeller, A., Hildebrandt, R. Simplifying
large trial and error component, and that many bugs can be Press, 1992. and isolating failure-inducing input.
13. Liblit, B., Aiken, A., Zheng, A.X., IEEE Trans. Software Eng. 28, 2
repaired by copying code from another location and pasting Jordan, M.I. Bug isolation via remote (2002), 183–200.
it in to another. Such debugging is not so different from the
approach we have described in this paper.
Westley Weimer (weimer@virginia.edu), Stephanie Forrest (forrest@cs.unm.edu),
University of Virginia. University of New Mexico.
Acknowledgments
We thank David E. Evans, Mark Harman, John C. Knight, Claire Le Goues (legoues@virginia.edu), ThanhVu Nguyen (tnguyen@cs.unm.edu),
University of Virginia. University of New Mexico.
Anh Nguyen-Tuong, and Martin Rinard for insightful dis-
cussions. This work is directly based on the seminal ideas of
John Holland and John Koza.
This research was supported in part by National Science
Foundation Grants CCF 0621900, CCR-0331580, CNS
0627523, and CNS 0716478, Air Force Office of Scientific
Research grant FA9550-07-1-0532, as well as gifts from Microsoft
Research. No official endorsement should be inferred. The
authors thank Cris Moore for help finding the Zune code. © 2010 ACM 0001-0782/10/0500 $10.00

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

University of Campinas (Unicamp)


Assistant Professor

The University of Campinas (Unicamp), one of the


Advertising in Career leading research universities in Brazil, is seeking
applications from Ph.D.-holders with high academ-
Opportunities ic achievement records in computer science and
How to Submit a Classified Line Ad: Send strong motivation to pursue quality research. We
an e-mail to acmmediasales@acm.org. will provide good working conditions at the Insti-
Please include text, and indicate the issue/ tute of Computing (IC), compatible salary, wel¬fare,
or issues where the ad will appear, and a
contact name and number. tenure-track positions, and good career develop-
ment perspectives. Brazil is a fast developing coun-
Estimates: An insertion order will then be
e-mailed back to you. The ad will by try. Be part of the progress. Come work with us.
typeset according to CACM guidelines. Successful candidates must hold a Ph.D. degree
NO PROOFS can be sent. Classified line ads in computer science/engineering or a closely related
are NOT commissionable. field; have strong commitment to academic excel-
Rates: $325.00 for six lines of text, 40 lence and teaching; and be interested in establishing
characters per line. $32.50 for each and leading an independent and creative research
additional line after the first six. The
MINIMUM is six lines. group. If you would like to join us, please send a CV
in English or Portuguese to carreiras@reitoria.uni-
Deadlines: Five weeks prior to the camp.br. Send a message to info.carreiras@reitoria.
publication date of the issue (which is the
first of every month). Latest deadlines: unicamp.br if you need more information.
http://www.acm.org/publications
Career Opportunities Online: Classified
and recruitment display ads receive a free University of Colorado at
duplicate listing on our website at: Colorado Springs
http://campus.acm.org/careercenter Assistant Professor
Ads are listed for a period of 30 days.
For More Information Contact: The Computer Science Department at the Univer-
ACM Media Sales sity of Colorado at Colorado
at 212-626-0686 or Springs invites applications at Assistant Pro-
acmmediasales@acm.org fessor level with research focus on cyber security.
http://cs.uccs.edu/~cyber/

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

DOI:10.1145/1735223.1735250 Peter Winkler

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.

The solutions of the first two puzzles—and maybe the third as


well—make good use of the Intermediate Value Theorem, which
says if you go continuously from one real number to another, you
must pass through all the real numbers in between. The most
famous application is perhaps the Ham Sandwich Theorem,
which says, given any ham-and-cheese sandwich, no matter how
sloppily made, there is a planar cut dividing the ham, cheese,
and bread, each into two equal-size portions.
The two solved problems are perhaps a bit easier than the
Ham Sandwich Theorem but still tricky and rewarding enough
to be worth your attention and effort.

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

programmers were at exactly


the same altitude on Sunday
as they were on Saturday.

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

Learn more at: www.intel.com/thinkparallel


Copyright © 2009 Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and other countries.
*Other names and brands may be claimed as the property of others.

You might also like