# Is 1 different from 12? Eli Gafni UCLA Eli Gafni UCLA.

## Presentation on theme: "Is 1 different from 12? Eli Gafni UCLA Eli Gafni UCLA."— Presentation transcript:

Is 1 different from 12? Eli Gafni UCLA Eli Gafni UCLA

OR Is theoretical distributed computing is a brunch of Mathematics or Engineering? What is theoretical distributed computing ``on one leg?’’ An algorithm has a geometric representation and a ``code’’ representation. Which should I use? Is theoretical distributed computing is a brunch of Mathematics or Engineering? What is theoretical distributed computing ``on one leg?’’ An algorithm has a geometric representation and a ``code’’ representation. Which should I use?

Consensus Task Two versions: 0-1: procs input is 0 or 1 All output o or all output 1 if output i then some proc input is i election: proc input is its id all output the same participating id Two versions: 0-1: procs input is 0 or 1 All output o or all output 1 if output i then some proc input is i election: proc input is its id all output the same participating id

k-set Cons (Chaudhuri 90) Two versions k-value: Proc’s input and output from {0,1,...,k} At most k distinct output, if i is output then some proc input is i k-Election: Proc input is its id All output together at most k participating ids Two versions k-value: Proc’s input and output from {0,1,...,k} At most k distinct output, if i is output then some proc input is i k-Election: Proc input is its id All output together at most k participating ids

1=?k Can any property of cons has it analogue to k-set cons? TST= 2 procs cons ? 0-1 cons = election ? State machine approach to distributed computing ? Can any property of cons has it analogue to k-set cons? TST= 2 procs cons ? 0-1 cons = election ? State machine approach to distributed computing ?

What about n Processors with m { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.com/12/3543575/slides/slide_6.jpg", "name": "What about n Processors with m

TST (Test-and-Set) TST: One proc output 0 all the rest 1 (2,1) k-TST: At most k at least one proc output 0 all the rest 1 (k+1,k) TST implementable for 2 proc cons =(2,1) k-TST implementable from (k+1,k) set cons. TST: One proc output 0 all the rest 1 (2,1) k-TST: At most k at least one proc output 0 all the rest 1 (k+1,k) TST implementable for 2 proc cons =(2,1) k-TST implementable from (k+1,k) set cons. n 3 2 1

But what about m=3 (3,1), (k+2,k)...[Afek, Weisberger] (3,1), (k+2,k)...[Afek, Weisberger]

Is View of k-set a la Chahudhuri is the most convenient? What will be the analogue of binary consensus? With consensus b.c.=election, how do I use at most k values to elect at most k leaders? What will be the analogue of binary consensus? With consensus b.c.=election, how do I use at most k values to elect at most k leaders?

All of DC ``on one foot!’’ Geometric approach Agreement: Geometric approach Agreement:

Digression: DC= -Agreement 111 11 1 0 00 00 0000 Center of Gravity MWMR Registers While total weight < W make next 0 into 1 at your corner Return CG

Algorithmically All processors return vertices from same triangle restricted to the face of participation a b c d...

How to converge on ``abstract’’ subdivided simplex Add ``weight’’ until the ``longest path’’ If not max add 1 and step one in shortest path to max Cannot converge without ``adding’’ unless n=2. Add ``weight’’ until the ``longest path’’ If not max add 1 and step one in shortest path to max Cannot converge without ``adding’’ unless n=2.

Ahm...but 2 procs can do 2 0-1 independent cons with at least one output! Can do - agreement at least one agreement no proc will output ? But can do - agreement for any number of processors if I can group them in two groups With 2-set cons can solve at least one of 2 independent cons! Can do - agreement at least one agreement no proc will output ? But can do - agreement for any number of processors if I can group them in two groups With 2-set cons can solve at least one of 2 independent cons! 1 32 0 2 10 3 ? ?

o-1 = election (k?) What is the meaning of 0-1 when it comes to k-set???

In General 3 procs Cons i=1,2,3 Say cons 2 -agreement on the line perpendicular to the base Only 2 lines intersect at a point 3 procs Cons i=1,2,3 Say cons 2 -agreement on the line perpendicular to the base Only 2 lines intersect at a point 1(2) 0(2) 0(2) 1 0

What if 2-set and 3 ind cons? 2 out of the 3 cons will return decision With k set cons and m>k ind cons then m- k+1 cons will return 2 out of the 3 cons will return decision With k set cons and m>k ind cons then m- k+1 cons will return Text

How to do Multi-Valued 123 123 123 123 123123123123 123123123123 123123123123

Algorithmically 2 set = 2 ind cons at least on return Choose two vectors (a1,a2) (b1,b2) post vector proposal for cons on 1st entry if alone return for first entry else proceed return b2 for 2nd entry 2 set = 2 ind cons at least on return Choose two vectors (a1,a2) (b1,b2) post vector proposal for cons on 1st entry if alone return for first entry else proceed return b2 for 2nd entry

Algorithmically 2 set cons with 3 ind cons return from at least 2 con’s will have 2 3-entry vectors (a1,a2,a3) (b1,b2,b3) post for 1st, if alone return from 1st, post chosen value, proceed to 2nd if not alone proceed with B vector to second... Return all posted values 2 set cons with 3 ind cons return from at least 2 con’s will have 2 3-entry vectors (a1,a2,a3) (b1,b2,b3) post for 1st, if alone return from 1st, post chosen value, proceed to 2nd if not alone proceed with B vector to second... Return all posted values

How to do election from set binary-cons Will see ``prefix’’ of id for jth cons and propose a bit continuation for a leader name But how I know who return what from were: While I assume nobody returned in fact ``she just was late’’ Will see ``prefix’’ of id for jth cons and propose a bit continuation for a leader name But how I know who return what from were: While I assume nobody returned in fact ``she just was late’’

How to do Multi-Valued If take small enough if any proc commit all commit or adopt same adopt 0 adopt 1 commit 1 commit 0

1-State-Machine Want to emulate: Repeat: All send command to the ``center’’ Center chooses one and send it to all Implement in rounds in SM using consensus in each round Want to emulate: Repeat: All send command to the ``center’’ Center chooses one and send it to all Implement in rounds in SM using consensus in each round

2-State-Machine Want to emaulate Repeat synchronously All send to ``center1’’ and ``center2’’ at least one of which is omission non- faulty at the round Center(s) choose and send back Can emulate with 2-set cons? Want to emaulate Repeat synchronously All send to ``center1’’ and ``center2’’ at least one of which is omission non- faulty at the round Center(s) choose and send back Can emulate with 2-set cons?

Solution 2-State-Machine with 2-set cons Do 2 independents cons If get ``adopt v’’ at cons[i] the next command to cons[i] is the adopted value If the adopted value was commited all will propose same and commit If collid with the new value just commit the adopted Do 2 independents cons If get ``adopt v’’ at cons[i] the next command to cons[i] is the adopted value If the adopted value was commited all will propose same and commit If collid with the new value just commit the adopted

Too Numerous Ramifications Subsumes BG What is BG? If cannot answer 1st-cons both participate, will proceed to second, if collide in 2nd- cons, see exact positions in 1st-cons and can decide it Subsumes BG What is BG? If cannot answer 1st-cons both participate, will proceed to second, if collide in 2nd- cons, see exact positions in 1st-cons and can decide it ? 21 ?

Conclusions It is........ MATH.....

Download ppt "Is 1 different from 12? Eli Gafni UCLA Eli Gafni UCLA."

Similar presentations