skip to main content
research-article

CoEx: A Novel Profiling-Based Algorithm/Architecture Co-Exploration for ASIP Design

Published: 04 May 2015 Publication History

Abstract

Application-Specific Instruction Set Processors (ASIPs) provide the adequate performance/efficiency tradeoff for their particular application domain. Nevertheless, their design methodologies have stagnated during the past decade and are still based on a series of manual and time-consuming iterative steps. Furthermore, there exists a productivity gap between the point where an application is given as the target for processor customization and the time a customized architecture is available. Therefore, new tools are required that reduce the number of design iterations and bridge the aforementioned productivity gap. This can be achieved by (1) profiling technologies that, by adapting to the designer’s needs, help to gain insight into application specifications, and (2) prearchitectural design technologies that give early yet accurate feedback on the impact of algorithmic/architectural design decisions. The first requirement is addressed in this article by proposing the multigrained profiling approach, which identifies the profiling needs at each step of ASIP design and lets the designer tailor the level of detail for application inspection. CoEx, a practical implementation of the approach, is also introduced. The second requirement is addressed by creating a prearchitectural estimation engine. This engine couples CoEx reports for an application with an abstract processor model and generates an estimate of the achievable performance. Both CoEx and the performance estimation engine are respectively evaluated for instrumentation-induced execution overhead and accuracy. Finally, the development of an ASIP architecture for an augmented reality computer vision application is presented. The ASIP achieves a gain of six times compared to the original application performance, after being developed in only 2 days.

References

[1]
Christian Bachmann, Andreas Genser, Jos Hulzink, Mladen Berekovic, and Christian Steger. 2009. A low-power ASIP for IEEE 802.15.4a ultra-wideband impulse radio baseband processing. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE’09). European Design and Automation Association, Belgium, 1614--1619.
[2]
Jeronimo Castrillon-Mazo. 2013. Programming Heterogeneous MPSoCs: Tool Flows to Close the Software Productivity Gap. Ph.D. Dissertation. Faculty of Electrical Engineering and Information Technology, RWTH Aachen University.
[3]
Clang. 2007. Clang: A C Language Family Frontend for LLVM. Retrieved September 27, 2013, from http://clang.llvm.org.
[4]
EEMBC. 2013. The Embedded Microprocessor Benchmark Consortium. Retrieved from http://www.eembc.org/.
[5]
Free Software Foundation Inc. 2013. Gcov - A Test Coverage Program. Retrieved September 27, 2013, from http://gcc.gnu.org/onlinedocs/gcc/Gcov.html.
[6]
Carlo Galuzzi and Koen Bertels. 2011. The instruction-set extension problem: A survey. ACM Trans. Reconfigurable Technol. Syst. 4, 2, Article 18 (May 2011), 28 pages.
[7]
Lei Gao, Jia Huang, Jianjiang Ceng, Rainer Leupers, Gerd Ascheid, and Heinrich Meyr. 2009. TotalProf: A fast and accurate retargetable source code profiler. In Proceedings of the 7th IEEE/ACM International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS’09). 305--314.
[8]
Susan L. Graham, Peter B. Kessler, and Marshall K. McKusick. 2004. Gprof: A call graph execution profiler. SIGPLAN Not. 39, 4 (April 2004), 49--57.
[9]
Lifeng He, Yuyan Chao, Kenji Suzuki, and Kesheng Wu. 2009. Fast connected-component labeling. Pattern Recognit. 42, 9 (2009), 1977--1987.
[10]
Yonghyun Hwang, Samar Abdi, and Daniel Gajski. 2008. Cycle-approximate retargetable performance estimation at the transaction level. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE’08). 3--8.
[11]
Paolo Ienne and Rainer Leupers. 2006. Customizable Embedded Processors: Design Technologies and Applications. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
[12]
Infi. 2010. Marker Detection for Augmented Reality Applications. (2010). Retrieved September 27, 2013, from http://www.infi.nl/blog/view/id/56/Marker_Detection_for_Augmented_Reality_Applications.
[13]
Lech Jówiak, Nadia Nedjah, and Miguel Figueroa. 2010. Modern development methods and tools for embedded reconfigurable systems: A survey. Integr. VLSI J. 43, 1 (Jan. 2010), 1--33.
[14]
Kingshuk Karuri and Rainer Leupers. 2011. Application Analysis Tools for ASIP Design: Application Profiling and Instruction-set Customization. Springer.
[15]
Rainer Kolisch and Snke Hartmann. 1999. Heuristic algorithms for the resource-constrained project scheduling problem: Classification and computational analysis. In Project Scheduling, Jan Weglarz (Ed.). International Series in Operations Research & Management Science, Vol. 14. Springer, 147--178.
[16]
Jari Kreku, Kari Tiensyrj, Andreas Wieferink, and Bart Vanthournout. 2012. ASIP exploration and design. In Scalable Multi-core Architectures, Dimitrios Soudris and Axel Jantsch (Eds.). Springer, New York, 81--103.
[17]
Chris Lattner and Vikram Adve. 2004. LLVM: A compilation framework for lifelong program analysis & transformation. In Proceedings of the International Symposium on Code Generation and Optimization: Feedback-Directed and Runtime Optimization (CGO’04). IEEE Computer Society, Washington, DC, USA, 75--88.
[18]
Nicholas Nethercote and Julian Seward. 2007. Valgrind: A framework for heavyweight dynamic binary instrumentation. SIGPLAN Not. 42, 6 (June 2007), 89--100.
[19]
Timo Stripf, Oliver Oey, Thomas Bruckschlögl, Ralf König, Michael Hübner, Jürgen Becker, Gerard K. Rauwerda, Kim Sunesen, Nikolaos Kavvadias, Grigoris Dimitroulakos, Kostas Masselos, Dimitrios Kritharidis, Nikolaos Mitas, George Goulas, Panayiotis Alefragis, Nikolaos S. Voros, Steven Derrien, Daniel Menard, Olivier Sentieys, Diana Göhringer, and Thomas Perschke. 2012. A flexible approach for compiling scilab to reconfigurable multi-core embedded systems. In Proceedings of the 2012 7th International Workshop on Reconfigurable Communication-Centric Systems-on-Chip (ReCoSoC’12). 1--8.
[20]
Fei Sun, Srivaths Ravi, Anand Raghunathan, and Niraj K. Jha. 2002. Synthesis of custom processors based on extensible platforms. In Proceedings of the 2002 IEEE/ACM International Conference on Computer-Aided Design (ICCAD’02). ACM, New York, NY, 641--648.
[21]
Synopsys Inc. 2013. Synopsys Processor Designer. Retrieved September 27, 2013, from http://www.synopsys.com/Systems/BlockDesign/ProcessorDev/.
[22]
Vojin Živojnović, Juan M. Velarde, Christian Schläger, and Heinrich Meyr. 1994. DSPSTONE: A DSP-oriented benchmarking methodology. In Proceedings of the International Conference on Signal Processing and Technology (ICSPAT’94). Dallas, TX, USA. Miller Freeman, 715--720.

