We present the results from the first study of Internet access link performance measured directly from home routers. Our findings provide a snapshot of access network...Srikanth Sundaresan, Walter de Donato, Nick Feamster, Renata Teixeira, Sam Crawford, Antonio Pescapè From Communications of the ACM | November 2012
As information technology has come to permeate our society, broader classes of users have developed the need for more sophisticated data manipulation and processing...Martin C. Rinard From Communications of the ACM | August 2012
Millions of computer end users need to perform tasks over large spreadsheet data, yet lack the programming knowledge to do such tasks automatically. We present...Sumit Gulwani, William R. Harris, Rishabh Singh From Communications of the ACM | August 2012
Like other IT fields, computer architects initially reported incomparable results. We quickly saw the folly of this approach. We then went through a sequence...David Patterson From Communications of the ACM | July 2012
The past 10 years have delivered two significant revolutions. Microprocessor design has been transformed — leading to multicore processors. And an entirely new...Hadi Esmaeilzadeh, Ting Cao, Xi Yang, Stephen M. Blackburn, Kathryn S. McKinley From Communications of the ACM | July 2012
Good software engineering practice demands generalization and abstraction, whereas high performance demands specialization and concretization. These goals are at...Tiark Rompf, Martin Odersky From Communications of the ACM | June 2012
"The fox knows many things, but the hedgehog knows one big thing." Philosophers have used this line, attributed to the ancient Greek poet Archilochus, to capture...Peter Lee From Communications of the ACM | June 2012
It is widely held that parallel programming is far more difficult and error prone than writing sequential code. In particular, the myriad allowable interleavings...Steven Hand From Communications of the ACM | May 2012
We introduce a new parallel programming model addressing the issues facing current methods of executing parallel programs deterministically, and use Determinator...Amittai Aviram, Shu-Chun Weng, Sen Hu, Bryan Ford From Communications of the ACM | May 2012
Say you want to simulate the motion over time of the stars in a galaxy to learn about how galaxies formed and why the universe appears as it does. Is it feasible...William Gropp From Communications of the ACM | May 2012
We describe a parallel fast multipole method for highly nonuniform distributions of particles. We employ both distributed memory parallelism and shared memory parallelism...Ilya Lashuk, Aparna Chandramowlishwaran, Harper Langston, Tuan-Anh Nguyen, Rahul Sampath, Aashay Shringarpure, Richard Vuduc, Lexing Ying, Denis Zorin, George Biros From Communications of the ACM | May 2012
Affordable personal computing hardware and the usable GUI-based PC operating systems made the vision of "a computer on every desktop and in every home" a reality...Steven D. Gribble From Communications of the ACM | March 2012
Capsicum is a lightweight operating system capability and sandbox framework planned for inclusion in FreeBSD 9. Capsicum extends, rather than replaces, UNIX APIs...Robert N. M. Watson, Jonathan Anderson, Ben Laurie, Kris Kennaway From Communications of the ACM | March 2012
The following paper by Viktor Kuncak et al. integrates declarative programming into a general-purpose language, allowing one to escape the host language when...Rastislav Bodik From Communications of the ACM | February 2012
Automated synthesis of program fragments from specifications can make programs easier to write and easier to reason about. To integrate synthesis into programming...Viktor Kuncak, Mikaƫl Mayer, Ruzica Piskac, Philippe Suter From Communications of the ACM | February 2012
Much has changed in the 50 years since the invention of packet switching and the early network designs and deployments that...Jim Kurose From Communications of the ACM | January 2012
Current network use is dominated by content distribution and retrieval yet current networking protocols are designed for conversations between hosts. We present...Van Jacobson, Diana K. Smetters, James D. Thornton, Michael Plass, Nick Briggs, Rebecca Braynard From Communications of the ACM | January 2012
Software misbehaves all too often. This is a truism, but also the driving force behind many computing techniques intended to increase software reliability, safety...Xavier Leroy From Communications of the ACM | December 2011
High-level computer applications build on services provided by lower-level software layers. Unfortunately, today's low-level software still suffers from a steady...Jean Yang, Chris Hawblitzel From Communications of the ACM | December 2011
The following paper combines two important themes in secure computing: assurance and information flow control. For high assurance, a system's Trusted Computing...Butler Lampson From Communications of the ACM | November 2011