A Tiger Compiler for the Cell Broadband Engine Architecture

The modern computing industry tends to build integrated circuits with multiple energy-efficient cores instead of ramping up the clock speed for each single processing unit. While each core may not run as fast as the single core model, such architecture allows more jobs to be handled in parallel and...

Full description

Bibliographic Details
Other Authors: Dutchyn, Christopher
Language:English
Published: 2014
Subjects:
AMP
Online Access:http://hdl.handle.net/10388/ETD-2013-08-1238
id ndltd-USASK-oai-ecommons.usask.ca-10388-ETD-2013-08-1238
record_format oai_dc
spelling ndltd-USASK-oai-ecommons.usask.ca-10388-ETD-2013-08-12382014-01-22T05:00:19ZA Tiger Compiler for the Cell Broadband Engine ArchitectureAMPCell Broadband EngineTigerCompilerThe modern computing industry tends to build integrated circuits with multiple energy-efficient cores instead of ramping up the clock speed for each single processing unit. While each core may not run as fast as the single core model, such architecture allows more jobs to be handled in parallel and also provides better overall performance. Asymmetric Multiprocessing, also known as Heterogeneous Multiprocessing, involves multiple processors that differ architecturally from one another, especially where each processor has its own memory space. Under power limitations, this design could provide better performance than that attained through symmetric multiprocessing. However, the heterogeneous nature adds difficulty to programming. Each specific architecture requires its own program code. Programmers also need to explicitly transfer code and data between processors. This study describes the implementation of a compiler of the pedagogic Tiger language for the Cell Broadband Engine, an asymmetric multiprocessing platform jointly developed by Sony, Toshiba and IBM. The problem above is solved by introducing multiple backends for the Tiger language, along with a remote call stub (RCS) generator. Functions are compiled into different architectures, and calls across architectures are linked automatically through the stubs. RCS takes care of the execution context switch and hides details of the argument data/return value transfer. TigC simplifies the programming and building procedures. It also provides a high-level view of the whole program execution for future optimization because all of the source files are processed by a single compiler. As an example of this procedure, the possible optimization of data transfer during remote calls is investigated here.Dutchyn, Christopher2014-01-21T19:01:24Z2014-01-21T19:01:24Z2013-082013-09-30August 2013textthesishttp://hdl.handle.net/10388/ETD-2013-08-1238eng
collection NDLTD
language English
sources NDLTD
topic AMP
Cell Broadband Engine
Tiger
Compiler
spellingShingle AMP
Cell Broadband Engine
Tiger
Compiler
A Tiger Compiler for the Cell Broadband Engine Architecture
description The modern computing industry tends to build integrated circuits with multiple energy-efficient cores instead of ramping up the clock speed for each single processing unit. While each core may not run as fast as the single core model, such architecture allows more jobs to be handled in parallel and also provides better overall performance. Asymmetric Multiprocessing, also known as Heterogeneous Multiprocessing, involves multiple processors that differ architecturally from one another, especially where each processor has its own memory space. Under power limitations, this design could provide better performance than that attained through symmetric multiprocessing. However, the heterogeneous nature adds difficulty to programming. Each specific architecture requires its own program code. Programmers also need to explicitly transfer code and data between processors. This study describes the implementation of a compiler of the pedagogic Tiger language for the Cell Broadband Engine, an asymmetric multiprocessing platform jointly developed by Sony, Toshiba and IBM. The problem above is solved by introducing multiple backends for the Tiger language, along with a remote call stub (RCS) generator. Functions are compiled into different architectures, and calls across architectures are linked automatically through the stubs. RCS takes care of the execution context switch and hides details of the argument data/return value transfer. TigC simplifies the programming and building procedures. It also provides a high-level view of the whole program execution for future optimization because all of the source files are processed by a single compiler. As an example of this procedure, the possible optimization of data transfer during remote calls is investigated here.
author2 Dutchyn, Christopher
author_facet Dutchyn, Christopher
title A Tiger Compiler for the Cell Broadband Engine Architecture
title_short A Tiger Compiler for the Cell Broadband Engine Architecture
title_full A Tiger Compiler for the Cell Broadband Engine Architecture
title_fullStr A Tiger Compiler for the Cell Broadband Engine Architecture
title_full_unstemmed A Tiger Compiler for the Cell Broadband Engine Architecture
title_sort tiger compiler for the cell broadband engine architecture
publishDate 2014
url http://hdl.handle.net/10388/ETD-2013-08-1238
_version_ 1716627385210634240