180 likes | 290 Views
WWC Presentation. Busy Beaver Shailesh Kelkar. Busy Beaver Contents. Introduction Need for Distributed approach Distributed approach using WWC Implementing Farmer Worker scheme in WWC Further Enhancements to Distributed approach Current Status Future Work Side Work useful for WWC
E N D
WWC Presentation Busy Beaver Shailesh Kelkar
Busy Beaver Contents • Introduction • Need for Distributed approach • Distributed approach using WWC • Implementing Farmer Worker scheme in WWC • Further Enhancements to Distributed approach • Current Status • Future Work • Side Work useful for WWC • Summary
Busy Beaver Problem • To find the maximum number of 1 s’s that can be printed by a n-state Turing Machine before halting. • Different formulations like P, B, O, R based on Implicit / Explicit halt and Standard Position requirement. • Problem applicable to machines with different number of states for all of these formulations.
Need for a Distributed approach Enormity of the Search Space: |M(n)|=(4n+1)2n 4 possible actions for each of n next states 1 no-action transition to halt-state 2n possible transitions for B(6): (4(6)+1)2(6)=5.96 x 1016 machines Even after optimizations the search space for n > 6 is huge
Distributed approach using WWC Worldwide Computer enables us to solve complex, computing intensive problems using distributed approach by providing an Internet based infrastructure and an actor oriented programming language, SALSA Actors: Objects that perform the computations. Can migrate to better theaters(machines) for faster computations. Theaters: Provide run time support to the actors. Can have one or more theaters running on a single physical machine.
Implementing Farmer Worker scheme in WWC • Farmer Worker Model: The SALSA implementation can be divided over multiple actors over multiple theaters/ computers using the Farmer/Worker Model in a hierarchical manner
Farmer Worker in WWC – Actor Representation Farmer Worker Worker Worker Worker
Refining Farmer Worker scheme in WWC • Refinement of this scheme hassub Farmer nodes that are workers for the original farmer but also farmers in their own right for the workers at lower level in the hierarchy. Thus they will act as proxy farmer for the workers down the hierarchy.
Farmer Worker in WWC – Possible Actor Representations Farmer Sub Farmer Sub Farmer Sub Farmer Sub Farmer Sub Farmer Worker Sub Farmer Worker Each sub Farmer can create zero or many Sub Farmers as required, so we can have a tree of any depth required.
Farmer Worker in WWC – Actor & Theater Relations • Farmer on one theater(Fault Tolerance). • Sub Farmers on same or individual Theaters(as best as possible) • Multiple Workers of same sub Farmer on same theater and/or multiple theaters.
Farmer Worker in WWC – Theater & Machine relations. • Theaters run on Physical machines • Can have one or more theaters on same machines.(useful for better utilization of multiprocessor systems.)
Farmer Worker in WWC – Current Implementation - Actor Representation Farmer Sub Farmer Sub Farmer Sub Farmer Worker Worker Worker Worker Worker Worker Worker Each sub Farmer creates one or many workers as required
Implementing Farmer Worker scheme in WWC • Work Estimation : Need for determine the scheme for division of work and the distribution • Division of each agent based on number of TM in the queue of each agent. • How many agents to create and where ?
Further Enhancements • Work Stealing • Better utilization of theaters/machines by avoiding starvation • Network Optimizations by better reconfiguration
Current State • B(5) with 500 steps. Single Machine: 23 hour(s) 3 minute(s) 53 second(s) Farmer & 3 Sub Farmers: 10 hour(s) 3 minute(s) 20 second(s) Farmer & 3 Sub Farmers & 6 Workers: 8 hour(s) 34 minute(s) 43 second(s) Farmer & 3 Sub Farmers & Multiple Workers: ~ 6 Hours Single Machine B(5) – 50 steps: 7 hour(s) 9 minute(s) 36 second(s) B(5) – 1000 steps: ~ 110 hours
FutureWork • Code optimizations • Implement the TM encoding scheme • Implementing the pipeline approach
Summary • Distributed approach is a NECESSITY. • Implement it with WWC • Incorporate Farmer Worker for better work distribution and result collection. • Break some records • Utilize Busy Beaver to try out different Work Stealing approaches in WWC and test IO.