PPT

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 has sub 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
Worker
Sub
Farmer
Sub
Farmer
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
Worker
Worker
Worker
Sub
Farmer
Sub
Farmer
Worker
Worker
Worker
Each sub Farmer creates one or many workers as required
Worker
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
Performance
B(5) Performance
Time Required (Hours)
25
23
20
15
Series1
10
10
8
5
0
1
2
3
4
5
6
Number of Theaters
7
8
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.