260 likes | 344 Views
Broadcasting Protocol for an Amorphous Computer. Luk áš Petr ů MFF UK , Prague Ji ří Wiedermann ICS AS CR. Outline. Motivation Model of an Amorphous computer Protocol Send Protocol Broadcast Conclusion. Device Miniaturization.
E N D
Broadcasting Protocol for an Amorphous Computer Lukáš PetrůMFF UK, Prague Jiří WiedermannICS AS CR
Outline • Motivation • Model of an Amorphous computer • Protocol Send • Protocol Broadcast • Conclusion
Device Miniaturization • Technology allows producing very small energy efficient devices (MEMS) • They can be built in large numbers • Can communicate via wireless radio → Wireless sensor networks → Amorphous computers
Wireless Sensor Network • A large number of devices is randomly distributed in an area of interest • Each device is self-contained employing sensors, CPU, memory, controller, wireless transceiver and power source • Sensors measuring light intensity, temperature, humidity, …, or intrusion detectors, etc. • Data from all devices on the network are gathered in base station
Amorphous Computer (pict.) A bag containing a large number of computing elements
Amorphous Computer (AC) • Idea of a computing machine built from a large number of identical parts • Differences from wireless networks: • only CPU with a severely limited memory • Random topology • All devices are identical (no id numbers) • No signal collision detection
Model of an AC • No synchronization • No collision detection (no message is received in case of collision) • Special node IO-port • No addresses
Node Random number Input Output … Control unit Registers Size O(log N) bits
Model of an AC Amorphous computer A=(N, P, A, r, T) • N – number of nodes (=processors); each node is a RAM with registers of size O(log N) bits; has random number generator • P, A – a process P randomly distributes nodes in a planar area A • r – radio range; nodes within distance r are neighbours • T – duration of one radio transmission
Random Topology • When the node topology is random, what are the consequences on the communication possibility? • Is communication possible? • Under what conditions?
Random Topology Low density
Random Topology Medium density
Random Topology High density
Assumptions • Assume that network connectivity graph contains one large component • Some nodes may not be part of the component • N = size of the graph component • Q = maximum neighbourhood size • D = diameter of the graph component
Protocol Send • An algorithmthat determines how a node transmits a message to its neighbours • Operates in an uncoordinated network of undistinguishable nodes that are not synchronized • Assumptions:given Q – An upper bound on the number of node’s neighbours;given ε – the maximum allowed probability of failed transmission is known
Protocol Send • Let p = 1/(Q+1); k = O(Q· log(1/ε)) • procedure Send(m:message, p:probability) { For i := 1 to k do { Wait for time 2T; With probability p do Send message m; } }
Protocol Send • Theorem: If all nodes of the network use algorithm Send, then the probability that a message fails to be delivered from a sender to any of its neighbours is at most ε.The protocol works in time O( Q log (1/ε) ).
Protocol Broadcast • is used to deliver the same message to all nodes in the network • A simple protocol for node-to-node communication when no routing information is available • Assumptions: given N – the network size;Q – node neighbourhood size upper bound;ε – the maximum allowed probability of broadcast algorithm error
Protocol Broadcast • procedure Broadcast(N : integer) { var m, m_last : message Loop forever { receive(m); If m != m_last { Send(m, ε/N); m_last = m; } } }
Protocol Broadcast • Theorem: On a network of diameter D, algorithm Broadcast will run in timeO(D·Q· log (N/ε)).The probability of algorithm failure is at most ε>0.
Conclusion We have … • defined a formal model of AC • developed a randomized broadcasting algorithm • derived its time complexity
Future work • Describe simulation of other theoretical models (Turing machine, RAM) • Consider moving nodes – flying amorphous computer