MURAC: A unified machine model for heterogeneous computers

 

Show simple item record

dc.contributor.advisor Inggs, Michael en_ZA
dc.contributor.advisor So, Hayden en_ZA
dc.contributor.author Hamilton, Brandon Kyle en_ZA
dc.date.accessioned 2016-01-25T11:39:48Z
dc.date.available 2016-01-25T11:39:48Z
dc.date.issued 2015 en_ZA
dc.identifier.citation Hamilton, B. 2015. MURAC: A unified machine model for heterogeneous computers. University of Cape Town. en_ZA
dc.identifier.uri http://hdl.handle.net/11427/16519
dc.description Includes bibliographical references en_ZA
dc.description.abstract Heterogeneous computing enables the performance and energy advantages of multiple distinct processing architectures to be efficiently exploited within a single machine. These systems are capable of delivering large performance increases by matching the applications to architectures that are most suited to them. The Multiple Runtime-reconfigurable Architecture Computer (MURAC) model has been proposed to tackle the problems commonly found in the design and usage of these machines. This model presents a system-level approach that creates a clear separation of concerns between the system implementer and the application developer. The three key concepts that make up the MURAC model are a unified machine model, a unified instruction stream and a unified memory space. A simple programming model built upon these abstractions provides a consistent interface for interacting with the underlying machine to the user application. This programming model simplifies application partitioning between hardware and software and allows the easy integration of different execution models within the single control ow of a mixed-architecture application. The theoretical and practical trade-offs of the proposed model have been explored through the design of several systems. An instruction-accurate system simulator has been developed that supports the simulated execution of mixed-architecture applications. An embedded System-on-Chip implementation has been used to measure the overhead in hardware resources required to support the model, which was found to be minimal. An implementation of the model within an operating system on a tightly-coupled reconfigurable processor platform has been created. This implementation is used to extend the software scheduler to allow for the full support of mixed-architecture applications in a multitasking environment. Different scheduling strategies have been tested using this scheduler for mixed-architecture applications. The design and implementation of these systems has shown that a unified abstraction model for heterogeneous computers provides important usability benefits to system and application designers. These benefits are achieved through a consistent view of the multiple different architectures to the operating system and user applications. This allows them to focus on achieving their performance and efficiency goals by gaining the benefits of different execution models during runtime without the complex implementation details of the system-level synchronisation and coordination. en_ZA
dc.language.iso eng en_ZA
dc.subject.other Electrical Engineering en_ZA
dc.title MURAC: A unified machine model for heterogeneous computers en_ZA
dc.type Thesis / Dissertation en_ZA
uct.type.publication Research en_ZA
uct.type.resource Thesis en_ZA
dc.publisher.institution University of Cape Town
dc.publisher.faculty Faculty of Engineering & the Built Environment en_ZA
dc.publisher.department Department of Electrical Engineering en_ZA
dc.type.qualificationlevel Doctoral en_ZA
dc.type.qualificationname PhD en_ZA
uct.type.filetype Text
uct.type.filetype Image


Files in this item

This item appears in the following Collection(s)

Show simple item record