hh.sePublikationer
Ändra sökning
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf
Tools to Compile Dataflow Programs for Manycores
Högskolan i Halmstad, Akademin för informationsteknologi, Halmstad Embedded and Intelligent Systems Research (EIS), Centrum för forskning om inbyggda system (CERES).
2017 (Engelska)Doktorsavhandling, sammanläggning (Övrigt vetenskapligt)
Abstract [en]

The arrival of manycore systems enforces new approaches for developing applications in order to exploit the available hardware resources. Developing applications for manycores requires programmers to partition the application into subtasks, consider the dependence between the subtasks, understand the underlying hardware and select an appropriate programming model. This is complex, time-consuming and prone to error. In this thesis, we identify and implement abstraction layers in compilation tools to decrease the burden of the programmer, increase program portability and scalability, and increase retargetability of the compilation framework. We present compilation frameworks for two concurrent programming languages, occam-pi and CAL Actor Language, and demonstrate the applicability of the approach with application case-studies targeting these different manycore architectures: STHorm, Epiphany, Ambric, EIT, and ePUMA. For occam-pi, we have extended the Tock compiler and added a backend for STHorm. We evaluate the approach using a fault tolerance model for a four stage 1D-DCT algorithm implemented by using occam-pi's constructs for dynamic reconguration, and the FAST corner detection algorithm which demonstrates the suitability of occam-pi and the compilation framework for data-intensive applications. For CAL, we have developed a new compilation framework, namely Cal2Many. The Cal2Many framework has a front end, two intermediate representations and four backends: for a uniprocessor, Epiphany, Ambric, and a backend for SIMD based architectures. Also, we have identied and implemented of CAL actor fusion and fission methodologies for efficient mapping CAL applications. We have used QRD, FAST corner detection, 2D-IDCT, and MPEG applications to evaluate our compilation process and to analyze the limitations of the hardware.

Ort, förlag, år, upplaga, sidor
Halmstad: Halmstad University Press, 2017. , s. 35
Serie
Halmstad University Dissertations ; 33
Nationell ämneskategori
Inbäddad systemteknik
Identifikatorer
URN: urn:nbn:se:hh:diva-34883ISBN: 978-91-87045-69-1 (digital)ISBN: 978-91-87045-68-4 (tryckt)OAI: oai:DiVA.org:hh-34883DiVA, id: diva2:1138382
Disputation
2017-09-27, Wigforssalen, Hus J (Visionen), Kristian IV:s väg 3, Halmstad, 13:15 (Engelska)
Opponent
Handledare
Tillgänglig från: 2017-09-06 Skapad: 2017-09-05 Senast uppdaterad: 2017-09-06Bibliografiskt granskad
Delarbeten
1. Managing Dynamic Reconfiguration for Fault-tolerance on a Manycore Architecture
Öppna denna publikation i ny flik eller fönster >>Managing Dynamic Reconfiguration for Fault-tolerance on a Manycore Architecture
2012 (Engelska)Ingår i: Proceedings of the 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2012, New York, USA: IEEE Computer Society, 2012, s. 312-319, artikel-id 6270657Konferensbidrag, Publicerat paper (Refereegranskat)
Abstract [en]

With the advent of manycore architectures comprising hundreds of processing elements, fault management has become a major challenge. We present an approach that uses the occam-pi language to manage the fault recovery mechanism on a new manycore architecture, the Platform 2012 (P2012). The approach is made possible by extending our previously developed compiler framework to compile occam-pi implementations to the P2012 architecture. We describe the techniques used to translate the salient features of the occam-pi language to the native programming model of the P2012 architecture. We demonstrate the applicability of the approach by an experimental case study, in which the DCT algorithm is implemented on a set of four processing elements. During run-time, some of the tasks are then relocated from assumed faulty processing elements to the faultless ones by means of dynamic reconfiguration of the hardware. The working of the demonstrator and the simulation results illustrate not only the feasibility of the approach but also how the use of higher-level abstractions simplifies the fault handling. © 2012 IEEE.

