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
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
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
"On the Naturalness of Software" by Hindle et al. takes an entirely new approach to providing tools to help build software.Gail C. Murphy From Communications of the ACM | May 2016
We begin with the conjecture that most software is natural, with all the attendant constraints and limitations — and thus, like natural language, it is also likely...Abram Hindle, Earl T. Barr, Mark Gabel, Zhendong Su, Premkumar Devanbu From Communications of the ACM | May 2016
The authors of "Stochastic Program Optimization" have developed a stochastic search technique and applied it to program optimization.
Sumit Gulwani From Communications of the ACM | February 2016
By encoding constraints of transformation correctness as terms in a cost function, and using a Markov Chain Monte Carlo sampler to explore the space of all possible...Eric Schkufza, Rahul Sharma, Alex Aiken From Communications of the ACM | February 2016
"Software Dataplane Verification" takes existing static checking of networks to a new level by checking the real code in the forwarding path of a Click router using...George Varghese From Communications of the ACM | November 2015
We present the result of working iteratively on two tasks: designing a domain-specific verification tool for packet-processing software, while trying to identify...Mihai Dobrescu, Katerina Argyraki From Communications of the ACM | November 2015
In "Cache Efficient Functional Algorithms," Blelloch and Harper suggest we analyze the costs of functional algorithms by assuming objects are allocated sequentially...William D. Clinger From Communications of the ACM | July 2015
We present a cost model for analyzing the memory efficiency of algorithms expressed in a simple functional language.Guy E. Blelloch, Robert Harper From Communications of the ACM | July 2015
"Can Traditional Programming Bridge the Ninja Performance Gap for Parallel Computing Applications" advocates an appealing division of labor between a developer...James Larus From Communications of the ACM | May 2015
Current processor trends of integrating more cores with SIMD units have made it more to extract performance from applications. It is believed that traditional...Nadathur Satish, Changkyu Kim, Jatin Chhugani, Hideki Saito, Rakesh Krishnaiyer, Mikhail Smelyanskiy, Milind Girkar, Pradeep Dubey From Communications of the ACM | May 2015
Specialization improves energy-efficiency in computing but only makes economic sense if there is significant demand. A balance can often be found by designing...Trevor Mudge From Communications of the ACM | April 2015