Software containers limit the performance of data-intensive applications due to storage I/O contention in the system kernel of the host. Although kernel partitioning has been claimed as a promising approach, it is impractical due to implementation complexity. As a pragmatic alternative, we suggest that the tenants of a host should run their own user-level filesystems. We introduce the Polytropon toolkit as a collection of user-level components configurable to build several types of filesystems. The toolkit provides an application library to invoke the standard I/O calls, a user-level path to isolate the tenant I/O traffic to private host resources, and user-level filesystem services distinct per tenant. Furthermore, we introduce the RCQB concurrent queue that relaxes operation ordering for improved communication throughput, and we provide the SMO pipelined memory copy that is faster than standard methods. We use Polytropon to build the client of a distributed filesystem optionally combined with a union filesystem. Polytropon serves 32 tenants with RocksDB over network storage with 7.2 - 14x lower latency than kernel systems, and reduces up to 2.9x the timespan to execute source-code processing in the containers of 32 tenants. RCQB achieves higher performance than the state-of-the-art queues by 4 - 52x, while SMO achieves 29 - 66% higher data transfer throughput than existing methods.
CITATION STYLE
Kappes, G., & Anastasiadis, S. V. (2020). A user-level toolkit for storage I/O isolation on multitenant hosts. In SoCC 2020 - Proceedings of the 2020 ACM Symposium on Cloud Computing (pp. 74–89). Association for Computing Machinery, Inc. https://doi.org/10.1145/3419111.3421293
Mendeley helps you to discover research relevant for your work.