next up previous
Next: Rover: Disconnected Replicated Up: Distributed Communication Previous: Obliq: Network Scopes

Sumatra: Mobile Objects

Migration also in Java though RMI.

Not efficient Not true migration - no redirection of references.

execution engines - Java interpreters.

Object group - I/O objects not moved but retargetted (suitcase.)

forwarding adrress left and object-moved exception.

Can also create a new thread at remote site a la Obliq. rexec main method. Non blocking.

Can also migrate thread. - go instruction. stack sent and non object groups. remote references to object groups.

Code?

send thread code also: expensive, no retargetting.

assume same program all sites- too conservative.

send code from go to all visible gos - gos on control path. compiler support.

send code from go to enabled gos - uses dynamic stack info.

Policy? Application-defined (mobili-aware app.)

Factors:

spatial variations - links with diff. speeds. population variations - users join/leave. one time placement. temporal variations: link speed changes.

Experiments show: large spatial variations. US hosts: 15 ms to 863ms. Non Us hosts: 84ms to 4000ms.

Time variation: short-term small jitter. occasional sharp jumps over short time intervals. in small windows (10 mins): 70-90 over one day, mode variation: US hosts: 500 ms, Non US: 5750ms.

Application can request monitoring of link with specified frequency. Mode of last 10 min window written in shared memory.

Example application:

Centralized: Master migrates. Thread or obj group? remote method vs remote thread execution.

replicated: session manager. thread or obj group?

Policy: adapttalk - minimize max response time. tradeoff between stability and good reponse. multiple rounds - decison cycle (50n). win threshold for reponse (25n). loss threshold (12n).

consider all kinds of variations.



Prasun Dewan
Sun Mar 16 14:09:55 EST 1997