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
Suppose that one observes an incomplete subset of entries selected from a low-rank matrix. When is it possible to complete the matrix and recover the entries that...Emmanuel Candès, Benjamin Recht From Communications of the ACM | June 2012
The problem of estimating or reconstructing an unknown structured object from incomplete, partial, noisy measurements is a fundamental one in scientific and technological...Pablo A. Parrilo 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
With Aardvark, a social search engine, users ask a question, either by IM, e-mail, Web input, text message, or voice. Aardvark then routes the question to the person...Damon Horowitz, Sepandar D. Kamvar From Communications of the ACM | April 2012
It is difficult to remember what people had to do to find the answer to a question before the Web. One option might be to call a friend who might know the answer...Ed H. Chi From Communications of the ACM | April 2012
The ancient oriental game of Go has long been considered a grand challenge for artificial intelligence. However, computer Go programs based on Monte-Carlo tree...Sylvain Gelly, Levente Kocsis, Marc Schoenauer, Michèle Sebag, David Silver, Csaba Szepesvári, Olivier Teytaud From Communications of the ACM | March 2012
Researchers in artificial intelligence know that computers still lag far behind human levels of play in many games of strategy. One such contest of wits is Go...Michael L. Littman From Communications of the ACM | March 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
Data in high dimension is difficult to visualize and understand. This has always been the case and is even more apparent now with the availability of large high...Santosh S. Vempala From Communications of the ACM | February 2012
The Gaussian mixture model is one of the oldest and most widely used statistical models. Our work focuses on the case where the mixture consists of a small but...Adam Tauman Kalai, Ankur Moitra, Gregory Valiant From Communications of the ACM | February 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