Reducing coherency traffic volume in chip multiprocessors through pointer analysis

buir.advisorÖztürk, Özcan
dc.contributor.authorDerebaşoğlu, Erdem
dc.date.accessioned2017-10-02T13:09:03Z
dc.date.available2017-10-02T13:09:03Z
dc.date.copyright2017-09
dc.date.issued2017-09
dc.date.submitted2017-09-29
dc.departmentDepartment of Computer Engineeringen_US
dc.descriptionCataloged from PDF version of article.en_US
dc.descriptionThesis (M.S.): Bilkent University, Department of Computer Engineering, İhsan Doğramacı Bilkent University, 2017.en_US
dc.descriptionIncludes bibliographical references (leaves 34-39).en_US
dc.description.abstractWith increasing number of cores in chip multiprocessors (CMPs), it gets more challenging to provide cache coherency efficiently. Although snooping based protocols are appropriate solutions to small scale systems, they are inefficient for large systems because of the limited bandwidth. Therefore, large scale CMPs require directory based solutions where a hardware structure called directory holds the information. This directory keeps track of all memory blocks and which core's cache stores a copy of these blocks. The directory sends messages only to caches that store relevant blocks and also coordinates simultaneous accesses to a cache block. As directory based protocols scaled to many cores, performance, network-on-chip (NoC) traffic, and bandwidth become major problems. In this thesis, we present software mechanisms to improve effectiveness of directory based cache coherency on CMPs with shared memory. In multithreaded applications, some of the data accesses do not disrupt cache coherency, but they still produce coherency messages among cores. For example, read-only (private) data can be considered in this category. On the other hand, if data is accessed by at least two cores and at least one of them is a write operation, it is called shared data. In our proposed system, private data and shared data are determined at compile time, and cache coherency protocol only applies to shared data. We implement our approach in two stages. First, we use Andersen's pointer analysis to analyze a program and mark its private instructions, i.e instructions that load or store private data, at compile time. Second, we run the program in Sniper Multi-Core Simulator [1] with the proposed hardware con guration. We used SPLASH-2 and PARSEC-2.1 parallel benchmarks to test our approach. Simulation results show that our approach reduces cycle count, dynamic random access memory (DRAM) accesses, and coherency traffic.en_US
dc.description.degreeM.S.en_US
dc.description.statementofresponsibilityby Erdem Derebaşoğlu.en_US
dc.format.extentxiii, 39 leaves : charts (some color) ; 29 cm.en_US
dc.identifier.itemidB156521
dc.identifier.urihttp://hdl.handle.net/11693/33772
dc.language.isoEnglishen_US
dc.publisherBilkent Universityen_US
dc.rightsinfo:eu-repo/semantics/openAccessen_US
dc.subjectCache coherencyen_US
dc.subjectCMPsen_US
dc.subjectDataen_US
dc.subjectPointer analysisen_US
dc.subjectDirectoryen_US
dc.titleReducing coherency traffic volume in chip multiprocessors through pointer analysisen_US
dc.title.alternativeÇok çekirdekli işlemcilerde işaretçi analizi kullanarak önbellek tutarlılık trafiğinin azaltılmasıen_US
dc.typeThesisen_US

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
10166193.pdf
Size:
264.22 KB
Format:
Adobe Portable Document Format
Description:
Full printable version
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed upon to submission
Description: