DEX: Scaling Applications Beyond Machine Boundaries


Increasing the computing performance within a single-machine form factor is becoming increasingly difficult due to the complexities in scaling processor interconnects and coherence protocols. On the other hand, converting existing applications to run on multiple nodes requires significant effort to rewrite application logic in distributed programming models and to adapt the code to underlying network characteristics. This paper presents DEX, an operating system-level approach to extend existing applications’ execution boundary over multiple machines. DEX allows the threads in a process to be relocated and distributed dynamically through a simple function call. DEX makes it trivial for developers to convert any application to be distributed over multiple nodes and for applications to transparently utilize disaggregated resources in a rack-scale system with minimal effort. Evaluation results using a running prototype and eight real applications show promising results – six out of the eight scale beyond single machine performance on DEX.