transparent grid enablement using trap/j by luis atencio & tatiana soldo
TRANSCRIPT
Transparent Grid Enablement
Using TRAP/J
By Luis Atencio & Tatiana Soldo
2
Main Topics
Demo Presentation• Explanation of demo.
Current Status of Project (TRAP/J v2)• Contributions
Future Road Map• Long Term Goals• Short Term Goals
3
TRAP/J V2: Composer Console
4
Matmul Example
A sequential code in Java that creates 8 matrices and then multiplies 4 of them against the other 4 all at runtime.
Taken from Juan Martinez
Matmul.java
5
TRAP/J V2: Matmul
Matmul.multiply_accumulative()
Matmul_Asp.aj
Redirection & Interception
No Yes
WrapperLevel_Matmul.Multiply_accumulative()
isDelPresent?
App.java
Matmul.multiply_accumulative()
Delegate_Matmul_Multiply_accumulative.multiply_accumulative()
6
TouchPoint
TouchPoint(singleton)
Keeps track of:- Adaptive classes- Loaded delegates
Composer
WrapperLevel_AdaptiveClass
Keeps track of: -own instances
-delegates in use
WrapperLevel_AdaptiveClass
Keeps track of: -own instances
-delegates in use
TouchPoint methods:
-getStatus()
- load()
- adapt()
7
TRAP/J V2: Matmul (adapt)
WrapperLevel Class
isClassDelPresent Delegate Inst.methodList
Delegate_Matmul
m_a()
1m_a()0
1
2
3
4
5
0
1
2
3
4
5
Index = 0
Update Data Structures0
1
2
3
4
5
8
Main Topics
Demo Presentation• Explanation of demo.
Current Status of Project (TRAP/J v2)• Contributions
Future Road Map• Long Term Goals• Short Term Goals
9
Reduced critical execution time• Reflective information obtained only if needed• Eliminate redundant searching
User has the ability to provide default (class) delegates or instance delegates
Merged Base-level and Meta-level into Wrapper-level with the creation of a TouchPoint singleton class that communicates the Composer with the WrapperLevel class.
User friendly Java GUI
Communication with the composer is XML based which allows for a web-based user interface
TRAP/J V2: Current Status
10
Reduced Critical Execution PathTRAP/J V2 vs TRAP/J
TRAP/J TRAP/J v2
ms.send()
bl.send()
m= Method object reflecting send()
ml.invokeMetaMethod(m)
Loop: searches for matching method in
every delegate.
ms.send()
wl.send()
ifDelPresentyes no
super.send()
m=Method object reflecting send()
wl.invokeMethod(m)
delegateInstance.send()
ifDelFoundyes no
delegateInstance.send() super.send()
11
Main Topics
Demo Presentation• Explanation of demo.
Current Status of Project (TRAP/J v2)• Contributions
Future Road Map• Long Term Goals• Short Term Goals
12
Long Term Goals
Explore more in depth concepts of Grid Computing and AC.
Program a suitable delegate class to grid-enable Matmul
Deploy Matmul on Grid Superscalar
Design a web based interface that takes advantage of XML based communication.
13
Short Term Goals Memory Leak: need to find a way to interact with garbage
collector.
Composer is loading a .java file instead of a .class bytecode file.
Memory intensive application by using a DOM tree implementation
Provide a more robust, solid user interface.
Leverage performance
Allow for the flexibility of loading JAR files and class files.