COMMUNICATIONS cacm.acm.oRG OF THE ACM 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-effi cient algorithms aCm General election

Association for Computing Machinery ACM SIGCHI Symposium on 2010 Engineering Interactive Computing Systems

Berlin, German 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) EICS encompasses the former EHCI (Engineering Human Computer Interaction, sponsored & Gavin Doherty (Trinity College Dublin, Ireland) 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 Design of User Interfaces) and TAMODIA (International Workshop on Task Models and (Google, USA) & Phil Gray (University of 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 Lab at Hasso Plattner Institute interactive devices, miniature mobile devices and touch Sponsorship chairs 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 Consortium & Paper Session Association for Prof. Joëlle Coutaz Tutorials Paper Session Computing Machinery 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: 1) advancing the art, science, engineering, Name 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:

J ACM Professional Membership: $99 USD J ACM Student Membership: $19 USD J ACM Professional Membership plus the ACM Digital Library: J ACM Student Membership plus the ACM Digital Library: $42 USD $198 USD ($99 dues + $99 DL) J ACM Student Membership PLUS Print CACM Magazine: $42 USD J ACM Digital Library: $99 USD (must be an ACM member) J 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, J Visa/MasterCard J American Express J Check/money order and optional contributions are tax-deductible under certain circumstances. Please consult with your tax advisor. J Professional Member Dues ($99 or $198) $ ______

J ACM Digital Library ($99) $ ______RETURN COMPLETED APPLICATION TO: J Student Member Dues ($19, $42, or $62) $ ______Association for Computing Machinery, Inc. General Post Office Total Amount D ue $ ______P.O. Box 30777 New York, NY 10087-0777

Questions? E-mail us at [email protected] 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 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 ’s Charles P. Thacker computing history. named 56th recipient of ACM’s By William Aspray A.M. Turing Award. lçada a C

By Jack Rosenberger . L / SO E

Association for Computing Machinery Advancing Computing as a Science & Profession illustration courtesy of

2 communications of the acm | may 2010 | vol. 53 | no. 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 About the Cover: 108 Technical Perspective Integration Right for Your Company? 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,

by sergei yahchybekov/getty images also goes by the name h p James Gray) illustrates Claire Le Goues, and ThanhVu Nguyen the essence of lifelogging, building a metallic image

Photogra attempting to contain a life in every possible medium.

may 2010 | vol. 53 | no. 5 | communications of the acm 3 communications of the acm T rusted 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 STAFF editorial Board and scientific computing society, delivers resources that advance computing as a Drectori of Group Publishing Eitord -in-chief science and profession. ACM provides the Scott E. Delman Moshe Y. Vardi ACM Copyright Notice computing field’s premier Digital Library [email protected] [email protected] 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 Vewpoii nts 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 [email protected] 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 Council 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 Practice 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 Columnists Co-Chairs, Publications Board Jim Waldo subscription). A nonmember annual Ronald Boisvert, Holly Rushmeier Alok Aggarwal; Phillip G. Armour; subscription is $100. The Practice section of the CACM Members-at-Large Martin Campbell-Kelly; Editorial Board also serves as Carlo Ghezzi; Michael Cusumano; Peter J. Denning; ACM Media Advertising Policy the Editorial Board of . Anthony Joseph; Shane Greenstein; Mark Guzdial; Communications of the ACM and other Peter Harsha; Leah Hoffmann; Mathai Joseph; Cributedont Articles ACM Media publications accept advertising Mari Sako; Pamela Samuelson; Kelly Lyons; Co-chairs in both print and electronic formats. All Gene Spafford; Cameron Wilson Bruce Maggs; Al Aho and Georg Gottlob advertising in ACM Media publications is Mary Lou Soffa; Board Members at the discretion of ACM and is intended Contact Points Fei-Yue Wang Yannis Bakos; Gilles Brassard; Alan Bundy; to provide financial support for the various Copyright permission SGB Council Representatives Peter Buneman; Ghezzi Carlo; activities and services for ACM members. [email protected] Joseph A. Konstan; Andrew Chien; Anja Feldmann; Current Advertising Rates can be found Calendar items Robert A. Walker; Blake Ives; James Larus; Igor Markov; by visiting http://www.acm-media.org or [email protected] Jack Davidson Gail C. Murphy; Shree Nayar; Lionel M. Ni; by contacting ACM Media Sales at Change of address Sriram Rajamani; Jennifer Rexford; (212) 626-0654. [email protected] Publications Board Marie-Christine Rousset; Avi Rubin; Letters to the Editor Co-Chairs Abigail Sellen; Ron Shamir; Marc Snir; Single Copies [email protected] Ronald F. Boisvert and Holly Rushmeier Larry Snyder; Veda Storey; Single copies of Communications of the Board Members Manuela Veloso; Michael Vitale; ACM are available for purchase. Please Web SITE Jack Davidson; Nikil Dutt; Carol Hutchins; Wolfgang Wahlster; Andy Chi-Chih Yao; contact [email protected]. http://cacm.acm.org Ee-Peng Lim; Catherine McGeoch; Willy Zwaenepoel M. Tamer Ozsu; Vincent Shen; Communications of the ACM Mary Lou Soffa; Ricardo Baeza-Yates Author Guidelines Rsearce h Highlights (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 Advertising 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 ACMvertisi Ad ng Department 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; Computer Science Teachers Association Please send address changes to T (212) 869-7440 Michael Reiter; Mendel Rosenblum; Chris Stephenson Communications of the ACM F (212) 869-0481 Ronitt Rubinfeld; David Salesin; Executive Director 2 Penn Plaza, Suite 701 Lawrence K. Saul; Guy Steele, Jr.; 2 Penn Plaza, Suite 701 Director of Media Sales New York, NY 10121-0701 USA Gerhard Weikum; Alexander L. Wolf; New York, NY 10121-0701 USA Jennifer Ruzicka Margaret H. Wright T (800) 401-1799; F (541) 687-1840 [email protected] Wb e Association for Computing Machinery Media Kit [email protected] Co-chairs (ACM) Marti Hearst and James Landay 2 Penn Plaza, Suite 701 E R E C Board Members S Y A C E New York, NY 10121-0701 USA L L E Jason I. Hong; Jeff Johnson; P

T (212) 869-7440; F (212) 869-0481 T Greg Linden; Wendy E. MacKay Printed in the U.S.A. H E I N S I Z M A G A

4 communications of the acm | may 2010 | vol. 53 | no. 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

may 2010 | vol. 53 | no. 5 | communications of the acm 5 letterso t the editor

DOI:10.1145/1735223.1735226 Roots of Publication Delay

oshe Y. Vardi wrote 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- Mcomputer 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. A ngelos D. Keromytis, New York M ark Segall, Denver, CO

6 communications of the acm | may 2010 | vol. 53 | no. 5 letters to the editor

develop applications across a range of E vent 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 O pher 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. 2. Jain, N., Mishra, S., Srinivasan, A., Gehrke, J., Widom, Here, I’d like to offer some perspec- 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, A uthor’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 as well as the complex event processing implementing event-processing ap- interactions plications, including stream-oriented vendors, fails to address the needs of the (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 Our readers represent a growing no religious wars over event-process- and because many people have BI skills. 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. com/), a consortium including most vendors in the area, as well as its lead- C redit Line ing academic people, to investigate The Communications cover illustration common functions and steps toward a of Amir Pnueli (Jan. 2010) was inspired common modeling language. by a photograph taken by Dan Porges/ On the range of applications. Some Photo Shwartz. have asserted the field is overly focused on financial services to the exclusion Communications welcomes your opinion. To submit a http://www.acm.org/subscribe Letter to the Editor, please limit your comments to 500 all other industries. This might be true words or less and send to [email protected]. for some of the smaller vendors, but the field’s major vendors report they © 2010 ACM 0001-0782/10/0500 $10.00

M ay 2010 | vol. 53 | no. 5 | communications of the acm 7 in the virtual extension

