Static Determination of Synchronization Method for Slipstream Multiprocessors

Show simple item record

dc.contributor.advisor Eric Rotenberg, Committee Member en_US
dc.contributor.advisor Gregory T. Byrd, Committee Chair en_US
dc.contributor.advisor Vincent W. Freeh, Committee Member en_US
dc.contributor.author Christner, Robert K. en_US
dc.date.accessioned 2010-04-02T18:19:17Z
dc.date.available 2010-04-02T18:19:17Z
dc.date.issued 2004-03-30 en_US
dc.identifier.other etd-03292004-164413 en_US
dc.identifier.uri http://www.lib.ncsu.edu/resolver/1840.16/2963
dc.description.abstract The scalability of a distributed shared memory systems is limited largely by communication overhead, most of which can be attributed to memory latency and synchronization. In systems built with dual-processor single-chip multiprocessors (CMPs) a proposed solution to this scalability limitation is the use of slipstream execution mode for certain applications. Instead of using the second on-chip processor to run a separate slice of the parallel application, slipstream mode utilizes the second processor to run a reduced version of the same task. The reduced version, known as the advanced stream, skips certain high latency events but continues to make accurate forward progress and provides future reference behavior for the unreduced version, known as the redundant stream. Slipstream mode provides several methods of synchronization between the advanced (A-) and redundant (R-) streams to govern how far the A-stream can advance in front of the R-stream and also to provide a method of keeping the A-stream on the correct control path. A current limitation of slipstream is that the method used for A-R synchronization must be specified by the user at run time and used throughout the entire execution of the program. This is because the method that results in the best performance is application dependant and unknown beforehand. We investigate alternate procedures to determine the A-R synchronization method by the use of static code analysis in the form of both profile- and compiler-driven techniques. A trace profile algorithm is presented that gives insight into shared memory access patterns that favor certain synchronization methods. We also discuss compiler integration of the synchronization method determination. Techniques similar to those which are used for compiler-driven prefetching and data forwarding are shown that could be used in this context as well. en_US
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 CMP en_US
dc.subject multiprocessor en_US
dc.subject slipstream en_US
dc.title Static Determination of Synchronization Method for Slipstream Multiprocessors en_US
dc.degree.name MS en_US
dc.degree.level thesis en_US
dc.degree.discipline Computer Engineering en_US


Files in this item

Files Size Format View
etd.pdf 631.2Kb PDF View/Open

This item appears in the following Collection(s)

Show simple item record