"Efficient Parallelization Using Rank Convergence in Dynamic Programming Algorithms" shows how some instances of dynamic programming can be effectively parallelized...James Larus From Communications of the ACM | October 2016
This paper proposes an efficient parallel algorithm for an important class of dynamic programming problems that includes Viterbi, Needleman-Wunsch, Smith-Waterman...Saeed Maleki, Madanlal Musuvathi, Todd Mytkowicz From Communications of the ACM | October 2016
"Incremental, Iterative Data Processing with Timely Dataflow" describes Naiad, which combines three classes of dataflow systems, supporting high-throughput batch...Johannes Gehrke From Communications of the ACM | October 2016
We describe the timely dataflow model for distributed computation and its implementation in the Naiad system.
Derek G. Murray, Frank McSherry, Michael Isard, Rebecca Isaacs, Paul Barham, Martin Abadi From Communications of the ACM | October 2016
As "Jupiter Rising" makes clear, many of the Internet mechanisms for maintaining large-scale networks are suboptimal when the datacenter is largely homogeneous,...Andrew W. Moore From Communications of the ACM | September 2016
We present our approach for overcoming the cost, operational complexity, and limited scale endemic to datacenter networks a decade ago.Arjun Singh, Joon Ong, Amit Agarwal, Glen Anderson, Ashby Armistead, Roy Bannon, Seb Boving, Gaurav Desai, Bob Felderman, Paulie Germano, Anand Kanagala, Hong Liu, Jeff Provost, Jason Simmons, Eiichi Tanda, Jim Wanderer, Urs Hölzle, Stephen Stuart, Amin Vahdat From Communications of the ACM | September 2016
"Verifying Quantitative Reliability for Programs that Execute on Unreliable Hardware" by Carbin et al. addresses challenges related to a bug, how likely it is to...Todd Millstein From Communications of the ACM | August 2016
We present Rely, a programming language that enables developers to reason about the quantitative reliability of an application — namely, the probability that it...Michael Carbin, Sasa Misailovic, Martin C. Rinard From Communications of the ACM | August 2016
Until now, the database in a Web application has been treated as a global variable, accessible to all. In "Ur/Web: A Simple Model for Programming the Web," Adam...Philip Wadler From Communications of the ACM | August 2016
This paper presents Ur/Web, a domain-specific, statically typed functional programming language that reduces the nest of Web standards for modern Web applications...Adam Chlipala From Communications of the ACM | August 2016
In "Probabilistic Theorem Proving," Gogate and Domingos suggest how PTP could be turned in a fast approximate algorithm by sampling from the set of children of...Henry Kautz, Parag Singla From Communications of the ACM | July 2016
Many representation schemes combining first-order logic and probability have been proposed in recent years. We propose the first method that has the full power...Vibhav Gogate, Pedro Domingos From Communications of the ACM | July 2016
Producing reports at the scale of Google Ads, where billions of clicks happen per day, is the challenge addressed by the Mesa system described in "Mesa: A Geo-Replicated...Sam Madden From Communications of the ACM | July 2016
Mesa is a highly scalable analytic data warehousing system that stores critical measurement data related to Google's Internet advertising business. This paper presents...Ashish Gupta, Fan Yang, Jason Govig, Adam Kirsch, Kelvin Chan, Kevin Lai, Shuo Wu, Sandeep Dhoot, Abhilash Rajesh Kumar, Ankur Agiwal, Sanjay Bhansali, Mingsheng Hong, Jamie Cameron, Masood Siddiqi, David Jones, Jeff Shute, Andrey Gubarev, Shivakumar Venkataraman, Divyakant Agrawal From Communications of the ACM | July 2016
What kinds of problems can be solved with combined human and machine computation? "AutoMan: A Platform for Integrating Human-Based and Digital Computation," by...Siddharth Suri From Communications of the ACM | June 2016
We introduce AutoMan, the first fully automatic crowdprogramming system.Daniel W. Barowy, Charlie Curtsinger, Emery D. Berger, Andrew McGregor From Communications of the ACM | June 2016
"Enhancing Symbolic Execution with Veritesting" by Avgerinos et al. proposes an effective technique called veritesting that addresses the scalability limitations...Koushik Sen From Communications of the ACM | June 2016
In this article, we present a new technique for generating formulas called veritesting that alternates between static symbolic execution (SSE) and dynamic symbolic...Thanassis Avgerinos, Alexandre Rebert, Sang Kil Cha, David Brumley From Communications of the ACM | June 2016
In "Hiding Secrets in Software," Garg et al. construct a "one-way compiler" of the type envisioned by Diffie and Hellman.Boaz Barak From Communications of the ACM | May 2016
Can we hide secrets in software? Can we make programs unintelligible while preserving their functionality? Why would we even want to do this? In this article, we...Sanjam Garg, Craig Gentry, Shai Halevi, Mariana Raykova, Amit Sahai, Brent Waters From Communications of the ACM | May 2016