Presentation is loading. Please wait.

Presentation is loading. Please wait.

Filterfresh COOTS’98 Department of Computer Science Courant Institute of Mathematical Sciences New York University Filterfresh: Hot Replication of Java.

Similar presentations


Presentation on theme: "Filterfresh COOTS’98 Department of Computer Science Courant Institute of Mathematical Sciences New York University Filterfresh: Hot Replication of Java."— Presentation transcript:

1 Filterfresh COOTS’98 Department of Computer Science Courant Institute of Mathematical Sciences New York University Filterfresh: Hot Replication of Java RMI Server Objects Arash Baratloo, P. Emerald Chung, Yennun Huang, Sampath Rangarajan, and Shalini Yajnik Bell Laboratories Lucent Technologies

2 Filterfresh COOTS’98 Filterfresh Goals uSupport highly-available RMI services in presence of failures uHandle crash failures uTransparent failure masking uEasily integrate into Java RMI

3 Filterfresh COOTS’98 Roadmap 4 Goals uRMI Registry architecture & crash failures uRMI architecture & crash failures uProcess group approach to fault tolerance uHighly available registry service u“Reverse lookup” for masking (state-less) servers failures uTowards highly available servers uConclusions

4 Filterfresh COOTS’98 RMI in a nutshell uStep 1: a server object registers with the RMI registry running on the local host uSteps 2-3: Clients get server’s remote reference by performing a lookup operation at a known registry uStep 4: Given a remote reference, clients invoke server’s methods through RMI

5 Filterfresh COOTS’98 Limitations of RMI Registry uSingle point of failure uClients need to know a priori which registry to contact uDoes not allow multiple RMI servers to register under the same service name  Not suited for replicated highly-available RMI server objects

6 Filterfresh COOTS’98 Desirable properties of RMI Registry uDistributed to remove the single point of failure  Ability to dynamically add registries, and to detect and remove failed processes  Highly available uReplicated to remove the a priori requirement  Replication strategy to maintain a consistent global state uSupport for multiple RMI servers to register under the same service name uThus, to provide high-availability to RMI server objects we need a highly-available registry service!

7 Filterfresh COOTS’98 RMI Architecture uThe programmer writes the client and server application codes uThe RMI compiler (rmic) generates the client stub and server skeleton uThe RMI package implements the RRL and transport layers uTransparent masking of failures must occur below the stub/skeleton levels

8 Filterfresh COOTS’98 A unified solution uFault-tolerance based on process group approach  Non-faulty processes form a logical group  Members interact using a set of group primitives  Group primitives are guaranteed to be reliable -- all or nothing  Group primitives are guaranteed to be ordered  Group members have a consistent view of other group members uApplications built on process groups view events in a synchronous fashion:  The group view changes for all members as though it is instantaneous -- synchronous  Events (e.g, send & receive of multicasts) occur in a logical order, within the same view  Members have the same view of the group

9 Filterfresh COOTS’98 Strong Virtual Synchrony uProgress: a joining process will eventually become part of the group view (or be suspected of failures) uFailure detection: a crashed process will eventually be detected and removed form the group view uReliability: messages sent by a member that remains in the group view will be delivered by others uOrder: messages will be delivered by others in the view it was sent uConsistency: all surviving members of a view agree on the set of messages delivered within that view uSynchrony: between two consecutive views, no message is delivered

10 Filterfresh COOTS’98 Fortunately uProcess group approach is  Well studied  Well defined protocols uProcess group approach has been used in building general purpose fault-tolerant  Middle-ware systems, such as Horus/Ensemble, Transis, etc.  Services, such as FT directory and file servers  OO systems, such as ISIS+ORBIX, Electra, Orca  Java middle-ware systems such as iBus uSeems a good candidate for FT RMI services

11 Filterfresh COOTS’98 Unfortunately uProcess Group Membership is  As hard as distributed consensus  Impossible in purely asynchronous systems with crash failures uOur implementation  Based on the “timeout” assumption  Correctness is guaranteed once terminates  Ack-based protocol for simplicity

12 Filterfresh COOTS’98 Basis for process groups uA GroupManager Class  100% Pure Java  built on top of UDP/IP uImplements  Group creation  Join operation (with atomic state transfer)  Leave operation  Group multicast operation  Failure detection and recovery uAll events are reliable and totally ordered

13 Filterfresh COOTS’98 Performance of group multicast uPentiumPro 200, Linux 2.030, Fast Ethernet connected by a hub uJDK1.1.1 uThread and object serialization influenced the performance?

14 Filterfresh COOTS’98 Roadmap 4 Goals 4 RMI Registry architecture & crash failures 4 RMI architecture & crash failures 4 Process group approach to fault tolerance uHighly available registry service u“Reverse lookup” for masking (state-less) servers failures uTowards highly available servers uConclusions

15 Filterfresh COOTS’98 FT Registry architecture uEmbedded a GroupManager class to ensure reliable ordered events uReliable and ordered group operations ensure consistent state uReplicated registry service for high availability uSupports dynamic joins w/state transfer uDetects and removes failed registry servers

16 Filterfresh COOTS’98 Bind operation uBind operations are sent to every replica uReliable multicast ensures every replica receives the event uOrdered group operation ensures consistency even if a new replica joins

17 Filterfresh COOTS’98 Lookup operation uLookup operations are handled locally uProvides location transparency to clients  able to locate servers registered at unknown hosts  no need to have a priori knowledge of server’s host

18 Filterfresh COOTS’98 Performance of FT Registry uPentiumPro 200, Linux 2.030, Fast Ethernet connected by a hub uJDK1.1.1

19 Filterfresh COOTS’98 Roadmap 4 Goals 4 RMI Registry architecture & crash failures 4 RMI architecture & crash failures 4 Process group approach to fault tolerance 4 Highly available registry service u“Reverse lookup” for masking (state-less) servers failures uTowards highly available servers uConclusions

20 Filterfresh COOTS’98 RMI & FT Registry uSupports multiple replicated servers to register under the same service name uObject references remain valid after the associated object has failed

21 Filterfresh COOTS’98 In the event of server failure uThe failure is detected below the stub level, and...

22 Filterfresh COOTS’98 Failure recovery for state-less servers uA “reverse” lookup returns the name of a given wire connection uThe old connection is patched with a connection to a non-faulty server uThe operation is re-attempted uTransparent to the client: illusion of a valid object reference

23 Filterfresh COOTS’98 FT server Architecture uClient has the illusion of a single server uIn reality, a group of servers process clients requests uOperations are performed at each server, in the same order for consistency uReplicated servers for high availability

24 Filterfresh COOTS’98 Highly available server objects uGroupManager ensures reliable ordering of events across all servers uGuarantee consistent server state uAutomatic detection and removal of failed server objects uState transfer provide the ability to dynamically add new server objects uIn combination with FT Registry and “reverse lookup”, clients have the illusion of a single reliable server object

25 Filterfresh COOTS’98 Conclusions and future work uTo provide high availability there is need for  A reliable registry service  A reliable RMI architecture uShowed suitability of process group approach by  Transparently masking failures  Easily integrated our services into Java RMI uFuture work  Complete work on general-purpose FT services  Address nested RMI calls for replicated servers


Download ppt "Filterfresh COOTS’98 Department of Computer Science Courant Institute of Mathematical Sciences New York University Filterfresh: Hot Replication of Java."

Similar presentations


Ads by Google