some interesting examples of distributing computing

18
Network Coding and Reliable Communications Group Some Interesting Examples of Distributing Computing Michael Kilian October 21, 2011

Upload: vita

Post on 23-Feb-2016

44 views

Category:

Documents


0 download

DESCRIPTION

Some Interesting Examples of Distributing Computing. Michael Kilian October 21, 2011. Themes. Autonomous agents that loosely collaborate Many “processors” that come into “proximity” with other processors Incomplete information No single agent has a global view of the “world” - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Some Interesting Examples of Distributing Computing

Network Coding and Reliable Communications Group

Some Interesting Examples of Distributing Computing

Michael KilianOctober 21, 2011

Page 2: Some Interesting Examples of Distributing Computing

Network Coding and Reliable Communications Group

Themes• Autonomous agents that loosely collaborate– Many “processors” that come into “proximity” with other

processors• Incomplete information– No single agent has a global view of the “world”

• Unreliable communication– Agents talk to one another but may lose information, have

information corrupted, etc.• Mobile assets– Processors move around and their proximity to other agents

also changes• May create a global “answer”

Page 3: Some Interesting Examples of Distributing Computing

Network Coding and Reliable Communications Group

Use Cases to Explore

• The ants go marching one by one• The Battlefield Example• Caching content for mobile users• Nanobots

• CAVEAT: None of these examples are “real” in the sense that I have documented requirements from anyone for these

Page 4: Some Interesting Examples of Distributing Computing

Network Coding and Reliable Communications Group

Distributing Computing in Nature

Explicit communication between individuals is also exhibited.

Local communication is propagated quickly to mobilize an entire hive without the benefit of any broadcasting.

Local changes create global effect. Errors can be accommodated. Lots of examples in nature.

Page 5: Some Interesting Examples of Distributing Computing

Network Coding and Reliable Communications Group

“The Battlefield”

Local groups gather

information

Enemies may try to disrupt

communication

Local information can be sent over “noisy” lines to

mobile receivers

Multi-tiered information

provides global view

Information can be

distributed on the ground

Page 6: Some Interesting Examples of Distributing Computing

Network Coding and Reliable Communications Group

How do we Approach this System

• Network coding for distributing information in a very unreliable and noisy environment– Potential for easy encryption by encrypting

coefficients rather than all the data– How do we manage metadata?

• Network coding for “moving data” across distributed groups– If we view this as a network of pieces of

information, how do we preserve the entirety of the content?

Page 7: Some Interesting Examples of Distributing Computing

Network Coding and Reliable Communications Group

Content View

Is this realistic? Wouldn’t we simply disseminate the

information globally to start with (with network coding)

Page 8: Some Interesting Examples of Distributing Computing

Network Coding and Reliable Communications Group

Metadata

• How do we describe the information we are collecting and disseminating?

• How are logical collections created?• Especially in the face of incomplete

information?• What kinds of questions are we asking?

• Is Google (Web Crawling, content correlation, search) a computational model?

Page 9: Some Interesting Examples of Distributing Computing

Network Coding and Reliable Communications Group

“The Battlefield”

Distribute computing to the data vs. collecting data to the compute

units

Page 10: Some Interesting Examples of Distributing Computing

Network Coding and Reliable Communications Group

What Questions can we Answer?

• The condition of an object– Is someone hurt? Where are you located?

• Relationships– Is this group near that group?

• Tougher questions – Quantitative– Does this group have enough MREs to last through

the week?• Tougher questions – Temporal – When did the state of an object change?

Page 11: Some Interesting Examples of Distributing Computing

Network Coding and Reliable Communications Group

Moving Collective Information

As the receiver moves through the geography, information can track the receiver.

Not all information needs to move – move only what is required to reconstruct it (See Exact Regeneration Codes for DistributedStorage Repair Using Interference Alignment, Changho Suh and Kannan Ramchandran)

Page 12: Some Interesting Examples of Distributing Computing

Network Coding and Reliable Communications Group

Is this a Real Example?

• Sounds good when we consider a single person making the transition

• What if we consider 1000’s of receivers transiting this geography over a period of time– Now “hot” content needs to be over the entire

geography• So…use coding for the long-tail content

freeing resources for hot content– That’s counterintuitive

Page 13: Some Interesting Examples of Distributing Computing

Network Coding and Reliable Communications Group

Nanobots

Page 14: Some Interesting Examples of Distributing Computing

Network Coding and Reliable Communications Group

A G T C

Connection point for communicating with a neighbor. Not all connection points need be used.

Sensor for detecting A, G, T, C

A “bot”

Botcan store a limited amount of state (it is not really important how much state this is). It is also capable of rudimentary processing.

Page 15: Some Interesting Examples of Distributing Computing

Network Coding and Reliable Communications Group

Bot “Manifolds”

A

A

A

A

A

A

A

AGG

G

G

G

GTT

T

T

T

T

T

T

C

CCCC

C

CC

Can we design a “system” such that we determine if the sequence T C G T T exists?

Page 16: Some Interesting Examples of Distributing Computing

Network Coding and Reliable Communications Group

How do we Approach This?

• Discover neighbors• Establish roles– Bot next to the A,T,C,or G (terminal bot), Bot with

connection to n terminal bots within m “hops”• Network coding to allow very transient networks,

etc.? Is there enough compute power?• How is consensus derived? How is consensus

communicated?• Computation of the very limited!

Page 17: Some Interesting Examples of Distributing Computing

Network Coding and Reliable Communications Group

What about “Cloud?”

Processors come and go, layout is not necessarily uniform or known beforehand, connectivity is not

uniform or reliable

Page 18: Some Interesting Examples of Distributing Computing

Network Coding and Reliable Communications Group

Thank-you