Many applications can benefit from data that increases performance but is not required for correctness (commonly referred to as soft state). Examples include cached data from backend web servers and memoized computations in data analytics systems. Today's systems generally statically limit the amount of memory they use for storing soft state in order to prevent unbounded growth that could exhaust the server's memory. Static provisioning, however, makes it difficult to respond to shifts in application demand for soft state and can leave significant amounts of memory idle. Existing OS kernels can only spend idle memory on caching disk blocks—which may not have the most utility—because they do not provide the right abstractions to safely allow applications to store their own soft state. To effectively manage and dynamically scale soft state, we propose soft memory, an elastic virtual memory abstraction with unmap-and-reconstruct semantics that makes it possible for applications to use idle memory to store whatever soft state they choose while guaranteeing both safety and efficiency. We present Midas, a soft memory management system that contains (1) a runtime that is linked to each application to manage soft memory objects and (2) OS kernel support that coordinates soft memory allocation between applications to maximize their performance. Our experiments with four real-world applications show that Midas can efficiently and safely harvest idle memory to store applications' soft state, delivering near-optimal application performance and responding to extreme memory pressure without running out of memory.
more »
« less
Towards Increased Datacenter Efficiency with Soft Memory
Memory is the bottleneck resource in today’s datacenters because it is inflexible: low-priority processes are routinely killed to free up resources during memory pressure. This wastes CPU cycles upon re-running killed jobs and incentivizes datacenter operators to run at low memory utilization for safety. This paper introduces soft memory, a software-level abstraction on top of standard primary storage that, under memory pressure, makes memory revocable for reallocation elsewhere. We prototype soft memory with the Redis key-value store, and find that it has low overhead.
more »
« less
- Award ID(s):
- 2039354
- PAR ID:
- 10486257
- Publisher / Repository:
- ACM
- Date Published:
- Journal Name:
- Proceedings of the 19th ACM SIGOPS Workshop on Hot Topics in Operating Systems
- ISBN:
- 9798400701955
- Page Range / eLocation ID:
- 127 to 134
- Format(s):
- Medium: X
- Location:
- Providence, RI, USA
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
Exploiting opportunistic memory by oversubscription is an appealing approach to improving cluster utilization and throughput. In this paper, we find the efficacy of memory oversubscription depends on whether or not the oversubscribed tasks can be killed by an OutOf Memory (OOM) killer in a timely manner to avoid significant memory thrashing upon memory pressure. However, current approaches in modern cluster schedulers are actually unable to unleash the power of opportunistic memory because their user space OOM killers are unable to timely deliver a task killing signal to terminate the oversubscribed tasks. Our experiments observe that a user space OOM killer fails to do that because of lacking the memory pressure knowledge from OS while the kernel space Linux OOM killer is too conservative to relieve memory pressure. In this paper, we design a user-assisted OOM killer (namely UA killer) in kernel space, an OS augmentation for accurate thrashing detection and agile task killing. To identify a thrashing task, UA killer features a novel mechanism, constraint thrashing. Upon UA killer, we develop Charon, a cluster scheduler for oversubscription of opportunistic memory in an on-demand manner. We implement Charon upon Mercury, a state-of-the-art opportunistic cluster scheduler. Extensive experiments with a Google trace in a 26-node cluster show that Charon can: (1) achieve agile task killing, (2) improve the best-effort job throughput by 3.5X over Mercury while prioritizing the production jobs, and (3) improve the 90th job completion time of production jobs over Kubernetes opportunistic scheduler by 62%.more » « less
-
Exploiting opportunistic memory by oversubscription is an appealing approach to improving cluster utilization and throughput. In this paper, we find the efficacy of memory oversubscription depends on whether or not the oversubscribed tasks can be killed by an OutOfMemory (OOM) killer in a timely manner to avoid significant memory thrashing upon memory pressure. However, current approaches in modern cluster schedulers are actually unable to unleash the power of opportunistic memory because their user space OOM killers are unable to timely deliver a task killing signal to terminate the oversubscribed tasks. Our experiments observe that a user space OOM killer fails to do that because of lacking the memory pressure knowledge from OS while the kernel space Linux OOM killer is too conservative to relieve memory pressure. In this paper, we design a user-assisted OOM killer (namely UA killer) in kernel space, an OS augmentation for accurate thrashing detection and agile task killing. To identify a thrashing task, UA killer features a novel mechanism, constraint thrashing. Upon UA killer, we develop Charon, a cluster scheduler for oversubscription of opportunistic memory in an on-demand manner. We implement Charon upon Mercury, a state-of-the-art opportunistic cluster scheduler. Extensive experiments with a Google trace in a 26-node cluster show that Charon can: (1) achieve agile task killing, (2) improve the best-effort job throughput by 3.5X over Mercury while prioritizing the production jobs, and (3) improve the 90th job completion time of production jobs over Kubernetes opportunistic scheduler by 62%.more » « less
-
Lubricated sliding on soft elastic substrates occurs in a variety of natural and technological settings. It very often occurs in the iso-viscous elasto-hydrodynamic lubrication (EHL) regime ( e.g. , soft solid, low pressure). In this regime, for sliding of a smooth sphere on a soft solid, a “Hertz-like” effective contact region forms. Much of the fluid is squeezed out of the contact region although enough is retained to keep the solid surfaces fully separated. This is accompanied by complex deformation of the soft solid. The behavior of such soft lubricated contacts is controlled by a single dimensionless parameter 1/ β that can be interpreted as a normalized sliding velocity. Solving this fundamental soft-lubrication problem poses significant computational difficulty for large β , which is the limit relevant for soft solids. As a consequence, little is known about the structure of the flow field under soft lubrication in the intake and outlet regions. Here we present a new solution of this soft lubrication problem focusing on the “Hertz” limit. We develop a formulation in polar coordinates that handles difficult computational issues much better than previous methods. We study how hydrodynamic pressure, film thickness and hydrodynamic friction vary with β . Scaling laws for these relationships are given in closed form for a range of β not previously accessible theoretically but that is typical in applications. The computational method presented here can be used to study other soft lubrication problems.more » « less
-
A stretchable pressure sensor is a necessary tool for perceiving physical interactions that take place on soft/deformable skins present in human bodies, prosthetic limbs, or soft robots. However, all existing types of stretchable pressure sensors have an inherent limitation, which is the interference of stretching with pressure sensing accuracy. Here, we present a design for a highly stretchable and highly sensitive pressure sensor that can provide unaltered sensing performance under stretching, which is realized through the synergistic creations of an ionic capacitive sensing mechanism and a mechanically hierarchical microstructure. Via this optimized structure, our sensor exhibits 98% strain insensitivity up to 50% strain and a low pressure detection limit of 0.2 Pa. With the capability to provide all the desired characteristics for quantitative pressure sensing on a deformable surface, this sensor has been used to realize the accurate sensation of physical interactions on human or soft robotic skin.more » « less
An official website of the United States government

