I-structures: data structures for parallel computing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Fast allocation and deallocation of memory based on object lifetimes
Software—Practice & Experience
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
STOC '97 Proceedings of the twenty-ninth annual ACM symposium on Theory of computing
The Evolution of the Unix Time-Sharing System
Proceedings of a Symposium on Language Design and Programming Methodology
Concepts, Techniques, and Models of Computer Programming
Concepts, Techniques, and Models of Computer Programming
Distributed caching with memcached
Linux Journal
Paxos made live: an engineering perspective
Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing
Lwt: a cooperative thread library
Proceedings of the 2008 ACM SIGPLAN workshop on ML
Earlybird: Real-Time Search at Twitter
ICDE '12 Proceedings of the 2012 IEEE 28th International Conference on Data Engineering
Communications of the ACM
Unikernels: the rise of the virtual library operating system
Communications of the ACM
Unikernels: Rise of the Virtual Library Operating System
Queue - Distributed Computing
Hi-index | 0.02 |
Building server software in a large-scale setting, where systems exhibit a high degree of concurrency and environmental variability, is a challenging task to even the most experienced programmer. Efficiency, safety, and robustness are paramount---goals which have traditionally conflicted with modularity, reusability, and flexibility. We describe three abstractions which combine to present a powerful programming model for building safe, modular, and efficient server software: Composable futures are used to relate concurrent, asynchronous actions; services and filters are specialized functions used for the modular composition of our complex server software. Finally, we discuss our experiences using these abstractions and techniques throughout Twitter's serving infrastructure.