Ort, förlag, år, upplaga, sidor
New York, USA: IEEE Computer Society, 2012
Nationell ämneskategori
Inbäddad systemteknik
Identifikatorer
urn:nbn:se:hh:diva-17336 (URN)10.1109/IPDPSW.2012.38 (DOI)000309409400035 ()2-s2.0-84867429212 (Scopus ID)
Konferens
26th IEEE International Parallel & Distributed Processing Symposium, May 21-25, Regal Shanghai East Asia Hotel Shanghai, China, 2012
Projekt
SMECY
Anmärkning

The research leading to these results has received funding from the ARTEMIS Joint Undertaking under grant agreement number 100230 and from the national programmes / funding authorities.

Tillgänglig från: 2012-04-12 Skapad: 2012-03-01 Senast uppdaterad: 2018-03-22Bibliografiskt granskad
2. Programming Real-time Image Processing for Manycores in a High-level Language
Öppna denna publikation i ny flik eller fönster >>Programming Real-time Image Processing for Manycores in a High-level Language
Visa övriga...
2013 (Engelska)Ingår i: Advanced Parallel Processing Technology / [ed] Wu, Chenggang and Cohen, Albert, Berlin Heidelberg: Springer Berlin/Heidelberg, 2013, s. 381-395Konferensbidrag, Publicerat paper (Refereegranskat)
Abstract [en]

Manycore architectures are gaining attention as a means to meet the performance and power demands of high-performance embedded systems. However, their widespread adoption is sometimes constrained by the need formastering proprietary programming languages that are low-level and hinder portability. We propose the use of the concurrent programming language occam-pi as a high-level language for programming an emerging class of manycore architectures. We show how to map occam-pi programs to the manycore architecture Platform 2012 (P2012). We describe the techniques used to translate the salient features of the language to the native programming model of the P2012. We present the results from a case study on a representative algorithm in the domain of real-time image processing: a complex algorithm for corner detectioncalled Features from Accelerated Segment Test (FAST). Our results show that the occam-pi program is much shorter, is easier to adapt and has a competitive performance when compared to versions programmed in the native programming model of P2012 and in OpenCL.

Ort, förlag, år, upplaga, sidor
Berlin Heidelberg: Springer Berlin/Heidelberg, 2013
Serie
Lecture Notes in Computer Science, ISSN 0302-9743 ; 8299
Nyckelord
Parallel programming, occam-pi, Manycore architectures, Realtime image processing
Nationell ämneskategori
Inbäddad systemteknik
Identifikatorer
urn:nbn:se:hh:diva-24018 (URN)10.1007/978-3-642-45293-2_29 (DOI)2-s2.0-84893040633 (Scopus ID)978-3-642-45292-5 (ISBN)
Konferens
10th International Conference on Advanced Parallel Processing Technology, APPT 2013, Stockholm, August
Tillgänglig från: 2013-11-27 Skapad: 2013-11-27 Senast uppdaterad: 2018-03-22Bibliografiskt granskad
3. Realizing Efficient Execution of Dataflow Actors on Manycores
Öppna denna publikation i ny flik eller fönster >>Realizing Efficient Execution of Dataflow Actors on Manycores
Visa övriga...
2014 (Engelska)Ingår i: Proceedings: 2014 International Conference on Embedded and Ubiquitous Computing: EUC 2014: August 2014, Milano, Italy / [ed] Randall Bilof, Los Alamitos, CA: IEEE Computer Society, 2014, s. 321-328, artikel-id 6962305Konferensbidrag, Publicerat paper (Refereegranskat)
Abstract [en]

Embedded DSP computing is currently shifting towards manycore architectures in order to cope with the ever growing computational demands. Actor based dataflow languages are being considered as a programming model. In this paper we present a code generator for CAL, one such dataflow language. We propose to use a compilation tool with two intermediate representations. We start from a machine model of the actors that provides an ordering for testing of conditions and firing of actions. We then generate an Action Execution Intermediate Representation that is closer to a sequential imperative language like C and Java. We describe our two intermediate representations and show the feasibility and portability of our approach by compiling a CAL implementation of the Two-Dimensional Inverse Discrete Cosine Transform on a general purpose processor, on the Epiphany manycore architecture and on the Ambric massively parallel processor array. © 2014 IEEE.

