acm-header
Sign In

Communications of the ACM

Latest Practice



Agile and SEMAT
From Communications of the ACM

Agile and SEMAT: Perfect Partners

Combining agile and SEMAT yields more advantages than either one alone.

Barbarians at the Gateways
From Communications of the ACM

Barbarians at the Gateways

A special section on high-frequency trading and exchange technology.

Online Algorithms in High-Frequency Trading
From Communications of the ACM

Online Algorithms in High-Frequency Trading

The challenges faced by competing HFT algorithms.

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.

The Antifragile Organization
From Communications of the ACM

The Antifragile Organization

Embracing failure to improve resilience and maximize availability.

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?

Rules For Mobile Performance Optimization
From Communications of the ACM

Rules For Mobile Performance Optimization

An overview of techniques to speed page loading.

Structured Deferral
From Communications of the ACM

Structured Deferral: Synchronization via Procrastination

We simply do not have a synchronization mechanism that can enforce mutual exclusion.

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.

Real-Time GPU Audio
From Communications of the ACM

Real-Time GPU Audio

Real-time finite difference-based sound synthesis using graphics processors.

Resolved: The Internet Is No Place For Critical Infrastructure
From Communications of the ACM

Resolved: The Internet Is No Place For Critical Infrastructure

Risk is a necessary consequence of dependence.

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.

Eventual Consistency Today
From Communications of the ACM

Eventual Consistency Today: Limitations, Extensions, and Beyond

How can applications be built on eventually consistent infrastructure given no guarantee of safety?

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.

The Evolution of Web Development For Mobile Devices
From Communications of the ACM

The Evolution of Web Development For Mobile Devices

Building websites that perform well on mobile devices remains a challenge.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account