acm-header
Sign In

Communications of the ACM

Latest Practice



Passively Measuring TCP Round-Trip Times
From Communications of the ACM

Passively Measuring TCP Round-Trip Times

A close look at round-trip time measurements with the Transmission Control Protocol.

The Balancing Act of Choosing Nonblocking Features
From Communications of the ACM

The Balancing Act of Choosing Nonblocking Features

Design requirements of nonblocking systems.

20 Obstacles to Scalability
From Communications of the ACM

20 Obstacles to Scalability

Watch out for these pitfalls that can prevent Web application scaling.

An Overview of Non-Uniform Memory Access
From Communications of the ACM

An Overview of Non-Uniform Memory Access

NUMA becomes more common because memory controllers get close to execution units on microprocessors.

Best Practices on the Move
From Communications of the ACM

Best Practices on the Move: Building Web Apps For Mobile Devices

Which practices should be modified or avoided altogether by developers for the mobile Web?

Nonblocking Algorithms and Scalable Multicore Programming
From Communications of the ACM

Nonblocking Algorithms and Scalable Multicore Programming

Exploring an alternative to lock-based synchronization.

Proving the Correctness of Nonblocking Data Structures
From Communications of the ACM

Proving the Correctness of Nonblocking Data Structures

Nonblocking synchronization can yield astonishing results in terms of scalability and real-time response, but at the expense of verification state space.

There Is No Getting Around It
From Communications of the ACM

There Is No Getting Around It: You Are Building a Distributed System

Building a distributed system requires a methodical approach to requirements.

Discrimination in Online Ad Delivery
From Communications of the ACM

Discrimination in Online Ad Delivery

Google ads, black names and white names, racial discrimination, and click advertising.

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.

Making the Mobile Web Faster
From Communications of the ACM

Making the Mobile Web Faster

Mobile performance issues? Fix the back end, not just the client.

The Essence of Software Engineering
From Communications of the ACM

The Essence of Software Engineering: The SEMAT Kernel

A thinking framework in the form of an actionable kernel.

Sender-Side Buffers and the Case For Multimedia Adaptation
From Communications of the ACM

Sender-Side Buffers and the Case For Multimedia Adaptation

A proposal to improve the performance and availability of streaming video and other time-sensitive media.

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.

Disks from the Perspective of a File System
From Communications of the ACM

Disks from the Perspective of a File System

Disks lie. And the controllers that run them are partners in crime.

Fault Injection in Production
From Communications of the ACM

Fault Injection in Production

Making the case for resilience testing.

A Generation Lost in the Bazaar
From Communications of the ACM

A Generation Lost in the Bazaar

Quality happens only when someone is responsible for it.

A New Objective-C Runtime
From Communications of the ACM

A New Objective-C Runtime: From Research to Production

Backward compatibility always trumps new features.

Software Needs Seatbelts and Airbags
From Communications of the ACM

Software Needs Seatbelts and Airbags

Finding and fixing bugs in deployed software is difficult and time-consuming. Here are some alternatives.

All Your Database Are Belong To Us
From Communications of the ACM

All Your Database Are Belong To Us

In the big open world of the cloud, highly available distributed objects will rule.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account