The Impact of Web Service Integration
- n Grid Performance
The Impact of Web Service Integration on Grid Performance Franois - - PowerPoint PPT Presentation
The Impact of Web Service Integration on Grid Performance Franois Taani Matti Hiltunen & Rick Schlichting Lancaster University AT&T Labs - Research HPDC-14 , The 14th IEEE International Symposium on High Performance Distributed
2/29
Grid Computing: federating resources
Web Services:
What is the performance impact on Globus?
How to extract meaningful profiling data?
3/29
1.
2.
Low level “plumbing”. No high level service involved Motivation: profile the founding bricks of the Globus platform
Standalone SMP server running 4 Intel Xeon @ 1.6GHz No network cost involved! Avoids context switching overhead! Globus 3.9.4 used (last GT4 alpha release, released Dec.04)
4/29
5/29
6/29
Many different situations to be considered!
create add 3 notify 3 destroy
(10 000 invocations) subscribe
7/29
subscribe create
8/29
9/29
10/29
1st notify
11/29
12/29
2nd notify
13/29
2nd notify
14/29
15/29
JVM periodically stopped. Stack of active thread is captured. Result : A set of weighted stack traces. Weight = measures
Time (represented by weights) Threads: each trace belongs to a thread Control flow (represented by stacks, reflects use relationships) Code Structure (package organization, class hierarchy, etc.)
16/29
Our goal: related profiling to software structure Our choice: package aggregation + stack depth
17/29
lib1.Wale .breath lib1.Mammal.inhale lib2.Lung .inhale lib2.Muscle.contract lib2.Nerve .transmit lib3.Signal.travel lib3.Blood .flow lib3.Pressure.foo lib2.Muscle.stop lib2.Nerve .transmit lib3.Signal.travel
1 2 3 4 5 6 1 2 3 4 5 6 Stack Depth Time Units lib3 lib2 lib1
Aggregates invocations of the same library. Chart w.r.t. position in call stack. EXCLUSIVE
1 2 3 4 5 6 1 2 3 4 5 6 Stack Depth Time Units lib3 lib2 lib1
INCLUSIVE
18/29
create subscribe add 3 notify 3 destroy
19/29
20/29
21/29
22/29
subscribe notify 3
create add 3 destroy
23/29
24/29
org.apache.axis.wsdl
org.apache.axis.encoding
org.apache.axis (others)
org.globus.gsi
org.globus.wsrf
cryptix.provider.rsa
org.apache.xerces
others
25/29
org.apache.axis.wsdl
org.apache.axis.encoding
org.apache.axis (others)
org.globus.gsi
org.globus.wsrf
cryptix.provider.rsa
org.apache.xerces
others
26/29
org.apache.axis.wsdl
org.apache.axis.encoding
org.apache.axis (others)
org.globus.gsi
org.globus.wsrf
cryptix.provider.rsa
org.apache.xerces
others
27/29
org.apache.axis.wsdl
org.apache.axis.encoding
org.apache.axis (others)
org.globus.gsi
org.globus.wsrf
cryptix.provider.rsa
org.apache.xerces
others
28/29
Lazy optimisation: very high latency on first invocation of
Stabilized latencies still high: ~ 160ms for a round trip
Brand new version. 3.9.4 numbers already better than 3.9.2! Containers not supposed to be started frequently Globus services are there to manage very long running
But points at some applications for which Globus (in its
29/29
They can be best seen as maps to guide further steps Different kinds of projection actually useful
Which is the best “semantically relevant” level to project
Can we leverage the “middleware” nature of Globus to
30/29