Cited By

View all
  • (2022)Performance Estimation of High-Level Dataflow Program on Heterogeneous Platforms by Dynamic Network ExecutionJournal of Low Power Electronics and Applications10.3390/jlpea1203003612:3(36)Online publication date: 23-Jun-2022
  • (2019)Portable implementations for heterogeneous hardware platforms in autonomous driving systemsBig Data Analytics for Cyber-Physical Systems10.1016/B978-0-12-816637-6.00006-3(113-143)Online publication date: 2019
  • (2018)A Hardware/Software Stack for Heterogeneous SystemsIEEE Transactions on Multi-Scale Computing Systems10.1109/TMSCS.2017.27717504:3(243-259)Online publication date: 1-Jul-2018
  • Show More Cited By

Index Terms

  1. CoEx: A Novel Profiling-Based Algorithm/Architecture Co-Exploration for ASIP Design

        Recommendations

        Comments

        Information & Contributors

        Information

        Published In

        cover image ACM Transactions on Reconfigurable Technology and Systems
        ACM Transactions on Reconfigurable Technology and Systems  Volume 8, Issue 3
        May 2015
        153 pages
        ISSN:1936-7406
        EISSN:1936-7414
        DOI:10.1145/2770880
        • Editor:
        • Steve Wilton
        Issue’s Table of Contents
        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]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        Published: 04 May 2015
        Accepted: 01 May 2014
        Revised: 01 February 2014
        Received: 01 October 2013
        Published in TRETS Volume 8, Issue 3

        Permissions

        Request permissions for this article.

        Check for updates

        Author Tags

        1. ASIP
        2. algorithm/architecture co-exploration
        3. performance estimation

        Qualifiers

        • Research-article
        • Research
        • Refereed

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • Downloads (Last 12 months)5
        • Downloads (Last 6 weeks)0
        Reflects downloads up to 05 Mar 2025

        Other Metrics

        Citations

        Cited By

        View all
        • (2022)Performance Estimation of High-Level Dataflow Program on Heterogeneous Platforms by Dynamic Network ExecutionJournal of Low Power Electronics and Applications10.3390/jlpea1203003612:3(36)Online publication date: 23-Jun-2022
        • (2019)Portable implementations for heterogeneous hardware platforms in autonomous driving systemsBig Data Analytics for Cyber-Physical Systems10.1016/B978-0-12-816637-6.00006-3(113-143)Online publication date: 2019
        • (2018)A Hardware/Software Stack for Heterogeneous SystemsIEEE Transactions on Multi-Scale Computing Systems10.1109/TMSCS.2017.27717504:3(243-259)Online publication date: 1-Jul-2018
        • (2018)A high-level model for exploring multi-core architecturesParallel Computing10.1016/j.parco.2018.10.00680(23-35)Online publication date: Dec-2018
        • (2017)Towards Parallelism Extraction for Heterogeneous Multicore Android DevicesInternational Journal of Parallel Programming10.1007/s10766-016-0479-545:6(1592-1624)Online publication date: 1-Dec-2017
        • (2017)MAPS: A Software Development Environment for Embedded Multi-core ApplicationsHandbook of Hardware/Software Codesign10.1007/978-94-017-7358-4_2-1(1-33)Online publication date: 21-Apr-2017
        • (2017)MAPS: A Software Development Environment for Embedded Multicore ApplicationsHandbook of Hardware/Software Codesign10.1007/978-94-017-7267-9_2(917-949)Online publication date: 27-Sep-2017
        • (2016)Automatic parallelization and accelerator offloading for embedded applications on heterogeneous MPSoCsProceedings of the 53rd Annual Design Automation Conference10.1145/2897937.2897991(1-6)Online publication date: 5-Jun-2016
        • (2015)A Toolflow for Parallelization of Embedded Software in Multicore DSP PlatformsProceedings of the 18th International Workshop on Software and Compilers for Embedded Systems10.1145/2764967.2771936(76-79)Online publication date: 1-Jun-2015
        • (2015)A Framework to the Design and Programming of Many-Core Focal-Plane Vision ProcessorsProceedings of the 2015 IEEE 13th International Conference on Embedded and Ubiquitous Computing (EUC)10.1109/EUC.2015.24(193-198)Online publication date: 21-Oct-2015

        View Options

        Login options

        Full Access

        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