90 likes | 213 Views
Distributed Configuration Manager for FaReCast. Eyal Blum Alex Honda. FaReCast. Fa st Re liable Application Layer Multi cast for Flash Dissemination Application Layer Flash Dissemination Authors Kyungbaek Kim Sharad Mehrotra Nalini Venkatasubramanian. FaReCast Motvation.
E N D
Distributed Configuration Manager for FaReCast Eyal Blum Alex Honda
FaReCast • Fast Reliable Application Layer Multicastfor Flash Dissemination • Application Layer • Flash Dissemination • Authors • Kyungbaek Kim • SharadMehrotra • NaliniVenkatasubramanian
FaReCastMotvation • Emergency dissemination of information • Assumes high node and link failure rates • Emergencies are infrequent • Earthquake • Tsunami • Forrest Fires • Tornados • Require reliable and fast transmission
FaReCast Structure • Multitree structure • Single reliable “root” • Multiple parents for each client node • Local topology maintained by each client nodes • Global topology maintained by configuration manager
Configuration Manager (CM) • Maintains network topology • Join – client is assigned parents and children • Update – client is informed of its current neighbors • Leave – client gracefully exits the group • Timeout – client fails • Not used in dissemination • Single point of failure • Performance bottleneck
Distributing the CM • Use FreePastry to • Evenly distribute the load • Handle reliable group communication • Each CM maintains a subset of the client data • More efficient – for updates • No redundancy – assume CMs are reliable • Ensure that the number of nodes in the system is globally consistent • Central Coordinator Algorithm
Distributed CM • Join • Assign a client parents and children, based on level in tree • Requires consistent number of nodes in the system • Choose arbitrary centralized authority • Pass a token from and back to centralized authority • A join process can only start once its CM hold the token • Join Process • Maintain parent set uniqueness – No two clients can have the same parent set • Select a parent set at random • If PSU is violated, throw out the candidate parent with the most children (heuristic) • Keep requesting parents until we have fan-in many, and PSU is satisfied
Issues • Minimizing intra-server messages • Minimizing response time for update requests • Ensuring global consistency for critical variables • Preventing race conditions for threaded processes • Emulating multiple clients for testing the CM
Results • Currently in progress • Consistency issues • Heissenbugs • Fun Fact: • Favorite (and most used) command: “killall java”