500 likes | 645 Views
Large-scale adaptive systems. Lecture 5: Top-down (and Bottom-up) Approaches. Dr. Stefan Dulman s.o.dulman@tudelft.nl. Review previous lecture. Mechanisms Plain diffusion – aggregation Replication – searching Stigmergy – routing Chemotaxis – load balancing. Related work.
E N D
Large-scale adaptive systems Lecture 5: Top-down (and Bottom-up) Approaches Dr. Stefan Dulman s.o.dulman@tudelft.nl
Review previous lecture • Mechanisms • Plain diffusion – aggregation • Replication – searching • Stigmergy – routing • Chemotaxis – load balancing
Related work • This lecture is based on: • R. Nagpal: Global-to-Local Programming: Design and Analysis for Amorphous ComputersIEEE Conf. Self-Adaptive, Self-Organizing Systems 2007http://www.eecs.harvard.edu/ssr/publications/ • A. Pruteanu: ASH: Tackling Node Mobility in Large-Scale NetworksIEEE Conf. Self-Adaptive, Self-Organizing Systems 2010http://www.es.ewi.tudelft.nl/papers/2010-Pruteanu-ash.pdf
Design methodologies • Top-down and bottom-up approaches • “Traditional” engineering • Steps • Definition of requirements • Choice of architecture (design) • Selection of major building blocks • Implementation • Verification • Testing against the requirements • Iterative improvements at block level ? • Engineering methodology: waterfall approach • Examples • OSI - layered based approach Steve McConnell: Rapid Development: Taming Wild Software Schedules
Criticism • Lots… • Many alternatives also identified • “V” model • Improved version of waterfall model • Allows iterative process (in principle) • Solution: agile software development? Fred Brooks: The Mythical Man-Month: Essays on Software Engineering
Alternative approaches • Violate the main assumption: • We are not able to specify at design time the requirements • Requirements will change over time • User experiences learning curves and wishes change with time • Alternative path • Think of the ecosystem: user-technology • User desires change over time (learning, new problems, etc.) • Technology changes over time (new SW/HW platforms) • Goal is that system survives while minimizing resource consumption • Time, energy, money, etc. • Traditional “control” no longer available • Both user and technology need to adapt • Design focus changes from optimality to stability
Alternative approaches • ”Standard” design approach not available yet • Inspiration from nature • Self-adaptive systems (insects to human society) • Ecosystems • Various trials • Amorphous computing (MIT 2000) • Autonomic computing (IBM 2001) • Programmable matter (CMU 2005) • Ultra-large-scale systems (CMU 2006) • Many more expected • Shrinking of technology • Increased number of mobile devices
Alternative approaches • Key characteristics • Adaptation of the system components • Evolution of the system components • Heterogeneous system • Different (versions of components) • Analogy with buildings-city • Design focus • Old: specifications and verifications against them • New: setting up policies and ease evolution • Goal is to obtain a stable system • Shift from micro to macro management
Possible inspiration • Have we seen this before? • Yes: the management of the common pool resources • Common pool resources used by a distributed community • Often leads to disasters • Actions getting maximum reward on short term to individuals • The whole society suffers afterwards • Example: global warming • Solutions? • Election of a leader • But strong authority is usually disliked • Privatization of the common resources • But not all will be equal • Local policies leading to global stability? Garrett Hardin: The Tragedy of the Commons
Common pool resource management • ElinorOstrom – Nobel Prize in Economic Sciences (2009) • 8 “Design principles” for local resource usage leads to stable system • Clearly defined boundaries (effective exclusion of external unentitled parties); • Rules for appropriation/provision of resources are adapted to local conditions; • Mechanism allows most players to take part in the decision-making process; • Effective monitoring by monitors (part of or accountable to the players); • Scale of graduated sanctions for appropriators who violate community rules; • Mechanisms of conflict resolution are cheap and of easy access; • Self-determination of community recognized by higher-level authorities; • For larger common-pool resources: organization as multiple layers ofnested enterprises Do you have a strong CV? Check this link out: http://www.indiana.edu/~workshop/people/lostromcv.htm
Lecture contents • Introduction: design methodologies • Alternatives to traditional design • Example #1 • Amorphous computing – global-2-local compiler • Example #2 • ASH Clustering scheme • Summary
Global-to-local challenge How to program robust global behavior from the interaction of large numbers of unreliable resource-constrained devices (agents)? How to program complex desired global goals from local interactions amongst communities of simple agents?
Example: amorphous computer Source: RadhikaNagpal - Programmable Self-Assembly: Constructing Global Shape Using Biologically-Inspired Local Interactions and Origami Mathematics, PhD Thesis, MIT, 2001
Tools Only gradients based on local communication
Example of applications • 2D shapes • Gradients • More complex shapes: transistors on chip • Previous efforts: Growing point language (GPL) • Programmable sheet of cells • 3d “origami” shapes • Real applications: folding solar cells of satellites, clothes of the future, “intelligent materials”
Working prototype Hawkes, E., et al.: Programmable matter by folding, Proc. of the National Academy of Sciences, 2010
Solution overview • Components • Global description of desired goal • Known, simple global emergent behavior – gradients • Link between the two levels • Advantages • Automatic “compilation” of code to be executed locally • Topology not explicitly as part of solution • Solution is general enough to work on other platforms as well Global specs. Local emergent behavior
Origami shape language • Basic primitives • 6 axioms (only 4 needed)
Local level • Sheet of distributed (static) processors • Each processor communicates with its neighbors • Known simple emergent behavior: gradient • What happens if we start gradient at two different points? • Each node will get two hopcount numbers • Nodes with the identical hopcount numbers are on a line! • One can use the simple emergent behavior to create more complex behaviors – axioms A1-A4 • Optimal design? • Most likely not, but: robust, simple to implement and understand
Additional issues • PhD thesis also covers • Analysis of robustness • Distribution of errors for gradient mechanisms • Influence of imperfections on the axioms • Tolerance to random death of cells • Analysis of the area of deployment • Shape is heavily influenced by the area of deployment
Follow up research • Extensions of the G2L compiler to model biology processes • D. Yamins: A Theory of Local-to-Global Algorithms for One-Dimensional Spatial Multi-Agent SystemsDoctoral thesis, Harvard University, Feb 2008 • Explores at length convergence and optimization issues • Simulators • MIT-Proto – initial effort on producing an accessible G2L • Targets “down-to-earth” networks: swarms, mobile mesh nets, etc.
Lecture contents • Introduction: design methodologies • Alternatives to traditional design • Example #1 • Amorphous computing – global-2-local compiler • Example #2 • ASH Clustering scheme • Summary
Problems induced by node mobility Unreliable Links High Control Traffic • Lower Throughput • Higher Latency Low QOS Low User Experience
Solution: Virtual Partition of The Network • Emulates a fixed infrastructure in an ad hoc environment • Abstraction provides the illusion of a reliable, static infrastructure • Applications: • routing • location / tracking services • mobile robot coordination • functional partitioning
In context… • G2L for mobile networks is difficult because of the lack of reliable gradient/hopcount • Are there other mechanisms = “simple” emergent behavior? • Is there a trade-off between resolution and stability? • ASH is a first step to extending G2L to mobile systems • Exploration of stable behaviors
ASH algorithm NO position, speed, orientation information of nodes Builds a Self-Organizing Quasi-static Overlay Local rules and global feedback via gossiping
ASH algorithm Diffusion through Gossiping Node ‘i’ randomly picks a node ‘j’ from the same domain and sends it and to itself During the communication round, the node receives updates from a set of neighbors including itself The node updates its values at time t+1 The sum remains constant at each moment in time (balloons not leaking) Pressure given by m/w
ASH algorithm start Initialization Update domain ID If leader, do mass correction Diffusion Round++ NO Round == MAX YES stop
ASH algorithm Local Decision Rules Majority voting Pressures Node K Domain ‘j’ Domain ‘i’ Example: θi,k = 0.5·15/18+0.5·15/100= 0.4916 θj,k = 0.5·3/18+0.5·85/100= 0.5083 Node K switches from domain I to domain J
ASH algorithm • Partition the network into domains • We want: • ASH-Cluster algorithm • What’s Needed: • Cluster-head + gradient for routing
ASH Clustering Algorithm • Cluster head • Software agent that sitsin center of domains • Gradient • Routing • 1. Nodes <–> cluster-heads • 2. Inter <–> cluster-heads
Coping with an imperfect world • Pressure loss is generated by: • Node failures • Packet loss • “Strange topologies” + high • speed • Nodes monitor the pressure loss via a distributed mechanism • Cluster head injects pressure periodically if needed • Pressure loss detection is equivalent to the churn detection problem • Any distributed churn detection algorithm should do it • We propose in the paper NetSize, a gossip-based version
Analysis - metrics The motion metric is equal to the distance traveled by the centroid of the positions of the nodes of a domain The variation metric is equal to the difference: where is the mean value of the distances between the centroid of a domain and all the nodes in the domain, at time step ‘t’
Influence of mobility ASH is self-repairing - Domain speed << node speed
Domain selection stability ASH is self-stabilizing
Results Influence of the network density ASH does NOT need high node density Scalable: higher density is better
ASH-Summary • ASH builds a quasi-static domains on top of a mobile network • ASH includes a feed-back mechanism -> leads to self-* properties • Efficient • Gossip alike communication complexity • Future work • Evaluation on real-life traffic mobility traces • Deployment on real hardware
Lecture contents • Introduction: design methodologies • Alternatives to traditional design • Example #1 • Amorphous computing – global-2-local compiler • Example #2 • ASH Clustering scheme • Summary