Characterization of block memory operations
Master of Science thesis
Block memory operations are frequently performed by the operating system and consume an increasing fraction of kernel execution time. These operations include memory copies, page zeroing, interprocess communication, and networking. This thesis demonstrates that performance of these common OS operations is highly dependent on the cache state and future use pattern of the data. This thesis argues that prediction of both initial cache state and data reuse patterns can be used to dynamically select the optimal algorithm. It describes an innovative method for predicting the state of the cache by using a single cache-line probe. The performance of networking, which is dominated by kernel copies, is improved by the addition of dedicated hardware in the network interface. Finally, based upon the behavior of block memory operations, this thesis proposes improvements such as a hardware cache probe instruction, a dedicated memory controller copy engine, and centralized handling of block memory operations to improve performance in future systems.
Engineering, Electronics and Electrical; Computer Science