Intra-process Caching and Reuse of Threads

05/16/2021
by   Dave Dice, et al.
0

Creating and destroying threads on modern Linux systems incurs high latency, absent concurrency, and fails to scale as we increase concurrency. To address this concern we introduce a process-local cache of idle threads. Specifically, instead of destroying a thread when it terminates, we cache and then recycle that thread in the context of subsequent thread creation requests. This approach shows significant promise in various applications and benchmarks that create and destroy threads rapidly and illustrates the need for and potential benefits of improved concurrency infrastructure. With caching, the cost of creating a new thread drops by almost an order of magnitude. As our experiments demonstrate, this results in significant performance improvements for multiple applications that aggressively create and destroy numerous threads.

READ FULL TEXT

page 1

page 2

page 3

research
05/30/2020

Lower Bounds for Caching with Delayed Hits

Caches are a fundamental component of latency-sensitive computer systems...
research
06/14/2018

Performance of Caching-Based D2D Video Distribution with Measured Popularity Distributions

On-demand video accounts for the majority of wireless data traffic. Vide...
research
12/05/2018

LBICA: A Load Balancer for I/O Cache Architectures

In recent years, enterprise Solid-State Drives (SSDs) are used in the ca...
research
06/14/2021

ETICA: Efficient Two-Level I/O Caching Architecture for Virtualized Platforms

In this paper, we propose an Efficient Two-Level I/O Caching Architectur...
research
11/01/2020

Understanding Application-Level Caching in Web Applications: A Comprehensive Introduction and Survey of State-of-the-Art

A new form of caching, namely application-level caching, has been recent...
research
01/08/2018

Asymptotic Miss Ratio of LRU Caching with Consistent Hashing

To efficiently scale data caching infrastructure to support emerging big...
research
10/22/2018

ShareJIT: JIT Code Cache Sharing across Processes and Its Practical Implementation

Just-in-time (JIT) compilation coupled with code caching are widely used...

Please sign up or login with your details

Forgot password? Click here to reset