Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2656106.2656122acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
research-article

Construction of GCCFG for inter-procedural optimizations in software managed manycore (SMM) architectures

Published: 12 October 2014 Publication History

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.

References

[1]
Raw Performance: SiSoftware Sandra 2010 Pro (GFLOPS).
[2]
Intel Core i7 Processor Extreme Edition and Intel Core i7 Processor Datasheet, Volume 1. In White paper. Intel, 2010.
[3]
K. Bai, D. Lu, and A. Shrivastava. Vector Class on Limited Local Memory (LLM) Multi-core Processors. In Proc. of CASES, pages 215--224, 2011.
[4]
K. Bai, J. Lu, A. Shrivastava, and B. Holton. CMSM: An Efficient and Effective Code Management for Software Managed Multicores. In Proc. of CODES+ISSS, pages 1--9, 2013.
[5]
K. Bai and A. Shrivastava. Heap Data Management for Limited Local Memory (LLM) Multi-core Processors. In Proc. of CODES+ISSS, pages 317--326, 2010.
[6]
K. Bai and A. Shrivastava. A Software-Only Scheme for Managing Heap Data on Limited Local Memory (LLM) Multicore Processors. Trans. on Embedded Computing Sys., 13(5):472--511, 2013.
[7]
K. Bai and A. Shrivastava. Automatic and Efficient Heap Data Management for Limited Local Memory Multicore Architectures. In Proc. of DATE, 2013.
[8]
K. Bai, A. Shrivastava, and S. Kudchadker. Stack Data Management for Limited Local Memory (LLM) Multi-core Processors. In Proc. of ASAP, pages 231--234, 2011.
[9]
M. A. Baker, A. Panda, N. Ghadge, A. Kadne, and K. S. Chatha. A Performance Model and Code Overlay Generator for Scratchpad Enhanced Embedded Processors. In Proc. of CODES+ISSS, pages 287--296, 2010.
[10]
R. Banakar, S. Steinke, B.-S. Lee, M. Balakrishnan, and P. Marwedel. Scratchpad Memory: Design Alternative for Cache on-chip Memory in Embedded Systems. In Proc. of CODES, pages 73--78, 2002.
[11]
G. Bournoutian and A. Orailoglu. Dynamic, Multi-core Cache Coherence Architecture for Power-sensitive Mobile Processors. In Proc. of CODES+ISSS, pages 89--98, 2011.
[12]
B. Choi et al. DeNovo: Rethinking the Memory Hierarchy for Disciplined Parallelism. In Proc. of PACT, pages 155--166, 2011.
[13]
J. Ferrante, K. J. Ottenstein, and J. D. Warren. The Program Dependence Graph and its use in Optimization. ACM TOPLAS, 9(3):319--349, 1987.
[14]
B. Flachs et al. The Microarchitecture of the Synergistic Processor for a Cell Processor. Solid-State Circuits, IEEE Journal of, 41(1):63--70, 2006.
[15]
M. R. Guthaus et al. MiBench: A Free, Commercially Representative Embedded Benchmark Suite. In Proc. of the Workload Characterization, 2001.
[16]
M. Heinrich et al. A Quantitative Analysis of the Performance and Scalability of Distributed Shared Memory Cache Coherence Protocols. IEEE Trans. Comput., 48(2):205--217, Feb. 1999.
[17]
S. Horwitz, T. Reps, and D. Binkley. Interprocedural Slicing using Dependence Graphs. ACM Trans. Program. Lang. Syst., 12(1):26--60, 1990.
[18]
C. Jang, J. Lee, B. Egger, and S. Ryu. Automatic Code Overlay Generation and Partially Redundant Code Fetch Elimination. ACM Trans. Archit. Code Optim., 9(2):10:1--10:32, 2012.
[19]
S. Jung, A. Shrivastava, and K. Bai. Dynamic Code Mapping for Limited Local Memory Systems. In Proc. of ASAP, pages 13--20, 2010.
[20]
J. Lu, K. Bai, and A. Shrivastava. SSDM: Smart Stack Data Management for Software Managed Multicores (SMMs). In Proc. of DAC, 2013.
[21]
A. Milanova, A. Rountev, and B. G. Ryder. Precise Call Graphs for C Programs with Function Pointers. Automated Software Engineering, 11(1):7--26, 2004.
[22]
C. D. Polychronopoulos. The Hierarchical Task Graph and its use in Auto-scheduling. In Proc. of Supercomputing, pages 252--263, 1991.
[23]
S. Udayakumaran, A. Dominguez, and R. Barua. Dynamic Allocation for Scratch-pad Memory using Compile-time Decisions. Trans. on Embedded Computing Sys., 5(2):472--511, 2006.
[24]
J. Whitham. Optimal Program Partitioning for Predictable Performance. In Proc. of ECRTS, 2012.
[25]
Y. Xu, Y. Du, Y. Zhang, and J. Yang. A Composite and Scalable Cache Coherence Protocol for Large Scale CMPs. In Proc. of ICS, pages 285--294, 2011.

Cited By

View all
  • (2015)Efficient Code Assignment Techniques for Local Memory on Software Managed MulticoresACM Transactions on Embedded Computing Systems10.1145/273803914:4(1-24)Online publication date: 8-Dec-2015
  • (2015)MESSProceedings of the 22nd International Symposium on Model Checking Software - Volume 923210.1007/978-3-319-23404-5_8(105-125)Online publication date: 24-Aug-2015

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
CASES '14: Proceedings of the 2014 International Conference on Compilers, Architecture and Synthesis for Embedded Systems
October 2014
241 pages
ISBN:9781450330503
DOI:10.1145/2656106
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 October 2014

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

ESWEEK'14
ESWEEK'14: TENTH EMBEDDED SYSTEM WEEK
October 12 - 17, 2014
New Delhi, India

Acceptance Rates

Overall Acceptance Rate 52 of 230 submissions, 23%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 23 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2015)Efficient Code Assignment Techniques for Local Memory on Software Managed MulticoresACM Transactions on Embedded Computing Systems10.1145/273803914:4(1-24)Online publication date: 8-Dec-2015
  • (2015)MESSProceedings of the 22nd International Symposium on Model Checking Software - Volume 923210.1007/978-3-319-23404-5_8(105-125)Online publication date: 24-Aug-2015

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media