some interesting examples of distributing computing
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 PresentationTRANSCRIPT
Network Coding and Reliable Communications Group
Some Interesting Examples of Distributing Computing
Michael KilianOctober 21, 2011
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”
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
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.
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
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?
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)
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?
Network Coding and Reliable Communications Group
“The Battlefield”
Distribute computing to the data vs. collecting data to the compute
units
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?
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)
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
Network Coding and Reliable Communications Group
Nanobots
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.
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?
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!
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
Network Coding and Reliable Communications Group
Thank-you