E—A language for thread-level parallel programming on synchronous shared memory NOCs

Martti Forsell

    Research output: Contribution to journalArticleScientificpeer-review

    Abstract

    As systems on chip are evolving to networks on chip (NOC) providing a unified communication infrastructure for a number of computational resources, being able to easily implement computational tasks as a parallel program that can be efficiently executed by multiple resources together is becoming increasingly important. Recent advances in thread-level parallel (TLP) architectures have made it possible to implement efficiently an easy-to-use synchronous shared memory programming model (Parallel Random Access Machine, PRAM) on a NOC. In this paper we describe a novel programming language, called e, for fine-grained TLP programming on synchronous shared memory NOC architectures realizing the PRAM model. The language uses a familiar c-like syntax and provides support for shared and private variables, arbitrary hierarchical groups of threads, and synchronous control structures. This allows a programmer to use various advanced TLP programming techniques like data parallelism, divide-and-conquer technique, different blocking techniques, and both synchronous and asynchronous programming style. We will also shortly experiment the e-language with real parallel programs using our experimental e-compiler and scalable Eclipse NOC architecture.
    Original languageEnglish
    Pages (from-to)807 - 812
    Number of pages6
    JournalWSEAS Transactions on Computers
    Volume3
    Issue number3
    Publication statusPublished - 2004
    MoE publication typeA1 Journal article-refereed

    Keywords

    • Thread-level parallel programming languages
    • parallel random access machine
    • networks on chip

    Fingerprint

    Dive into the research topics of 'E—A language for thread-level parallel programming on synchronous shared memory NOCs'. Together they form a unique fingerprint.

    Cite this