Ort, förlag, år, upplaga, sidor
Los Alamitos, CA: IEEE Computer Society, 2014
Nyckelord
dataflow languages, compilation framework, code generation, manycore, CAL
Nationell ämneskategori
Inbäddad systemteknik
Identifikatorer
urn:nbn:se:hh:diva-26991 (URN)10.1109/EUC.2014.55 (DOI)000358149800046 ()2-s2.0-84908625634 (Scopus ID)978-0-7695-5249-1 (ISBN)978-1-4799-7609-6 (ISBN)
Konferens
The 12th IEEE International Conference on Embedded and Ubiquitous Computing (EUC 2014), Milan, Italy, Aug. 26-28, 2014
Projekt
HiPEC
Forskningsfinansiär
KK-stiftelsenStiftelsen för strategisk forskning (SSF)
Tillgänglig från: 2014-11-05 Skapad: 2014-11-05 Senast uppdaterad: 2018-03-22Bibliografiskt granskad
4. An Evaluation of Code Generation of Dataflow Languages on Manycore Architectures
Öppna denna publikation i ny flik eller fönster >>An Evaluation of Code Generation of Dataflow Languages on Manycore Architectures
Visa övriga...
2014 (Engelska)Ingår i: RTCSA 2014: 2014 IEEE 20th International Conference on Embedded and Real-Time Computing Systems and Applications, Piscataway, NJ: IEEE Press, 2014, artikel-id 6910501Konferensbidrag, Publicerat paper (Refereegranskat)
Abstract [en]

Today computer architectures are shifting from single core to manycores due to several reasons such as performance demands, power and heat limitations. However, shifting to manycores results in additional complexities, especially with regard to efficient development of applications. Hence there is a need to raise the abstraction level of development techniques for the manycores while exposing the inherent parallelism in the applications. One promising class of programming languages is dataflow languages and in this paper we evaluate and optimize the code generation for one such language, CAL. We have also developed a communication library to support the inter-core communication.The code generation can target multiple architectures, but the results presented in this paper is focused on Adapteva's many core architecture Epiphany.We use the two-dimensional inverse discrete cosine transform (2D-IDCT) as our benchmark and compare our code generation from CAL with a hand-written implementation developed in C. Several optimizations in the code generation as well as in the communication library are described, and we have observed that the most critical optimization is reducing the number of external memory accesses. Combining all optimizations we have been able to reduce the difference in execution time between auto-generated and hand-written implementations from a factor of 4.3x down to a factor of only 1.3x. ©2014 IEEE.

Ort, förlag, år, upplaga, sidor
Piscataway, NJ: IEEE Press, 2014
Nyckelord
Manycore, Dataflow Languages, code generation, Actor Machine, 2D-IDCT, Epiphany, evaluation
Nationell ämneskategori
Inbäddad systemteknik
Identifikatorer
urn:nbn:se:hh:diva-25649 (URN)10.1109/RTCSA.2014.6910501 (DOI)000352610400005 ()2-s2.0-84908637354 (Scopus ID)
Konferens
RTCSA 2014, 20th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, Chongqing, China, August 20-22, 2014
Projekt
HiPEC project
Forskningsfinansiär
KK-stiftelsenStiftelsen för strategisk forskning (SSF)
Anmärkning

The authors would like to thank Adapteva Inc. for giving access to their software development suite and hardware board. This research is part of the CERES research program funded by the Knowledge Foundation and HiPEC project funded by Swedish Foundation for Strategic Research (SSF).

Tillgänglig från: 2014-06-16 Skapad: 2014-06-16 Senast uppdaterad: 2019-05-07Bibliografiskt granskad
5. Support for Data Parallelism in the CAL Actor Language
Öppna denna publikation i ny flik eller fönster >>Support for Data Parallelism in the CAL Actor Language
2016 (Engelska)Ingår i: WPMVP '16: Proceedings of the 3rd Workshop on Programming Models for SIMD/Vector Processing / [ed] Jan Eitzinger, Joel Falcou, Illie Gabriel Tanase & James Brodman, New York, NY: ACM Press, 2016Konferensbidrag, Publicerat paper (Refereegranskat)
Abstract [en]

With the arrival of heterogeneous manycores comprising various features to support task, data and instruction-level parallelism, developing applications that take full advantage of the hardware parallel features has become a major challenge. In this paper, we present an extension to our CAL compilation framework (CAL2Many) that supports data parallelism in the CAL Actor Language. Our compilation framework makes it possible to program architectures with SIMD support using high-level language and provides efficient code generation. We support general SIMD instructions but the code generation backend is currently implemented for two custom architectures, namely ePUMA and EIT. Our experiments were carried out for two custom SIMD processor architectures using two applications.

The experiment shows the possibility of achieving performance comparable to hand-written machine code with much less programming effort.

Ort, förlag, år, upplaga, sidor
New York, NY: ACM Press, 2016
Nyckelord
SIMD, CAL Actor Language, QRD
Nationell ämneskategori
Inbäddad systemteknik
Identifikatorer
urn:nbn:se:hh:diva-30671 (URN)10.1145/2870650.2870656 (DOI)000390594100002 ()2-s2.0-84976580876 (Scopus ID)978-1-4503-4060-1 (ISBN)
Konferens
WPMVP '16, 3rd Workshop on Programming Models for SIMD/Vector Programming, Barcelona, Spain, March 13, 2016
Projekt
HiPEC
Forskningsfinansiär
Stiftelsen för strategisk forskning (SSF)ELLIIT - The Linköping‐Lund Initiative on IT and Mobile Communications
Anmärkning

Article number: 2

Tillgänglig från: 2016-04-01 Skapad: 2016-04-01 Senast uppdaterad: 2018-03-22Bibliografiskt granskad
6. Dataflow Implementation of QR Decomposition on a Manycore
Öppna denna publikation i ny flik eller fönster >>Dataflow Implementation of QR Decomposition on a Manycore
Visa övriga...
2016 (Engelska)Ingår i: MES '16: Proceedings of the Third ACM International Workshop on Many-core Embedded Systems, New York, NY: ACM Press, 2016, s. 26-30Konferensbidrag, Publicerat paper (Refereegranskat)
Abstract [en]

While parallel computer architectures have become mainstream, application development on them is still challenging. There is a need for new tools, languages and programming models. Additionally, there is a lack of knowledge about the performance of parallel approaches of basic but important operations, such as the QR decomposition of a matrix, on current commercial manycore architectures.

This paper evaluates a high level dataflow language (CAL), a source-to-source compiler (Cal2Many) and three QR decomposition algorithms (Givens Rotations, Householder and Gram-Schmidt). The algorithms are implemented both in CAL and hand-optimized C languages, executed on Adapteva's Epiphany manycore architecture and evaluated with respect to performance, scalability and development effort.

The performance of the CAL (generated C) implementations gets as good as 2\% slower than the hand-written versions. They require an average of 25\% fewer lines of source code without significantly increasing the binary size. Development effort is reduced and debugging is significantly simplified. The implementations executed on Epiphany cores outperform the GNU scientific library on the host ARM processor of the Parallella board by up to 30x. © 2016 Copyright held by the owner/author(s).

Ort, förlag, år, upplaga, sidor
New York, NY: ACM Press, 2016
Nationell ämneskategori
Inbäddad systemteknik
Identifikatorer
urn:nbn:se:hh:diva-32371 (URN)10.1145/2934495.2934499 (DOI)2-s2.0-84991106778 (Scopus ID)978-1-4503-4262-9 (ISBN)
Konferens
MES '16, International Workshop on Many-core Embedded Systems, Seoul, Republic of Korea, June 19, 2016
Projekt
ESCHERHiPEC
Forskningsfinansiär
KK-stiftelsenStiftelsen för strategisk forskning (SSF)ELLIIT - The Linköping‐Lund Initiative on IT and Mobile Communications
Tillgänglig från: 2016-11-04 Skapad: 2016-11-04 Senast uppdaterad: 2019-05-07Bibliografiskt granskad
7. Cal2Many: A Framework to Compile Dataflow Programs for Manycores
Öppna denna publikation i ny flik eller fönster >>Cal2Many: A Framework to Compile Dataflow Programs for Manycores
2017 (Engelska)Manuskript (preprint) (Övrigt vetenskapligt)
Abstract [en]

