Slipstream Execution Mode for CMP-based Shared Memory Systems
dc.contributor.advisor | Gregory T. Byrd, Committee Chair | en_US |
dc.contributor.advisor | Thomas M. Conte, Committee Member | en_US |
dc.contributor.advisor | Eric Rotenberg, Committee Member | en_US |
dc.contributor.advisor | Frank Mueller, Committee Member | en_US |
dc.contributor.author | Ibrahim, Khaled Zakarya Moustafa | en_US |
dc.date.accessioned | 2010-04-02T18:40:24Z | |
dc.date.available | 2010-04-02T18:40:24Z | |
dc.date.issued | 2003-07-30 | en_US |
dc.degree.discipline | Computer Engineering | en_US |
dc.degree.level | dissertation | en_US |
dc.degree.name | PhD | en_US |
dc.description.abstract | Scalability of applications on distributed shared-memory (DSM) multiprocessors is limited by communication and synchronization overheads. At some point, using more processors to increase parallelism yields diminishing returns or even degrades performance. When increasing concurrency is futile, we propose an additional mode of execution, called slipstream mode, that instead enlists extra processors to assist parallel tasks by reducing perceived overheads. We consider DSM multiprocessors built from dual-processor chip multiprocessor (CMP) nodes (e.g., IBM Power-4 CMP) with shared L2 cache. A parallel task is allocated on one processor of each CMP node. The other processor of each node executes a reduced version of the same task. The reduced version skips shared-memory stores and synchronization, allowing it to run ahead of the true task. Even with the skipped operations, the reduced task makes accurate forward progress and generates an accurate reference stream, because branches and addresses depend primarily on private data. Slipstream execution mode yields multiple benefits. First, the reduced task prefetches data on behalf of the true task. Second, reduced tasks provide a detailed picture of future reference behavior, enabling a number of optimizations aimed at accelerating coherence events. We investigate a well-known optimization, self-invalidation. We also investigate providing confidence mechanism for speculation after barrier synchronization. We investigate the implementation of an OpenMP compiler that supports slipstream execution mode. We discuss how each OpenMP construct can be implemented to take advantage of slipstream mode, and we present a minor extension that allows runtime or compile-time control of slipstream execution. We also investigate the interaction between slipstream mechanisms and OpenMP scheduling. Our implementation supports both static and dynamic scheduling in slipstream mode. For multiprocessor systems with up to 16 CMP nodes, Slipstream mode is 12-19% faster with prefetching only. With self-invalidation also enabled, performance is improved by as much as 29%. We extended slipstream mode to provide a confidence mechanism for barrier speculation. This mechanism identifies dependencies and tries to avoid dependency violations that lead to misspeculations (and subsequently rollbacks). Rollbacks are reduced by up to 95% and the improvement in performance is up to 13%. Slipstream execution mode enables a wide range of optimizations based on an accurate future image of the program behavior. It does not require custom auxiliary hardware tables used by history-based predictors. | en_US |
dc.identifier.other | etd-04252003-123737 | en_US |
dc.identifier.uri | http://www.lib.ncsu.edu/resolver/1840.16/3927 | |
dc.rights | I hereby certify that, if appropriate, I have obtained and attached hereto a written permission statement from the owner(s) of each third party copyrighted matter to be included in my thesis, dissertation, or project report, allowing distribution as specified below. I certify that the version I submitted is the same as that approved by my advisory committee. I hereby grant to NC State University or its agents the non-exclusive license to archive and make accessible, under the conditions specified below, my thesis, dissertation, or project report in whole or in part in all forms of media, now or hereafter known. I retain all other ownership rights to the copyright of the thesis, dissertation or project report. I also retain the right to use in future works (such as articles or books) all or part of this thesis, dissertation, or project report. | en_US |
dc.subject | Slipstream | en_US |
dc.subject | Speculation | en_US |
dc.subject | Computer Architecture | en_US |
dc.subject | Shared Memory | en_US |
dc.subject | Chip multiprocessor | en_US |
dc.subject | OpenMP | en_US |
dc.title | Slipstream Execution Mode for CMP-based Shared Memory Systems | en_US |
Files
Original bundle
1 - 1 of 1