POSI/CHS/47158/2002 (March 2004-2007) Contact: João Luís Sobral (jls@di.uminho.pt) Goal Provide a...

Post on 28-Mar-2015

214 views 1 download

Tags:

Transcript of POSI/CHS/47158/2002 (March 2004-2007) Contact: João Luís Sobral (jls@di.uminho.pt) Goal Provide a...

Performance comparison of Object-Oriented and Aspect-Oriented implementations

0

4

8

12

16

20

24

28

32

4 8 16 32

Processors

Speed-up

RayTracer OORayTracer AOPSor OOSor AOPPrime Sieve OOPrime Sieve AOPFibonacci OOFibonacci AOP

POSI/CHS/47158/2002 (March 2004-2007) Contact: João Luís Sobral (jls@di.uminho.pt)

GoalProvide a single code base that

efficiently execute on Multi-Core, Cluster and Grid systems

GoalProvide a single code base that

efficiently execute on Multi-Core, Cluster and Grid systems

Approach

Pluggable modules provide non-core functionality:

• Partition –> task partition among object aggregates• Concurrency –> parallel execution / synchronisation• Distribution –> object and data distribution

Approach

Pluggable modules provide non-core functionality:

• Partition –> task partition among object aggregates• Concurrency –> parallel execution / synchronisation• Distribution –> object and data distribution

Main Results

• skeleton framework that helps the programmer to develop structured parallel and Grid applications [1]

• new approach to decompose a parallel application into (un)pluggable modules [2] and mechanisms to compose these modules

• library of abstractions for concurrent applications [3] that can also be used through code annotations

• library of aspects for application partitioning [4]• run-time system that supports object distribution and

automatic granularity control and tuning [5]

Main Results

• skeleton framework that helps the programmer to develop structured parallel and Grid applications [1]

• new approach to decompose a parallel application into (un)pluggable modules [2] and mechanisms to compose these modules

• library of abstractions for concurrent applications [3] that can also be used through code annotations

• library of aspects for application partitioning [4]• run-time system that supports object distribution and

automatic granularity control and tuning [5]

Selected Publications

1. J. Fernando, J. Sobral, A. Proenca. JaSkel: A Java Skeleton-Based Framework for Structured Cluster and Grid Computing, 6th IEEE Int. Symposium on Cluster Computing and the Grid (CCGrid’06), Singapore, May 2006, IEEE CS press.

2. J. Sobral. Incrementally Developing Parallel Applications with AspectJ, 20th IEEE Int. Parallel & Distributed Processing Symposium (IPDPS’06), Greece, Rhodes, April 2006, IEEE CS press.

3. C. Cunha, J. Sobral, M. Monteiro, Reusable Aspect-Oriented Implementation of Concurrency Patterns and Mechanisms, 5th ACM Int. Conference on Aspect Oriented Software Development (AOSD’06), Bonn, Germany, March 2006, ACM press.

4. J. Sobral, C. Cunha, M. Monteiro, Aspect-Oriented Pluggable Support for Parallel Computing, 6th Int. Meeting of Vector and Parallel Processing (VecPar’2006), Rio de Janeiro, Brazil, July 2006, LNCS vol. 4395, Springer 2007.

5. J. Sobral, J. Fernando. ParC#: Parallel Computing in .Net, Parallel Computing Technologies 2005 (PaCT’05), Russia, September 2005, LNCS vol. 3606, Springer 2005.

Selected Publications

1. J. Fernando, J. Sobral, A. Proenca. JaSkel: A Java Skeleton-Based Framework for Structured Cluster and Grid Computing, 6th IEEE Int. Symposium on Cluster Computing and the Grid (CCGrid’06), Singapore, May 2006, IEEE CS press.

2. J. Sobral. Incrementally Developing Parallel Applications with AspectJ, 20th IEEE Int. Parallel & Distributed Processing Symposium (IPDPS’06), Greece, Rhodes, April 2006, IEEE CS press.

3. C. Cunha, J. Sobral, M. Monteiro, Reusable Aspect-Oriented Implementation of Concurrency Patterns and Mechanisms, 5th ACM Int. Conference on Aspect Oriented Software Development (AOSD’06), Bonn, Germany, March 2006, ACM press.

4. J. Sobral, C. Cunha, M. Monteiro, Aspect-Oriented Pluggable Support for Parallel Computing, 6th Int. Meeting of Vector and Parallel Processing (VecPar’2006), Rio de Janeiro, Brazil, July 2006, LNCS vol. 4395, Springer 2007.

5. J. Sobral, J. Fernando. ParC#: Parallel Computing in .Net, Parallel Computing Technologies 2005 (PaCT’05), Russia, September 2005, LNCS vol. 3606, Springer 2005.

JGF RayTracer whith aspects for partition, concurrency and distribution

RayTracer rt = new RayTracer();

Image result = rt.render(0,500);

RayTracer rt = new RayTracer();

Image result = rt.render(0,500);

rt

rt rt

rt rt rt

rt

new thread

around() : call (*.render(...)) {

… // redirec t to remote node

return(/*rendered image*/);

}

RayTracer farm[]=new RayTracer[4];

RayTracer around() : call (RayTracer.new()) {for(i=0; i<4; i++)

farm[i] = new RayTracer();re turn(farm[0]);

}

Image around(/* …*/) : call (*.render(..)) {for(int i=0; i<4; i++)

res [i] = farm[i].render(/* s ubinterval*/);... //jo in s ub-images s aved in res arrayreturn(/*merged s ub images */);

}

Image around() : call (RayTracer.render()) {(new Thread() {public vo id run() { … .render(…) }

}).s tart();}

RayTracer around() : call (RayTracer.new()) {… // reques t objec t creation to remote fac tory… // as s oc iate remote object to local fakereturn(/*fake local objec t*/);

}

PPC-VMPPC-VMPortable Parallel Computing based on Virtual MachinesPortable Parallel Computing based on Virtual Machines

Partition

module

Concurrency

module

Distribution

module

Purpose

No No No Tidy up core functionality, debugging, single core machines

No/Yes Yes No Shared memory parallel machines

(SMP/Multi-core) Core functionality

+

Yes Yes Yes Distributed memory machines (Clusters/Grids)