The arrival of manycore platforms has imposed programming challenges for mainstream embedded system developers. In this paper, we discuss the significance of actor-oriented dataflow languages and present our compilation framework for CAL Actor Language that leads to increased portability and retargetability. We demonstrate the applicability of our approach with streaming applications targeting the Epiphany many-core architecture. We have performed an in-depth analysis of MPEG-4 SP implemented on Epiphany using our framework and studied the effects of actor composition. We have identified hardware aspects such as increased off-chip memory bandwidth and larger local memories that could result in further performance improvements.

Nyckelord
Design, Algorithms, Performance, dataflow languages, compilation framework, manycore, CAL
Nationell ämneskategori
Inbäddad systemteknik
Identifikatorer
urn:nbn:se:hh:diva-34882 (URN)
Tillgänglig från: 2017-09-05 Skapad: 2017-09-05 Senast uppdaterad: 2017-12-06Bibliografiskt granskad
8. Actor Fission Transformations for Executing Dataflow Programs on Manycores
Öppna denna publikation i ny flik eller fönster >>Actor Fission Transformations for Executing Dataflow Programs on Manycores
2017 (Engelska)Ingår i: 2017 Forum on Specification and Design Languages (FDL), 2017Konferensbidrag, Publicerat paper (Övrigt vetenskapligt)
Abstract [en]

Manycore architectures are dominating the development of advanced embedded computing due to the computational and power demand of high performance applications. This has introduced an additional complexity with regard to the efficient exploitation of the underlying hardware and the development of efficient parallel implementations. To tackle this we model applications using a dataflow programming language, perform high-level transformations of dataflow actors, and generate native code by using our compilation framework.This paper presents the actor fission transformations of our Cal2Many compilation framework. The transformations have facilitated the mapping of big dataflow actors on memory restricted embedded manycores, increased the utilization of the hardware, and enabled support for task and data-level parallelism. We have applied the actor transformations to two blocks of MPEG-4 decoder and executed it on the Epiphany manycore architecture. The result shows the practicality and feasibility of our approach.

Nyckelord
Dataflow Languages, Manycores, Compiler, Embedded systems, MPEG-4 decoder
Nationell ämneskategori
Inbäddad systemteknik
Identifikatorer
urn:nbn:se:hh:diva-34881 (URN)10.1109/FDL.2017.8303891 (DOI)978-1-5386-4733-2 (ISBN)978-1-5386-1152-4 (ISBN)
Konferens
FDL 2017 - Forum on specification & Design Languages, Verona, Italy, September 18-20, 2017
Tillgänglig från: 2017-09-05 Skapad: 2017-09-05 Senast uppdaterad: 2018-03-13Bibliografiskt granskad

Open Access i DiVA

fulltext(1648 kB)194 nedladdningar
Filinformation
Filnamn FULLTEXT02.pdfFilstorlek 1648 kBChecksumma SHA-512
6f2e37fd66fb6060e6e2c3d8da7888bcc939eec8eacd47167242fb8bd71e2fc45c690d12c39cede8f1ecb0bd0df1e5a597099ecfd3dde3c63a4b0279296a570a
Typ fulltextMimetyp application/pdf

Personposter BETA

Gebrewahid, Essayas

Sök vidare i DiVA

Av författaren/redaktören
Gebrewahid, Essayas
Av organisationen
Centrum för forskning om inbyggda system (CERES)
Inbäddad systemteknik

Sök vidare utanför DiVA

GoogleGoogle Scholar
Totalt: 194 nedladdningar
Antalet nedladdningar är summan av nedladdningar för alla fulltexter. Det kan inkludera t.ex tidigare versioner som nu inte längre är tillgängliga.

isbn
urn-nbn

Altmetricpoäng

isbn
urn-nbn
Totalt: 1929 träffar
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf