denis caromel, et al. proactive.objectweb oasis team
DESCRIPTION
Strong Programming Model for Strong Weak Mobility:. Denis Caromel, et al. http://ProActive.ObjectWeb.org OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF. Introduction to ProActive PM: Active Objects + Groups Mobile Agents Strategies for Localization GUI (Video) - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/1.jpg)
Denis Caromel1
Denis Caromel, et al.http://ProActive.ObjectWeb.org
OASIS TeamINRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF
Strong Programming Model for Strong Weak Mobility:
1. Introduction to ProActive2. PM: Active Objects + Groups3. Mobile Agents4. Strategies for Localization 5. GUI (Video)6. Applications: Load Balancing
![Page 2: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/2.jpg)
Denis Caromel2
ProActive Parallel Suite (1)
Open
Source
+
PROFESSIONAL
SUPPORT
![Page 3: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/3.jpg)
Denis Caromel3
ProActive Parallel Suite: GUI
![Page 4: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/4.jpg)
Denis Caromel4
ProActive Parallel Suite: GUI
![Page 5: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/5.jpg)
Denis Caromel5
![Page 6: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/6.jpg)
Denis Caromel6
ProActive Parallel Suite: Deploy
![Page 7: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/7.jpg)
Denis Caromel7
ProActive Parallel Suite: Deploy
![Page 8: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/8.jpg)
Denis Caromel8
Deploy on Various Kinds of Infrastructures
Internet
Clusters
ParallelMachine
LargeEquipment
Internet
Job management forembarrassingly parallel application (e.g. SETI)
Internet
Internet
Servlets EJBs Databases
![Page 9: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/9.jpg)
Denis Caromel9
Abstract Deployment Model
Problem:
Difficulties and lack of flexibility in deployment
Avoid scripting for: configuration, getting nodes, connecting, etc.
A key principle: Virtual Node (VN) + XML deployment file
Abstract Away from source code, and Wrapping code:
Machines
Creation Protocols
Lookup and Registry Protocols
Protocols and infrastructures:
Globus, ssh, rsh, LSF, PBS, SGE, IBM Load Lever, …
Web Services, ...
Data management: File transfer
![Page 10: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/10.jpg)
Denis Caromel10
Scheduler and Resource Manager:User Interface
![Page 11: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/11.jpg)
Denis Caromel11
Scheduler: User Interface
![Page 12: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/12.jpg)
Denis Caromel12
ProActive Parallel Suite: Program
![Page 13: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/13.jpg)
Denis Caromel13
ProActive Parallel Suite: Program
![Page 14: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/14.jpg)
Denis Caromel14
ProActive Parallel Suite: Program
![Page 15: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/15.jpg)
Denis Caromel15 15
2. Distributed and Parallel
Objects
ProActiveProgramming
![Page 16: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/16.jpg)
Denis Caromel16 16
A
ProActive : Active objects
Proxy
Java Object
A ag = newActive (“A”, […], VirtualNode)V v1 = ag.foo (param);V v2 = ag.bar (param);...v1.bar(); //Wait-By-Necessity
V
Wait-By-Necessity
is a
Dataflow
Synchronization
JVM
A
JVM
Active Object
Future Object Request
Req. Queue
Thread
v1v2 ag
WBN!
![Page 17: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/17.jpg)
Denis Caromel17 17
ProActive: Inter- to Intra- Synchronization
Sequential Multithreaded Distributed
Synchronizations, Behavior: not dependent upon
the physical location (mapping of activities)
![Page 18: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/18.jpg)
Denis Caromel18 18
ProActive : Explicit Synchronizations
Explicit Synchronization:- ProActive.isAwaited (v); // Test if available- .waitFor (v); // Wait until availab.
Vectors of Futures:- .waitForAll (Vector); // Wait All- .waitForAny (Vector); // Get First
A ag = newActive (“A”, […], VirtualNode)V v = ag.foo(param);... v.bar(); //Wait-by-necessity
![Page 19: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/19.jpg)
Denis Caromel19 19
ProActive : Intra-object synchronization
Explicit control: Library of service routines:
Non-blocking services,...serveOldest ();serveOldest (f);
Blocking services, timed, etc.serveOldestBl
();serveOldestTm
(ms);Waiting primitives
waitARequest(); etc.
class BoundedBuffer extends FixedBuffer implements RunActive
{ // Programming Non FIFO behavior
runActivity (ExplicitBody myBody) { while (...) { if (this.isFull()) serveOldest("get"); else if (this.isEmpty()) serveOldest ("put"); else serveOldest ();
// Non-active wait waitArequest (); }}}
Implicit (declarative) control: library classese.g. : Blocking Condition Abstraction for concurrency control:
doNotServe ("put", "isFull");
![Page 20: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/20.jpg)
Denis Caromel20 20
ProActive: First-Class Futures
Sequential Multithreaded Distributed
Synchronizations, Behavior: not dependent upon
the physical location (mapping of activities)
![Page 21: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/21.jpg)
Denis Caromel21 21
Wait-By-Necessity: First Class Futures
ba
Futures are Global Single-Assignment Variables
V= b.bar ()
c
c
c.gee (V)
v
v
b
![Page 22: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/22.jpg)
Denis Caromel22 22
Standard system at Runtime:No Sharing
NoC: Network On ChipProofs of Determinism
![Page 23: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/23.jpg)
Denis Caromel23
Calculus
ASP: Asynchronous Sequential Processes
![Page 24: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/24.jpg)
Denis Caromel24
Proofs in GREEK
ASP Confluence and Determinacy Future updates can occur at any time, Mobility does not change behavior
![Page 25: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/25.jpg)
Denis Caromel25 25
TYPED
ASYNCHRONOUS
GROUPS
![Page 26: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/26.jpg)
Denis Caromel26 26
A
Creating AO and Groups
Typed Group Java or Active Object
A ag = newActiveGroup (“A”, […], VirtualNode)V v = ag.foo(param);...v.bar(); //Wait-by-necessity
V
Group, Type, and Asynchrony
are crucial for Cpt. and GRID
JVM
![Page 27: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/27.jpg)
Denis Caromel27 27
Broadcast and Scatter
JVM
JVM
JVM
JVM
agcg
ag.bar(cg); // broadcast cgProActive.setScatterGroup(cg);ag.bar(cg); // scatter cg
c1 c2c3c1 c2c3
c1 c2c3c1 c2c3
c1 c2c3
c1 c2c3
s
c1 c2c3
s
Broadcast is the default behavior Use a group as parameter, Scattered depends on rankings
![Page 28: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/28.jpg)
Denis Caromel28 28
Dynamic Dispatch Group
JVM
JVM
JVM
JVM
agcg
c1
c2
c3
c4
c5
c6
c7
c8c0
c9c1
c2
c3
c4
c5
c6
c7
c8c0
c9
c1
c2
c3
c4
c5
c6
c7
c8c0
c9
Slowest
Fastest
ag.bar(cg);
![Page 29: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/29.jpg)
Denis Caromel29
ProActive Parallel Suite
![Page 30: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/30.jpg)
Denis Caromel30
ProActive Parallel Suite
![Page 31: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/31.jpg)
Denis Caromel31 31
3. Mobile Agents
![Page 32: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/32.jpg)
Denis Caromel32 32
ProActive : Migration of active objects
Migration is initiated by the active object itself through a primitive: migrateTo
Can be initiated from outside through any public method
The active object migrates with:• all pending requests• all its passive objects • all its future objects
Automatic and transparent forwarding of:• requests (remote references remain valid)• replies (its previous queries will be fullfilled)
![Page 33: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/33.jpg)
Denis Caromel33 33
Principles and optimizations
Same semantics guaranteed (RDV, FIFO order point to point, asynchronous)
Safe migration (no agent in the air!)
Local references if possible when arriving within a VM
Tensionning (removal of forwarder)
![Page 34: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/34.jpg)
Denis Caromel34 34
Principles and optimizations
Same semantics guaranteed (RDV, FIFO order point to point, asynchronous)
Safe migration (no agent in the air!)
Local references if possible when arriving within a VM
Tensionning (removal of forwarder)
![Page 35: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/35.jpg)
Denis Caromel35 35
Principles and optimizations
Same semantics guaranteed (RDV, FIFO order point to point, asynchronous)
Safe migration (no agent in the air!)
Local references if possible when arriving within a VM
Tensionning (removal of forwarder)
direct
![Page 36: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/36.jpg)
Denis Caromel36 36
Principles and optimizations
Same semantics guaranteed (RDV, FIFO order point to point, asynchronous)
Safe migration (no agent in the air!)
Local references if possible when arriving within a VM
Tensionning (removal of forwarder)
direct
direct
![Page 37: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/37.jpg)
Denis Caromel37 37
Principles and optimizations
Same semantics guaranteed (RDV, FIFO order point to point, asynchronous)
Safe migration (no agent in the air!)
Local references if possible when arriving within a VM
Tensionning (removal of forwarder)
direct
direct
forwarder
![Page 38: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/38.jpg)
Denis Caromel38 38
Principles and optimizations
Same semantics guaranteed (RDV, FIFO order point to point, asynchronous)
Safe migration (no agent in the air!)
Local references if possible when arriving within a VM
Tensionning (removal of forwarder)
direct
direct
forwarder
![Page 39: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/39.jpg)
Denis Caromel39 39
Principles and optimizations
Same semantics guaranteed (RDV, FIFO order point to point, asynchronous)
Safe migration (no agent in the air!)
Local references if possible when arriving within a VM
Tensionning (removal of forwarder)
direct
direct
forwarder
![Page 40: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/40.jpg)
Denis Caromel40 40
Principles and optimizations
Same semantics guaranteed (RDV, FIFO order point to point, asynchronous)
Safe migration (no agent in the air!)
Local references if possible when arriving within a VM
Tensionning (removal of forwarder)
direct
direct
forwarder
![Page 41: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/41.jpg)
Denis Caromel41 41
ProActive : API for Mobile Agents
Mobile agents (active objects) that communicate
Basic primitive: migrateTo
public static void migrateTo (String u)
// string to specify the node (VM)
public static void migrateTo (Object o)
// joinning another active object
public static void migrateTo (Node n)
// ProActive node (VM)
![Page 42: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/42.jpg)
Denis Caromel42 42
ProActive : API for Mobile AgentsMobile agents (active objects) that communicate// A simple agentclass SimpleAgent implements runActive, Serializable { public SimpleAgent () {}
public void moveTo (String t){ // Move upon requestProActive.migrateTo (t);
}
public String whereAreYou (){ // Repplies to queriesreturn (“I am at ” + InetAddress.getLocalHost ());
}
public runActivity (Body myBody){ while (… not end of itinerary …){
res = myFriend.whatDidYouFind () // Query other agents …
} myBody.fifoPolicy(); // Serves request, potentially moveTo
} }
![Page 43: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/43.jpg)
Denis Caromel43 43
ProActive : API for Mobile AgentsMobile agents that communicate
Primitive to automatically execute action upon migrationpublic static void onArrival (String r)
// Automatically executes the routine r upon arrival
// in a new VM after migration
public static void onDeparture (String r)
// Automatically executes the routine r upon migration
// to a new VM, guaranted safe arrivalpublic static void beforeDeparture (String r)
// Automatically executes the routine r before trying a migration
// to a new VM
![Page 44: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/44.jpg)
Denis Caromel44 44
ProActive : API for Mobile Agents Itinerary abstraction
Itinerary : VMs to visitspecification of an itinerary as a list of (site, method)
automatic migration from one to another
dynamic itinerary management (start, pause, resume, stop, modification, …)
API:myItinerary.add (“machine1’’, “routineX”); ...
itinerarySetCurrent, itineraryTravel, itineraryStop, itineraryResume, …
Still communicating, serving requests:itineraryMigrationFirst ();
// Do all migration first, then services, Default behavioritineraryRequestFirst ();
// Serving the pending requests upon arrival before migrating again
![Page 45: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/45.jpg)
Denis Caromel45 45
Host 1 Host 2
Host 3
A
Home
Destination Methods
Host 1 echo
Host 2 callhome
Host 3 processData
Migration
Dynamic itineraries
Migration
Host 4 foo
Host 4
Migration
Migration
A A
A
A
![Page 46: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/46.jpg)
Denis Caromel46 46
4. Localization
![Page 47: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/47.jpg)
Denis Caromel47 47
Forwarders
Migrating object leaves forwarder on current site
Forwarder is linked to object on remote sitePossibly the mobile object
Possibly another forwarder => a forwarding chain is built
When receiving message, forwarder sends it to next hop
Upon successful communication, a tensioning takes place
![Page 48: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/48.jpg)
Denis Caromel48 48
Other Strategy: Centralized (location Server)
S
Host A
A
Host B Host C Host D
S : SourceA : Agent
referenceServer
![Page 49: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/49.jpg)
Denis Caromel49 49
Centralized Strategy (2)
S
Host A
Host B
A
Host C Host D
S : SourceA : Agent
reference
Migration
Server
Server Update
A migrating object updates the server
![Page 50: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/50.jpg)
Denis Caromel50 50
Centralized Strategy (3)
S
Host A
Host B Host C Host D
S : SourceA : Agent
reference
Message
MigrationA
Server
UpdateFailed
A migrating object updates the server
![Page 51: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/51.jpg)
Denis Caromel51 51
Centralized Strategy (4)
S
Host A
Host B Host C Host D
S : SourceA : Agent
référence
A
ServerAsk for a new
reference
Response
Message
But the AO might have moved again in the meantime … just play again.
!
The source get a new reference from the server
Request
![Page 52: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/52.jpg)
Denis Caromel52 52
Location Server vs Forwarder
ServerNo fault tolerance if single server
Scaling is not straightforward
Added work for the mobile object
The agent can run away from messages
ForwardersUse resources even if not needed
The forwarding chain is not fault tolerant
An agent can be lost
What about performance?
![Page 53: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/53.jpg)
Denis Caromel53 53
0
20
40
60
80
100
120
140
Forwarder (1s per site) Server (1s per site)Forwarder (1/5s per site) Server (1/5s per site)
Forwarder vs. Server LAN (100 Mb/s)
1 2 3 4 5 6 7 8 9 10 11
Response time (ms) vs. Communication rate
Server better on a LAN
![Page 54: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/54.jpg)
Denis Caromel54 54
0
400
800
1200
Forwarder (1s per site) Server (1s per site)Forwarder (1/5s per site) Server (1/5s per site)
Forwarder vs Server MAN (7 Mb/s)Response time (ms) vs. Communication rate
1 2 3 4 5 6 7 8 9 10 11
Forwarders sometimes better on a MAN
![Page 55: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/55.jpg)
Denis Caromel55 55
Formal Performance Evaluation of Mobile Agents:Markov Chains
Together with Fabrice Huet and Mistral Team
Objectives:Formally study the performance of Mobile Agent localization mechanismInvestigate various strategies (forwarder, server, etc.)Define adaptative strategies
Modeling:Frequency of:– Message from source– Agent migrationTime for:– Message transmission– Agent migration
![Page 56: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/56.jpg)
Denis Caromel56 56
Modeling of Forwarder Strategy
No message
One In-transitmessage
![Page 57: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/57.jpg)
Denis Caromel57 57
Modeling of Server Strategy
![Page 58: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/58.jpg)
Denis Caromel58 58
TTL-TTU mixed parameterized protocol
TTL: Time To Live + Updating Forwarder:After TTL, a forwarder is subject to self destruction
Before terminating, it updates server(s) with last agent known location
TTU: Time To Update mobile AO:After TTU, AO will inform a localization server(s) of its current location
Dual TTU: first of two events:maxMigrationNb: the number of migrations without server update
maxTimeOnSite: the time already spent on the current site
5 s.
10
5 s.
![Page 59: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/59.jpg)
Denis Caromel59 59
TTL-TTU mixed parameterized protocol
S
Host A
A
Host B Host C Host D
S : SourceA : Agent
referenceServer
![Page 60: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/60.jpg)
Denis Caromel60 60
TTL-TTU mixed parameterized protocol
S
Host A
Host B
A
Host C Host D
S : SourceA : Agent
reference
Migration
Server
Server Update
FTTL
TTU
![Page 61: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/61.jpg)
Denis Caromel61
5. IC2DInteractive Control & Debug for Distribution
Eclipse GUI
for the GRID
![Page 62: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/62.jpg)
Denis Caromel62
GUI in ProActive Parallel Suite
![Page 63: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/63.jpg)
Denis Caromel63
GUI in ProActive Parallel Suite
![Page 64: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/64.jpg)
Denis Caromel64
Programmer Interface for
MonitoringDebugging Optimizing
![Page 65: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/65.jpg)
Denis Caromel65
![Page 66: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/66.jpg)
Denis Caromel66
IC2D
![Page 67: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/67.jpg)
Denis Caromel67
Video 1: IC2DMonitoring, Debugging, Optimizing
![Page 68: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/68.jpg)
Denis Caromel68
Ongoing Work: 3D View in IC2D
![Page 69: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/69.jpg)
Denis Caromel69
6. Example of
ProActive
Applications
![Page 70: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/70.jpg)
Denis Caromel70 70
Load Balancing
![Page 71: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/71.jpg)
Denis Caromel71 71
Load Balancing using Mobility (1)
![Page 72: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/72.jpg)
Denis Caromel72 72
Load Balancing using Mobility (2)
Deals with heterogeneous machines,
applications, and network.
![Page 73: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/73.jpg)
Denis Caromel73
Sylvain Cussat-Blanc, Yves Duthen – IRIT TOULOUSESylvain Cussat-Blanc, Yves Duthen – IRIT TOULOUSE
Artificial Life GenerationArtificial Life Generation
Application J+1 J+5 J+6 J+7
Version ProActive
251300 CPUs
Initial Application
1 PC 56h52 => Crash!
ProActive Version
300 CPUs 19 minutes
Developpement of artificial creatures
![Page 74: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/74.jpg)
Denis Caromel74
Sylvain Cussat-Blanc, Yves Duthen – IRIT TOULOUSESylvain Cussat-Blanc, Yves Duthen – IRIT TOULOUSE
Artificial Life GenerationArtificial Life Generation
![Page 75: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/75.jpg)
Denis Caromel75
JECS : 3D Electromagnetism Radar Reflection on Planes
![Page 76: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/76.jpg)
Denis Caromel76
Code Coupling : Vibro Acoustic (courtesy of EADS)
![Page 77: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/77.jpg)
Denis Caromel77
P2P:AO Overlay
Network
![Page 78: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/78.jpg)
Denis Caromel78
![Page 79: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/79.jpg)
Denis Caromel79
![Page 80: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/80.jpg)
Denis Caromel80
Summary
![Page 81: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/81.jpg)
Denis Caromel81
Multi-Core to DistributedMulti-Core to Distributed
Concurrency + Mobility + Parallelism
Multi-Cores + Distribution
![Page 82: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/82.jpg)
Denis Caromel82
Conclusion: Why does it move ?
Thanks to a few key features:
Connection-less, RMI+JMS unified
Messages rather than long-living interactions
![Page 83: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/83.jpg)
Denis Caromel83
Conclusion: Why does it
Communicate and Behave ?Thanks to a few key features:
Because it Scales: asynchrony !
Because it is Typed: RMI with interfaces !
First-Class Futures: No unstructured Call Backs and Ports
![Page 84: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/84.jpg)
Denis Caromel84 84
Conclusion on Mobile Active ObjectsActive Objects = a good unit of Computational MobilityWeak Migration OK (even for Load Balancing)Both Actors and Servers
Ensuring communications: several strategies to choose from: Location ServerForwardersMixed: based on TTL-TTU
Primitive + Higher-Level abstractions:migrateTo (location)onArrival, onDepartureItinerary, etc.
Application to Mobile Telecoms: DLP, NH Avatar (NHA), Shared Space for Session Management
![Page 85: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/85.jpg)
Denis Caromel85
Summary-Perspective: Mobility at the Core
![Page 86: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/86.jpg)
Denis Caromel86
ProActive/GCMSpecifications
for
ComponentsServicesSLAQoS
Open the way to Soft.+Serv. EU Industry with Clouds &Utilities, DAAS
ProActive/GCMSpecifications
for
ComponentsServicesSLAQoS
Open the way to Soft.+Serv. EU Industry with Clouds &Utilities, DAAS
![Page 87: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/87.jpg)
Denis Caromel87
![Page 88: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/88.jpg)
Denis Caromel88 88
Parallel, Distributed, Hierarchical
3. ComponentsComposing
![Page 89: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/89.jpg)
Denis Caromel89 89
Objects to Distributed Components (1)
Typed Group Java or Active Object
ComponentIdentity Cpt = newActiveComponent (params);A a = Cpt … .getFcInterface ("interfaceName");V v = a.foo(param);
V
AExample of
component
instance
JVM
Truly
Distributed
Components
IoC:InversionOf Control(set in XML)
![Page 90: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/90.jpg)
Denis Caromel90
GCM: Grid Component ModelGCM Being defined in the NoE CoreGRID
(42 institutions)
Open Source ObjectWeb ProActive
implements a preliminary version of GCM
Service Oriented: NESSI relation
GridCOMP takes:GCM as a first specification,
ProActive as a starting point, and
Open Source reference implementation.
The vision: The vision: GCMGCM to be the IT Service to be the IT Service GSMGSM
![Page 91: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/91.jpg)
Denis Caromel91
GridCOMP Partners
![Page 92: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/92.jpg)
04/20/23
Denis Caromel
GCMScopes and Objectives:
Grid Codes that Compose and Deploy
No programming, No Scripting, … No Pain
Innovation:
Abstract Deployment
Composite Components
Multicast and GatherCast
MultiCastMultiCast GatherCastGatherCast
![Page 93: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/93.jpg)
Denis Caromel93
Pies for Analysis and Optimization
![Page 94: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/94.jpg)
Denis Caromel94
Pies for Analysis and Optimization
![Page 95: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/95.jpg)
Denis Caromel95
With Summary Report
![Page 96: Denis Caromel, et al. ProActive.ObjectWeb OASIS Team](https://reader036.vdocuments.us/reader036/viewer/2022062517/56813bec550346895da51c04/html5/thumbnails/96.jpg)
Denis Caromel96
Ongoing Work: Integration with JMX JConsole:Monitoring Heap, Threads, CPU Over 60 Hours