Classifying data blocks at subpage granularity with an on-chip page table to improve coherence in tiled CMPs
Date
2018Source Title
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Print ISSN
0278-0070
Publisher
Institute of Electrical and Electronics Engineers
Volume
37
Issue
4
Pages
806 - 819
Language
English
Type
ArticleItem Usage Stats
180
views
views
236
downloads
downloads
Abstract
As shown in some prior studies, a significant percentage of data blocks accessed in parallel codes are private, and not keeping track of those blocks can improve the effectiveness of directory structures in Chip multiprocessors (CMPs). In this paper, we have two major contributions. First, we showed that compared to the classification of cache blocks at page granularity, data block classification (DBC) at subpage level helps to detect considerably more private data blocks. Based on this idea, we propose two different approaches for enhancing the effectiveness of directory caches in tiled CMPs. In the first approach, which is called quasi-dynamic subpage level DBC (QDBC), a data block is assumed to be private from the beginning of the program execution and stays private as long as the corresponding subpage is accessed by only one core. Our second approach, which is called dynamic subpage level DBC, turns a data block into private again after all blocks within the corresponding subpage are evicted from private cache hierarchy. Memory block classification at subpage level, however, may increase the frequency of the operating system involvement in updating the maintenance bits in page table entries. To overcome this, we propose, as a second contribution, a distributed table called as on-chip page table (o-CPT), which stores recently accessed page translations in the system. Our simulation results show that, compared to page level data classification, QDBC and DBC approaches relying on the o-CPT can detect significantly more private data blocks and considerably improve system performance.
Keywords
Address translationCache coherence
Chip multiprocessor (CMP)
Directory cache
Page table
Translation look-aside buffer (TLB)