Skip to content

The dirty block index with aggressive writeback mechanism.

License

BSD-3-Clause, Unknown licenses found

Licenses found

BSD-3-Clause
LICENSE
Unknown
COPYING
Notifications You must be signed in to change notification settings

codverch/Dirty-Block-Index

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

The Dirty Block Index: Featuring Aggressive Writeback Optimization

The Dirty Block Index(DBI) has been implemented as a separate structure to decouple the dirty bits from the cache tag store. This was accomplished by creating a new cache named the DBICache and augmenting it with the DBI.

This gem5 implementation is based on the paper by Seshadri, Vivek, et al. titled "The Dirty-Block Index" which was published in ACM SIGARCH Computer Architecture News, volume 42 issue 3, pages 157-168 in 2014: https://dl.acm.org/doi/abs/10.1145/2678373.2665697

Installation

To install gem5 with DBICache support:

 # Clone repository
 $ git clone https://github.com/codverch/Dirty-Block-Index.git ./gem5
 $ cd gem5
 # Install gem5 dependencies
 $ scons build/X86/gem5.opt -j$(nproc)
 

Note: Install gem5 dependencies as instructed on http://www.gem5.org/

Usage

To use DBICache in gem5, you need to follow these steps:

  1. Import DBICache in the caches.py cache configuration file.
  2. Replace the last level cache with DBICache.
  3. Set parameters for DBICache: block size, DBI size, DBI associativity, number of cache blocks per region, and aggressive writeback choice.
For example:

# Import the DBICache
from m5.objects import DBICache

# Set DBICache parameters
class L3Cache(DBICache):
    """DBI augmented L3 Cache with default values"""

    # DBICache parameters
    size = '1MB'
    assoc = 8
    tag_latency = 20
    data_latency = 20
    response_latency = 20
    mshrs = 20
    tgts_per_mshr = 12
    
    # DBI parameters
    blkSize = '64'
    alpha = 0.5
    dbi_assoc = 2
    blk_per_dbi_entry = 128
    aggr_writeback = True

Contributing

Want to help build DBI? Check out our contributing documentation

About

The dirty block index with aggressive writeback mechanism.

Topics

Resources

License

BSD-3-Clause, Unknown licenses found

Licenses found

BSD-3-Clause
LICENSE
Unknown
COPYING

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 76.0%
  • Python 15.2%
  • C 7.0%
  • Perl 0.4%
  • HTML 0.3%
  • Assembly 0.3%
  • Other 0.8%