We present a garbage collector synthesized directly to hardware, capable of collecting a heap of uniform objects completely concurrently. These heaps are composed...David F. Bacon, Perry Cheng, Sunil Shukla From Communications of the ACM | December 2013
Our visual system helps us carry out our daily business. Our eyes and brain help us by measuring shapes, trajectories, and distances in world around us, and by...Pietro Perona From Communications of the ACM | September 2013
We describe a state-of-the-art system for finding objects in cluttered images. Our system is based on deformable models that represent objects using local part...Pedro Felzenszwalb, Ross Girshick, David McAllester, Deva Ramanan From Communications of the ACM | September 2013
It has been an open question whether it is possible to build GPU-targeted high-performance software systems that are themselves programmable. "GPU Ray Tracing" shows...Matt Pharr From Communications of the ACM | May 2013
The NVIDIA OptiX ray tracing engine builds on the key observation that most ray tracing algorithms can be implemented using a small set of programmable operations...Steven G. Parker, Heiko Friedrich, David Luebke, Keith Morley, James Bigler, Jared Hoberock, David McAllister, Austin Robison, Andreas Dietrich, Greg Humphreys, Morgan McGuire, Martin Stich From Communications of the ACM | May 2013
With video delivery, it appears that once again "the Internet changes everything." In this changed environment, what measures of quality are most relevant, and...David Oran From Communications of the ACM | March 2013
As Internet-based videos become mainstream, user expectation for high quality is constantly increasing. In this context, it is crucial for content providers to...Florin Dobrian, Asad Awan, Dilip Joseph, Aditya Ganjam, Jibin Zhan, Vyas Sekar, Ion Stoica, Hui Zhang From Communications of the ACM | March 2013
This lifting of data structure thinking to the relational level has long inspired computer scientists. In "An Introduction to Data Representation Synthesis," the...Yannis Smaragdakis From Communications of the ACM | December 2012
We consider the problem of specifying combinations of data structures with complex sharing in a manner that is declarative and results in provably correct code.Peter Hawkins, Martin Rinard, Alex Aiken, Mooly Sagiv, Kathleen Fisher From Communications of the ACM | December 2012
A fundamental impediment to the widespread development and deployment of in-camera algorithms is the lack of a clean open architecture for controlling camera...Richard Szeliski From Communications of the ACM | November 2012
Progress in computational photography has been hampered by the lack of a portable, programmable camera with sufficient image quality and computing power. To address...Andrew Adams, David E. Jacobs, Jennifer Dolson, Marius Tico, Kari Pulli, Eino-Ville Talvala, Boris Ajdin, Daniel Vaquero, Hendrik P. A. Lensch, Mark Horowitz, Sung Hee Park, Natasha Gelfand, Jongmin Baek, Wojciech Matusik, Marc Levoy From Communications of the ACM | November 2012
There is some risk in trusting the cloud providers with sensitive data. Why not encrypt the data stored in cloud services?
Dan Suciu From Communications of the ACM | September 2012
An ideal solution to satisfying the dual goals of protecting data confidentiality and running computations is to enable a server to compute over encrypted data,...Raluca Ada Popa, Catherine M. S. Redfield, Nickolai Zeldovich, Hari Balakrishnan From Communications of the ACM | September 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