DOI:10.1145/1735223.1735227 I n 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 I s 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- based integration experience lower cost, Monitoring Ambient Air Quality such as negotiation, sales, coaching, and strategic networking. The authors examine higher operational efficiency, a more 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 Academic Focus satisfaction, coordination, cooperation, and commitment with partners, and Sensors are finding a growing number 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 point: IT investment in the health care surrounding environment. The authors between partners than companies using industry has more than doubled in recent discuss the different functional units 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 Wonil Hwang and Gavriel Salvendy the author considers the challenge of 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 acm | may 2010 | vol. 53 | no. 5 ACM, INTEL, AND GOOGLE THE ACM CONGRATULATE CHARLES P. THACKER A. M. TURING FOR THE PIONEERING DESIGN AND REALIZATION AWARD 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

of our research to the general public, to NSF Funding Advice; the administration, and to Congress. Writing a highlight is a good opportu- nity to practice this form of communi- 21st Century Innovation 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 the acm | may 2010 | vol. 53 | no. 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 blog-cacm/51326 Information Science and Engineering at NSF. Daniel Reed faculty to serve as “rotators” to NSF. 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

may 2010 | vol. 53 | no. 5 | communications of the acm 11 cacm online ACM Member News

DOI:10.1145/1735223.1735229 David Roman Er ic Brewer Wins ACM-Infosys Foundation Award Looking for Control 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 from university classrooms (http://cacm.acm.org/news/79243). Emergency (and didn’t need clusters), 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 love-to-chat-legally-or-otherwise_M11236.html). That countries that I hope to bring 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. users new ways to sift The rural populations need

technology help the most— oto.com

through, sort, inter- h urban customers will be well p rogate, and organize

addressed by businesses due tock s online information. to their density and ease of I reach. I hope that some of the TIER technologies around connectivity and energy will return to the rural U.S.” l

—Jack Rosenberger I lustration from

12 communications of the acm | may 2010 | vol. 53 | no. 5 news

Science | DOI:10.1145/1735223.1735230 Jeff Kanipe M odeling the N Astronomical Advances in computer technology have changed the way astronomers see and study the universe.

sotr nomers once learned everything they knew about the universe from telescopes, spectroscopes, and other optical instru- Aments. 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. served. Even in clusters, galaxies are lçada a C

. small compared to the vast distances ies. Most of these disturbed specimens computer simulations of galaxy inter- L /

SO between them, therefore an encounter could only be explained as products of actions in the early 1970s. They de- E 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

illustration courtesy of shaped galaxies and spheroidal galax- Boulder, conducted some of the first run on state-of-the-art mainframes

may 2010 | vol. 53 | no. 5 | communications of the 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, T he last decade “rain out” silicates, effectively sand- preventing millions of new stars from th blasting the planet’s surface. forming there. of the 20 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 the acm | may 2010 | vol. 53 | no. 5 news than five million SETI@home volun- Information Retrieval teers, essentially constitutes one of the “ Exoplanets are world’s largest supercomputers, and is Data an excellent example of how a network greatly expanding 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 on Sustainable Digital Preservation program, Galaxy Zoo, uses tens of Bruce Fegley, Jr. and Access released its final report, thousands of home computers, but “They provide us Sustainable Economics for a in this case the processing power lies Digital Planet: Ensuring Long-term Access to Digital Information, a mostly in the human brain. Origi- with all sorts of two-year effort that addressed nally launched in 2007, Galaxy Zoo oddball planets the economic challenges of is the most massive galaxy classifica- preserving the world’s ever- that one could only increasing amount of digital tion project ever undertaken. Galax- information. ies come in a mind-boggling variety imagine in the past.” “The data deluge is of shapes and combinations, making here,” said Fran Berman, classifying them extremely difficult. vice president for research 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 problem we were facing is one of pat- Stinson, G., Quinn, T., Madau, P. Bulgeless dwarf galaxies and dark matter amount of digital information generated in 2011 will be 10 tern recognition, and for this task, we 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 sification is correct about only 80% of A mass for the extrasolar planet Gl 876b determined from Hubble Space Telescope preservation over the longer the time, says Lintott. “That may not fine guidance sensor 3 astrometry and term. The report provides principles and actions to sound too bad, but the missing 20% high-precision radial velocities, The support long-term economic Astrophysical Journal 581, 2, Dec. 20, 2002. are often those that are unusual and 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 have discovered, humans are adept at of evaporating super-earths, The the report; and an agenda for Astrophysical Journal 703, 2, June 2, 2009. priority actions and next steps. 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 present-day universe, but it was only be- discourse, research data, 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 produced Web content, such A new incarnation of the project, Based near Boulder, CO, Jeff Kanipe is a science writer as blogs. Galaxy Zoo 2, is now under way and in- and author of The Cosmic Connection: How Astronomical Events Impact Life on Earth. The report is available at 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.

may 2010 | vol. 53 | no. 5 | communications of the acm 15 news

Technology | doi:10.1145/1735223.1735231 Gary Anthes H appy Birthday, RDBMS! The relational model of data management, which dates to 1970, still dominates today and influences new paradigms as the field evolves.

ory t 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- Fin 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- 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 by chad nackers h of abstraction so that programmers no tional model did. It became the basis of work that made relational database p 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 Photogra

16 communications of the acm | May 2010 | vol. 53 | no. 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- System R, Ingres, and their commercial work, patented by Google this year, will Further Reading progeny proved that relational systems supplant the relational model for very Codd, E.F. could provide excellent performance. large distributed data sets. [See “More A relational model of data for large shared 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. mainframes, while Ingres and its deriv- 5 of the January 2010 issue of Communi- Selinger, P.G., Astrahan, M.M., Chamberlin, D.D., 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. Looking Ahead With The simplicity of the relational 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 like me, it was much easier to develop is renowned as a database architect and a pioneer in several database technologies, 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

may 2010 | vol. 53 | no. 5 | communications of the acm 17 news

Society | DOI:10.1145/1735223.1735232 Samuel Greengard C loud 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.

v er 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, Odata 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

introduced cloud-based commercial rsman e H

services. In addition, IBM has estab- ik r lished cloud computing centers in E by h Beijing, China; Bangalore, India; Ha- p 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. Photogra

18 communications of the acm | may 2010 | vol. 53 | no. 5 news

For a growing number of organiza- Milestones tions worldwide, it’s a quick and af- C loud computing fordable way to tap into infrastructure CS Awards as an Internet service. In addition, a could “level growing array of enterprise software Mary Jane Irwin and other vendors, including Salesforce.com the playing field,” members of the CS community and Freshbooks.com, exclusively pro- were recently honored for says World Wide their research contributions. vide cloud-based services for custom- Web Foundation’s ers. And Apple and Blackberry make 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 Professor of Computer Science . it breaks down of Pennsylvania State University, But the story doesn’t end there. the 2010–2011 Athena Lecturer In India, Africa, and South America, barriers to entry.” for her outstanding research cloud computing allows organiza- contributions to computer-aided 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. ing and IT at Makerere University in Even more remarkable is how NAE 2010 Members 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 nal IT infrastructure to scale up and of bounds in the past. The New York engineering. They are: Andrei 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; ing phone numbers for marketing de- and a cloud platform allows organiza- Rupak Majumdar, University of 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.

may 2010 | vol. 53 | no. 5 | communications of the 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. I n 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 width than many locations provide. Further Reading It’s not practical to constantly upload to a $15 billion Fingar, P. and download all the data. In some Dot.Cloud: The 21st Century Business industry by 2013. 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

R obin 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 y

functional programming Associate of the National for it by listening and talking to h language in the late 1970s; Academy of Engineering. those who will be!” p 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 fayette Photogra a in 1980. In an interview with Richard issue. At press time, an online L by

Milner’s career included Morris, which was published at memorial for Milner had been h being a programmer at simple-talk.com last January, established at http://lifestrand. p Ferranti, a now-defunct Milner discussed his bigraphs net/robin_milner.

British electronics company; research, saying, “I’m working —Jack Rosenberger Photogra

20 communications of the acm | may 2010 | vol. 53 | no. 5 news

Milestones | doi:10.1145/1735223.1735233 Jack Rosenberger

cal and experimental analysis of algo- T hacker Wins rithms, and Kurt Mehlhorn of the Max Planck Institute is the recipient of the Turing Award 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- ness without David Johnson,” Lance w ards 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 AScience, 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, 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

rcin Wichary a $250,000 prize, with financial support in the social impact category. a M provided by Intel Corp. and Google Inc. Theoretical CS Awards by h p 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

Photogra issue of Communications. Prize for his contributions to theoreti- © 2010 ACM 0001-0782/10/0500 $10.00

may 2010 | vol. 53 | no. 5 | communications of the acm 21

IHI 2010 – CALL FOR PAPERS 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.

General Chair 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 General Chair 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 Proceedings Chair • 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 Local Arrangements Chair • 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 Treasurer • 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 Staff Liaison • 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 Registration Chair continuous biomedical signals to trigger alerts) Bugra Gedik, IBM Research Intelligent medical devices and sensors • Poster/Demo Chair • 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 Chair • 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) Industry Support Chair • 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 Publicity Co-Chair • Personalized predictive modeling for clinical management (e.g., trauma, diabetes mellitus, sleep Deepak Turaga, IBM Research disorders, substance abuse) • Physiological modeling Publicity Co-Chair • 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 the acm | may 2010 | vol. 53 | no. 5 acm election ballot

