对于共享内存资源的多核系统来说,分配和管理有限的内存资源是一个非常重要且具有挑战性的问题.随着处理器核数的快速增长,不同线程间的访存请求对系统中共享内存的竞争也愈发激烈,由此导致的对系统性能和系统公平性的影响也更加显著.为了缓解这一问题,除了增加可用共享资源外,公平高效地管理和利用共享内存资源至关重要.在各类共享资源中,对系统性能影响最大的是共享Cache和DRAM.文中将这两级共享内存资源的分配和管理研究归结为三个重要方面,包括共享缓存分区、访存请求调度以及地址映射优化,并从优化系统吞吐率和公平性方面分析总结了一系列共享缓存分区策略,从缓解多线程对DRAM的竞争和相互干扰方面分析概括了一系列访存调度算法和地址映射策略.最后对共享内存资源未来的研究和发展做了总结和展望.
It is an important as well as a challenging problem to allocate and manage limited memory resources on multicore systems. With the rapid growth of the number of processor cores, memory access requests from different threads to shared memory system become increasingly competitive, and the resulted impact on system performance becomes increasingly significant. Fair and efficient management and usage of shared memory resources are essential in addition to increasing available shared resources. Amongst various types of shared resources, shared Cache and DRAM have the greatest impact on system performance. This paper attributes shared memory resources management to three important issues, including Cache partitioning, scheduling and address mapping. We introduce and analyze a series of shared Cache partitioning strategies to optimize system throughput and fairness, a full range of DRAM memory access scheduling algorithms as well as mapping strategies to alleviate multiple threads competition and mutual interference. Future research issues on the allocation and management of shared memory resources are also discussed in this paper.