Font Size: a A A

State-migration shared-variable programming and its runtime support for fine-grained cooperative tasks

Posted on:2010-06-19Degree:Ph.DType:Dissertation
University:University of California, IrvineCandidate:Lai, Ming KinFull Text:PDF
GTID:1448390002477008Subject:Computer Science
Abstract/Summary:
This dissertation dissects a programming model that makes concurrent programming on a network of computers easier than using message passing, expands the understanding of this model by clarifying its concepts, shows how it is used to improve data reuse in the cache on a uni-processor, and demonstrates, by using two implementations of a runtime system, that it also supports programming on a multiple-CPU computer.;Message passing is the predominant programming model for distributed concurrent programming. An alternative programming model proposed in previous works, called MESSENGERS in this dissertation, was enhanced and defined. The model was improved to differentiate and expand the roles played by two abstractions in the model, namely, physical node and logical node. An in-depth comparison with the message passing model was analyzed to offer insight on the ease-of-programming advantage of this MESSENGERS model.;A language, a compiler and a runtime system were developed in prior works to support programming fine-grained cooperative tasks under the MESSENGERS model.;Whereas prior efforts focused upon using MESSENGERS on a network of uni-processor computers leveraging its increased processing and memory power, this dissertation shows how to take advantage of MESSENGERS's cooperative scheduling to improve data reuse in the cache of a single computer.;The runtime system was modified to demonstrate that this model can be used to benefit from multiple processors or cores often found in contemporary computers. Two different versions of the runtime system were implemented. One creates as many processes (by creating multiple instances of the runtime) as there are CPUs on a computer, with a single computation thread in each process. The other creates as many threads as there are CPUs, all within the runtime process on the multiple-CPU computer. These versions were analyzed on different platforms and they achieved satisfactory improvement over the original runtime. A program running on the version using multiple processes was able to benefit from the technique that improves cache performance and thus achieve better speedup.
Keywords/Search Tags:Programming, Runtime, Model, Using, Message passing, Cooperative, Computer, MESSENGERS
Related items