d oi:10.1145/1735223.1735251 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 [email protected] 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

may 2010 | vol. 53 | no. 5 | communications of the acm 23 acm election ballot

candidates for pr esident (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 the acm | may 2010 | vol. 53 | no. 5 acm election ballot candidates for pr esident (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 H onors/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?

may 2010 | vol. 53 | no. 5 | communications of the acm 25 acm election ballot

candidates for v rice p esident (7/1/10 – 6/30/12)

N orman 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 the acm | may 2010 | vol. 53 | no. 5 acm election ballot candidates for v rice p esident (7/1/10 – 6/30/12)

Bar bara G. Ryder J. Byron Maupin Professor of Engineering Head, Department of Computer Science Virginia Tech Blacksburg, VA, USA

Biography S tatement 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).

may 2010 | vol. 53 | no. 5 | communications of the acm 27 acm election ballot

candidates for sec y retar /treasurer (7/1/10 – 6/30/12)

C arlo 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 the acm | may 2010 | vol. 53 | no. 5 acm election ballot candidates for sec y retar /treasurer (7/1/10 – 6/30/12)

A lexander L. Wolf Professor Department of Computing Imperial College London United Kingdom

Biography S tatement 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.

may 2010 | vol. 53 | no. 5 | communications of the acm 29 acm election ballot

candidates for members at large (7/1/10 – 6/30/14)

vinton G. cerf S atoshi 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 the acm | may 2010 | vol. 53 | no. 5 acm election ballot candidates for members at large (7/1/10 – 6/30/14)

Salil Vadhan F ei-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.

may 2010 | vol. 53 | no. 5 | communications of the acm 31 viewpoints

doi :10.1145/1735223.1735234 Erik Brynjolfsson, Paul Hofmann, and John Jordan VE conomic 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.

ui s nesses rely 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 Bprofessionals 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 A n 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 the acm | may 2010 | vol. 53 | no. 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 V 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- 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 uart bradford

t dams of the northwest U.S. ory, and storage, so simply renting more micro-hydro, wind, micro-turbines and S 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 l I lustration by business model weaknesses. The CAP Theorem says one cannot have will continue to keep certain classes of

may 2010 | vol. 53 | no. 5 | communications of the 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 I f 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. 6. Foley, J. Plug into the cloud. InformationWeek (Sept. process was the potential of electrifica- be interchangeable across cloud pro- 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 ([email protected]) 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 ([email protected]) 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 ([email protected]) 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 the acm | may 2010 | vol. 53 | no. 5 viewpoints

Vdoi :10.1145/1735223.1735235 Cameron Wilson and Mark Guzdial E ducation How to Make Progress in Computing Education Improving the research base for computing education requires securing competitive funding commitments.

dcou ati n is the economic issue of the 21st century. Driven by global trade and a technologically connected, always-on global work force, Ecountries 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- 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 y/getty images h p 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

adley Photogra tion. As computing transforms society cusing resources on the “core” that stu- specific to computing—a form of do- r B for the digital age, students need to be dents must know. Rigorous computing main-specific education research. Gen- ve a D able to think computationally about courses, if they exist, aren’t typically in eral education research helps us un- by h p 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 h p otogra concepts? We need research to tell us. ence, where you can’t really measure learning. Domain-specific education

may 2010 | vol. 53 | no. 5 | communications of the 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 issues for computer science teachers, which have been explored in a report by the Computer tion research. A cursory review did not find any 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 the acm | may 2010 | vol. 53 | no. 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 I t 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 ([email protected]) 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 ([email protected]) 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.

may 2010 | vol. 53 | no. 5 | communications of the acm 37 viewpoints

Vdoi :10.1145/1735223.1735238 Roman Beck Viewpoint Can IT Lean Against the Wind? Lessons from the global financial crisis.

het Sep ember 2009 Communi- cations Editor’s Letter “The Financial Meltdown and Computing” by Moshe Vardi suggested a link between Tthe 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-

destroyed a prominent symbol of Wall systems were unprepared to handle the cial disaster. In both cases, threats origi- rams b A y

Street. It also destabilized the finan- flood of automatically generated trades nated from outside the system, and the a cial clearing and settlement systems of intended to contain losses to distribut- system responded well. The financial R nry e major banks located nearby. Foreign ed financial institutions. The LSE there- meltdown of 2008 was due to threats in- H 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 ing systems, and created instead a fast horses, embedded in the system by the

global financial calamity. However, in sociated Press/ s part because of remedies applied dur- market for non-binding, indicative pric- system’s participants. Intrusion detec- A by h ing the Y2K crisis, emergency back-up ing to make up the difference. Member tion systems could not alert the risk p 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 Photogra

38 communications of the acm | may 2010 | vol. 53 | no. 5 viewpoints

that financial industry professionals in investment banks, brokerages, pension Calendar funds, and other organizations lacked I t was not possible the tools to treat simultaneous crises to assess risks of of Events from operational, credit, and market 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 specialists planned for. Conference, industry experts Bertinoro, Italy, V Sponsored: SIGMICRO, Liquidity Crisis simply assumed the Contact: Nancy M Amato, The collapse of Northern Rock, the Email: [email protected] 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: [email protected] 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: [email protected] 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: [email protected]. 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: [email protected] 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: [email protected] 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: [email protected] 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 global financial system had slowed to ners have provided given data. It seems and Engineering, 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: [email protected] 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.

may 2010 | vol. 53 | no. 5 | communications of the 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 I t 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. catch up with what is being traded. Technology and But, as every seasoned IT professional realizes, such standardization must Systems 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 figurable computers. Topics include might not be enough to avoid problems jobs more effectively. IT professionals, 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 ([email protected]) 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 the acm | may 2010 | vol. 53 | no. 5 viewpoints

Vdoi :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.

et reac s promptly to every sound from his BlackBerry. He checks his BlackBerry continuously, can’t even think of missing a single Hmessage, 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 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 by gage young h 2 p addiction; for example, the term “crack- al preoccupation). 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

Photogra dictive nature of such technologies. facilitate and augment excessive email negative emotions when interrupted.

may 2010 | vol. 53 | no. 5 | communications of the 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 T he 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. that problematic use of technology ex- ˲˲ Damages—whether the mobile 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 the acm | may 2010 | vol. 53 | no. 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- M obile 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 atp <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- 2. block, J.J. Issues for DSM-V: Internet addiction. Taken together, these results dem- 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 email). Reported frequencies ranged meet addiction criteria,2 and that 7.5% for Recovery. Wiley, New York, 1998. from once a year or less to every day. of a sample of teenagers has been diag- Ofir urelT ([email protected]) 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 ([email protected]) 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.

may 2010 | vol. 53 | no. 5 | communications of the acm 43 ACM Europe CACM Ad_March 2010_Watermark:Layout 1 3/17/10 3:06 PM Page 1

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, 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 [email protected] or http://europe.acm.org/ Representation of European work in ACM Awards and Advanced Membership Grades

http://europe.acm.org viewpoints

Vdoi :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.

o m e o f t h e science and technology museums around the world are de- voted to science discov- ery—to teaching their Svisitors, 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 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 tional museum of american history a N

