Achievement
Modern computers increasingly use multiple types of memory—often a small, fast tier for immediate tasks and a larger, slower tier for high-capacity storage. Managing where data lives across these tiers is a significant challenge for achieving peak performance. This research introduces a novel, fully automatic software framework that acts as an intelligent traffic controller for data management. Unlike traditional methods that manage memory in large, indiscriminate blocks (pages), this system monitors individual "data objects" created by applications, learning how they are used in real-time and strategically moving them to the most appropriate memory tier. Crucially, this powerful optimization works on standard Linux systems and requires no modification or recompilation of existing software, making it transparent and easy to adopt.
Significance and Impact
- Boosts Application Speed: Delivers significant performance gains for memory-intensive applications, achieving speedups of up to 1.6x over standard policies in memory-constrained scenarios.
- Outperforms Hardware Caching: This flexible software approach achieves performance comparable to hardware-managed caching—and in some cases, up to 6% better—without sacrificing the valuable capacity of the fast memory tier.
- Eliminates Manual Effort: The system is fully automatic and transparent, freeing developers from the complex and error-prone task of manually modifying or recompiling applications to work with advanced memory systems.
- Enhances Multi-Tasking Throughput: By intelligently interpreting application priorities, the framework dramatically improves resource sharing, providing a 26% average speedup for low-priority tasks in concurrent environments.
Research Details
- Designed and developed a new software framework consisting of a custom memory allocator and a system-wide monitoring tool.
- Evaluated the framework's effectiveness using a variety of memory-intensive applications on a modern Intel computing platform.
- Compared multiple data-tiering policies to identify the most effective strategies for prioritizing and migrating data between memory tiers.
- Assessed the system's performance against common alternatives, including standard operating system policies and hardware-directed caching.
Facility
The research was a collaboration between the University of Tennessee, Intel Corporation, and Oak Ridge National Laboratory. Testing was conducted on a modern Intel platform featuring two memory tiers: fast DDR4 SDRAM and high-capacity Intel Optane persistent memory.
Sponsor/Funding
This work was supported by the U.S. Department of Energy, Office of Science, Advanced Computing Research, under contract DE-AC02-DE-AC05-00OR22725.
Principal Investigator and Team
Team: Brandon Kammerdiener, J. Zach McMichael, and Michael R. Jantz (University of Tennessee, USA); Kshitij A. Doshi (Intel Corporation, USA); Terry Jones (Oak Ridge National Laboratory, USA).
Citation and DOI
• Citation: Brandon Kammerdiener, J. Zach McMichael, Michael R. Jantz, Kshitij A. Doshi, and Terry Jones. 2024. Flexible and Effective Object Tiering for Heterogeneous Memory Systems. 1, 1 (December 2024), 23 pages.
• DOI: https://doi.org/10.1145/3708540.
Summary
The research team developed an intelligent, automated software solution that elegantly solves the complex problem of managing data in modern computers with multiple memory types. This framework helps applications run more efficiently on today's advanced hardware, improves how resources are utilized in multi-tasking environments, and simplifies data management without requiring any manual intervention from programmers. By making heterogeneous memory systems both powerful and easy to use, this work provides an essential enabling technology for next-generation architectures, including systems with high-bandwidth and disaggregated memories.