Construction of GCCFG for Inter-procedural Optimizations in Software Managed Manycore (SMM)

abstract: Software Managed Manycore (SMM) architectures - in which each core has only a scratch pad memory (instead of caches), - are a promising solution for scaling memory hierarchy to hundreds of cores. However, in these architectures, the code and data of the tasks mapped to the cores must be ex...

Full description

Bibliographic Details
Other Authors: Holton, Bryce Harvard (Author)
Format: Dissertation
Language:English
Published: 2014
Subjects:
Online Access:http://hdl.handle.net/2286/R.I.26839
id ndltd-asu.edu-item-26839
record_format oai_dc
spelling ndltd-asu.edu-item-268392018-06-22T03:05:32Z Construction of GCCFG for Inter-procedural Optimizations in Software Managed Manycore (SMM) abstract: Software Managed Manycore (SMM) architectures - in which each core has only a scratch pad memory (instead of caches), - are a promising solution for scaling memory hierarchy to hundreds of cores. However, in these architectures, the code and data of the tasks mapped to the cores must be explicitly managed in the software by the compiler. State-of-the-art compiler techniques for SMM architectures require inter-procedural information and analysis. A call graph of the program does not have enough information, and Global CFG, i.e., combining all the control flow graphs of the program has too much information, and becomes too big. As a result, most new techniques have informally defined and used GCCFG (Global Call Control Flow Graph) - a whole program representation which captures the control-flow as well as function call information in a succinct way - to perform inter-procedural analysis. However, how to construct it has not been shown yet. We find that for several simple call and control flow graphs, constructing GCCFG is relatively straightforward, but there are several cases in common applications where unique graph transformation is needed in order to formally and correctly construct the GCCFG. This paper fills this gap, and develops graph transformations to allow the construction of GCCFG in (almost) all cases. Our experiments show that by using succinct representation (GCCFG) rather than elaborate representation (GlobalCFG), the compilation time of state-of-the-art code management technique [4] can be improved by an average of 5X, and that of stack management [20] can be improved by an average of 4X. Dissertation/Thesis Holton, Bryce Harvard (Author) Shrivastava, Aviral (Advisor) Collofello, James (Committee member) Richa, Andrea (Committee member) Arizona State University (Publisher) Computer science Call Graph Control Flow Graph Interprocedural eng 39 pages Masters Thesis Computer Science 2014 Masters Thesis http://hdl.handle.net/2286/R.I.26839 http://rightsstatements.org/vocab/InC/1.0/ All Rights Reserved 2014
collection NDLTD
language English
format Dissertation
sources NDLTD
topic Computer science
Call Graph
Control Flow Graph
Interprocedural
spellingShingle Computer science
Call Graph
Control Flow Graph
Interprocedural
Construction of GCCFG for Inter-procedural Optimizations in Software Managed Manycore (SMM)
description abstract: Software Managed Manycore (SMM) architectures - in which each core has only a scratch pad memory (instead of caches), - are a promising solution for scaling memory hierarchy to hundreds of cores. However, in these architectures, the code and data of the tasks mapped to the cores must be explicitly managed in the software by the compiler. State-of-the-art compiler techniques for SMM architectures require inter-procedural information and analysis. A call graph of the program does not have enough information, and Global CFG, i.e., combining all the control flow graphs of the program has too much information, and becomes too big. As a result, most new techniques have informally defined and used GCCFG (Global Call Control Flow Graph) - a whole program representation which captures the control-flow as well as function call information in a succinct way - to perform inter-procedural analysis. However, how to construct it has not been shown yet. We find that for several simple call and control flow graphs, constructing GCCFG is relatively straightforward, but there are several cases in common applications where unique graph transformation is needed in order to formally and correctly construct the GCCFG. This paper fills this gap, and develops graph transformations to allow the construction of GCCFG in (almost) all cases. Our experiments show that by using succinct representation (GCCFG) rather than elaborate representation (GlobalCFG), the compilation time of state-of-the-art code management technique [4] can be improved by an average of 5X, and that of stack management [20] can be improved by an average of 4X. === Dissertation/Thesis === Masters Thesis Computer Science 2014
author2 Holton, Bryce Harvard (Author)
author_facet Holton, Bryce Harvard (Author)
title Construction of GCCFG for Inter-procedural Optimizations in Software Managed Manycore (SMM)
title_short Construction of GCCFG for Inter-procedural Optimizations in Software Managed Manycore (SMM)
title_full Construction of GCCFG for Inter-procedural Optimizations in Software Managed Manycore (SMM)
title_fullStr Construction of GCCFG for Inter-procedural Optimizations in Software Managed Manycore (SMM)
title_full_unstemmed Construction of GCCFG for Inter-procedural Optimizations in Software Managed Manycore (SMM)
title_sort construction of gccfg for inter-procedural optimizations in software managed manycore (smm)
publishDate 2014
url http://hdl.handle.net/2286/R.I.26839
_version_ 1718700554001055744