ACM DL

ACM Transactions on

Computer Systems (TOCS)

Menu
Latest Articles

Pivot Tracing: Dynamic Causal Monitoring for Distributed Systems

Monitoring and troubleshooting distributed systems is notoriously difficult; potential problems are complex, varied, and unpredictable. The monitoring and diagnosis tools commonly used today—logs, counters, and metrics—have two important limitations: what gets recorded is defined a priori, and the information is recorded in a... (more)

Building Consistent Transactions with Inconsistent Replication

Application programmers increasingly prefer distributed storage systems with strong consistency and distributed transactions (e.g., Google’s... (more)

Ryoan: A Distributed Sandbox for Untrusted Computation on Secret Data

Users of modern data-processing services such as tax preparation or genomic screening are forced to trust them with data that the users wish to keep secret. Ryoan1 protects secret data while it is processed by services that the data owner does not trust. Accomplishing this goal in a distributed setting is difficult, because the user has no control... (more)

NEWS

New Editor-in-Chief

ACM Transactions on Computer Systems (TOCS) welcomes Michael Swift as new Editor-in-Chief as of November 1, 2018. Michael is a Professor in the Computer Sciences Department at University of Wisconsin, Madison.

Forthcoming Articles
Derecho: Fast State Machine Replication for Cloud Service

The coming generation of Internet-of-Things (IoT) applications will process massive amounts of incoming data while supporting data mining and online learning. In cases with demanding real-time requirements, such systems behave as smart memories: high-bandwidth services that capture sensor input, processes it using machine-learning tools, replicate and store interesting data (discarding uninteresting content), update knowledge models, and trigger urgently-needed responses. Derecho is a high-throughput library for building smart memories and similar services. At its core Derecho implements atomic multicast and state machine replication. Derechos replicated template defines a replicated type; the corresponding objects are associated with subgroups, which can be sharded into keyvalue structures. The persistent and volatile storage templates implement version vectors with optional NVM persistence. These support time-indexed access, offering lock-free snapshot isolation that blends temporal precision and causal consistency. Derecho automates application management, supporting multigroup structures and providing consistent knowledge of the current membership mapping. A query can access data from many shards or subgroups, and consistency is guaranteed without any form of distributed locking. Whereas many systems run consensus on the critical path, Derecho requires consensus only when updating membership. The approach results in a software library offering exceptional speed and flexibility.

Lock - Unlock: Is That All? A pragmatic Analysis of Locking in Software Systems

A plethora of mutex lock algorithms have been designed to mitigate performance bottlenecks. Unfortunately, there is currently no broad study of the behavior of lock algorithms on realistic applications that consider different performance metrics (energy efficiency and tail latency in addition to throughput). In this paper, we perform an analysis of synchronization to provide application developers with enough information to design fast, scalable and energy-efficient synchronization. First, we study the performance of 28 lock algorithms, on 40 applications, on four multicore machines, considering throughput, energy efficiency and tail latency. Second, we describe nine lock performance bottlenecks, and propose six guidelines helping developers with their choice of a lock algorithm. From our analysis, we make, several observations: (i) applications stress the full locking API (e.g., trylocks), (ii) the memory footprint of a lock can affect performance, (iii) the interaction between locks and scheduling is an application performance factor, and (iv) lock tail latencies may or may not affect application tail latency. These findings highlight that locking involves more considerations than the simple lock  unlock interface and call for further research on designing low-memory footprint adaptive locks that fully and efficiently support the full lock interface, and consider all performance metrics.

All ACM Journals | See Full Journal Index

Search TOCS
enter search term and/or author name