POSI/CHS/47158/2002 (March 2004-2007) Contact: João Luís Sobral ([email protected]) Goal Provide a...
-
Upload
avery-henderson -
Category
Documents
-
view
214 -
download
1
Transcript of POSI/CHS/47158/2002 (March 2004-2007) Contact: João Luís Sobral ([email protected]) 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 ([email protected])
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)