We present a new programming approach based on user annotations that can be used to transform plain Java programs into suitable parallel code that can be run on workstation clusters, networks and grids. The only user responsibility consists in decorating the methods that will eventually be executed in parallel with standard Java 1.5 annotations. Then these annotations are automatically processed and parallel byte code is derived. When the annotated program is started, it automatically retrieves the information about the executing platform and evaluates the information specified inside the annotations to transform the byte-code into a semantically equivalent multithreaded/multitask version. The results returned by the annotated methods, when invoked, are futures with a wait-by-necessity semantics. A PAL prototype has been implemented in Java, using JJPF as Parallel Framework. The experiments made with the prototype are encouraging: the design of parallel applications has been greatly simplified and the performances obtained are the same of an application directly written in JJPF.

PAL: high level parallel programming with Java annotations

Dazzi P;Laforenza D;
2006

Abstract

We present a new programming approach based on user annotations that can be used to transform plain Java programs into suitable parallel code that can be run on workstation clusters, networks and grids. The only user responsibility consists in decorating the methods that will eventually be executed in parallel with standard Java 1.5 annotations. Then these annotations are automatically processed and parallel byte code is derived. When the annotated program is started, it automatically retrieves the information about the executing platform and evaluates the information specified inside the annotations to transform the byte-code into a semantically equivalent multithreaded/multitask version. The results returned by the annotated methods, when invoked, are futures with a wait-by-necessity semantics. A PAL prototype has been implemented in Java, using JJPF as Parallel Framework. The experiments made with the prototype are encouraging: the design of parallel applications has been greatly simplified and the performances obtained are the same of an application directly written in JJPF.
2006
Istituto di Scienza e Tecnologie dell'Informazione "Alessandro Faedo" - ISTI
83-915141-6-1
Distributed Programming
High level parallel programming
Attribute oriented programming
Runtime program transformation
File in questo prodotto:
File Dimensione Formato  
prod_91352-doc_130462.pdf

solo utenti autorizzati

Descrizione: PAL: high level parallel programming with Java annotations
Tipologia: Versione Editoriale (PDF)
Dimensione 150.25 kB
Formato Adobe PDF
150.25 kB Adobe PDF   Visualizza/Apri   Richiedi una copia

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14243/62262
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact