Show simple item record

dc.contributor.advisorJamali, Nadeemen_US
dc.creatorZhao, Xinghuien_US
dc.date.accessioned2013-01-03T22:31:50Z
dc.date.available2013-01-03T22:31:50Z
dc.date.created2012-06en_US
dc.date.issued2012-07-13en_US
dc.date.submittedJune 2012en_US
dc.identifier.urihttp://hdl.handle.net/10388/ETD-2012-06-509en_US
dc.description.abstractIn an open distributed system, computational resources are peer-owned, and distributed over time and space. The system is open to interactions with its environment, and the resources can dynamically join or leave the system, or can be discovered at runtime. This dynamicity leads to opportunities to carry out computations without statically owned resources, harnessing the collective compute power of the resources connected by the Internet. However, realizing this potential requires efficient and scalable resource discovery, coordination, and control, which present challenges in a dynamic, open environment. In this thesis, I present an approach to address these challenges by separating the functionality concerns of concurrent computations from those of coordinating their resource use, with the purpose of reducing programming complexity, and aiding development of correct, efficient, and resource-aware concurrent programs. As a first step towards effectively coordinating distributed resources, I developed DREAM, a Distributed Resource Estimation and Allocation Model, which enables computations to reason about future availability of resources. I then developed a fine-grained resource coordination scheme for distributed computations. The coordination scheme integrates DREAM-based resource reasoning into a distributed scheduler, for deciding and enforcing fine-grained resource-use schedules for distributed computations. To control the overhead caused by the coordination, a tuner is implemented which explicitly balances the overhead of the control mechanisms against the extent of control exercised. The effectiveness and performance of the resource coordination approach have been evaluated using a number of case studies. Experimental results show that the approach can effectively schedule computations for supporting various types of coordination objectives, such as ensuring Quality-of-Service, power-efficient execution, and dynamic load balancing. The overhead caused by the coordination mechanism is relatively modest, and adjustable through the tuner. In addition, the coordination mechanism does not add extra programming complexity to computations.en_US
dc.language.isoengen_US
dc.subjectdistributed systemsen_US
dc.subjectcoordinationen_US
dc.subjectresource controlen_US
dc.subjectgreen computingen_US
dc.subjectmulticoresen_US
dc.subjectself-tuningen_US
dc.titleCoordinating Resource Use in Open Distributed Systemsen_US
thesis.degree.departmentComputer Scienceen_US
thesis.degree.disciplineComputer Scienceen_US
thesis.degree.grantorUniversity of Saskatchewanen_US
thesis.degree.levelDoctoralen_US
thesis.degree.nameDoctor of Philosophy (Ph.D.)en_US
dc.type.materialtexten_US
dc.type.genreThesisen_US
dc.contributor.committeeMemberDutchyn, Christopheren_US
dc.contributor.committeeMemberEager, Dereken_US
dc.contributor.committeeMemberMilios, Evangelos E.en_US
dc.contributor.committeeMemberOsgood, Nathanielen_US
dc.contributor.committeeMemberKeil, Marken_US
dc.contributor.committeeMemberBradley, Michaelen_US
dc.contributor.committeeMemberGopalakrishnan, Sathishen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record