Sign In

Communications of the ACM

Latest Practice



Non-Volatile Storage
From Communications of the ACM

Non-Volatile Storage

Implications of the datacenter's shifting center.

Bringing Arbitrary Compute to Authoritative Data
From Communications of the ACM

Bringing Arbitrary Compute to Authoritative Data

Many disparate use cases can be satisfied with a single storage system.

Scaling Existing Lock-based Applications with Lock Elision
From Communications of the ACM

Scaling Existing Lock-based Applications with Lock Elision

Enabling existing lock-based programs to achieve performance benefits of nonblocking synchronization.

The API Performance Contract
From Communications of the ACM

The API Performance Contract

How can the expected interactions between caller and implementation be guaranteed?

A File System All Its Own
From Communications of the ACM

A File System All Its Own

Flash memory has come a long way and it is time for software to catch up.

FPGA Programming for the Masses
From Communications of the ACM

FPGA Programming for the Masses

The programmability of FPGAs must improve if they are to be part of mainstream computing.

Anatomy of a Solid-State Drive
From Communications of the ACM

Anatomy of a Solid-State Drive

While the ubiquitous SSD shares many features with the hard-disk drive, under the surface they are completely different.

Fault Injection in Production
From Communications of the ACM

Fault Injection in Production

Making the case for resilience testing.

A Guided Tour of Data-Center Networking
From Communications of the ACM

A Guided Tour of Data-Center Networking

A good user experience depends on predictable performance within the data-center network.

You Don't Know Jack About Shared Variables or Memory Models
From Communications of the ACM

You Don't Know Jack About Shared Variables or Memory Models

Data races are evil.

Abstraction in Hardware System Design
From Communications of the ACM

Abstraction in Hardware System Design

Applying lessons from software languages to hardware languages using Bluespec SystemVerilog.

Injecting Errors for Fun and Profit
From Communications of the ACM

Injecting Errors for Fun and Profit

Error-detection and correction features are only as good as our ability to test them.

Principles of Robust Timing Over the Internet
From Communications of the ACM

Principles of Robust Timing Over the Internet

The key to synchronizing clocks over networks is taming delay variability.

Triple-Parity RAID and Beyond
From Communications of the ACM

Triple-Parity RAID and Beyond

As hard-drive capacities continue to outpace their throughput, the time has come for a new level of RAID.

Making Sense of Revision-Control Systems
From Communications of the ACM

Making Sense of Revision-Control Systems

All revision-control systems come with complicated sets of trade-offs. How do you find the best match between tool and team?

Network Front-End Processors, Yet Again
From Communications of the ACM

Network Front-End Processors, Yet Again

The history of NFE processors sheds light on the trade-offs involved in designing network stack software.

Hard-Disk Drives: The Good, the Bad, and the Ugly
From Communications of the ACM

Hard-Disk Drives: The Good, the Bad, and the Ugly

New drive technologies and increased capacities create new categories of failure modes that will influence system designs.

From Communications of the ACM

CTO Storage Roundtable, Part Two

Leaders in the storage industry ponder upcoming technologies and trends.

From Communications of the ACM

The Rise and Fall of CORBA

There's a lot we can learn from CORBA's mistakes.

From Communications of the ACM

CTO Storage Roundtable: Part I

Leaders in the storage world offer valuable advice for making more effective architecture and technology decisions.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account