Programs written in C/C++ can suffer from serious memory fragmentation, leading to low utilization of memory, de- graded performance, and application failure due to memory exhaustion. This paper introduces Mesh, a plug-in replace- ment for malloc that, for the first time, eliminates fragmen- tation in unmodified C/C++ applications. Mesh combines novel randomized algorithms with widely-supported virtual memory operations to provably reduce fragmentation, break- ing the classical Robson bounds with high probability. Mesh generally matches the runtime performance of state-of-the- art memory allocators while reducing memory consumption; in particular, it reduces the memory of consumption of Fire- fox by 16% and Redis by 39%.
more »
« less
Roe $$C^*$$C∗-algebra for groupoids and generalized Lichnerowicz vanishing theorem for foliated manifolds
- Award ID(s):
- 1363250
- PAR ID:
- 10095697
- Date Published:
- Journal Name:
- Mathematische Zeitschrift
- Volume:
- 290
- Issue:
- 3-4
- ISSN:
- 0025-5874
- Page Range / eLocation ID:
- 1309 to 1338
- Format(s):
- Medium: X
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
null (Ed.)Writing correct concurrent code that uses atomics under the C/C++ memory model is extremely difficult. We present C11Tester, a race detector for the C/C++ memory model that can explore executions in a larger fragment of the C/C++ memory model than previous race detector tools. Relative to previous work, C11Tester's larger fragment includes behaviors that are exhibited by ARM processors. C11Tester uses a new constraint-based algorithm to implement modification order that is optimized to allow C11Tester to make decisions in terms of application-visible behaviors. We evaluate C11Tester on several benchmark applications, and compare C11Tester's performance to both tsan11rec, the state of the art tool that controls scheduling for C/C++; and tsan11, the state of the art tool that does not control scheduling.more » « less
An official website of the United States government