. their interpretations. associated information and documen- accounts of these museums and that S . U 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, courtesy of the h p to interpret the artifacts and set them in preparing educational materials, and William Aspray ([email protected]) 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 h p otogra in this series is the result of years of hu- one facet of what these museums do. Viewpoints section board member.

may 2010 | vol. 53 | no. 5 | communications of the acm 45 viewpoints

The Science Museum in London Tilly Blyth

Highlights of the London The Science Museum’s collections in London form an enduring record of Science Museum’s scientific, technological, and medi- Computing Collection 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- collections grew through the absorp- 2 4 chine, 1876: By cranking the handle, 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 (1791–1871). In Victorian Britain 8 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 interested in mechanizing the produc- 9 10 computer in the world. 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 firstA pple 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 the acm | may 2010 | vol. 53 | no. 5 viewpoints and tangibly support Babbage’s reputa- The Deutches Museum tion as a computing pioneer. Hartmut Petzold Examples of both types of machine T he 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 ([email protected]) 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

may 2010 | vol. 53 | no. 5 | communications of the 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 T he 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 ([email protected]) 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 the acm | may 2010 | vol. 53 | no. 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 Further information about all of the “first computer bug,” a moth taken 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 2. A UNIVAC I Console, 1951: In ad- 3 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 Hopper, Ralph Baer, and Herb Grosch. and card reader/punch, plus documen- 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 resources/fa_comporalhist_index.aspx ). inventor Ralph Baer. 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 of the American economy and to survey 9 10 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 ([email protected]) 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.

may 2010 | vol. 53 | no. 5 | communications of the acm 49 practice

d oi: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 E nhanced Debugging with Traces

