acm-header
Sign In

Communications of the ACM

Latest Research



Software-Defined Batteries
From Communications of the ACM

Software-Defined Batteries

In this paper, we present a new hardware-software system, called Software Defined Battery, which allows system designers to integrate batteries of different chemistries...

From Communications of the ACM

Technical Perspective: FPGA Compute Acceleration Is First About Energy Efficiency

"A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services" presents a research deployment of Field Programmable Gate Arrays (FPGAs) in a Microsoft...

A Reconfigurable Fabric For Accelerating Large-Scale Datacenter Services
From Communications of the ACM

A Reconfigurable Fabric For Accelerating Large-Scale Datacenter Services

We describe a medium-scale deployment of a composable, reconfigurable hardware fabric on a bed of 1,632 servers, and measure its effectiveness in accelerating the...

From Communications of the ACM

Technical Perspective: If I Could Only Design One Circuit . . .

"DianNao Family: Energy-Efficient Hardware Accelerators for Machine Learning" shows a deep understanding of both neural net implementations and the issues in computer...

Diannao Family
From Communications of the ACM

Diannao Family: Energy-Efficient Hardware Accelerators For Machine Learning

We introduce a series of hardware accelerators (i.e., the DianNao family) designed for Machine Learning (especially neural networks), with a special emphasis on...

From Communications of the ACM

Technical Perspective: The Power of Parallelizing Computations

"Efficient Parallelization Using Rank Convergence in Dynamic Programming Algorithms" shows how some instances of dynamic programming can be effectively parallelized...

Efficient Parallelization Using Rank Convergence in Dynamic Programming Algorithms
From Communications of the ACM

Efficient Parallelization Using Rank Convergence in Dynamic Programming Algorithms

This paper proposes an efficient parallel algorithm for an important class of dynamic programming problems that includes Viterbi, Needleman-Wunsch, Smith-Waterman...

From Communications of the ACM

Technical Perspective: Naiad

"Incremental, Iterative Data Processing with Timely Dataflow" describes Naiad, which combines three classes of dataflow systems, supporting high-throughput batch...

Incremental, Iterative Data Processing with Timely Dataflow
From Communications of the ACM

Incremental, Iterative Data Processing with Timely Dataflow

We describe the timely dataflow model for distributed computation and its implementation in the Naiad system. 

From Communications of the ACM

Technical Perspective: Jupiter Rising

As "Jupiter Rising" makes clear, many of the Internet mechanisms for maintaining large-scale networks are suboptimal when the datacenter is largely homogeneous,...

Jupiter Rising
From Communications of the ACM

Jupiter Rising: A Decade of Clos Topologies and Centralized Control in Google's Datacenter Network

We present our approach for overcoming the cost, operational complexity, and limited scale endemic to datacenter networks a decade ago.

From Communications of the ACM

Technical Perspective: The Dawn of Computational Light Transport

What would the world look like if we had a chance to observe it with a trillion frame-per-second video camera? "Imaging the Propagation of Light through Scenes...

Imaging the Propagation of Light Through Scenes at Picosecond Resolution
From Communications of the ACM

Imaging the Propagation of Light Through Scenes at Picosecond Resolution

We present a novel imaging technique, which we call femtophotography, to capture and visualize the propagation of light through table-top scenes with an effective...

From Communications of the ACM

Technical Perspective: Toward Reliable Programming For Unreliable Hardware

"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...

Verifying Quantitative Reliability For Programs that Execute on Unreliable Hardware
From Communications of the ACM

Verifying Quantitative Reliability For Programs that Execute on Unreliable Hardware

We present Rely, a programming language that enables developers to reason about the quantitative reliability of an application — namely, the probability that it...

From Communications of the ACM

Technical Perspective: Why Didn't I Think of That?

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...

Ur/Web
From Communications of the ACM

Ur/Web: A Simple Model For Programming the Web

This paper presents Ur/Web, a domain-specific, statically typed functional programming language that reduces the nest of Web standards for modern Web applications...

From Communications of the ACM

Technical Perspective: Combining Logic and Probability

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...

Probabilistic Theorem Proving
From Communications of the ACM

Probabilistic Theorem Proving

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...

From Communications of the ACM

Technical Perspective: Mesa Takes Data Warehousing to New Heights

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...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account