Design Patterns from Biology for Distributed Computing Andres J. Ramirez.

Slides:



Advertisements
Similar presentations
A Construction of Locality-Aware Overlay Network: mOverlay and Its Performance Found in: IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 22, NO.
Advertisements

1 S4: Small State and Small Stretch Routing for Large Wireless Sensor Networks Yun Mao 2, Feng Wang 1, Lili Qiu 1, Simon S. Lam 1, Jonathan M. Smith 2.
Peer to Peer and Distributed Hash Tables
COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
Maximum Battery Life Routing to Support Ubiquitous Mobile Computing in Wireless Ad Hoc Networks By C. K. Toh.
G. Alonso, D. Kossmann Systems Group
VDR: Proactive element Conclusions VDR reaches 3.5% more nodes than VDR-R and 9% more nodes than our modified random walk routing strategy (RWR) VDR shows.
Rumor Routing in Sensor Networks David Braginsky and Deborah Estrin LECS – UCLA Modified and Presented by Sugata Hazarika.
Rumor Routing in Sensor Networks David Braginsky and Deborah Estrin Presented By Tu Tran 1.
Ranveer Chandra , Kenneth P. Birman Department of Computer Science
Generated Waypoint Efficiency: The efficiency considered here is defined as follows: As can be seen from the graph, for the obstruction radius values (200,
Ant Colony Optimization An adaptative nature inspired algorithm explained, concretely implemented, and applied to routing protocols in wired and wireless.
MANETs Routing Dr. Raad S. Al-Qassas Department of Computer Science PSUT
LightFlood: An Optimal Flooding Scheme for File Search in Unstructured P2P Systems Song Jiang, Lei Guo, and Xiaodong Zhang College of William and Mary.
Planning under Uncertainty
1/14 Ad Hoc Networking, Eli M. Gafni and Dimitri P. Bertsekas Distributed Algorithm for Generating Loop-free Routes in Networks With Frequently.
1 Next Century Challenges: Scalable Coordination in sensor Networks MOBICOMM (1999) Deborah Estrin, Ramesh Govindan, John Heidemann, Satish Kumar Presented.
1 Complexity of Network Synchronization Raeda Naamnieh.
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
UNIVERSITY OF JYVÄSKYLÄ Yevgeniy Ivanchenko Yevgeniy Ivanchenko University of Jyväskylä
Beneficial Caching in Mobile Ad Hoc Networks Bin Tang, Samir Das, Himanshu Gupta Computer Science Department Stony Brook University.
Aggregation in Sensor Networks NEST Weekly Meeting Sam Madden Rob Szewczyk 10/4/01.
Ant Colonies As Logistic Processes Optimizers
LPT for Data Aggregation in Wireless Sensor networks Marc Lee and Vincent W.S Wong Department of Electrical and Computer Engineering, University of British.
Online Data Gathering for Maximizing Network Lifetime in Sensor Networks IEEE transactions on Mobile Computing Weifa Liang, YuZhen Liu.
Spring Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 06/04/2007.
Optimization Methods One-Dimensional Unconstrained Optimization
CS401 presentation1 Effective Replica Allocation in Ad Hoc Networks for Improving Data Accessibility Takahiro Hara Presented by Mingsheng Peng (Proc. IEEE.
PROMISE: Peer-to-Peer Media Streaming Using CollectCast Presented by: Randeep Singh Gakhal CMPT 886, July 2004.
Multicast Communication Multicast is the delivery of a message to a group of receivers simultaneously in a single transmission from the source – The source.
Algorithms for Self-Organization and Adaptive Service Placement in Dynamic Distributed Systems Artur Andrzejak, Sven Graupner,Vadim Kotov, Holger Trinks.
Network Topologies.
Distributed Quality-of-Service Routing of Best Constrained Shortest Paths. Abdelhamid MELLOUK, Said HOCEINI, Farid BAGUENINE, Mustapha CHEURFA Computers.
Network Design Essentials. Guide to Networking Essentials, Fifth Edition2 Contents 1. Examining the Basics of a Network Layout 2. Understanding Standard.
Chapter 2 Network Design Essentials Instructor: Nhan Nguyen Phuong.
09/07/2004Peer-to-Peer Systems in Mobile Ad-hoc Networks 1 Lookup Service for Peer-to-Peer Systems in Mobile Ad-hoc Networks M. Tech Project Presentation.
Distributed Asynchronous Bellman-Ford Algorithm
Introduction Distributed Algorithms for Multi-Agent Networks Instructor: K. Sinan YILDIRIM.
HERO: Online Real-time Vehicle Tracking in Shanghai Xuejia Lu 11/17/2008.
An affinity-driven clustering approach for service discovery and composition for pervasive computing J. Gaber and M.Bakhouya Laboratoire SeT Université.
Terminodes and Sybil: Public-key management in MANET Dave MacCallum (Brendon Stanton) Apr. 9, 2004.
A Distributed Clustering Framework for MANETS Mohit Garg, IIT Bombay RK Shyamasundar School of Tech. & Computer Science Tata Institute of Fundamental Research.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
De-Nian Young Ming-Syan Chen IEEE Transactions on Mobile Computing Slide content thanks in part to Yu-Hsun Chen, University of Taiwan.
Department of Electrical Engineering, Southern Taiwan University Robotic Interaction Learning Lab 1 The optimization of the application of fuzzy ant colony.
Locating Mobile Agents in Distributed Computing Environment.
Self Regulated Search in Unstructured Peer-to-Peer Networks Niloy Ganguly Department of Computer Science and Engineering IIT Kharagpur.
Project funded by the Future and Emerging Technologies arm of the IST Programme Analytical Insights into Immune Search Niloy Ganguly Center for High Performance.
Load-Balancing Routing in Multichannel Hybrid Wireless Networks With Single Network Interface So, J.; Vaidya, N. H.; Vehicular Technology, IEEE Transactions.
A Novel Multicast Routing Protocol for Mobile Ad Hoc Networks Zeyad M. Alfawaer, GuiWei Hua, and Noraziah Ahmed American Journal of Applied Sciences 4:
Data Mining Algorithms for Large-Scale Distributed Systems Presenter: Ran Wolff Joint work with Assaf Schuster 2003.
A Passive Approach to Sensor Network Localization Rahul Biswas and Sebastian Thrun International Conference on Intelligent Robots and Systems 2004 Presented.
DHT-based unicast for mobile ad hoc networks Thomas Zahn, Jochen Schiller Institute of Computer Science Freie Universitat Berlin 報告 : 羅世豪.
A Reliability-oriented Transmission Service in Wireless Sensor Networks Yunhuai Liu, Yanmin Zhu and Lionel Ni Computer Science and Engineering Hong Kong.
Efficient Resource Allocation for Wireless Multicast De-Nian Yang, Member, IEEE Ming-Syan Chen, Fellow, IEEE IEEE Transactions on Mobile Computing, April.
Energy-Efficient Randomized Switching for Maximizing Lifetime in Tree- Based Wireless Sensor Networks Sk Kajal Arefin Imon, Adnan Khan, Mario Di Francesco,
Global Clock Synchronization in Sensor Networks Qun Li, Member, IEEE, and Daniela Rus, Member, IEEE IEEE Transactions on Computers 2006 Chien-Ku Lai.
A Bandwidth Scheduling Algorithm Based on Minimum Interference Traffic in Mesh Mode Xu-Yajing, Li-ZhiTao, Zhong-XiuFang and Xu-HuiMin International Conference.
Path Planning Based on Ant Colony Algorithm and Distributed Local Navigation for Multi-Robot Systems International Conference on Mechatronics and Automation.
Using Ant Agents to Combine Reactive and Proactive strategies for Routing in Mobile Ad Hoc Networks Fredrick Ducatelle, Gianni di caro, and Luca Maria.
Relying on Safe Distance to Achieve Strong Partitionable Group Membership in Ad Hoc Networks Authors: Q. Huang, C. Julien, G. Roman Presented By: Jeff.
SERENA: SchEduling RoutEr Nodes Activity in wireless ad hoc and sensor networks Pascale Minet and Saoucene Mahfoudh INRIA, Rocquencourt Le Chesnay.
Distributed cooperation and coordination using the Max-Sum algorithm
Performance Comparison of Ad Hoc Network Routing Protocols Presented by Venkata Suresh Tamminiedi Computer Science Department Georgia State University.
Data Center Network Architectures
Introduction to Wireless Sensor Networks
Wireless Sensor Network Architectures
Routing: Distance Vector Algorithm
任課教授:陳朝鈞 教授 學生:王志嘉、馬敏修
High Throughput Route Selection in Multi-Rate Ad Hoc Wireless Networks
Presentation transcript:

Design Patterns from Biology for Distributed Computing Andres J. Ramirez

Paper Information F Authors F Babaoglu, Canright, Di Caro, et al. (about 11 different dudes.) F Published F ACM Transactions on Autonomous and Adaptive Systems, Vol 1, No 1, September F Authors F Babaoglu, Canright, Di Caro, et al. (about 11 different dudes.) F Published F ACM Transactions on Autonomous and Adaptive Systems, Vol 1, No 1, September 2006.

Presentation Outline F What is a design pattern? F Current challenges in designing software systems. F Parallelism to biological systems. F Presentation of design patterns extracted from biological systems. F Experimentation and validation. F Conclusion. F What is a design pattern? F Current challenges in designing software systems. F Parallelism to biological systems. F Presentation of design patterns extracted from biological systems. F Experimentation and validation. F Conclusion.

What is a design pattern? F Various definitions proposed: F “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.” [Chris Alexander] F “Each design pattern systematically names, explains and evaluates an important and recurrent design in object-oriented system.” [Gamma et al.] F “A recurring solution to a standard problem.” [Schmidt] F Overall, most are rather similar. F Various definitions proposed: F “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.” [Chris Alexander] F “Each design pattern systematically names, explains and evaluates an important and recurrent design in object-oriented system.” [Gamma et al.] F “A recurring solution to a standard problem.” [Schmidt] F Overall, most are rather similar.

Design Pattern Presentation F Bare minimum format: F Pattern name. F Problem description. F Solution to the problem. F Consequences of applying the design pattern. F Bare minimum format: F Pattern name. F Problem description. F Solution to the problem. F Consequences of applying the design pattern.

Current Challenges F Distributed environments are common place now F Extremely dynamic. F Unreliable. F Large scale. F Traditional approaches for designing distributed systems are not applicable. F Distributed environments are common place now F Extremely dynamic. F Unreliable. F Large scale. F Traditional approaches for designing distributed systems are not applicable.

Biological Systems F Effectively organize large numbers of unreliable and dynamically changing components (cells, molecules, individuals) into structures that implement a wide range of functions. F These structures exhibit: F Robustness to failure. F Adaptability to changing conditions. F Lack of reliance on an explicit central coordinator. F Effectively organize large numbers of unreliable and dynamically changing components (cells, molecules, individuals) into structures that implement a wide range of functions. F These structures exhibit: F Robustness to failure. F Adaptability to changing conditions. F Lack of reliance on an explicit central coordinator.

Why patterns from biology? F Biological entities evolve to solve a particular problem, usually related to survival issues. F This solution, by the notion of evolution, must be well tested and reliable to be in existence today. F Similarities exist between distributed computing systems and biological systems. F Solutions from one domain can transfer onto the other. F Biological entities evolve to solve a particular problem, usually related to survival issues. F This solution, by the notion of evolution, must be well tested and reliable to be in existence today. F Similarities exist between distributed computing systems and biological systems. F Solutions from one domain can transfer onto the other.

Key Idea F Abstract design patterns from biological systems and apply them in distributed systems. F Serve as a bridge between biological systems and computer systems. F How do they accomplish this? F Formulate the patterns as local communication strategies over arbitrary communication topologies. F Abstract design patterns from biological systems and apply them in distributed systems. F Serve as a bridge between biological systems and computer systems. F How do they accomplish this? F Formulate the patterns as local communication strategies over arbitrary communication topologies.

Design Pattern Presentation in Paper F Name F Handle for the pattern. Key. F Context F Defined by the system model (more in a bit.) F Problem F Possible functionality we are trying to achieve. F Name F Handle for the pattern. Key. F Context F Defined by the system model (more in a bit.) F Problem F Possible functionality we are trying to achieve.

Design Pattern Presentation in Paper F Solution F An algorithm which produces the desired output based on the problem. F Example F Sort of a case study. F Design Rationale F The inspiration from biology. F Solution F An algorithm which produces the desired output based on the problem. F Example F Sort of a case study. F Design Rationale F The inspiration from biology.

System Model F Basic Abstraction F Network where nodes communicate via message passing. F Additional Assumptions F Basic components are nodes. F Computing devices which maintain states and perform computations. F Neighbors F Only “visible” neighbors can send messages to each other. F Asynchronous message passing F No message delivery time bound. F Basic Abstraction F Network where nodes communicate via message passing. F Additional Assumptions F Basic components are nodes. F Computing devices which maintain states and perform computations. F Neighbors F Only “visible” neighbors can send messages to each other. F Asynchronous message passing F No message delivery time bound.

System Model F Nodes are unreliable F Nodes may fail. F Can leave and join at any time. F Communication mediums are unreliable F Messages can be lost. F Side note: No mention of corrupted message passing? F Three Generals Problem does not seem to be addressed. F Maybe animals are more trustworthy than humans? F Nodes are unreliable F Nodes may fail. F Can leave and join at any time. F Communication mediums are unreliable F Messages can be lost. F Side note: No mention of corrupted message passing? F Three Generals Problem does not seem to be addressed. F Maybe animals are more trustworthy than humans?

Topology Issues F The topology here is given by the graph defined by the neighbor relation. … typical topology definition from graph theory. F Two particular networks seen in this work: F Overlay Networks F Mobile Ad Hoc Networks (MANETs) F The topology here is given by the graph defined by the neighbor relation. … typical topology definition from graph theory. F Two particular networks seen in this work: F Overlay Networks F Mobile Ad Hoc Networks (MANETs)

Overlay Networks F Promising paradigm for building applications over large-scale wide-area networks. F Service Clouds is an example. F Logical structures built on top of a physical network with a routing service. F Any node can send to any other node granted it knows the target nodes network address. F Promising paradigm for building applications over large-scale wide-area networks. F Service Clouds is an example. F Logical structures built on top of a physical network with a routing service. F Any node can send to any other node granted it knows the target nodes network address.

Mobile Ad Hoc Networks F Set of wireless mobile devices which self- organize into a network without relying on a fixed infrastructure. F All nodes are treated equal. F Neighbor relations are dependent on the wireless connections between nodes. F Defined by transmission power and physical proximity.s F Set of wireless mobile devices which self- organize into a network without relying on a fixed infrastructure. F All nodes are treated equal. F Neighbor relations are dependent on the wireless connections between nodes. F Defined by transmission power and physical proximity.s

The actual Design Patterns F Plain Diffusion F Replication F Stigmergy F Chemotaxis (composite) F Reaction Diffusion (composite) F Plain Diffusion F Replication F Stigmergy F Chemotaxis (composite) F Reaction Diffusion (composite)

Plain Diffusion F Problem: F Bring the system to a state where each node contains the average value of all the values in the system. F Assign a gradient to each link that is proportional to the change in values when following the link. F Solution: F Rely on message passing. F For each link, each node periodically subtracts a fixed proportion from its current value and sends it along the given link. On the receiving side, add the message to current value. F Problem: F Bring the system to a state where each node contains the average value of all the values in the system. F Assign a gradient to each link that is proportional to the change in values when following the link. F Solution: F Rely on message passing. F For each link, each node periodically subtracts a fixed proportion from its current value and sends it along the given link. On the receiving side, add the message to current value.

Plain Diffusion F Solution presented maintains the sum of all the values in the system constant. F All the node values will quickly approach the average value. F Gradients are generated in this process. F Solution presented maintains the sum of all the values in the system constant. F All the node values will quickly approach the average value. F Gradients are generated in this process.

Plain Diffusion F Design Rationale F A form of diffusion. F Equalizing the concentration of some substance or some abstract quantity like heat. F Present in many biological and physical systems. F Known to be efficient at convergence. This will be important when testing in a distributed environment. F Design Rationale F A form of diffusion. F Equalizing the concentration of some substance or some abstract quantity like heat. F Present in many biological and physical systems. F Known to be efficient at convergence. This will be important when testing in a distributed environment.

Replication F Problem: F Propagate novel information to all other nodes. F Assign the maximal value present in the network to all the nodes. F Find a node which contains a document matching a given query. F Problem: F Propagate novel information to all other nodes. F Assign the maximal value present in the network to all the nodes. F Find a node which contains a document matching a given query.

Replication F Solution: F Nodes receive messages from neighbors and forward them according to application specific rules. F Flooding is an easy but expensive example. F Messages can stand for the maximum value (thus solving problem 2) F Messages can stand for the query until a match is found (thus solving problem 3) F Solution: F Nodes receive messages from neighbors and forward them according to application specific rules. F Flooding is an easy but expensive example. F Messages can stand for the maximum value (thus solving problem 2) F Messages can stand for the query until a match is found (thus solving problem 3)

Replication F Design Rationale: F Replication is common place in nature F Growth processes, signal propagation in certain neural networks, epidemic spreading. F Messages can be seen as infective agents which propagate through the system invading hosts (nodes.) F Design Rationale: F Replication is common place in nature F Growth processes, signal propagation in certain neural networks, epidemic spreading. F Messages can be seen as infective agents which propagate through the system invading hosts (nodes.)

Stigmergy F Problem: F Assuming that the links between nodes have weights attached, find the shortest path between two given nodes. F Nodes need not be directly connected. F Redistribute items found in one node over a small number of nodes where similar items are held at the same node. F Does not really address when all the items are the same? Does it even matter? F Problem: F Assuming that the links between nodes have weights attached, find the shortest path between two given nodes. F Nodes need not be directly connected. F Redistribute items found in one node over a small number of nodes where similar items are held at the same node. F Does not really address when all the items are the same? Does it even matter?

Stigmergy F Solution: F Let every node contain a set of variables called stigmergic variables. F Nodes generate messages and send and received these based on application dependent policies. F Reception of a message will trigger an action. F Defined by the message itself and the stigmergic variables of the node. F Stigmergic variables are updated and then the message (also updated) is forwarded. F Essentially, distributed reinforcement learning. F Solution: F Let every node contain a set of variables called stigmergic variables. F Nodes generate messages and send and received these based on application dependent policies. F Reception of a message will trigger an action. F Defined by the message itself and the stigmergic variables of the node. F Stigmergic variables are updated and then the message (also updated) is forwarded. F Essentially, distributed reinforcement learning.

Stigmergy F In the first problem, the estimated cost for a particular path is represented by the stigmergic variables. F As it progresses, the variables are updated with more exact costs. F In the second problem, clusters form by assigning items to the messages and determining whether the message is forwarded or not based on the stigmergic variables. F In the first problem, the estimated cost for a particular path is represented by the stigmergic variables. F As it progresses, the variables are updated with more exact costs. F In the second problem, clusters form by assigning items to the messages and determining whether the message is forwarded or not based on the stigmergic variables.

Stigmergy F Design Rationale: F Typically seen in distributed self-organizing behaviors in diverse social systems. F Nest building, labor division, path finding. F Classic example, ants. F Design Rationale: F Typically seen in distributed self-organizing behaviors in diverse social systems. F Nest building, labor division, path finding. F Classic example, ants.

Chemotaxis F Note: Composite pattern based on plain diffusion. F Problem: F Finding a short path from a given node to regions of the network where the concentration of a diffusive substance Is maximal F Does not seem to incorporate finding the shortest path? F Note: Composite pattern based on plain diffusion. F Problem: F Finding a short path from a given node to regions of the network where the concentration of a diffusive substance Is maximal F Does not seem to incorporate finding the shortest path?

Chemotaxis F Solution: F Just follow the maximal gradient. F Start at any given node F Select link with highest gradient F Repeat until local maximum concentration is found. F Greedy Algorithm! Not necessarily the shortest path, and not necessarily where the highest diffusive substance is found. F Solution: F Just follow the maximal gradient. F Start at any given node F Select link with highest gradient F Repeat until local maximum concentration is found. F Greedy Algorithm! Not necessarily the shortest path, and not necessarily where the highest diffusive substance is found.

Chemotaxis F Design Rationale: F Cells or organisms might direct their movements according to the concentration gradients of one or more chemicals in the environment. F Responsible for the development of certain multicellular organisms and pattern formations. F Design Rationale: F Cells or organisms might direct their movements according to the concentration gradients of one or more chemicals in the environment. F Responsible for the development of certain multicellular organisms and pattern formations.

Reaction-Diffusion F Not a pattern, a framework covering a large set of patterns. F A strong generalization of the plain diffusion pattern F Simultaneous diffusion of one or more materials. Also removal. F Nothing else on this framework, pattern, etc. F Not a pattern, a framework covering a large set of patterns. F A strong generalization of the plain diffusion pattern F Simultaneous diffusion of one or more materials. Also removal. F Nothing else on this framework, pattern, etc.

Evaluating Design Patterns F Insensitivity: F Self-repairing F Self-organizing F Adaptive F Intelligent F Quantifying the notion of good and bad in a sense of merit. F Dependent on too many things, domain specific, not perfectly defined. F Insensitive systems show little variation in the figure of merits as the environment varies. F Insensitivity: F Self-repairing F Self-organizing F Adaptive F Intelligent F Quantifying the notion of good and bad in a sense of merit. F Dependent on too many things, domain specific, not perfectly defined. F Insensitive systems show little variation in the figure of merits as the environment varies.

Evaluating Plain Diffusion F Distributed Aggregation Problem F Calculating global functions over the set of locally known quantities. F We saw these problems earlier. F Simplify the task of controlling, monitoring and optimizing distributed applications, among other things. F Building block for other patterns. F In the paper, the average is found. F Distributed Aggregation Problem F Calculating global functions over the set of locally known quantities. F We saw these problems earlier. F Simplify the task of controlling, monitoring and optimizing distributed applications, among other things. F Building block for other patterns. F In the paper, the average is found.

Evaluating Plain Diffusion F Algorithm: F Each node p has two threads, active and passive. F Active thread: periodically initiates an information exchange with peer node q selected at random. Message contains state of p. F Passive thread: waits for a message and replies with the local state. F Symmetric information exchange, constant update of values sent and received. F The update is defined by what the problem is trying to solve. In this example, take the average of the two messages. F Could also do a maximum, etc. F Algorithm: F Each node p has two threads, active and passive. F Active thread: periodically initiates an information exchange with peer node q selected at random. Message contains state of p. F Passive thread: waits for a message and replies with the local state. F Symmetric information exchange, constant update of values sent and received. F The update is defined by what the problem is trying to solve. In this example, take the average of the two messages. F Could also do a maximum, etc.

Evaluating Plain Diffusion F How good is this solution? F Value at each node will converge to the true global average. F IF the underlying overlay network remains connected. F Just how fast does it converge? F Exponential. F Very high precision estimates are achieved in a few cycles regardless of network size. F It is scalable! F How good is this solution? F Value at each node will converge to the true global average. F IF the underlying overlay network remains connected. F Just how fast does it converge? F Exponential. F Very high precision estimates are achieved in a few cycles regardless of network size. F It is scalable!

Evaluating Plain Diffusion F Simulation done on PeerSim. F Count protocol -> number of nodes in the network. F Average calculation over a starting set of numbers. F One node has value 1, rest 0. Obtain? F 1/N. F Why do this? F Very sensitive to failures. F Tests scalability and robustness. F Simulation done on PeerSim. F Count protocol -> number of nodes in the network. F Average calculation over a starting set of numbers. F One node has value 1, rest 0. Obtain? F 1/N. F Why do this? F Very sensitive to failures. F Tests scalability and robustness.

Evaluating Plain Diffusion F Converged to a specific value exponentially, as predicted. F What about failures? F If crashed node has a smaller value than the actual global average, estimated average will increase. F N will decrease. F Opposite case? Opposite results. F Crashes have the most impact in the first few iterations. F Churn? Adding and removing nodes (N remains constant though.) F Estimates still reliable. F Converged to a specific value exponentially, as predicted. F What about failures? F If crashed node has a smaller value than the actual global average, estimated average will increase. F N will decrease. F Opposite case? Opposite results. F Crashes have the most impact in the first few iterations. F Churn? Adding and removing nodes (N remains constant though.) F Estimates still reliable.

Evaluating Replication F Distributed Search. F Idea is to spread queries throughout nodes. F Typical, simple, stupid solution? F Flood the network. F Clone the queries received at a node and propagate to all neighbors. F Huge overhead. F Opposing objectives. Higher efficiency vs lower overhead. F Can we do better? F Distributed Search. F Idea is to spread queries throughout nodes. F Typical, simple, stupid solution? F Flood the network. F Clone the queries received at a node and propagate to all neighbors. F Huge overhead. F Opposing objectives. Higher efficiency vs lower overhead. F Can we do better?

Evaluating Replication F Design the algorithm for an unstructured overlay network. F No relation between the information stored at a node and its position in the overlay network. F Learn from proliferation F Replication strategy inspired by the immune system. F Basically acts as a rate limit on propagated messages. F B cells, after being stimulated by an antigen, proliferate generating antibodies. F After this, basically a gang of antibodies do several drive- bys on the antigens and you are no longer sick! F Design the algorithm for an unstructured overlay network. F No relation between the information stored at a node and its position in the overlay network. F Learn from proliferation F Replication strategy inspired by the immune system. F Basically acts as a rate limit on propagated messages. F B cells, after being stimulated by an antigen, proliferate generating antibodies. F After this, basically a gang of antibodies do several drive- bys on the antigens and you are no longer sick!

Evaluating Replication F Treat the query as the antibody and the searched items as the antigens. F Search can be started at any node. F Send query messages to k neighbors. F Receive a message? F Calculate the similarity between query and local contents. F Higher the similarity, more messages sent out. F Only new neighbors. F Treat the query as the antibody and the searched items as the antigens. F Search can be started at any node. F Send query messages to k neighbors. F Receive a message? F Calculate the similarity between query and local contents. F Higher the similarity, more messages sent out. F Only new neighbors.

Evaluating Replication F Restricted proliferation shown to be more effective than random walks. F Even though some fluctuations were present in the results, restricted proliferation performed roughly 50% better than restricted random walk. F Key notion? F Guiding message replication to areas of more promise yields better results. F Restricted proliferation shown to be more effective than random walks. F Even though some fluctuations were present in the results, restricted proliferation performed roughly 50% better than restricted random walk. F Key notion? F Guiding message replication to areas of more promise yields better results.

No more! F I am sure I have bored you by now. F General experiment results of the remaining patterns exhibit better performance and insensitivity to traditional approaches seen in distributed computing. F Want some more specifics, look at the paper. F You did do that already, right? F Good. F I am sure I have bored you by now. F General experiment results of the remaining patterns exhibit better performance and insensitivity to traditional approaches seen in distributed computing. F Want some more specifics, look at the paper. F You did do that already, right? F Good.

Conclusions F Biological systems have evolved through millions of years to reach their current point. F Evolution happens for a reason, it is a search for a solution to survival. F We can extract some of this behavior and apply it with success to distributed computing systems. F Great amounts of parallelism between the two. F Biological systems have evolved through millions of years to reach their current point. F Evolution happens for a reason, it is a search for a solution to survival. F We can extract some of this behavior and apply it with success to distributed computing systems. F Great amounts of parallelism between the two.

Conclusions F Solutions are not perfect, but they are good. F Few patterns extracted, certainly more are possible. F Translate ideas from large, varied and seemingly unrelated systems into one language F Applicable to our domain. F Solutions are not perfect, but they are good. F Few patterns extracted, certainly more are possible. F Translate ideas from large, varied and seemingly unrelated systems into one language F Applicable to our domain.