acm-header
Sign In

Communications of the ACM

Latest Practice



Algorithms Behind Modern Storage Systems
From Communications of the ACM

Algorithms Behind Modern Storage Systems

Different uses for read-optimized B-trees and write-optimized LSM-trees.

Designing Cluster Schedulers for Internet-Scale Services
From Communications of the ACM

Designing Cluster Schedulers for Internet-Scale Services

Embracing failures for improving availability.

Thou Shalt Not Depend on Me
From Communications of the ACM

Thou Shalt Not Depend on Me

A look at JavaScript libraries in the wild.

Research for Practice
From Communications of the ACM

Research for Practice: Cluster Scheduling for Datacenters

Expert-curated guides to the best of CS research.

Bitcoin's Underlying Incentives
From Communications of the ACM

Bitcoin's Underlying Incentives

The unseen economic forces that govern the Bitcoin protocol.

Monitoring in a DevOps World
From Communications of the ACM

Monitoring in a DevOps World

Perfect should never be the enemy of better.

Abstracting the Geniuses Away from Failure Testing
From Communications of the ACM

Abstracting the Geniuses Away from Failure Testing

Ordinary users need tools that automate the selection of custom-tailored faults to inject.

Bitcoin's Academic Pedigree
From Communications of the ACM

Bitcoin's Academic Pedigree

The concept of cryptocurrencies is built from forgotten ideas in research literature.

XML and JSON Are Like Cardboard
From Communications of the ACM

XML and JSON Are Like Cardboard

Cardboard surrounds and protects stuff as it crosses boundaries.

Hootsuite
From Communications of the ACM

Hootsuite: In Pursuit of Reactive Systems

A discussion with Edward Steel, Yanik Berube, Jonas Bonér, Ken Britton, and Terry Coatta

Now That We Can Write Simultaneously, How Do We Use That to Our Advantage?
From Communications of the ACM

Now That We Can Write Simultaneously, How Do We Use That to Our Advantage?

Word processors now make it possible for many authors to work on the same document concurrently. But what can they actually do?

The IDAR Graph
From Communications of the ACM

The IDAR Graph

An improvement over UML.

The Debugging Mind-Set
From Communications of the ACM

The Debugging Mind-Set

Understanding the psychology of learning strategies leads to effective problem-solving skills.

MongoDB's Javascript Fuzzer
From Communications of the ACM

MongoDB's Javascript Fuzzer

The fuzzer is for those edge cases that your testing did not catch.

Pervasive, Dynamic Authentication of Physical Items
From Communications of the ACM

Pervasive, Dynamic Authentication of Physical Items

The use of silicon PUF circuits.

Life Beyond Distributed Transactions
From Communications of the ACM

Life Beyond Distributed Transactions

An apostate's opinion.

Are You Load Balancing Wrong?
From Communications of the ACM

Are You Load Balancing Wrong?

Anyone can use a load balancer. Using it properly is much more difficult.

BBR: Congestion-Based Congestion Control
From Communications of the ACM

BBR: Congestion-Based Congestion Control

Measuring bottleneck bandwidth and round-trip propagation time.

The Power of Babble
From Communications of the ACM

The Power of Babble

Expect to be constantly and pleasantly befuddled.

Scaling Synchronization in Multicore Programs
From Communications of the ACM

Scaling Synchronization in Multicore Programs

Advanced synchronization methods can boost the performance of multicore software.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account