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

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

Fingerprint

Parallel programming
Data storage equipment
Parallel architectures
Computer programming
Computer programming languages
Network-on-chip
Communication
Experiments

Keywords

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

Cite this

@article{b194dc8e853b4edbbc4766401292512c,
title = "E—A language for thread-level parallel programming on synchronous shared memory NOCs",
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.",
keywords = "Thread-level parallel programming languages, parallel random access machine, networks on chip",
author = "Martti Forsell",
year = "2004",
language = "English",
volume = "3",
pages = "807 -- 812",
journal = "WSEAS Transactions on Computers",
issn = "1109-2750",
publisher = "WSEAS Press",
number = "3",

}

E—A language for thread-level parallel programming on synchronous shared memory NOCs. / Forsell, Martti.

In: WSEAS Transactions on Computers, Vol. 3, No. 3, 2004, p. 807 - 812.

Research output: Contribution to journalArticleScientificpeer-review

TY - JOUR

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

AU - Forsell, Martti

PY - 2004

Y1 - 2004

N2 - 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.

AB - 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.

KW - Thread-level parallel programming languages

KW - parallel random access machine

KW - networks on chip

M3 - Article

VL - 3

SP - 807

EP - 812

JO - WSEAS Transactions on Computers

JF - WSEAS Transactions on Computers

SN - 1109-2750

IS - 3

ER -