Software Process Versus Design Quality: Tug of War? > Architecture Haiku > Designing Resource-Aware Cloud Applications
Total Page:16
File Type:pdf, Size:1020Kb
> Software Process versus Design Quality: Tug of War? > Architecture Haiku > Designing Resource-Aware Cloud Applications AUGUST 2015 www.computer.org IEEE COMPUTER SOCIETY http://computer.org • +1 714 821 8380 STAFF Editor Manager, Editorial Services Content Development Lee Garber Richard Park Senior Manager, Editorial Services Contributing Editors Robin Baldwin Christine Anthony, Brian Brannon, Carrie Clark Walsh, Brian Kirk, Chris Nelson, Meghan O’Dell, Dennis Taylor, Bonnie Wylie Director, Products and Services Evan Butterfield Production & Design Carmen Flores-Garvey, Monette Velasco, Jennie Zhu-Mai, Senior Advertising Coordinator Mark Bartosik Debbie Sims Circulation: ComputingEdge is published monthly by the IEEE Computer Society. IEEE Headquarters, Three Park Avenue, 17th Floor, New York, NY 10016-5997; IEEE Computer Society Publications Office, 10662 Los Vaqueros Circle, Los Alamitos, CA 90720; voice +1 714 821 8380; fax +1 714 821 4010; IEEE Computer Society Headquarters, 2001 L Street NW, Suite 700, Washington, DC 20036. Postmaster: Send undelivered copies and address changes to IEEE Membership Processing Dept., 445 Hoes Lane, Piscataway, NJ 08855. Application to Mail at Periodicals Postage Prices is pending at New York, New York, and at additional mailing offices. Canadian GST #125634188. Canada Post Corporation (Canadian distribution) publications mail agreement number 40013885. Return undeliverable Canadian addresses to PO Box 122, Niagara Falls, ON L2E 6S8 Canada. Printed in USA. Editorial: Unless otherwise stated, bylined articles, as well as product and service descriptions, reflect the author’s or firm’s opinion. Inclusion in ComputingEdge does not necessarily constitute endorsement by the IEEE or the Computer Society. All submissions are subject to editing for style, clarity, and space. Reuse Rights and Reprint Permissions: Educational or personal use of this material is permitted without fee , provided such use: 1) is not made for profit; 2) includes this notice and a full citation to the original work on the first page of the copy; and 3) does not imply IEEE endorsement of any third-party products or services. Authors and their companies are permitted to post the accepted version of IEEE-copyrighted material on their own Web servers without permission, provided that the IEEE copyright notice and a full citation to the original work appear on the first scree n of the posted copy. An accepted manuscript is a version which has been revised by the author to incorporate review suggestions, but not the published version with copy-editing, proofreading, and formatting added by IEEE. For more information, please go to: http:// www.ieee .org/publications_standards/publications/rights/paperversionpolicy.html. Permission to reprint/republish this material for commercial, advertising, or promotional purposes or for creating new collective works for resale or redistribution must be obtained from IEEE by writing to the IEEE Intellectual Property Rights Office, 445 Hoes Lane, Piscataway, NJ 08854-4141 or pubs-permissions@ieee .org. Copyright © 2015 IEEE. All rights reserved. Abstracting and Library Use: Abstracting is permitted with credit to the source. Libraries are permitted to photocopy for private use of patrons, provided the per-copy fee indicated in the code at the bottom of the first page is paid through the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923. Unsubscribe: If you no longer wish to receive this ComputingEdge mailing, please email IEEE Computer Society Customer Service at [email protected] and type “unsubscribe ComputingEdge” in your subject line. IEEE prohibits discrimination, harassment, and bullying. For more information, visit www.ieee.org/web/aboutus/whatis/policies/p9-26.html. IEEE Computer Society Magazine Editors in Chief Computer IEEE Micro IEEE MultiMedia Sumi Helal, University of Florida Lieven Eeckhout, Ghent University Yong Rui, Microsoft Research IEEE Software IEEE Computer Graphics and IEEE Annals of the History Diomidis Spinellis, Athens Applications of Computing University of Economics and L. Miguel Encarnação, ACT, Inc. Nathan Ensmenger, Indiana Business University Bloomington IEEE Pervasive Computing IEEE Internet Computing Maria Ebling, IBM T.J. Watson IEEE Cloud Computing M. Brian Blake, University of Research Center Mazin Yousif, T-Systems Miami International Computing in Science IT Professional & Engineering San Murugesan, BRITE George K. Thiruvathukal, Loyola Professional Services University Chicago IEEE Intelligent Systems IEEE Security & Privacy Daniel Zeng, University of Arizona Shari Lawrence Pfleeger, Dartmouth College www.computer.org 1 AUGUST 2015 • VOLUME 1, NUMBER 8 THEME HERE 20 32 35 The Then a Internet of Approximation Miracle Occurs Cores Tower in Computational Science 4 Spotlight on Transactions: Increasing Interconnection Network Throughput with Virtual Channels STEPHEN W. KECKLER 7 Editor’s Note: Focus on Software 8 Invention, Innovation, and New APIs ALAN SILL 12 “Curiouser and Curiouser!”—The Fallout from Alice BRIAN M. GAFF 15 Software Process versus Design Quality: Tug of War? GIRISH SURYANARAYANA, TUSHAR SHARMA, AND GANESH SAMARTHYAM 20 The Approximation Tower in Computational Science: Why Testing Scientific Software Is Difficult KONRAD HINSEN 26 Do We Need a Software Czar? DAVID ALAN GRIER 27 Architecture Haiku MICHAEL KEELING 32 Then a Miracle Occurs GRADY BOOCH 35 Internet of Cores SAEID ABOLFAZLI, ZOHREH SANAEI, AND IRENA BOJANOVA 40 Designing Resource-Aware Cloud Applications REINER HÄHNLE AND EINAR BROCH JOHNSEN 44 Connected Tools in Digital Design CHRISTIAN WEICHEL, JASON ALEXANDER, ABHIJIT KARNIK, AND HANS GELLERSEN 49 Silver Bullet Talks with Brian Krebs GARY MCGRAW 55 Crowdfunding for Ubicomp Products: Interviews with Amanda Williams and Khai Truong 44 ALBRECHT SCHMIDT 60 Inside Technology: Descaling Your Scrum Connected JIM COPLIEN Tools in Digital Design Departments 5 Magazine Roundup 62 Career Opportunities SPOTLIGHT ON TRANSACTIONS Increasing Interconnection Network Throughput with Virtual Channels Stephen W. Keckler, NVIDIA and University of Texas at Austin This installment highlighting the work published in IEEE Computer Society journals comes from IEEE Transactions on Parallel and Distributed Systems. nterconnection networks form the backbone of scalable ( its) that transit the network like train cars. When a mes- computer systems, including high-performance com- sage reaches a congested point, its its reside in the virtual puters and datacenters. High-performance networks channel buers, leaving the links free for messages belong- must provide high throughput and bandwidth while de- ing to other virtual channels. The decoupling of buering Ilivering messages with minimal latency. from links in virtual channels enables deadlock-free rout- As processors that connect to the network inject more ing algorithms and the passing of blocked messages in the messages, the network load rises and can cause two poten- network, using otherwise idle link resources. With virtual tial deleterious conditions: network deadlock—where mes- channels, a system doesn’t incur the link cost of multiple sages are blocked in the network and cannot progress—and networks and can more easily multiplex trac from dier - an exponential increase in end-to-end latency, as messages ent ows over a single set of physical links. must wait in the network for prior messages to be delivered. The network architect’s job is to deliver high bandwidth and low latency for the largest network load possible, but with irtual channels have been extremely inuential limited cost and power. in the theory and implementation of interconnec- Before the s, scalable computing systems were typ- Vtion networks. Almost every high-performance ically built with two separate networks to avoid deadlock. network designed since the publication of “Virtual Chan- These networks were often assigned to “request” and “reply” nel Flow Control” uses virtual channels. Examples include trac classes, and messages in separate classes did not inter- the Cray TD, TE, BlackWidow, and Aries networks, as fere as they progressed through the network. The networks well as the IBM BlueGene L, P, and Q networks. Virtual had their own individual wires to ensure that reply messages channels are also critical to preventing deadlock in adap - did not get stuck behind request messages. Unfortunately, tive routing algorithms that are prevalent today. this approach increases network cost by doubling the num- Dally’s work constituted a fundamental advance in ber of wires, and can leave links idle as congestion rises. interconnection network architecture that provided bet- In “Virtual Channel Flow Control” (IEEE Trans. Parallel and ter capability and performance while reducing both cost Distributed Systems, vol. , no. , , pp. – ), William J. and complexity. Dally proposed an alternate approach to alleviate deadlock and provide better network performance. Virtual channels include two or more virtualized networks that share the STEPHEN W. KECKLER is the senior director of architec- ture research at NVIDIA and an adjunct professor at the physical wire links and routers, but have their own buer University of Texas at Austin. Contact him at skeckler@ storage for in-ight messages. In modern interconnection cs.utexas.edu. networks, messages are decomposed into ow-control digits 4 August 2015 Published by the IEEE Computer Society 2376-113X/15/$31.00 © 2015 IEEE 10 COMPUTER PUBLISHED BY THE IEEE COMPUTER SOCIETY 0018-9162/15/$31.00