filmov
tv
The scalable commutativity rule: designing scalable software for multicore processors
Показать описание
What fundamental opportunities for scalability are latent in interfaces, such as system call APIs? Can scalability opportunities be identified even before any implementation exists, simply by considering interface specifications? To answer these questions this paper introduces the following rule: Whenever interface operations commute, they can be implemented in a way that scales. This rule aids developers in building more scalable software starting from interface design and carrying on through implementation, testing, and evaluation.
To help developers apply the rule, a new tool named Commuter accepts high-level interface models and generates tests of operations that commute and hence could scale. Using these tests, Commuter can evaluate the scalability of an implementation. We apply Commuter to 18 POSIX calls and use the results to guide the implementation of a new research operating system kernel called sv6. Linux scales for 68% of the 13,664 tests generated by Commuter for these calls, and Commuter finds many problems that have been observed to limit application scalability. sv6 scales for 99% of the tests.
To help developers apply the rule, a new tool named Commuter accepts high-level interface models and generates tests of operations that commute and hence could scale. Using these tests, Commuter can evaluate the scalability of an implementation. We apply Commuter to 18 POSIX calls and use the results to guide the implementation of a new research operating system kernel called sv6. Linux scales for 68% of the 13,664 tests generated by Commuter for these calls, and Commuter finds many problems that have been observed to limit application scalability. sv6 scales for 99% of the tests.
The scalable commutativity rule: designing scalable software for multicore processors
Read a paper: The Scalable Commutativity Rule
Neha Narula on The Scalable Commutativity Rule
18 The Scalable Commutativity Rule Designing Scalable Software for Multicore Processors Part 1
18 The Scalable Commutativity Rule Designing Scalable Software for Multicore Processors Part 2
18 The Scalable Commutativity Rule Designing Scalable Software for Multicore Processors Part 3
Perfect Scalability - by Michael Nash
W09-b: Multicore Operating Systems – Part 2
Systemized Program Analysis - A Big Data Perspective on Scalable, Easy to Implement, ... - Harry Xu
Everything you Wanted to Know about Synchronization | Vasileios Trigonakis
High-Performance and Scalable Designs of Programming Models for Exascale Systems
'The Zen of High Performance Messaging with NATS' by Waldemar Quevedo Salinas
Neha Sharma: Your Guide to Making Scalable Design Systems / React Boston 2019
Scalable Distributed Design
LISA17 - Scalability Is Quantifiable: The Universal Scalability Law
Scaling a Relational Database for the Cloud age | Citus Data
Papers We Love too - Nathan Taylor on OS scalability & Chris Meiklejohn on Chain Replication
Back Of The Envelope - Design of Computer Programs
A New Library For Imperative ZIO Programming by Alexander Ioffe
High-Performance and Scalable Designs of Programming Models for Exascale Systems
Software Abstractions for Extreme-Scale Scalability of Computational Frameworks | M. Berzins
'A Pragmatic Introduction to Multicore Synchronization,' Samy Al Bahra
Michael Nash - Easy Scalability with Akka
FutureStack15: Building a System that Never Stops- New Relic at Scale
Комментарии