The Spar/Java Programming Language

نویسنده

  • Henk J. Sips
چکیده

In recent years, embedded systems with multiple processors have become increasingly important. These systems often consistof a general-purpose processor and one, oreven several, digital signal processors (DSPs). For portability, flexibility, and robustness it is often useful to regard such a cluster as a single, parallel, system. Since such a system contains several types of processors, it is said to be heterogeneous. In its simplest form, parallelization of applications can be done using an explicit parallelprogramming interface, such as provided by libraries like MPI, or Java threads. Unfortunately, programming using this model requires a detailed understanding of the complex interplay between program and machine, which is extremely laborious and error-prone. Moreover, this approach is often not portable. Instead, in theSpar/Javalanguage wefollow amore implicitapproach, whereparallelism is generated by the compiler, supported by user annotations to the program. We have designed the Spar/Java supports Java, augmented with the each and foreach constructs for semi-implicit parallelization. The each and foreach expose opportunities for parallelization to the compiler, but the details of the parallelization are left to the compiler. This allows for more robust and portable parallelization. The each and foreach statements, together with with language extensions for multi-dimensional arrays and support for more specialized arrays, form the ‘Spar’ language extensions. The Spar/Java language is described in more detail in [1, 4]. Furthermore, Spar/Java includes an annotation language [2], that allows the description of explicit or partially explicit placement of data and tasks on processors in a homogeneous or heterogeneous parallel system. In Spar/Java, all placements are static at run-time; no object migration between processors is done. The annotations do not alter the semantics of the program, they just serve as hints for the scheduler in the compiler. The annotations allow the placement of both tasks and data to be specified in a uniform manner. This research is supported by NWO (project ’Automap’), Esprit (LTR Project ‘Joses’ (#28198)), and Delft universityoftechnology(DIOCproject ‘Ubicom’).

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Task Parallelism in Spar

In this paper we will give a small introduction to Spar, a programming language for semi-automatic parallel programming. Spar, a Java derivative is being developed as part of the Automap project, which aims to create completely automatic mappings for code and data at either compile time or runtime. We will present how Spar supports task-parallel programming and how it interacts with the user or...

متن کامل

Code generation techniques for the task-parallel programming language Spar

In this paper we describe a compilation scheme to translate implicitly parallel programs in the programming language Spar (an extension to Java) to efficient code for distributed-memory parallel computer systems. The compilation scheme is formulated as a set of transformation rules. In Spar, the language constructs for parallelization have been designed for comfortable use by the programmer, no...

متن کامل

Spar: a set of extensions to Java for scientific computation

In this paper we present a set of language extensions that improve the expressiveness and performan e of Java for s ienti omputation. First of all, the language extensions allow the manipulation of multi-dimensional arrays to be expressed more naturally, and to be implemented more efiently. Furthermore, data-parallel programming is supported, allowing eÆ ient parallelization of a large lass of ...

متن کامل

Activity Representation and Management for Crisis Action Planning

This work presents the development of a multiuser virtual environment in support of crisis management planning activities. Coupling ongoing work in activity representation with analysis of the crisis action planning domain, an extensible domain ontology was developed. Studying the domain, several challenges became apparent: (1) the need to support extensive dynamic and distributed collaboration...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000