Home Description Team Publications Downloads Contact
Project Goal

Provide an “intelligent” parallel virtual machine capable of automatically manage a set of computing nodes, effectively distributing tasks among the available nodes.


Reseach Areas

The main research objectives fall in three areas:

- Parallel programming paradigms: development of new paradigms to specify parallel applications; focusing on alternatives to explicit thread/process level parallelism and message passing, namely more object-oriented and aspect-oriented approaches.

- Parallelism extraction and compile time granularity information: extraction of parallelism and granularity estimation from source and/or intermediate code and its mapping to virtual machine level.

- Run-time environments: inclusion of load distribution and granularity control as a virtual machine service.

The key innovation of this project is to provide, at virtual machine level, dynamic load distribution and granularity control, using higher-level entities, mapped from explicit parallel applications or by parallelism extraction mechanisms. Compile time estimates of object granularity information are used to minimise the run-time decision-making.


Project Results

A paper was presented in March at 5th AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS06), which summarises recent work and short term research issues.

Recent results include:

- a Java skeleton framework that helps the programmer to develop parallel applications in a more structured way, presented at CCGrid06 (soon available for download)

- a library of aspects for concurrent applications implemented in AspectJ, presented at AOSD06. This library can be also by used by non-AspectJ users though Java 5 annotations (see PDP07 paper) and is available the in "downloads" section

- a library of aspects that helps to migrate sequential applications to parallel equivalent ones, presented at VecPar06 (under development)

- a new approach to decompose a parallel application into a set of modules based on aspect-oriented programming, presented at IPDPS06, and a comparison with traditional object oriented approaches (submitted for publication)

Older results include:

- a tool to statically estimate complexity of Java classes and inter-class dependencies (presented at REC06, article in Portuguese)

- a run-time system that supports object distribution and automatic granularity control and tuning, implemented in Java (see TR05) and C# (PaCT05)



The PPC-VM (POSI/CHS/47158/2002) project is 3 years project funded by Portuguese FCT (POSI) and by European funds (FEDER).