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

skip to main content
10.1145/1811212.1811223acmotherconferencesArticle/Chapter ViewAbstractPublication PagesscopesConference Proceedingsconference-collections
research-article

Supporting islands of coherency for highly-parallel embedded architectures using compile-time virtualisation

Published: 28 June 2010 Publication History

Abstract

As their complexity grows, the architectures of embedded systems are becoming increasingly parallel. However, the frameworks used to assist development on highly-parallel general-purpose systems (such as CORBA or MPI) are too heavyweight for use on the non-standard architectures of embedded systems. They introduce significant overheads due to the lack of architectural and structural information contained within most programming languages. Specifically, thread migration across irregular architectures can lead to very poor memory access times, and unconstrained cache coherency cannot scale to cope with large systems.
This paper introduces an approach to solving these problems in a scalable way with minimal run-time overhead by using the concept of 'Islands of Coherency'. Cooperating threads are grouped into clusters along with the data that they use. These clusters can then be efficiently mapped to the target architecture, utilising migration only in the areas where the programmer explicitly declares it.
This is supported through the use of an existing technique called Compile-Time Virtualisation (CTV). CTV does not support run-time dynamism, so it is extended to allow the implementation of Islands of Coherency. The presented system is evaluated experimentally through implementation on an FPGA platform. Simulation-based results are also presented that show the potential that this approach has for increasing the performance of future embedded systems.

References

[1]
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 CODES '02, pages 73--78, 2002.
[2]
A. Baumann, P. Barham, P.-E. Dagand, T. Harris, R. Isaacs, S. Peter, T. Roscoe, A. Schüpbach, and A. Singhania. The multikernel: a new os architecture for scalable multicore systems. In SOSP '09: Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles, pages 29--44, New York, NY, USA, 2009. ACM.
[3]
R. Brukardt. The ada95 language reference manual - appendix e, distributed systems (international standard iso/iec 8652:1995). http://www.adaic.org/standards/95lrm/html/RM-E.html.
[4]
A. Burns, B. Dobbing, and G. Romanski. The Ravenscar tasking profile for high integrity real-time programs. In Ada-Europe '98, pages 263--275. Springer-Verlag, 1998.
[5]
W. W. Carlson, D. E. Culler, and E. Brooks. Introduction to upc and language specification. CCS-TR-99-157, 1999.
[6]
W. Cesario et al. Component-based design approach for multicore SoCs. DAC, 00:789, 2002.
[7]
B. Chamberlain, D. Callahan, and H. Zima. Parallel programmability and the Chapel language. Int. J. High Perform. Comput. Appl., 21(3):291--312, 2007.
[8]
W. J. Dally and B. Towles. Route packets, not wires: On-chip interconnection networks. DAC, 2001.
[9]
P. Dibble and A. Wellings. Jsr-282 status report. In Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems, ACM International Conference Proceeding Series, pages 179--182, New York, NY, USA, 2009. ACM.
[10]
N. D. Enright Jerger, L.-S. Peh, and M. H. Lipasti. Virtual tree coherence: Leveraging regions and in-network multicast trees for scalable cache coherence. In MICRO '08: Proceedings of the 2008 41st IEEE/ACM International Symposium on Microarchitecture, pages 35--46, Washington, DC, USA, 2008. IEEE Computer Society.
[11]
K. Fatahalian et al. Sequoia: programming the memory hierarchy. In SC '06, page 83, 2006.
[12]
D. Geer. Chip makers turn to multicore processors. Computer, 38(5):11--13, May 2005.
[13]
A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek, and V. S. Sunderam. PVM: Parallel Virtual Machine. MIT Press, 1994.
[14]
J. Gosling and G. Bollella. The Real-Time Specification for Java. Addison-Wesley Longman Publishing Co., Inc., 2000.
[15]
I. Gray and N. Audsley. Exposing non-standard architectures to embedded software using compile-time virtualisation. International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES '09), 2009.
[16]
W. Gropp, E. Lusk, and A. Skjellum. Using MPI: portable parallel programming with the message-passing interface. MIT Press, Cambridge, MA, USA, 1994.
[17]
H. Huang, N. Yuan, W. Lin, G. Long, F. Song, L. Yu, Y. Liu, L. Liu, Y. Zhou, X. Ye, J. Zhang, D. Fan, and Z. Tang. Architecture supported synchronization-based cache coherence protocol for many-core processors. Chinese Journal of Computers, 8:1618--1630, 2009.
[18]
J. Kwon, A. Wellings, and S. King. Ravenscar-Java: A high integrity profile for Real-Time Java. In In Joint ACM Java Grande/ISCOPE Conference, pages 131--140. ACM Press, 2002.
[19]
M. Loghi, M. Poncino, and L. Benini. Cache coherence tradeoffs in shared-memory mpsocs. ACM Trans. Embed. Comput. Syst., 5(2):383--407, 2006.
[20]
A. L. Pope. The CORBA reference guide: understanding the Common Object Request Broker Architecture. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1998.
[21]
J. Robelly, G. Cichon, H. Seidel, and G. Fettweis. A HW/SW design methodology for embedded SIMD vector signal processors, 2005.
[22]
B. Sprunt, L. Sha, and J. Lehoczky. Aperiodic task scheduling for hard-real-time systems. Real-Time Systems, Volume 1:27--60, 1989.
[23]
D. Stranneby. Digital Signal Processing, DSP & Applications. Newnes, Oxford, 2001.
[24]
M. Ullmann, M. Huebner, B. Grimm, and J. Becker. An FPGA run-time system for dynamical on-demand reconfiguration. In Parallel and Distributed Processing Symposium, 2004. Proceedings. 18th International, pages 135--, April 2004.
[25]
Xilinx Corporation. Virtex-4 user guide. Xilinx User Guides, UG070, 2007.
[26]
C. A. Zeferino and A. A. Susin. SoCIN: A parametric and scalable network-on-chip. In SBCCI '03, page 169, Washington, DC, USA, 2003. IEEE Computer Society.

Cited By

View all
  • (2013)Automatic Development of Embedded Systems Using Model Driven Engineering and Compile-Time VirtualisationEmbedded and Real Time System Development: A Software Engineering Perspective10.1007/978-3-642-40888-5_2(23-53)Online publication date: 20-Nov-2013
  • (2012)ToucHMore toolchain and system software for energy and variability customisation2012 IEEE International High Level Design Validation and Test Workshop (HLDVT)10.1109/HLDVT.2012.6418257(148-155)Online publication date: Nov-2012
  • (2011)Targeting complex embedded architectures by combining the multicore communications API (mcapi) with compile-time virtualisationACM SIGPLAN Notices10.1145/2016603.196768546:5(51-60)Online publication date: 11-Apr-2011
  • Show More Cited By

Index Terms

  1. Supporting islands of coherency for highly-parallel embedded architectures using compile-time virtualisation

        Recommendations

        Comments

        Please enable JavaScript to view thecomments powered by Disqus.

        Information & Contributors

        Information

        Published In

        cover image ACM Other conferences
        SCOPES '10: Proceedings of the 13th International Workshop on Software & Compilers for Embedded Systems
        June 2010
        91 pages
        ISBN:9781450300841
        DOI:10.1145/1811212
        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

        • EDAA: European Design Automation Association

        In-Cooperation

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        Published: 28 June 2010

        Permissions

        Request permissions for this article.

        Check for updates

        Qualifiers

        • Research-article

        Conference

        SCOPES '10
        Sponsor:
        • EDAA

        Acceptance Rates

        Overall Acceptance Rate 38 of 79 submissions, 48%

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • Downloads (Last 12 months)2
        • Downloads (Last 6 weeks)0
        Reflects downloads up to 02 Oct 2024

        Other Metrics

        Citations

        Cited By

        View all
        • (2013)Automatic Development of Embedded Systems Using Model Driven Engineering and Compile-Time VirtualisationEmbedded and Real Time System Development: A Software Engineering Perspective10.1007/978-3-642-40888-5_2(23-53)Online publication date: 20-Nov-2013
        • (2012)ToucHMore toolchain and system software for energy and variability customisation2012 IEEE International High Level Design Validation and Test Workshop (HLDVT)10.1109/HLDVT.2012.6418257(148-155)Online publication date: Nov-2012
        • (2011)Targeting complex embedded architectures by combining the multicore communications API (mcapi) with compile-time virtualisationACM SIGPLAN Notices10.1145/2016603.196768546:5(51-60)Online publication date: 11-Apr-2011
        • (2011)Targeting complex embedded architectures by combining the multicore communications API (mcapi) with compile-time virtualisationProceedings of the 2011 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems10.1145/1967677.1967685(51-60)Online publication date: 11-Apr-2011

        View Options

        Get Access

        Login options

        View options

        PDF

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        Media

        Figures

        Other

        Tables

        Share

        Share

        Share this Publication link

        Share on social media