Creag tin an emulator to run old programs is a 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 considerable amount of debugging. The bugs— stage in the execution. At that point 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. actual known bug in the original program. (It is also Obviously there is enormous vari- 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 illustration by studio tonne

50 communications of the acm | may 2010 | vol. 53 | no. 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

may 2010 | vol. 53 | no. 5 | communications of the acm 51 practice

certainly isn’t as easy as using a ref- erence, but there is a good chance of finding the error without constantly Screen Image Chain 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- tion 0x8004074. You may find an entry An Example 6502 Trace 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 the array bounds were not correctly re- is included to show the reading or writing of data values onto the system bus. 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 the acm | may 2010 | vol. 53 | no. 5 practice

fact, a virtual entity. The capability al- and discover that the simplifi ed 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 signifi cantly reduce the higher-Level traces time required to fi nd 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 fi le. 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 fi les would capture open/close and on queue.acm.org CPU implementation is an elaborate read/write operations. Code built on illusion in many cases. All Java (and top of a database might log SQL state- no Source Code? no Problem! 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 verifi ed 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 fi rst code the ref- 15 years of experience in software development and has modern operating systems enforce a erence implementation and use it to spent the past 10 years of that working on console games. 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

may 2010 | vol. 53 | no. 5 | communications of the acm 53 practice

d oi: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- 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 Principles inadequate for future challenges. One area where this is true is the telecom- munications industry, which is busy replacing mobile base-station synchro- of Robust nous backhaul systems (which used to provide sub-microsecond hardware- based synchronization as a by-prod- uct) with inexpensive asynchronous Timing over Ethernet lines. Another is high-speed trading in the finance industry, where a direct relationship exists between re- ducing latencies between exchanges the Internet 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- Evr e yone, and most everything, needs a clock, and aged, and this is impossible without computers are no exception. However, clocks tend to precise synchronization. ultimately drift off, so it is necessary to bring them to The Clockwork heel periodically through synchronizing to some other When the discussion turns to clocks, 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 has been used to allow client computers, such as PCs, a clock C reads C(t) at true time t. Fig- 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 exchange of packet timestamps transported in NTP- the blue clock Cs(t) = C0 + (1 + x)t is out 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 the acm | may 2010 | vol. 53 | no. 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 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 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- by sergei yahchybekov/getty images h p 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,

Photogra time origin: ic clock is even more expensive and still but we will be generous and assume a

may 2010 | vol. 53 | no. 5 | communications of the 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 Constant Perfect Clock Skew Clock as the host component by itself. Each an absolute clock Ca(t) can be low, high-

Clock Time Drifting Clock varies well above its minimum value, ly variable over time, and a slave to net- C (t ) Constant s k 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- C (t ) d k must somehow see through. set, including backward. Though this may be rare, it makes them less than C (t ) p k The Right Clock for the Job ideal for use 1. The three main uses of a clock are to: A better choice for establishing C (t ) o k ˲˲ Establish a strict order between temporal order is a well-behaved raw events, counter such as HPET(t), which in- tk True Time ˲˲ 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

s] 600 m

400 RTT [ RTT

200

0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 Hours

56 communications of the acm | may 2010 | vol. 53 | no. 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 s] m 50

0

Clock Error [ Error Clock −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-

may 2010 | vol. 53 | no. 5 | communications of the 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 s] m 250 100 0 −100 Clock error [ −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 the acm | may 2010 | vol. 53 | no. 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 should nonetheless be insensitive to and can dwarf other errors. With feedforward, their precise values. There is another key point to remem- the hardware reality The other fundamental physics ber here. It is that any change in either 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 view rather than lays, and hence OWD and RTT, is that used by the algorithm, makes the clock 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 value) is clearly seen in Figure 3 in the host and the server r = 15 ms away, an algorithmic glasses. 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

may 2010 | vol. 53 | no. 5 | communications of the 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 1 very poor estimate of pav is sufficient drift considerably, or worse. GPS-synchronized DAG capture card 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- 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 Offset estimates [ms] and good as bad, and there is no limit to 4 4.5 5 5.5 the potential damage. Trust yourself. Yes, the server is the Te [day] expert, without which synchronization would be impossible. Still, it should

60 communications of the acm | may 2010 | vol. 53 | no. 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 a limited capability to query a server is telling you that congestion is low, Yes, the 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 to its hardware and believes it is syn- hardware and use the model to sanity- without which chronized, and there is no ability to check the server. Basically, a drift well synchronization query the set of servers as a whole. An over 1 ppm is not credible, and the al- interconnected and asymmetry-aware gorithm should smell a rat. would be Stratum-1 infrastructure could provide When in doubt, just drift. What if con- impossible. a number of valuable services to cli- gestion has become so high that none 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 client, automatic provision of backup the server, or if I have lost contact with be trusted. Servers 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 server quality. Currently no one is in back and relax. Nothing bad will hap- their bad periods, a position to point the finger at flaky pen unless the algorithm chooses to and blind faith in servers, but they are out there. make it happen. A reaction of inaction 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 to deep trouble. address these issues and others as allowing the counter to drift gracefully. 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

may 2010 | vol. 53 | no. 5 | communications of the 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 performance, uptime, and vendor re- sponsiveness, much as has been the case with the Web hosting industry. Notwithstanding, it is the expectation Why Cloud of enterprise management that operat- ing expenses be reduced through the use of cloud computing to replace new and existing IT infrastructure. This dif- Computing ference between expectation and what the industry can deliver at today’s near- zero price points represents a chal- lenge, both technical and organiza- Will Never tional, which will have to be overcome to ensure large-scale adoption of cloud computing by the enterprise. Be Free 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 Thes la t time 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- based on a revolution of new technologies, significant mand as required. ˲˲ 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. shared infrastructure have set the expectation ˲˲ Connectivity. All of the servers are 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 the acm | may 2010 | vol. 53 | no. 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 ill e Service Models Java, or LAMP. The advantage of PaaS same time, the cloud computing mar- N ry

a Cloud is divided into three basic ser- is that the developer can buy a fully ket is becoming more crowded with G 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- l I lustration by This is the most basic of the cloud rently is the highest layer in the cloud lished players. The result of many pro-

may 2010 | vol. 53 | no. 5 | communications of the 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, cal server, or “thin provisioning.” Com- gasoline, airline seats, and cellphone T he cloud mercial virtualization management service, are characterized by a number computing market software such as VMWare or Virtuozzo of supplier behaviors aimed at avoid- offer the ability to overallocate resourc- ing the downsides of perfect competi- is becoming more es on the underlying hardware, result- tion, including: crowded with ing in reduced performance during ˲˲ Artificially differentiating the peak loads. product through advertising rather large providers Like overcommitment, limiting than unique product characteristics entering the playing access to infrastructure resources or ˲˲ Obscuring pricing through the use choosing lower-priced, lower-perfor- of additional or hidden fees and com- field, each one of mance (and potentially older) infra- plex pricing methodologies structure is used by vendors to make ˲˲ Controlling information about which trying to providing cloud computing at rock- the product through obfuscation of its differentiate itself bottom prices viable. We entered the specifications cloud provider business after discover- ˲˲ Compromising product quality in from the already ing we could not guarantee enterprise- an effort to increase profits by cutting established players. grade performance to our customers corners in the value delivery system 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 the acm | may 2010 | vol. 53 | no. 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 ill e at low margins is changing the land- Navigating Today’s in which it is not achieved. However, N ry a scape. For example, Amazon AWS intro- Perfectly Competitive since their infrastructure is not de- G 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 l I lustration by their services with a nearly identical toward perfect competition, presents the benefit of claiming that level of reli-

may 2010 | vol. 53 | no. 5 | communications of the 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 ill

the costs are for such downtime. This quiz the cloud provider on the design costs involved in supporting its deploy- e N ry

creates a carnival atmosphere in the of their infrastructure, the universe ment in your business. a cloud community where ever higher of possibilities for constraining per- G 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 l them…another race to the bottom. for the hardware-savvy consumer. At The current myopic focus on price has I lustration by

66 communications of the acm | may 2010 | vol. 53 | no. 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 of the enterprise, which significantly 1.0, there are a large number of busi- T he current myopic raise resource prices. ness applications running in purpose- focus on price has Technology challenges faced by Cloud built data centers today for which a 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 computing product supplying their enterprise customers reason, we see the necessity for a new 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- customed to from their purpose-built prise markets. This second-generation on the table for the 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- storage technologies are used in a able, and secure computing infrastruc- enterprise-grade 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

may 2010 | vol. 53 | no. 5 | communications of the 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- impacting not only the design of the ware were all developed in-house, is T ransparency cloud service, but the technologies it no longer practical. Instead, clouds are allows the rests on such as operating systems, being built out of commercial technol- device drivers, and network infrastruc- ogy stacks with the aim of enabling the customer to gain ture. Another example is computing cloud vendor to go to market rapidly a level of trust and minimizing the costs of fragmen- while providing high-quality service. 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 while taking into consideration the offering reliability, 24x7 support, ad- performance of the time dependence of individual custom- equate quality (especially in software), infrastructure and ers’ loads and resource requirements. and easy integration is extremely dif- The role of services. When cloud in- ficult, given that most legacy technolo- the vendor. Taking 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 way? That would be services, such as some spectacular Cloud 2.0 technol- also be necessary ongoing administration, incident re- ogy failures, as was the case with Cloud for the vendor to sponse, SLA assurance, software up- 1.0. Another issue with this approach is 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- compliance, is caused by factors other than hard- tion that actually provides the reliabil- ware,3 services are essential to reliable ity advertised by the cloud vendor. and/or regulatory production computing. Traditionally Why transparency is important. these services have been delivered by Transparency is one of the first steps requirements. 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 the acm | may 2010 | vol. 53 | no. 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. during the deployment window. These viding CPU cycles, the cloud provider aspx 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 ([email protected]) 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

may 2010 | vol. 53 | no. 5 | communications of the 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 bybi A iga l Sellen and Steve Whittaker paper and digital documents we work on or look at; email, paper mail, and instant messages sent and received; content of telephone conversations; Web sites visited; and charge-card Beyond Total transactions. Also included are data from other everyday activities (such as still images, video, ambient sound and location data). Finally, these personal Capture: archives might also be supplemented with environmental measures (such as light intensity and temperature variation) and even internal, biosensor A Constructive data (such as heart rate and galvanic skin-response measures) reflecting our physical and emotional state. Constructing such a diverse archive of personal information requires a Critique of range of technologies for its capture, management, and storage. Today’s advances in wearable sensors, net- working capabilities, and massive Lifelogging 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 Whai t f we 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,  F ocusing on “total capture,” current and how might it affect the way we live? This vision approaches to lifelogging have failed to explore what practical purpose such of a complete “lifelog” is the holy grail for many 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

memory and its key processes and rchesi a

has become a U.K. Grand Challenge in Computing weaknesses. M

Psychology as design framework could acomo (http://www.nesc.ac.uk/esi/events/Grand_Challenges/   i help define the types of memory such G proposals/), and many research programs today are systems should support, along with their key interface properties and need dedicated to developing technologies to support the to work in synergy with human memory, l archiving of vast amounts of personal data. A 2009 rather than as its replacement. I lustration by

70 communications of the acm | may 2010 | vol. 53 | no. 5 may 2010 | vol. 53 | no. 5 | communications of the 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 the acm | may 2010 | vol. 53 | no. 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 aspects of a past experience can serve was a focus, involving users carrying S urprisingly, many practical purposes; examples or wearing small devices tracked by many lifelogging include locating lost physical objects localized networked sensors. More by mentally retracing our steps, recol- recent wearable systems use head- systems lack an lecting faces and names by recalling mounted still and video cameras,15 explicit description when and where we met someone, or sensor-triggered still cameras worn 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 for users, focusing Reminiscing. As a special case of rely on instrumented environments that 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” tional or sentimental reasons. This can (http://architecture.mit.edu/house_n/ challenges. 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:F ive 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

may 2010 | vol. 53 | no. 5 | communications of the 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 the acm | may 2010 | vol. 53 | no. 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, areas of true value to users. This means research at the University of Sheffield C ollections of digital that, rather than the overambitious in 2008 on desktop search suggests it data can serve goal of “logging everything,” creators is used only infrequently. More impor- 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 autobiographical of data people find most valuable and leads to increased use of search tools.3 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 sience of memory (implicitly addressed effective access to and exploitation of past events but are by much lifelogging technology), people our personal digital archives. not memories in are subject to myriad other distortions In general, these findings imply that and inaccuracies in memory (such as archival data may be less valuable than themselves. 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

may 2010 | vol. 53 | no. 5 | communications of the 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- cerned with recollection, but rather pened in someone’s life, rather than S ystems supporting with efficient ways of searching though genuine recollection23; for example, a reminiscence and large heterogeneous collections of data photo showing us having lunch with 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 received far less tem designers decide to support remi- we must have been there. Finally, while 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 ing of data with others). Systems for people, for prospective memory (mem- those supporting 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 ible and novel methods for viewing per- the type of cue but rather when a cue retrieval. 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 the acm | may 2010 | vol. 53 | no. 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,N ew 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. want to forget, a view anathema to the 4. Berry, E., Kapur, N., Williams, L., Hodges, S., Watson, 25. tulving, E. Elements of Episodic Memory. Oxford P., Smyth, G., Srinivasan, J., Smith, R., Wilson, B., and 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 Cues not capture. System designers a pictorial diary to improve autobiographical memory in Lassey, B. An audio-based personal memory aid. In a patient with limbic encephalitis. Neuropsychological 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. systems do not “capture experiences” 5. brewer, W. Memory for randomly sampled 27. Whittaker, S., Bergman, O., and Clough, P. Easy on 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, ger different kinds of memories. This is (Jan. 2010), 31–43. 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 ([email protected]) 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. Press, Milton Keynes, U.K., 1990. eted set of concepts. There are different 9. czerwinski, M., Gage, D., Gemmell, J., Marshall, C., Steve Whittaker ([email protected]) 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

may 2010 | vol. 53 | no. 5 | communications of the acm 77 contributed articles

d oi: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- byl C ayton Lewis, Michele H. Jackson, sults provide insight into sometimes and William M. Waite surprising attitudes, and can help guide curricular improvement. In physics education, research1,13 into key attitudes and beliefs about physics as a discipline and how they S tudent and change suggests that courses some- times shift student attitudes away from the attitudes endorsed by faculty. In particular, students may move to- Faculty ward the view that physics is mainly about memorizing and evaluating for- mulae, rather than about a conceptual understanding of the natural world. CS faculty are also likewise con- Attitudes and 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 Beliefs About not relevant to the real world.” Do stu- dents hold such views? As they move through the curriculum, do their be- liefs come to resemble those of faculty Computer teaching them? Our study collected and analyzed data on these points. Specifically, we collected responses to 32 questions Science 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- Whasu t t dents think about a discipline—its structure, paring the responses of beginning usefulness, how it is learned—plays an important key insights role in shaping how they approach it. Just as faculty  T he attitudes of beginning CS students members aim to have their students learn the facts are more varied than final-year students, suggesting the curriculum plays an and skills of a discipline, they may also want to important role in shaping them. shape student beliefs and attitudes. Here, we report  F inal-year CS students generally show little appreciation for skills involving the attitudes of undergraduate computer science 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 the acm | may 2010 | vol. 53 | no. 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 Phee c M relevant with small changes) to CS; an survey consisted of 32 items; the table should be left intentionally blank so c i N interview study of student attitudes here includes the item numbers (non- responses from participants who sim- by h p 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.

Photogra attitudes causing them concern; and Each of the 32 items asked faculty In the final week of the spring 2006

may 2010 | vol. 53 | no. 5 | communications of the acm 79 contributed articles

Survey results

% Agree with Senior Faculty Response Agreement Change with Seniors Item # Fyacult 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 the acm | may 2010 | vol. 53 | no. 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-

may 2010 | vol. 53 | no. 5 | communications of the 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 the acm | may 2010 | vol. 53 | no. 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. cussed. There was variation in the Less than half of the seniors reject- O nly 68% of number of seniors endorsing the fac- ed item 66 (“If you know what you are seniors agreed ulty consensus, pointing to the value doing you can leave work to the last of concepts and understanding. For minute and still get it done”), confirm- with faculty that two of the apparent bright spots, item ing a problem identified by Waite et doing things right 12 (“I am not satisfied until I under- al.16 and Leonardi et al.8 that students 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- than just getting something you don’t need to under- onstrate personal prowess, writing: 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- among CS1 students. Only for item 46 ing until the last minute to begin a this response (“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, ure it out on my own”) was the greater beginning an assignment late makes a significant agreement by seniors than by CS1 stu- successfully completing the task more improvement dents statistically significant. difficult, and, thus, is a sign of their ex- 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 of CS1 students. less with faculty than did the CS1 stu- projects were due, informants regu- 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.

may 2010 | vol. 53 | no. 5 | communications of the 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 cussed a similar contrast between ac- only middling agreement between se- F aculty must complishment and creativity in engi- niors and faculty, with agreement by consider ways to neering.3,14,10 It is possible that the two seniors greater than by CS1 students. perspectives—CS as accomplishment For item 48 (“There are times I solve a move students and CS as intellectual discipline— computer science problem more than toward the idea that could be in tension with one another. one way to help my understanding”), 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 computer science We can revisit some of the data re- with faculty. 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 were in conflict with faculty on two curriculum if they work at it”) reflects requires a lot of 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- lar. First, seniors believed that wait- fort is the key to success, but most se- than away from it. 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 the acm | may 2010 | vol. 53 | no. 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 learning physics: The Colorado Learning Attitudes 22) were relevant to everyday life, and address underrepresentation of wom- 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 4,11,12,18 15,16 and engineering practice: Improving the fit. In cluster 1 and 63% for cluster 2, not very sions. Waite et al. 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. 8. Leonardi, P.M., Jackson, M.H., and Diwan, A. The intellectual discipline. by faculty on assignment grades and enactment-externalization dialectic: Rationalization encouraging collaboration can im- and the persistence of counterproductive practices Conclusion in student engineering. Academy of Management 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. ficult or that they are all aware of the 14. Vincenti, W.G. What Engineers Know and How They the curriculum. Collecting data in key 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. 6 17. Wing, J. Computational thinking. Commun. ACM 43, 3 Besides being important learning ample, Crouch and Mazur ). 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 ([email protected]) is a Acknowledgements professor in the Department of Computer Science at the late to performance on content as- 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 ([email protected]) 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

may 2010 | vol. 53 | no. 5 | communications of the acm 85 review articles

d oi:10.1145/1735223.1735245 battery-operated devices that have A lgorithmic 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 B y Susanne Albers more serious in autonomous, distrib- uted devices such as sensor networks where the charging of batteries is dif- ficult or impossible. Finally, energy dissipation causes thermal problems. Most of the energy consumed by a sys- E nergy- tem is converted into heat, resulting in wear and reduced reliability of hard- ware components. For these reasons, energy has Efficient become a leading design constraint for computing devices. Hardware engi- neers and system designers explore new directions to reduce the energy Algorithms 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 Enry e g conservation is a 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 speed-scaling problems that arise in consumption continues to grow, power costs can easily many environments. 12 overtake hardware costs by a large margin. In office  E nergy conservation involves decision making with incomplete information environments, computers and monitors account 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 the acm | may 2010 | vol. 53 | no. 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. 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 l I lustration by mark ingknol papers also present algorithmic natural question arises: Is it possible resides in one of several states. In

M ay 2010 | vol. 53 | no. 5 | communications of the 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- their worst-case resources, typically sitioning the system from a higher- E nergy has become running time or memory require- power to a lower-power state is usually a leading design ments. In this section, we will mostly negligible. However, a power-up oper- study algorithms using competitive ation consumes a significant amount constraint for analysis but will also consider perfor- of energy. Over time, the device expe- computing devices. mance on inputs that are generated riences an alternating sequence of 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 systems that consist of two states active mode to perform the required and system 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. consider the minimization of energy. An algorithm has to decide when to new directions 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 power to a higher-power state. the total energy consumption. As the consumption of energy consumption during the active their products. Systems with Two States periods is fixed, assuming that pre- 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 the acm | May 2010 | vol. 53 | no. 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 t0 of an idle period is ò0 p(t)dt. Karlin et In order to determine the expected energy consumption in an idle period. 28 24 al. determined the best probability cost of ALGt, we have to integrate over Irani et al. presented online and distribution. The density function is all possibilities for the length T of offline algorithms. They assume that the exponential function ert/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 ALG powers down is Figure 1. Illustration of the optimum cost t 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. AQ 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

M ay 2010 | vol. 53 | no. 5 | communications of the 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. 24 5 up cost of at least bj must be paid any- Irani et al. also studied the set- Augustine et al. 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) = min {r T + b }. such as, if T < t, then the energy con- sition times. 1≤i≤l i i 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 3 period of total length t, such as, SOPT(t) that only si−1 and si are available, is is proportional to s . 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 the acm | May 2010 | vol. 53 | no. 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 40 al. 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 å w . structed by YDS on an input instance Ji Î SI i 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 1.25 Speed 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

M ay 2010 | vol. 53 | no. 5 | communications of the 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 S = Bansal et al.9 gave a comprehen- such as, inputs for which feasible I1 { 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 a orange job J3 having an earlier dead- ratio is exactly 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 3 rithm has a running time of O(n ). 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 max , w(t, t , t )/(t − t ) is an estimate An algorithm with an improved run- t1 t2 1 2 2 1 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 the acm | May 2010 | vol. 53 | no. 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.

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- l I lustration by mark itknol can be beneficial to speed up a job as possible. User satisfaction often ing volume is known. Preemption of

M ay 2010 | vol. 53 | no. 5 | communications of the 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- 3 flow time. The flow time fi of a job Ji is ished. Intuitively, this is a reasonable puted efficiently. Albers et al. 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 the acm | May 2010 | vol. 53 | no. 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 received message to all of its children and receiving signals. During trans­ We need a better 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 length of a minimum spanning tree account that the signal strength the speed-scaling should lead to a small overall energy decreases over distance. The signal is techniques in consumption. successfully received by a station t only Algorithm MST: For a given V, compute a if Ps /dist(s,t) > g. Here dist(s,t) denotes multiprocessor a minimum spanning tree rooted at s. the distance between s and t, coeffi- environments Any node v transmits a given message cient a > 1 is the attenuation rate and 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 see Ambühl,4 Caragiannis et al.,16 in the range between 2 and 5. Without architectures 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 therein. Ambühl4 proved that MST operation is broadcast, where a given common not achieves a 6-approximation. The source node wishes to send a piece only in servers analysis is tight because Wan et al.39 of information to all other nodes in 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- and laptops. recently presented by Caragiannis et al.16 ing energy-efficient broadcast opera- 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 4 is, a transmission schedule that mini- are added to Ti−1. Results by Ambühl 39 mizes the total power/energy E = Sv ÎV and Wan et al. 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

M ay 2010 | vol. 53 | no. 5 | communications of the acm 95 review articles

single one and transfer it to the parent in terms of their implementation and D21. emaine, 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 2. Albers, S., Fujiwara, H. Energy-efficient algorithms savings. ACM Trans. Algorithms 3 (2007). item arises, an arrival time ri and a 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 29 models. Korteweg et al. 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. Susanne Albers is a professor in the Department of investigation. At this point it would 19. Clementi, A.E.F., Crescenzi, P., Penna, P., Rossi, G., 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 the acm | May 2010 | vol. 53 | no. 5 research highlights

p . 98 p . 99 T echnical Censored Exploration Perspective Learning to Act and the Dark Pool Problem in Uncertain By Kuzman Ganchev, Yuriy Nevmyvaka, Michael Kearns, Environments and Jennifer Wortman Vaughan By Peter L. Bartlett

p . 108 p . 109 T echnical Automatic Program Repair Perspective Automated Patching with Evolutionary Computation Techniques: By Westley Weimer, Stephanie Forrest, Claire Le Goues, The Fix Is In and ThanhVu Nguyen By Mark Harman

may 2010 | vol. 53 | no. 3 | communications of the acm 97 research highlights

d oi:10.1145/1735223.1735246

the fact that the number of distinct T echnical Perspective states in this problem is enormous: it is exponential in the number of ven- Learning to Act in ues. They exploit the favorable struc- ture of the problem, and in particular Uncertain Environments the way it decomposes neatly across By Peter L. Bartlett the distinct venues. Their approach in- volves a modification of a convention- Theol pr b em 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, T he 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 the acm | may 2010 | vol. 53 | no. 5 d oi:10.1145/1735223.1735247 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 V1, V2, … 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.

may 2010 | vol. 53 | no. 5 | communications of the acm 99 research highlights

t t too-large volumes, we receive uncensored observations but from a fixed but unknown distribution Pi. If ri = vi , we say have excess inventory. that the algorithm receives a censored observation because t t t t Our main theoretical contribution is a provably polyno- it is possible to infer only that ri £ si . If ri < vi , we say that mial-time algorithm for learning a near-optimal policy for any the algorithm receives a direct observation because it must t t unknown venue distributions Pi. This algorithm takes a par- be the case that ri = si . 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 t butions Pi; pretending that these estimates are in fact exactly of V 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 c ˆt that when the estimates are “optimistic tail modifications” is, Ti(s) = ås¢ ³ s Pi(s¢). Clearly Ti(0) = 1 for all i. We use Ti (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 Ti

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 Ti(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 ˆ K similar to ours, and show asymptotic convergence to near- probabilities {Ti}i = 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 Ti(s) ³ Ti(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 Ti(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 t t these shares to a set of K known venues, with vi Î {0, …, V } We now present our main theoretical result, which is a k t t for each i Î{1, …, K}, and å i = 1 vi = V . The learner is then t c told the number of units ri consumed at each venue i. Here In the early literature on censored estimation, these tail probabilities were t t t t ri = min{si , vi }, where si 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 the acm | may 2010 | vol. 53 | no. 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 ˆ K Input: Volume V, tail probability estimates {Ti }i=1 Output: An allocation vÆ the tail probability of the next unit above the cut-off is Æ Æ vv ¬ 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 Ti(vi + 1); modification leads to increased exploration, since the next v ¬ v + 1; i i unit beyond the cut-off always looks at least as good as the end return vvÆ 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. ˆt natural. It maintains estimates Ti for the true unknown tail probabilities T for each venue i. These estimates i Input: Volume sequence V1, V 2, V 3,... 1 improve with time in a particular quantifiable sense which 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: vÆt ¬ Greedy (Vt, Tˆ t,...,Tˆ t); calling the optimal greedy allocation scheme from Figure 1 K t for i ¬ {1,...,K} do ˆ 1 on the current set of estimated tail probabilities Ti . This t submitV i units to venue i; results in new censored observations from each venue, t let ri be the number of shares sold; ˆt + 1 which in turn are used to update the estimates Ti used at % Reestimation Step: Tˆ t + 1 ¬ OptimisticKM ({(v t, rt )}t ); the next time step. Thus the algorithm, which is formally i i i t = 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- ˆt mate Ti from the observed data. The most natural choice t t would be the maximum likelihood estimator on the data. Figure 3. Subroutine OptimisticKM. Let Mi,s' and Ni,s' 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 t, rt)} t ) for venue i i i t = 1 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: c t¬ max{s : s = 0 or N t ³ 128 (sV/e )2 ln(2V/d)}; Meier that becomes our choice for OptimisticKM. Figure 3 i i,s–1 % Compute Kaplan–Meier tail probabilities: shows the full subroutine. ˆ t Ti (0) = 1; The analysis of our algorithm, which is developed in more for s = 1 to V do s - 1 Tˆ t(s) (1–(M t N t )); detail over the next few sections, proceeds as follows: i ¬ Õs¢ = 0 i,s¢/ i,s¢ end % Make the optimistic modification: Step 1: We first review the Kaplan–Meier maximum like- t if ci < V then lihood estimator for censored data and provide a new ˆ t t ˆ t t Ti (ci + 1) ¬ Ti (ci ); ˆ t finite sample convergence bound for this estimator. This return Ti ; bound allows us to define a cut-off for each venue i such that the Kaplan–Meier estimate of the tail probability Ti(s)

may 2010 | vol. 53 | no. 5 | communications of the 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- t explored sufficiently often to learn accurate estimates of mates zˆi,s 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 t t 4.1. Convergence of Kaplan–Meier estimators that the value Ni,s(zi,s - ˆzi,s) 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- 11, 13 t mum likelihood estimator for censored data, restricting lute value. This in turn implies that bound on |zi,s - ˆzi,s| 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 Ti(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 t (Step 1), the value ci 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 t ˆt At a high level, we can think of Kaplan–Meier as first com- for every quantity s < ci, we simply let Ti (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 t ˆt t More specifically, let Mi,s be the number of direct obser- of Ti (ci + 1) optimistically to the Kaplan–Meier estimate of t t vations of s units up to time t, that is, the number of time the tail probability at ci (not at ci + 1). This optimistic modi- steps at which strictly more than s units were allocated to fication is necessary to ensure that the greedy algorithm t venue i and exactly s were consumed. Let Ni,s 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 t t t t t t zˆi,s = Mi,s /Ni,s, with zˆi,s = 0 if Ni,s = 0. The Kaplan–Meier estima- allocated no more than ci units to any venue i and exactly t tor of the tail probability for any s > 0 after t time steps can cj 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 t t Ti (s) = Õ (1 - zˆi,s¢), (1) would have been better to include unit ci + 1 from venue j s¢= 0 in place of a unit from another venue since we do not have ˆt with Ti (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 ˆt t Kaplan–Meier estimator to the true underlying distribution in modifying the tail probability Ti (cj + 1) for each venue, we 1 t the case that each submission in the sequence vi ,...,vi 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. t case, since the submitted volumes at one venue are a function We now formalize the idea of ci 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

ˆt ˆt Theorem 2. Let Ti be the Kaplan–Meier estimate of Ti as given Lemma 1. For any s £ V, let Ti (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 t ˆt every s Î {1, …, V}, 1 – d, for all s £ ci , |Ti(s) - Ti (s)| £ e /(8V).

ˆt Proof. It is always the case that Ti(0) = Ti (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 the acm | may 2010 | vol. 53 | no. 5

t holds trivially unless ci > 0. Suppose this is the case. Recall that probability; in particular, the algorithm is not overestimating t Ni,s 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- t t t Ni,s ³ Ni,s, whenever s £ s¢. Thus by definition of the cut-off ci in sibly be overestimating it too much (because the lowest the t t 2 Figure 3, for all s < ci, Ni,s ≥ 128(sV /e) 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 t Lemma 2 shows that it is also possible to achieve additive the optimal allocation. If the number of units vj allocated to t bounds on the error of tail probability estimates for quanti- this venue by the algorithm is strictly less than the cut-off cj, t ties s much bigger than ci as long as the estimated tail prob- then by Lemma 1, the algorithm could not have underesti- t ability at ci 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 t than the true tail probability at ci , which, in this case, is modification of the Kaplan–Meier estimator, this also holds t t known to be very small already. if vj = cj. Finally, if it is instead the case that the second con- dition in the lemma statement holds for venue j, then the ˆt t Lemma 2. If Ti (ci ) £ e/(4V) and the high probability algorithm again could not possibly have underestimated the t event in Lemma 1 holds, then for all s such that ci < s £ V, probability of the unit being consumed too much because ˆt |Ti (s) - Ti (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 /(2 V) ) 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 /(2 V) ), the difference in the Kaplan–Meier estimator becomes important. In par- expected units consumed between the optimal allocation ˆt t  ticular, because of the optimistic setting of Ti (ci + 1), we and the algorithm’s is at most e . t know that if the greedy ­policy allocates exactly ci 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), . ˆt t which the estimate Ti (ci + 1) converges to the true tail proba- t bility Ti(ci + 1) implied by Theorem 2 depends on the number Proof. Suppose the allocation is not e -optimal at time t of times that we observe a consumption of ci or more units. If t. By Lemma 3, it must be the case that there exists some t t t ˆt t Ti(ci ) is very small, then the consumption of this many units venue i for which vi > ci and Ti (ci ) > 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 t we know that Ti(ci + 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 t > t vl cl, 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- t high probability event in Lemma 1 holds. If for each venue i, tion causing N t to be incremented) if the number of units l,cl t t ˆt t either (1), vi £ ci or (2), Ti (ci ) £ e/(4V), the difference between the consumed at this venue is sufficiently high (specifically, if ®t t > t ˆt t > e t > expected number of units consumed under allocation v and the rl cl). Since Tl (cl) /(4V), Lemma 1 implies that Tl(cl) 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

may 2010 | vol. 53 | no. 5 | communications of the 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 t by Lemma 4, the algorithm must have incremented N t for censored. i,ci t 2 some venue i and cut-off ci approximately e R/(8V) times. By t t definition of thec , it can never be the case that N t was incre- 5.2. Parametric models for dark pools i i,ci t mented too many times for any fixed values of i and ci (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 f Tickers represented are AIG, ALO, CMI, CVX, FRE, HAL, JPM, MER, MIR, relatively actively-traded stocks,f thus yielding 48 distinct NOV, XOM, and NRG.

104 communications of the acm | may 2010 | vol. 53 | no. 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 T rain 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 0.12 stock:NRG infer the outcome of our desired submission. 0.18 Cens−Exp 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 of the data for i and stock S to estimate the maximum likeli- 0.09 Bandits Fraction executed hood Zero Bin + Power Law distribution. (Note that there is Fraction executed 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

may 2010 | vol. 53 | no. 5 | communications of the acm 105 research highlights

Each algorithm was run in simulation for some num- F igure 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 ficult V = 8000. orders (blue squares) are 8000 shares. 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 adaptive allocation schemes (ideal and uniform) are rep- 0.3 10 resented as horizontal lines, while learning curves are 0.25

given for the adaptive schemes. Due to high variance of the 8 0.2 heavy-tailed venue distributions used by the simulator, a Learning Learning single trial of 2000 episodes is extremely noisy, so we both 0.15 6 average over 400 trials for each algorithm, and smooth the 0.1 4 resulting averaged learning curve with a standard exponen-

tial decay temporal moving average. 0.05 2 0.05 0.1 0.15 0.2 0.25 0.3 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 cation strawman, meaning that optimal allocations 0.25 8 are highly nonuniform. Learning curves for the bandit 0.2 Learning approach exhibit one of the three general behaviors over Learning 6 the set of 12 stocks. In some cases, the bandit approach 0.15

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 form uniform allocation but appears to asymptote short Uniform 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 This happens when one venue has a very heavy tail, but 0.25 8 also a relatively high probability of executing zero shares, 0.2 Learning Learning and occurs because the very naive bandit approach that we 6 use does not have an explicit representation of the tails of 0.15

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 mance versus the other allocation techniques after 2000 Bandit 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 the acm | may 2010 | vol. 53 | no. 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. 4. brafman, R., Tennenholtz, M. 10. Huh, W.T., Levi, R., Rusmevichientong, P., to optimize properties of a specified trade, rather than 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 andU .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 ([email protected]. Michael Kearns ([email protected]. 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 ([email protected]), 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 [email protected] January-February 2011 issue.

may 2010 | vol. 53 | no. 5 | communications of the acm 107 research highlights

d oi:10.1145/1735223.1735248 T echnical Perspective Automated Patching Techniques: The Fix Is In By Mark Harman

Ov er 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 1. Afzal, W., Torkar, R. and Feldt, R. A systematic review that evolutionary computation and that we now apply to compiled code. 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. 4 This approach is widely ap- Tech. Report Technical Report D-2009-1, Dept. of (SBSE). the better the results. The authors 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 the acm | may 2010 | vol. 53 | no. 5 d oi:10.1145/1735223.1735249 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

may 2010 | vol. 53 | no. 5 | communications of the 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 the acm | may 2010 | vol. 53 | no. 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 anoracle 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) thenegative 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

may 2010 | vol. 53 | no. 5| communications of the 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:// 14 days −= 366; // insert news.bbc.co.uk/2/hi/technology/7806683.stm. 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 the acm | may 2010 | vol. 53 | no. 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

may 2010 | vol. 53 | no. 5 | communications of the 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 indent lines (e.g., look utx 4.3). f(x) = 0.78x + 0.08 2 Not all trials lead to a successful repair; in the repairs 3 R = 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 terminating when the first successful trial yields a primary wu-ftpd ccrypt repair. In addition, the fitnesses of different variants and lighttpd 1.5 atris 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 log of avg fitness evals per repair 1 look svr leukocyte parallelize on multicore architectures. The measurement in 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 3.532.521.510.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 the acm | may 2010 | vol. 53 | no. 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

may 2010 | vol. 53 | no. 5| communications of the 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). http://www.gp-field-guide.org.uk, 7. forrest, S., Hofmeyr, S.A., Somayaji, 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 ([email protected]), Stephanie Forrest ([email protected]), Acknowledgments University of Virginia. University of New Mexico. We thank David E. Evans, Mark Harman, John C. Knight, Claire Le Goues ([email protected]), ThanhVu Nguyen ([email protected]), Anh Nguyen-Tuong, and Martin Rinard for insightful dis- University of Virginia. University of New Mexico. 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 the acm | may 2010 | vol. 53 | no. 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 publ ished 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 ([email protected]). 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 Publicity Chairs Computational proteomics and 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 Protein structure prediction and molecular Susan Bridges, Mississippi State University prediction Parthasarathy Srinivasan, Ohio State University dynamics 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 animal genomes High performance computing for complex Local Arrangements 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 [email protected]. 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- [email protected] 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: [email protected]. 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 the acm | may 2010 | vol. 53 | no. 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- PacificN orthwest 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 [email protected]. 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 Adv ertising in Career leading research universities in Brazil, is seeking Opportunities applications from Ph.D.-holders with high academ- 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 [email protected]. 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.T he MINIMUM is six lines. group. If you would like to join us, please send a CV in English or Portuguese to [email protected] Deadlines: Five weeks prior to the publication date of the issue (which is the camp.br. Send a message to info.carreiras@reitoria. 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- [email protected] fessor level with research focus on cyber security. http://cs.uccs.edu/~cyber/

may 2010 | vol. 53 | no. 5 | communications of the 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.

A pair of intrepid Prove that Lake Be the first person ever 1.computer programmers 2.Champlain can be 3.to prove (or disprove) spend a weekend hiking inscribed in a square. More 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 programmers were at exactly oto.com h the same altitude on Sunday p as they were on Saturday.

All readers are encouraged to submit prospective puzzles for future columns to [email protected]. Peter Winkler ([email protected]) is Professor of Mathematics and of Computer Science and Albert Bradley l

Third Century Professor in the Sciences at Dartmouth College, Hanover, NH. I lustration from istock

120 communications of the acm | may 2010 | vol. 53 | no. 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.