SlideShare ist ein Scribd-Unternehmen logo
1 von 54
Downloaden Sie, um offline zu lesen
Compositional Blocks for Optimal Self-Healing Gradients
Giorgio Audrito1
Roberto Casadei2
Ferruccio Damiani1
Mirko Viroli2
1
Computer Science Department and C3S
University of Torino
2
Department of Computer Science and Engineering (DISI)
Alma Mater Studiorum – Università of Bologna
11th IEEE International Conference on Self-Adaptive and Self-Organizing
Systems, University of Arizona, Tucson, AZ · 18-22 September 2017
Slides http://www.slideshare.net/RobertoCasadei/presentations
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 1 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Outline
1 General problem: effective SASO engineering » patterns
Gradients: a key SASO pattern
2 Concrete framework: Aggregate Computing
3 State-of-art: state-of-art gradients and their dynamical performance
4 Contributions
New MP-optimal gradient algorithm: SVD
The “best” gradient algorithm to date: ULT
5 Conclusion
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 2 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Outline
1 General problem: effective SASO engineering » patterns
Gradients: a key SASO pattern
2 Concrete framework: Aggregate Computing
3 State-of-art: state-of-art gradients and their dynamical performance
4 Contributions
New MP-optimal gradient algorithm: SVD
The “best” gradient algorithm to date: ULT
5 Conclusion
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 3 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
General problem: effective engineering SASO systems
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 4 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
General problem: effective engineering SASO systems
Abstraction gap
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 4 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
General problem: effective engineering SASO systems
Abstraction gap ⇒ layers of (predictably) composable SASO patterns
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 4 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Outline
1 General problem: effective SASO engineering » patterns
Gradients: a key SASO pattern
2 Concrete framework: Aggregate Computing
3 State-of-art: state-of-art gradients and their dynamical performance
4 Contributions
New MP-optimal gradient algorithm: SVD
The “best” gradient algorithm to date: ULT
5 Conclusion
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 5 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
A key pattern: Gradient » what
Gradient: computation of the shortest paths from all nodes to a set of source nodes
• a fully distributed and adaptive process
3.3
1.5
0
3.1
6.5
2.9
5
0
2.7
1.9
3.3
0.8
1.5
2.5
2.7
4.1
3.5
0.2
3.6
2.1
2.9
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 6 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
A key pattern: Gradient » what
Gradient: computation of the shortest paths from all nodes to a set of source nodes
• a fully distributed and adaptive process
3.3
1.5
0
3.1
6.5
2.9
5
0
2.7
1.9
3.3
0.8
1.5
2.5
2.7
4.1
3.5
0.2
3.6
2.1
2.9
Self-healing gradient: a gradient able to react to changes by correcting its values
• Iterative execution to promptly react to any change in the environment
• Two kinds of approaches: incremental-repair / invalidate-and-rebuild
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 6 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
A key pattern: Gradient » why we care
The gradient: a basic building block for a variety of higher-level SASO behaviours
• Shortest path estimation (e.g., for steering mobile agents to PoI)
• Dynamic network partition (elect leaders on a spatial basis)
• Information broadcast
• Event forecasting (cf., anticipative gradient [MPV12])
• Distributed sensing
[FMSM+
13]
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 7 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Outline
1 General problem: effective SASO engineering » patterns
Gradients: a key SASO pattern
2 Concrete framework: Aggregate Computing
3 State-of-art: state-of-art gradients and their dynamical performance
4 Contributions
New MP-optimal gradient algorithm: SVD
The “best” gradient algorithm to date: ULT
5 Conclusion
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 8 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Approach: Aggregate Computing » “Engineering Stack” [BPV15]
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 9 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
System model: logical (general) & AC instantiation (particular)
Basic model
• Network of devices working asynchronously
• Devices interact with their neighbourhood via broadcast-like communication
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 10 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
System model: logical (general) & AC instantiation (particular)
Basic model
• Network of devices working asynchronously
• Devices interact with their neighbourhood via broadcast-like communication
Aggregate Computing execution model
Each device is given the same aggregate program and works at async rounds:
(1) Retrieve context
⇐ Messages from neighbours & sensor values
(2) Aggregate program execution
⇒ export (a tree-like repr of computation) & output (value-tree)
(3) Broadcast export to neighbourhood
(4) Execute actuators
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 10 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Example: the “channel”
def channel(src: Boolean,
dest: Boolean,
width: Double) =
distTo(src) + distTo(dest) <=
distBetween(src,dest) + width
• Key point #1: the gradient is a useful pattern for problems based on a
logical/physical notion of distance
• Key point #2: Aggregate Computing provides a formal framework for composing
building blocks into SASO behaviour
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 11 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Outline
1 General problem: effective SASO engineering » patterns
Gradients: a key SASO pattern
2 Concrete framework: Aggregate Computing
3 State-of-art: state-of-art gradients and their dynamical performance
4 Contributions
New MP-optimal gradient algorithm: SVD
The “best” gradient algorithm to date: ULT
5 Conclusion
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 12 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Gradient implementations
Different contexts
• computational models
• synchronous vs. asynchronous
• static vs. dynamic environment (e.g., node mobility)
• resource constraints
• input/sensor availability (hop-count, relative distance, GPS, time)
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 13 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Gradient implementations
Different contexts
• computational models
• synchronous vs. asynchronous
• static vs. dynamic environment (e.g., node mobility)
• resource constraints
• input/sensor availability (hop-count, relative distance, GPS, time)
Different goals
• reactivity (healing speed)
• precision (value vs. shape precision)
• stability
• wrt small and big perturbations
• communication cost
How are higher-level patterns/algorithms affected (especially during transients)?
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 13 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Gradient implementations
Different contexts
• computational models
• synchronous vs. asynchronous
• static vs. dynamic environment (e.g., node mobility)
• resource constraints
• input/sensor availability (hop-count, relative distance, GPS, time)
Different goals
• reactivity (healing speed)
• precision (value vs. shape precision)
• stability
• wrt small and big perturbations
• communication cost
How are higher-level patterns/algorithms affected (especially during transients)?
• Key point: improved performance affects many other coordination mechansisms!
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 13 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Classic gradient
Classic gradient
• Iteratively applies a triangle inequality constraint in each device δ
• Starting with ∞ everywhere
G(δ) =
0 if source(δ)
min{G(δ ) + w(δ , δ) : δ linked with δ} otherwise
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 14 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Classic gradient
Classic gradient
• Iteratively applies a triangle inequality constraint in each device δ
• Starting with ∞ everywhere
G(δ) =
0 if source(δ)
min{G(δ ) + w(δ , δ) : δ linked with δ} otherwise
Protelis (external DSL) [PVB15]
def classic(source, metric) {
rep(infinity){ (dist) =>
mux(source==0){minhood(nbr(dist) + metric()) }
}
}
ScaFi (Scala-internal DSL) [CV16]
def classic(source: Boolean, metric: => Double = nbrRange): Double =
rep(Double.PositiveInfinity){ dist =>
mux(source){ 0.0 }{ minHood(nbr{dist} + metric) }
}
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 14 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Classic Gradient: issues I
Rising value problem – Fast falling, slow rising (e.g., when a source is disconnected)
• In response to changes, slow adaptation to values that need to rise
• Rising speed of Classic is bounded by the distance between the pair of closest
devices [BBVT08]
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 15 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Classic Gradient: issues II
Speed bias
• Continuous movement ⇒ underestimation of gradient values
• Error increasing with movement speed
Instability (lack of smoothness)
• Flickering of values
• Variations can change the connection tree
• Can be detrimental to the performance of higher-level coordination
mechanisms
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 16 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Improved algorithms
Constraint and Restoring Force (CRF) gradient [BBVT08]
• Idea: fixed rising speed if “no constraints”, only reducing otherwise
• Requires: distance estimations, time sensors
faster healing speed reduced stability of values
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 17 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Improved algorithms
Constraint and Restoring Force (CRF) gradient [BBVT08]
• Idea: fixed rising speed if “no constraints”, only reducing otherwise
• Requires: distance estimations, time sensors
faster healing speed reduced stability of values
FLEX gradient [Bea09]
• Idea: inequality relaxation (for smoothness), metric distortion (for healing speed)
• Requires: distance estimations
improved stability faster healing speed reduced precision
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 17 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Improved algorithms
Constraint and Restoring Force (CRF) gradient [BBVT08]
• Idea: fixed rising speed if “no constraints”, only reducing otherwise
• Requires: distance estimations, time sensors
faster healing speed reduced stability of values
FLEX gradient [Bea09]
• Idea: inequality relaxation (for smoothness), metric distortion (for healing speed)
• Requires: distance estimations
improved stability faster healing speed reduced precision
Bounded Information Speed (BIS) gradient [ADV17]
• Idea: enforcing a minimum information speed v
• Use time distance T as a lower bound vT − R for space distance G
• Requires: distance estimations, time sensors
• Theorem: BIS with v equal to the avg SP info speed is optimal among SP algorithms
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 17 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Rising problem: comparison of algorithms
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 18 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Outline
1 General problem: effective SASO engineering » patterns
Gradients: a key SASO pattern
2 Concrete framework: Aggregate Computing
3 State-of-art: state-of-art gradients and their dynamical performance
4 Contributions
New MP-optimal gradient algorithm: SVD
The “best” gradient algorithm to date: ULT
5 Conclusion
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 19 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Outline
1 General problem: effective SASO engineering » patterns
Gradients: a key SASO pattern
2 Concrete framework: Aggregate Computing
3 State-of-art: state-of-art gradients and their dynamical performance
4 Contributions
New MP-optimal gradient algorithm: SVD
The “best” gradient algorithm to date: ULT
5 Conclusion
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 20 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Information speed: how fast information flows?
information speed = space travelled over time elapsed
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 21 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Information speed: how fast information flows?
information speed = space travelled over time elapsed
Single-Path (SP) Information Speed
• Information flows through a spanning tree
• Value in device depends on a single selected neighbour device
• Typical when information from multiple devices cannot be easily aggregated
• About R/2T if radius R and time period T
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 21 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Information speed: how fast information flows?
information speed = space travelled over time elapsed
Single-Path (SP) Information Speed
• Information flows through a spanning tree
• Value in device depends on a single selected neighbour device
• Typical when information from multiple devices cannot be easily aggregated
• About R/2T if radius R and time period T
Multi-Path (MP) Information Speed
• Information flows through every link in a network
• Value in device needs to be summarised from values in every neighbour device
• “Light speed” which cannot be exceeded
• Depends on network density and shape of time period distribution
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 21 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Information speed: how fast information flows?
information speed = space travelled over time elapsed
Single-Path (SP) Information Speed
• Information flows through a spanning tree
• Value in device depends on a single selected neighbour device
• Typical when information from multiple devices cannot be easily aggregated
• About R/2T if radius R and time period T
Multi-Path (MP) Information Speed
• Information flows through every link in a network
• Value in device needs to be summarised from values in every neighbour device
• “Light speed” which cannot be exceeded
• Depends on network density and shape of time period distribution
⇒ to improve over BIS we have to use some form of multi-path communication
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 21 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
SVD gradient
Stale Value Detection (SVD) gradient
• Starts like Classic gradient
• When obsolete information is detected, fast “reconfiguration” occurs
• Basically, new information is preferred over old information
• Theorem: SVD attains optimal reactivity among algorithms with a multi-path
information flow modulo a fixed delay that depends on network
parameters
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 22 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
SVD gradient » implementation
def SVD(source: Boolean, metric: => Double, lagMetric: => Double): Double = {
val defaultDist = if(source) 0.0 else Double.PositiveInfinity
val loc = (defaultDist, defaultDist, mid(), false)
rep[(Double,Double,Int,Boolean)](loc) {
case old (spaceDistEst, timeDistEst, sourceId, isObsolete) => {
val allOthersObsolete = !excludingSelf.anyHood { !nbr{isObsolete} }
val (newSpaceDistEst, newSourceId) = minHood {
mux(nbr{isObsolete} && !allOthersObsolete) { (defaultDist, mid()) } {
(nbr{spaceDistEst} + metric, nbr{sourceId})
} }
val newTimeDistEst = minHood {
mux(nbr{sourceId} != newSourceId){ defaultDist } {
nbr { timeDistEst } + lagMetric
} }
val loop = newSourceId == mid() && newSpaceDistEst < defaultDist
val newObsolete =
detect(timestamp() - newTimeDistEst) || loop || excludingSelf.anyHood {
nbr{isObsolete} && nbr{sourceId} == newSourceId &&
nbr{timeDistEst}+lagMetric < newTimeDistEst + 0.0001
}
List((newSpaceDistEst, newTimeDistEst, newSourceId, newObsolete), loc).min
}
}._1 // Selects estimated distance
}
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 23 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
SVD gradient » implementation
def detect(time: Double): Boolean = {
// how much time is elapsed since the first time the current info
// (originated from the source in time ’time’) reached the current device
val repCount = rep(0.0) { old =>
if(Math.abs(time - delay(time)) < 0.0001) {
old + deltaTime().toMillis
} else {
0.0
}
}
repCount > rep[(Double, Double, Double)](2, 8, 16) { case (avg, sqa, bound) =>
// Estimate of the avg peak value for repCount, obtained by exponential
filtering
// with a factor 0.1 the peak values of repCount
val newAvg = 0.9 * avg + 0.1 * delay(repCount)
// Estimate of the average square of repCount peak values
val newSqa = 0.9 * sqa + 0.1 * Math.pow(delay(repCount), 2)
// Standard deviation
val stdev = Math.sqrt(newSqa - Math.pow(newAvg, 2))
// New bound
val newBound = newAvg + 7*stdev
(newAvg, newSqa, newBound)
}._3 // is obsolete?
}
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 23 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
SVD gradient vs. BIS
SVD vs. BIS » approach
• Approach: BIS uses incremental-repair; SVD uses invalidate-and-rebuild
• Use of time-related information
• BIS minimizes over space, just carrying along the lag (in single-path fashion)
• SVD also minimizes over time (but in a multi-path fashion)
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 24 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
SVD gradient vs. BIS
SVD vs. BIS » approach
• Approach: BIS uses incremental-repair; SVD uses invalidate-and-rebuild
• Use of time-related information
• BIS minimizes over space, just carrying along the lag (in single-path fashion)
• SVD also minimizes over time (but in a multi-path fashion)
SVD vs. BIS » performance
• SVD has some fixed delay
• SVD is more resource-demanding than BIS
• Doesn’t mean we can’t do anything about that (see ULT)
• SVD is not smooth
• Doesn’t mean we can’t do anything about that (see ULT)
• SVD usually heals faster than BIS
• See Evaluation
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 24 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Evaluation: SVD vs. BIS » setup
Simulation technology
• Supercomputer Occam [ABL+
16], Alchemist simulator [PMV13], Protelis
DSL [PVB15]
Environment
• Number of devices: 1000
• Average update rate: 1s
• Devices disposed randomly in a K m × 20m corridor
• Two fixed sources at both ends of the corridor.
• At time t = 200, left source is abruptly disconnected.
Input/output
• Parameter: Space/time variability: 0(none), 0.5(medium), 1.0(high)
• Parameter: Length of the corridor: [250, 1500]m
• Parameter: Communication radius: [5, 15]m
• Output: Precision: as absolute error wrt Euclidean distance
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 25 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Evaluation: SVD vs. BIS » results
⇒ an increase in variability gives advantage to SVD
⇒ the length of the corridor does not influence the relative performance
⇒ when the communication radius is low, MP ≈ SP ⇒ BIS goes better
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 26 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Outline
1 General problem: effective SASO engineering » patterns
Gradients: a key SASO pattern
2 Concrete framework: Aggregate Computing
3 State-of-art: state-of-art gradients and their dynamical performance
4 Contributions
New MP-optimal gradient algorithm: SVD
The “best” gradient algorithm to date: ULT
5 Conclusion
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 27 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
ULT gradient: idea
metric
gradient 1
damper 1
. . .
gradient 2
damper 2
max
filter
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 28 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
ULT gradient: idea
metric
gradient 1
damper 1
. . .
gradient 2
damper 2
max
filter
def ULT(src, metric, radius, speed, factor){
let svd = SVD(src, metric)
let bis = BIS(src, metric, radius, speed)
inertialFilter(max(svd, bis), factor)
}
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 28 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
ULT gradient: by composition of state-of-art techniques
Metric correction – in order to prevent the speed bias
• Adjust the metric by taking into account the speed of the device itself and its
neighbours
Output filtering – in order to improve smoothness
• Exponential filters for nearly-static environments
• Intertial filter for more dynamic environments
• Uses a “change speed” estimate to set the filtering
Combining fast-healing gradients – to quickly react on input discontinuities
• BIS always outperforms Classic, FLEX, CRF
• SVD usually better than BIS (not always)
» ULT = max(BIS,SVD)
FLEX-style damping: to decrease communication cost (and improve smoothness)
• Can be applied onto any gradient computation
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 29 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Evaluation: overall performance » scenario
Environment
• Number of devices: 1000
• Communication radius: 10m
• Average update rate: 1s
• Devices disposed randomly in a 500m × 20m corridor (network 50 hops wide)
• Two fixed sources at both ends of the corridor.
• At time t = 200, left source is abruptly disconnected.
Input
• Parameter: Space/time variability: 0(none), 0.5(medium), 1.0(high)
Output
• Precision: as absolute error wrt Euclidean distance
• Smoothness (stability): as the absolute acceleration of values
• Communication cost: number of values exchanged with neighbours
• Assuming that steady values do not need to be broadcast
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 30 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Evaluation: overall performance » results
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 31 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Evaluation: overall performance » results
Results
• As variability increases, SVD outperforms BIS
• Metric correction eliminates the systematic error due to speed bias
• SVD has the worst peak in stability
• Mitigated in ULT by the filter (achieving best stability in hi-var scenarios)
• FLEX damping improves stability further and reduce communication cost
• at the expense of a predictable systematic error
• might still be convenient e.g. for computing while descending the gradient
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 32 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Evaluation: on node counting through multi-spanning-tree collection
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 33 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Evaluation: on node counting through multi-spanning-tree collection
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 33 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Outline
1 General problem: effective SASO engineering » patterns
Gradients: a key SASO pattern
2 Concrete framework: Aggregate Computing
3 State-of-art: state-of-art gradients and their dynamical performance
4 Contributions
New MP-optimal gradient algorithm: SVD
The “best” gradient algorithm to date: ULT
5 Conclusion
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 34 / 38
Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion
Conclusion and future work
Paper contributions
• Make the point of state-of-art of gradient computations
• New gradient algorithm (SVD) with optimal MP reactivity
• New algorithm (ULT) with best performance trade-offs to date through
• composition of fastest self-healing gradients (SVD, BIS)
• fine-tuning techniques (metric correction, filtering, damping)
• Analysis of gradient algorithms wrt
• precision
• stability
• communication cost
Future works
• Estimation of the actual SP and MP speed in different networks
• Specific implementation techniques to increase the speed of MP solutions
• Empirical evaluation in large and realistic simulation scenarios
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 35 / 38
Appendix
References I
[ABL+
16] Marco Aldinucci, Stefano Bagnasco, Stefano Lusso, Paolo Pasteris, Sara
Vallero, and Sergio Rabellino.
The Open Computing Cluster for Advanced data Manipulation (occam).
In The 22nd International Conference on Computing in High Energy and
Nuclear Physics (CHEP), San Francisco, USA, 2016.
[ADV17] Giorgio Audrito, Ferruccio Damiani, and Mirko Viroli.
Optimally-self-healing distributed gradient structures through bounded
information speed.
In International Conference on Coordination Languages and Models,
pages 59–77. Springer, Cham, 2017.
[BBVT08] Jacob Beal, Jonathan Bachrach, Dan Vickery, and Mark Tobenkin.
Fast self-healing gradients.
In Proceedings of the 2008 ACM symposium on Applied computing,
pages 1969–1975. ACM, 2008.
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 36 / 38
Appendix
References II
[Bea09] Jacob Beal.
Flexible self-healing gradients.
In Proceedings of the 2009 ACM symposium on Applied Computing,
pages 1197–1201. ACM, 2009.
[BPV15] Jacob Beal, Danilo Pianini, and Mirko Viroli.
Aggregate programming for the internet of things.
IEEE Computer, 2015.
[CV16] Roberto Casadei and Mirko Viroli.
Towards aggregate programming in Scala.
In First Workshop on Programming Models and Languages for Distributed
Computing, PMLDC ’16, pages 5:1–5:7, New York, NY, USA, 2016. ACM.
[FMSM+
13] Jose Luis Fernandez-Marquez, Giovanna Di Marzo Serugendo, Sara
Montagna, Mirko Viroli, and Josep Lluís Arcos.
Description and composition of bio-inspired design patterns: a complete
overview.
Natural Computing, 12(1):43–67, 2013.
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 37 / 38
Appendix
References III
[MPV12] Sara Montagna, Danilo Pianini, and Mirko Viroli.
Gradient-based self-organisation patterns of anticipative adaptation.
In Self-Adaptive and Self-Organizing Systems (SASO), 2012 IEEE Sixth
International Conference on, pages 169–174. IEEE, 2012.
[PMV13] Danilo Pianini, Sara Montagna, and Mirko Viroli.
Chemical-oriented simulation of computational systems with Alchemist.
Journal of Simulation, 2013.
[PVB15] Danilo Pianini, Mirko Viroli, and Jacob Beal.
Protelis: Practical aggregate programming.
In Proceedings of ACM SAC 2015, pages 1846–1853, Salamanca, Spain,
2015. ACM.
R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 38 / 38

Weitere ähnliche Inhalte

Ähnlich wie Compositional Blocks for Optimal Self-Healing Gradients

Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...Roberto Casadei
 
Digital Twins, Virtual Devices, and Augmentations for Self-Organising Cyber-P...
Digital Twins, Virtual Devices, and Augmentations for Self-Organising Cyber-P...Digital Twins, Virtual Devices, and Augmentations for Self-Organising Cyber-P...
Digital Twins, Virtual Devices, and Augmentations for Self-Organising Cyber-P...Roberto Casadei
 
Engineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoTEngineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoTRoberto Casadei
 
Interface management incose2014_lisi
Interface management incose2014_lisiInterface management incose2014_lisi
Interface management incose2014_lisiMarco Lisi
 
The Future is Big Graphs: A Community View on Graph Processing Systems
The Future is Big Graphs: A Community View on Graph Processing SystemsThe Future is Big Graphs: A Community View on Graph Processing Systems
The Future is Big Graphs: A Community View on Graph Processing SystemsNeo4j
 
A Programming Framework for Collective Adaptive Ecosystems
A Programming Framework for Collective Adaptive EcosystemsA Programming Framework for Collective Adaptive Ecosystems
A Programming Framework for Collective Adaptive EcosystemsRoberto Casadei
 
Programming Actor-based Collective Adaptive Systems
Programming Actor-based Collective Adaptive SystemsProgramming Actor-based Collective Adaptive Systems
Programming Actor-based Collective Adaptive SystemsRoberto Casadei
 
From Simulation to Online Gaming: the need for adaptive solutions
From Simulation to Online Gaming: the need for adaptive solutions From Simulation to Online Gaming: the need for adaptive solutions
From Simulation to Online Gaming: the need for adaptive solutions Gabriele D'Angelo
 
Automatic Layer-Based Generation Of System-On-Chip Bus Communication Models
Automatic Layer-Based Generation Of System-On-Chip Bus Communication ModelsAutomatic Layer-Based Generation Of System-On-Chip Bus Communication Models
Automatic Layer-Based Generation Of System-On-Chip Bus Communication ModelsKaren Gomez
 
Identifying and Resolving Consistency Issues between Model Representations
Identifying and Resolving Consistency Issues between Model RepresentationsIdentifying and Resolving Consistency Issues between Model Representations
Identifying and Resolving Consistency Issues between Model RepresentationsIvan Ruchkin
 
DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006santa
 
Comparative study of optimization algorithms on convolutional network for aut...
Comparative study of optimization algorithms on convolutional network for aut...Comparative study of optimization algorithms on convolutional network for aut...
Comparative study of optimization algorithms on convolutional network for aut...IJECEIAES
 
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...Roberto Casadei
 
PresentationTest
PresentationTestPresentationTest
PresentationTestbolu804
 
Computational steering Interactive Design-through-Analysis for Simulation Sci...
Computational steering Interactive Design-through-Analysis for Simulation Sci...Computational steering Interactive Design-through-Analysis for Simulation Sci...
Computational steering Interactive Design-through-Analysis for Simulation Sci...SURFevents
 

Ähnlich wie Compositional Blocks for Optimal Self-Healing Gradients (20)

3rd 3DDRESD: DReAMS
3rd 3DDRESD: DReAMS3rd 3DDRESD: DReAMS
3rd 3DDRESD: DReAMS
 
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...
 
Digital Twins, Virtual Devices, and Augmentations for Self-Organising Cyber-P...
Digital Twins, Virtual Devices, and Augmentations for Self-Organising Cyber-P...Digital Twins, Virtual Devices, and Augmentations for Self-Organising Cyber-P...
Digital Twins, Virtual Devices, and Augmentations for Self-Organising Cyber-P...
 
HalifaxNGGs
HalifaxNGGsHalifaxNGGs
HalifaxNGGs
 
Engineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoTEngineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoT
 
HPPS - Final - 06/14/2007
HPPS - Final - 06/14/2007HPPS - Final - 06/14/2007
HPPS - Final - 06/14/2007
 
Interface management incose2014_lisi
Interface management incose2014_lisiInterface management incose2014_lisi
Interface management incose2014_lisi
 
The Future is Big Graphs: A Community View on Graph Processing Systems
The Future is Big Graphs: A Community View on Graph Processing SystemsThe Future is Big Graphs: A Community View on Graph Processing Systems
The Future is Big Graphs: A Community View on Graph Processing Systems
 
Geometric Deep Learning
Geometric Deep Learning Geometric Deep Learning
Geometric Deep Learning
 
A Programming Framework for Collective Adaptive Ecosystems
A Programming Framework for Collective Adaptive EcosystemsA Programming Framework for Collective Adaptive Ecosystems
A Programming Framework for Collective Adaptive Ecosystems
 
Programming Actor-based Collective Adaptive Systems
Programming Actor-based Collective Adaptive SystemsProgramming Actor-based Collective Adaptive Systems
Programming Actor-based Collective Adaptive Systems
 
From Simulation to Online Gaming: the need for adaptive solutions
From Simulation to Online Gaming: the need for adaptive solutions From Simulation to Online Gaming: the need for adaptive solutions
From Simulation to Online Gaming: the need for adaptive solutions
 
Automatic Layer-Based Generation Of System-On-Chip Bus Communication Models
Automatic Layer-Based Generation Of System-On-Chip Bus Communication ModelsAutomatic Layer-Based Generation Of System-On-Chip Bus Communication Models
Automatic Layer-Based Generation Of System-On-Chip Bus Communication Models
 
Distributed Streams
Distributed StreamsDistributed Streams
Distributed Streams
 
Identifying and Resolving Consistency Issues between Model Representations
Identifying and Resolving Consistency Issues between Model RepresentationsIdentifying and Resolving Consistency Issues between Model Representations
Identifying and Resolving Consistency Issues between Model Representations
 
DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006
 
Comparative study of optimization algorithms on convolutional network for aut...
Comparative study of optimization algorithms on convolutional network for aut...Comparative study of optimization algorithms on convolutional network for aut...
Comparative study of optimization algorithms on convolutional network for aut...
 
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
 
PresentationTest
PresentationTestPresentationTest
PresentationTest
 
Computational steering Interactive Design-through-Analysis for Simulation Sci...
Computational steering Interactive Design-through-Analysis for Simulation Sci...Computational steering Interactive Design-through-Analysis for Simulation Sci...
Computational steering Interactive Design-through-Analysis for Simulation Sci...
 

Mehr von Roberto Casadei

A Presentation of My Research Activity
A Presentation of My Research ActivityA Presentation of My Research Activity
A Presentation of My Research ActivityRoberto Casadei
 
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...Roberto Casadei
 
Programming Distributed Collective Processes for Dynamic Ensembles and Collec...
Programming Distributed Collective Processes for Dynamic Ensembles and Collec...Programming Distributed Collective Processes for Dynamic Ensembles and Collec...
Programming Distributed Collective Processes for Dynamic Ensembles and Collec...Roberto Casadei
 
Aggregate Computing Research: an Overview
Aggregate Computing Research: an OverviewAggregate Computing Research: an Overview
Aggregate Computing Research: an OverviewRoberto Casadei
 
Introduction to the 1st DISCOLI workshop on distributed collective intelligence
Introduction to the 1st DISCOLI workshop on distributed collective intelligenceIntroduction to the 1st DISCOLI workshop on distributed collective intelligence
Introduction to the 1st DISCOLI workshop on distributed collective intelligenceRoberto Casadei
 
FScaFi: A Core Calculus for Collective Adaptive Systems Programming
FScaFi: A Core Calculus for Collective Adaptive Systems ProgrammingFScaFi: A Core Calculus for Collective Adaptive Systems Programming
FScaFi: A Core Calculus for Collective Adaptive Systems ProgrammingRoberto Casadei
 
6th eCAS workshop on Engineering Collective Adaptive Systems
6th eCAS workshop on Engineering Collective Adaptive Systems6th eCAS workshop on Engineering Collective Adaptive Systems
6th eCAS workshop on Engineering Collective Adaptive SystemsRoberto Casadei
 
Augmented Collective Digital Twins for Self-Organising Cyber-Physical Systems
Augmented Collective Digital Twins for Self-Organising Cyber-Physical SystemsAugmented Collective Digital Twins for Self-Organising Cyber-Physical Systems
Augmented Collective Digital Twins for Self-Organising Cyber-Physical SystemsRoberto Casadei
 
Tuple-Based Coordination in Large-Scale Situated Systems
Tuple-Based Coordination in Large-Scale Situated SystemsTuple-Based Coordination in Large-Scale Situated Systems
Tuple-Based Coordination in Large-Scale Situated SystemsRoberto Casadei
 
Pulverisation in Cyber-Physical Systems: Engineering the Self-Organising Logi...
Pulverisation in Cyber-Physical Systems: Engineering the Self-Organising Logi...Pulverisation in Cyber-Physical Systems: Engineering the Self-Organising Logi...
Pulverisation in Cyber-Physical Systems: Engineering the Self-Organising Logi...Roberto Casadei
 
Collective Adaptive Systems as Coordination Media: The Case of Tuples in Spac...
Collective Adaptive Systems as Coordination Media: The Case of Tuples in Spac...Collective Adaptive Systems as Coordination Media: The Case of Tuples in Spac...
Collective Adaptive Systems as Coordination Media: The Case of Tuples in Spac...Roberto Casadei
 
Testing: an Introduction and Panorama
Testing: an Introduction and PanoramaTesting: an Introduction and Panorama
Testing: an Introduction and PanoramaRoberto Casadei
 
On Context-Orientation in Aggregate Programming
On Context-Orientation in Aggregate ProgrammingOn Context-Orientation in Aggregate Programming
On Context-Orientation in Aggregate ProgrammingRoberto Casadei
 
Aggregate Processes in Field Calculus
Aggregate Processes in Field CalculusAggregate Processes in Field Calculus
Aggregate Processes in Field CalculusRoberto Casadei
 
AWS and Serverless Computing
AWS and Serverless ComputingAWS and Serverless Computing
AWS and Serverless ComputingRoberto Casadei
 
Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...
Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...
Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...Roberto Casadei
 
The Rust Programming Language: an Overview
The Rust Programming Language: an OverviewThe Rust Programming Language: an Overview
The Rust Programming Language: an OverviewRoberto Casadei
 
Akka Remoting and Clustering: an Introduction
Akka Remoting and Clustering: an IntroductionAkka Remoting and Clustering: an Introduction
Akka Remoting and Clustering: an IntroductionRoberto Casadei
 
Akka Actors: an Introduction
Akka Actors: an IntroductionAkka Actors: an Introduction
Akka Actors: an IntroductionRoberto Casadei
 
From Field-based Coordination to Aggregate Computing
From Field-based Coordination to Aggregate ComputingFrom Field-based Coordination to Aggregate Computing
From Field-based Coordination to Aggregate ComputingRoberto Casadei
 

Mehr von Roberto Casadei (20)

A Presentation of My Research Activity
A Presentation of My Research ActivityA Presentation of My Research Activity
A Presentation of My Research Activity
 
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
 
Programming Distributed Collective Processes for Dynamic Ensembles and Collec...
Programming Distributed Collective Processes for Dynamic Ensembles and Collec...Programming Distributed Collective Processes for Dynamic Ensembles and Collec...
Programming Distributed Collective Processes for Dynamic Ensembles and Collec...
 
Aggregate Computing Research: an Overview
Aggregate Computing Research: an OverviewAggregate Computing Research: an Overview
Aggregate Computing Research: an Overview
 
Introduction to the 1st DISCOLI workshop on distributed collective intelligence
Introduction to the 1st DISCOLI workshop on distributed collective intelligenceIntroduction to the 1st DISCOLI workshop on distributed collective intelligence
Introduction to the 1st DISCOLI workshop on distributed collective intelligence
 
FScaFi: A Core Calculus for Collective Adaptive Systems Programming
FScaFi: A Core Calculus for Collective Adaptive Systems ProgrammingFScaFi: A Core Calculus for Collective Adaptive Systems Programming
FScaFi: A Core Calculus for Collective Adaptive Systems Programming
 
6th eCAS workshop on Engineering Collective Adaptive Systems
6th eCAS workshop on Engineering Collective Adaptive Systems6th eCAS workshop on Engineering Collective Adaptive Systems
6th eCAS workshop on Engineering Collective Adaptive Systems
 
Augmented Collective Digital Twins for Self-Organising Cyber-Physical Systems
Augmented Collective Digital Twins for Self-Organising Cyber-Physical SystemsAugmented Collective Digital Twins for Self-Organising Cyber-Physical Systems
Augmented Collective Digital Twins for Self-Organising Cyber-Physical Systems
 
Tuple-Based Coordination in Large-Scale Situated Systems
Tuple-Based Coordination in Large-Scale Situated SystemsTuple-Based Coordination in Large-Scale Situated Systems
Tuple-Based Coordination in Large-Scale Situated Systems
 
Pulverisation in Cyber-Physical Systems: Engineering the Self-Organising Logi...
Pulverisation in Cyber-Physical Systems: Engineering the Self-Organising Logi...Pulverisation in Cyber-Physical Systems: Engineering the Self-Organising Logi...
Pulverisation in Cyber-Physical Systems: Engineering the Self-Organising Logi...
 
Collective Adaptive Systems as Coordination Media: The Case of Tuples in Spac...
Collective Adaptive Systems as Coordination Media: The Case of Tuples in Spac...Collective Adaptive Systems as Coordination Media: The Case of Tuples in Spac...
Collective Adaptive Systems as Coordination Media: The Case of Tuples in Spac...
 
Testing: an Introduction and Panorama
Testing: an Introduction and PanoramaTesting: an Introduction and Panorama
Testing: an Introduction and Panorama
 
On Context-Orientation in Aggregate Programming
On Context-Orientation in Aggregate ProgrammingOn Context-Orientation in Aggregate Programming
On Context-Orientation in Aggregate Programming
 
Aggregate Processes in Field Calculus
Aggregate Processes in Field CalculusAggregate Processes in Field Calculus
Aggregate Processes in Field Calculus
 
AWS and Serverless Computing
AWS and Serverless ComputingAWS and Serverless Computing
AWS and Serverless Computing
 
Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...
Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...
Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...
 
The Rust Programming Language: an Overview
The Rust Programming Language: an OverviewThe Rust Programming Language: an Overview
The Rust Programming Language: an Overview
 
Akka Remoting and Clustering: an Introduction
Akka Remoting and Clustering: an IntroductionAkka Remoting and Clustering: an Introduction
Akka Remoting and Clustering: an Introduction
 
Akka Actors: an Introduction
Akka Actors: an IntroductionAkka Actors: an Introduction
Akka Actors: an Introduction
 
From Field-based Coordination to Aggregate Computing
From Field-based Coordination to Aggregate ComputingFrom Field-based Coordination to Aggregate Computing
From Field-based Coordination to Aggregate Computing
 

Kürzlich hochgeladen

DM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectDM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectssuserb6619e
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdfCaalaaAbdulkerim
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONjhunlian
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingBootNeck1
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
BSNL Internship Training presentation.pptx
BSNL Internship Training presentation.pptxBSNL Internship Training presentation.pptx
BSNL Internship Training presentation.pptxNiranjanYadav41
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communicationpanditadesh123
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
Risk Management in Engineering Construction Project
Risk Management in Engineering Construction ProjectRisk Management in Engineering Construction Project
Risk Management in Engineering Construction ProjectErbil Polytechnic University
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...Erbil Polytechnic University
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 

Kürzlich hochgeladen (20)

DM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectDM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdf
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
BSNL Internship Training presentation.pptx
BSNL Internship Training presentation.pptxBSNL Internship Training presentation.pptx
BSNL Internship Training presentation.pptx
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communication
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Risk Management in Engineering Construction Project
Risk Management in Engineering Construction ProjectRisk Management in Engineering Construction Project
Risk Management in Engineering Construction Project
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 

Compositional Blocks for Optimal Self-Healing Gradients

  • 1. Compositional Blocks for Optimal Self-Healing Gradients Giorgio Audrito1 Roberto Casadei2 Ferruccio Damiani1 Mirko Viroli2 1 Computer Science Department and C3S University of Torino 2 Department of Computer Science and Engineering (DISI) Alma Mater Studiorum – Università of Bologna 11th IEEE International Conference on Self-Adaptive and Self-Organizing Systems, University of Arizona, Tucson, AZ · 18-22 September 2017 Slides http://www.slideshare.net/RobertoCasadei/presentations R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 1 / 38
  • 2. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Outline 1 General problem: effective SASO engineering » patterns Gradients: a key SASO pattern 2 Concrete framework: Aggregate Computing 3 State-of-art: state-of-art gradients and their dynamical performance 4 Contributions New MP-optimal gradient algorithm: SVD The “best” gradient algorithm to date: ULT 5 Conclusion R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 2 / 38
  • 3. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Outline 1 General problem: effective SASO engineering » patterns Gradients: a key SASO pattern 2 Concrete framework: Aggregate Computing 3 State-of-art: state-of-art gradients and their dynamical performance 4 Contributions New MP-optimal gradient algorithm: SVD The “best” gradient algorithm to date: ULT 5 Conclusion R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 3 / 38
  • 4. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion General problem: effective engineering SASO systems R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 4 / 38
  • 5. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion General problem: effective engineering SASO systems Abstraction gap R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 4 / 38
  • 6. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion General problem: effective engineering SASO systems Abstraction gap ⇒ layers of (predictably) composable SASO patterns R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 4 / 38
  • 7. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Outline 1 General problem: effective SASO engineering » patterns Gradients: a key SASO pattern 2 Concrete framework: Aggregate Computing 3 State-of-art: state-of-art gradients and their dynamical performance 4 Contributions New MP-optimal gradient algorithm: SVD The “best” gradient algorithm to date: ULT 5 Conclusion R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 5 / 38
  • 8. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion A key pattern: Gradient » what Gradient: computation of the shortest paths from all nodes to a set of source nodes • a fully distributed and adaptive process 3.3 1.5 0 3.1 6.5 2.9 5 0 2.7 1.9 3.3 0.8 1.5 2.5 2.7 4.1 3.5 0.2 3.6 2.1 2.9 R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 6 / 38
  • 9. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion A key pattern: Gradient » what Gradient: computation of the shortest paths from all nodes to a set of source nodes • a fully distributed and adaptive process 3.3 1.5 0 3.1 6.5 2.9 5 0 2.7 1.9 3.3 0.8 1.5 2.5 2.7 4.1 3.5 0.2 3.6 2.1 2.9 Self-healing gradient: a gradient able to react to changes by correcting its values • Iterative execution to promptly react to any change in the environment • Two kinds of approaches: incremental-repair / invalidate-and-rebuild R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 6 / 38
  • 10. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion A key pattern: Gradient » why we care The gradient: a basic building block for a variety of higher-level SASO behaviours • Shortest path estimation (e.g., for steering mobile agents to PoI) • Dynamic network partition (elect leaders on a spatial basis) • Information broadcast • Event forecasting (cf., anticipative gradient [MPV12]) • Distributed sensing [FMSM+ 13] R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 7 / 38
  • 11. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Outline 1 General problem: effective SASO engineering » patterns Gradients: a key SASO pattern 2 Concrete framework: Aggregate Computing 3 State-of-art: state-of-art gradients and their dynamical performance 4 Contributions New MP-optimal gradient algorithm: SVD The “best” gradient algorithm to date: ULT 5 Conclusion R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 8 / 38
  • 12. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Approach: Aggregate Computing » “Engineering Stack” [BPV15] R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 9 / 38
  • 13. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion System model: logical (general) & AC instantiation (particular) Basic model • Network of devices working asynchronously • Devices interact with their neighbourhood via broadcast-like communication R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 10 / 38
  • 14. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion System model: logical (general) & AC instantiation (particular) Basic model • Network of devices working asynchronously • Devices interact with their neighbourhood via broadcast-like communication Aggregate Computing execution model Each device is given the same aggregate program and works at async rounds: (1) Retrieve context ⇐ Messages from neighbours & sensor values (2) Aggregate program execution ⇒ export (a tree-like repr of computation) & output (value-tree) (3) Broadcast export to neighbourhood (4) Execute actuators R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 10 / 38
  • 15. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Example: the “channel” def channel(src: Boolean, dest: Boolean, width: Double) = distTo(src) + distTo(dest) <= distBetween(src,dest) + width • Key point #1: the gradient is a useful pattern for problems based on a logical/physical notion of distance • Key point #2: Aggregate Computing provides a formal framework for composing building blocks into SASO behaviour R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 11 / 38
  • 16. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Outline 1 General problem: effective SASO engineering » patterns Gradients: a key SASO pattern 2 Concrete framework: Aggregate Computing 3 State-of-art: state-of-art gradients and their dynamical performance 4 Contributions New MP-optimal gradient algorithm: SVD The “best” gradient algorithm to date: ULT 5 Conclusion R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 12 / 38
  • 17. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Gradient implementations Different contexts • computational models • synchronous vs. asynchronous • static vs. dynamic environment (e.g., node mobility) • resource constraints • input/sensor availability (hop-count, relative distance, GPS, time) R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 13 / 38
  • 18. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Gradient implementations Different contexts • computational models • synchronous vs. asynchronous • static vs. dynamic environment (e.g., node mobility) • resource constraints • input/sensor availability (hop-count, relative distance, GPS, time) Different goals • reactivity (healing speed) • precision (value vs. shape precision) • stability • wrt small and big perturbations • communication cost How are higher-level patterns/algorithms affected (especially during transients)? R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 13 / 38
  • 19. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Gradient implementations Different contexts • computational models • synchronous vs. asynchronous • static vs. dynamic environment (e.g., node mobility) • resource constraints • input/sensor availability (hop-count, relative distance, GPS, time) Different goals • reactivity (healing speed) • precision (value vs. shape precision) • stability • wrt small and big perturbations • communication cost How are higher-level patterns/algorithms affected (especially during transients)? • Key point: improved performance affects many other coordination mechansisms! R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 13 / 38
  • 20. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Classic gradient Classic gradient • Iteratively applies a triangle inequality constraint in each device δ • Starting with ∞ everywhere G(δ) = 0 if source(δ) min{G(δ ) + w(δ , δ) : δ linked with δ} otherwise R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 14 / 38
  • 21. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Classic gradient Classic gradient • Iteratively applies a triangle inequality constraint in each device δ • Starting with ∞ everywhere G(δ) = 0 if source(δ) min{G(δ ) + w(δ , δ) : δ linked with δ} otherwise Protelis (external DSL) [PVB15] def classic(source, metric) { rep(infinity){ (dist) => mux(source==0){minhood(nbr(dist) + metric()) } } } ScaFi (Scala-internal DSL) [CV16] def classic(source: Boolean, metric: => Double = nbrRange): Double = rep(Double.PositiveInfinity){ dist => mux(source){ 0.0 }{ minHood(nbr{dist} + metric) } } R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 14 / 38
  • 22. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Classic Gradient: issues I Rising value problem – Fast falling, slow rising (e.g., when a source is disconnected) • In response to changes, slow adaptation to values that need to rise • Rising speed of Classic is bounded by the distance between the pair of closest devices [BBVT08] R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 15 / 38
  • 23. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Classic Gradient: issues II Speed bias • Continuous movement ⇒ underestimation of gradient values • Error increasing with movement speed Instability (lack of smoothness) • Flickering of values • Variations can change the connection tree • Can be detrimental to the performance of higher-level coordination mechanisms R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 16 / 38
  • 24. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Improved algorithms Constraint and Restoring Force (CRF) gradient [BBVT08] • Idea: fixed rising speed if “no constraints”, only reducing otherwise • Requires: distance estimations, time sensors faster healing speed reduced stability of values R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 17 / 38
  • 25. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Improved algorithms Constraint and Restoring Force (CRF) gradient [BBVT08] • Idea: fixed rising speed if “no constraints”, only reducing otherwise • Requires: distance estimations, time sensors faster healing speed reduced stability of values FLEX gradient [Bea09] • Idea: inequality relaxation (for smoothness), metric distortion (for healing speed) • Requires: distance estimations improved stability faster healing speed reduced precision R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 17 / 38
  • 26. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Improved algorithms Constraint and Restoring Force (CRF) gradient [BBVT08] • Idea: fixed rising speed if “no constraints”, only reducing otherwise • Requires: distance estimations, time sensors faster healing speed reduced stability of values FLEX gradient [Bea09] • Idea: inequality relaxation (for smoothness), metric distortion (for healing speed) • Requires: distance estimations improved stability faster healing speed reduced precision Bounded Information Speed (BIS) gradient [ADV17] • Idea: enforcing a minimum information speed v • Use time distance T as a lower bound vT − R for space distance G • Requires: distance estimations, time sensors • Theorem: BIS with v equal to the avg SP info speed is optimal among SP algorithms R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 17 / 38
  • 27. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Rising problem: comparison of algorithms R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 18 / 38
  • 28. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Outline 1 General problem: effective SASO engineering » patterns Gradients: a key SASO pattern 2 Concrete framework: Aggregate Computing 3 State-of-art: state-of-art gradients and their dynamical performance 4 Contributions New MP-optimal gradient algorithm: SVD The “best” gradient algorithm to date: ULT 5 Conclusion R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 19 / 38
  • 29. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Outline 1 General problem: effective SASO engineering » patterns Gradients: a key SASO pattern 2 Concrete framework: Aggregate Computing 3 State-of-art: state-of-art gradients and their dynamical performance 4 Contributions New MP-optimal gradient algorithm: SVD The “best” gradient algorithm to date: ULT 5 Conclusion R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 20 / 38
  • 30. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Information speed: how fast information flows? information speed = space travelled over time elapsed R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 21 / 38
  • 31. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Information speed: how fast information flows? information speed = space travelled over time elapsed Single-Path (SP) Information Speed • Information flows through a spanning tree • Value in device depends on a single selected neighbour device • Typical when information from multiple devices cannot be easily aggregated • About R/2T if radius R and time period T R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 21 / 38
  • 32. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Information speed: how fast information flows? information speed = space travelled over time elapsed Single-Path (SP) Information Speed • Information flows through a spanning tree • Value in device depends on a single selected neighbour device • Typical when information from multiple devices cannot be easily aggregated • About R/2T if radius R and time period T Multi-Path (MP) Information Speed • Information flows through every link in a network • Value in device needs to be summarised from values in every neighbour device • “Light speed” which cannot be exceeded • Depends on network density and shape of time period distribution R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 21 / 38
  • 33. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Information speed: how fast information flows? information speed = space travelled over time elapsed Single-Path (SP) Information Speed • Information flows through a spanning tree • Value in device depends on a single selected neighbour device • Typical when information from multiple devices cannot be easily aggregated • About R/2T if radius R and time period T Multi-Path (MP) Information Speed • Information flows through every link in a network • Value in device needs to be summarised from values in every neighbour device • “Light speed” which cannot be exceeded • Depends on network density and shape of time period distribution ⇒ to improve over BIS we have to use some form of multi-path communication R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 21 / 38
  • 34. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion SVD gradient Stale Value Detection (SVD) gradient • Starts like Classic gradient • When obsolete information is detected, fast “reconfiguration” occurs • Basically, new information is preferred over old information • Theorem: SVD attains optimal reactivity among algorithms with a multi-path information flow modulo a fixed delay that depends on network parameters R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 22 / 38
  • 35. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion SVD gradient » implementation def SVD(source: Boolean, metric: => Double, lagMetric: => Double): Double = { val defaultDist = if(source) 0.0 else Double.PositiveInfinity val loc = (defaultDist, defaultDist, mid(), false) rep[(Double,Double,Int,Boolean)](loc) { case old (spaceDistEst, timeDistEst, sourceId, isObsolete) => { val allOthersObsolete = !excludingSelf.anyHood { !nbr{isObsolete} } val (newSpaceDistEst, newSourceId) = minHood { mux(nbr{isObsolete} && !allOthersObsolete) { (defaultDist, mid()) } { (nbr{spaceDistEst} + metric, nbr{sourceId}) } } val newTimeDistEst = minHood { mux(nbr{sourceId} != newSourceId){ defaultDist } { nbr { timeDistEst } + lagMetric } } val loop = newSourceId == mid() && newSpaceDistEst < defaultDist val newObsolete = detect(timestamp() - newTimeDistEst) || loop || excludingSelf.anyHood { nbr{isObsolete} && nbr{sourceId} == newSourceId && nbr{timeDistEst}+lagMetric < newTimeDistEst + 0.0001 } List((newSpaceDistEst, newTimeDistEst, newSourceId, newObsolete), loc).min } }._1 // Selects estimated distance } R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 23 / 38
  • 36. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion SVD gradient » implementation def detect(time: Double): Boolean = { // how much time is elapsed since the first time the current info // (originated from the source in time ’time’) reached the current device val repCount = rep(0.0) { old => if(Math.abs(time - delay(time)) < 0.0001) { old + deltaTime().toMillis } else { 0.0 } } repCount > rep[(Double, Double, Double)](2, 8, 16) { case (avg, sqa, bound) => // Estimate of the avg peak value for repCount, obtained by exponential filtering // with a factor 0.1 the peak values of repCount val newAvg = 0.9 * avg + 0.1 * delay(repCount) // Estimate of the average square of repCount peak values val newSqa = 0.9 * sqa + 0.1 * Math.pow(delay(repCount), 2) // Standard deviation val stdev = Math.sqrt(newSqa - Math.pow(newAvg, 2)) // New bound val newBound = newAvg + 7*stdev (newAvg, newSqa, newBound) }._3 // is obsolete? } R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 23 / 38
  • 37. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion SVD gradient vs. BIS SVD vs. BIS » approach • Approach: BIS uses incremental-repair; SVD uses invalidate-and-rebuild • Use of time-related information • BIS minimizes over space, just carrying along the lag (in single-path fashion) • SVD also minimizes over time (but in a multi-path fashion) R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 24 / 38
  • 38. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion SVD gradient vs. BIS SVD vs. BIS » approach • Approach: BIS uses incremental-repair; SVD uses invalidate-and-rebuild • Use of time-related information • BIS minimizes over space, just carrying along the lag (in single-path fashion) • SVD also minimizes over time (but in a multi-path fashion) SVD vs. BIS » performance • SVD has some fixed delay • SVD is more resource-demanding than BIS • Doesn’t mean we can’t do anything about that (see ULT) • SVD is not smooth • Doesn’t mean we can’t do anything about that (see ULT) • SVD usually heals faster than BIS • See Evaluation R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 24 / 38
  • 39. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Evaluation: SVD vs. BIS » setup Simulation technology • Supercomputer Occam [ABL+ 16], Alchemist simulator [PMV13], Protelis DSL [PVB15] Environment • Number of devices: 1000 • Average update rate: 1s • Devices disposed randomly in a K m × 20m corridor • Two fixed sources at both ends of the corridor. • At time t = 200, left source is abruptly disconnected. Input/output • Parameter: Space/time variability: 0(none), 0.5(medium), 1.0(high) • Parameter: Length of the corridor: [250, 1500]m • Parameter: Communication radius: [5, 15]m • Output: Precision: as absolute error wrt Euclidean distance R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 25 / 38
  • 40. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Evaluation: SVD vs. BIS » results ⇒ an increase in variability gives advantage to SVD ⇒ the length of the corridor does not influence the relative performance ⇒ when the communication radius is low, MP ≈ SP ⇒ BIS goes better R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 26 / 38
  • 41. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Outline 1 General problem: effective SASO engineering » patterns Gradients: a key SASO pattern 2 Concrete framework: Aggregate Computing 3 State-of-art: state-of-art gradients and their dynamical performance 4 Contributions New MP-optimal gradient algorithm: SVD The “best” gradient algorithm to date: ULT 5 Conclusion R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 27 / 38
  • 42. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion ULT gradient: idea metric gradient 1 damper 1 . . . gradient 2 damper 2 max filter R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 28 / 38
  • 43. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion ULT gradient: idea metric gradient 1 damper 1 . . . gradient 2 damper 2 max filter def ULT(src, metric, radius, speed, factor){ let svd = SVD(src, metric) let bis = BIS(src, metric, radius, speed) inertialFilter(max(svd, bis), factor) } R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 28 / 38
  • 44. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion ULT gradient: by composition of state-of-art techniques Metric correction – in order to prevent the speed bias • Adjust the metric by taking into account the speed of the device itself and its neighbours Output filtering – in order to improve smoothness • Exponential filters for nearly-static environments • Intertial filter for more dynamic environments • Uses a “change speed” estimate to set the filtering Combining fast-healing gradients – to quickly react on input discontinuities • BIS always outperforms Classic, FLEX, CRF • SVD usually better than BIS (not always) » ULT = max(BIS,SVD) FLEX-style damping: to decrease communication cost (and improve smoothness) • Can be applied onto any gradient computation R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 29 / 38
  • 45. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Evaluation: overall performance » scenario Environment • Number of devices: 1000 • Communication radius: 10m • Average update rate: 1s • Devices disposed randomly in a 500m × 20m corridor (network 50 hops wide) • Two fixed sources at both ends of the corridor. • At time t = 200, left source is abruptly disconnected. Input • Parameter: Space/time variability: 0(none), 0.5(medium), 1.0(high) Output • Precision: as absolute error wrt Euclidean distance • Smoothness (stability): as the absolute acceleration of values • Communication cost: number of values exchanged with neighbours • Assuming that steady values do not need to be broadcast R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 30 / 38
  • 46. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Evaluation: overall performance » results R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 31 / 38
  • 47. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Evaluation: overall performance » results Results • As variability increases, SVD outperforms BIS • Metric correction eliminates the systematic error due to speed bias • SVD has the worst peak in stability • Mitigated in ULT by the filter (achieving best stability in hi-var scenarios) • FLEX damping improves stability further and reduce communication cost • at the expense of a predictable systematic error • might still be convenient e.g. for computing while descending the gradient R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 32 / 38
  • 48. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Evaluation: on node counting through multi-spanning-tree collection R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 33 / 38
  • 49. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Evaluation: on node counting through multi-spanning-tree collection R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 33 / 38
  • 50. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Outline 1 General problem: effective SASO engineering » patterns Gradients: a key SASO pattern 2 Concrete framework: Aggregate Computing 3 State-of-art: state-of-art gradients and their dynamical performance 4 Contributions New MP-optimal gradient algorithm: SVD The “best” gradient algorithm to date: ULT 5 Conclusion R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 34 / 38
  • 51. Intro: SASO patterns Aggregate Computing State-of-art gradients: CRF, FLEX, BIS Contributions: SVD, ULT Conclusion Conclusion and future work Paper contributions • Make the point of state-of-art of gradient computations • New gradient algorithm (SVD) with optimal MP reactivity • New algorithm (ULT) with best performance trade-offs to date through • composition of fastest self-healing gradients (SVD, BIS) • fine-tuning techniques (metric correction, filtering, damping) • Analysis of gradient algorithms wrt • precision • stability • communication cost Future works • Estimation of the actual SP and MP speed in different networks • Specific implementation techniques to increase the speed of MP solutions • Empirical evaluation in large and realistic simulation scenarios R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 35 / 38
  • 52. Appendix References I [ABL+ 16] Marco Aldinucci, Stefano Bagnasco, Stefano Lusso, Paolo Pasteris, Sara Vallero, and Sergio Rabellino. The Open Computing Cluster for Advanced data Manipulation (occam). In The 22nd International Conference on Computing in High Energy and Nuclear Physics (CHEP), San Francisco, USA, 2016. [ADV17] Giorgio Audrito, Ferruccio Damiani, and Mirko Viroli. Optimally-self-healing distributed gradient structures through bounded information speed. In International Conference on Coordination Languages and Models, pages 59–77. Springer, Cham, 2017. [BBVT08] Jacob Beal, Jonathan Bachrach, Dan Vickery, and Mark Tobenkin. Fast self-healing gradients. In Proceedings of the 2008 ACM symposium on Applied computing, pages 1969–1975. ACM, 2008. R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 36 / 38
  • 53. Appendix References II [Bea09] Jacob Beal. Flexible self-healing gradients. In Proceedings of the 2009 ACM symposium on Applied Computing, pages 1197–1201. ACM, 2009. [BPV15] Jacob Beal, Danilo Pianini, and Mirko Viroli. Aggregate programming for the internet of things. IEEE Computer, 2015. [CV16] Roberto Casadei and Mirko Viroli. Towards aggregate programming in Scala. In First Workshop on Programming Models and Languages for Distributed Computing, PMLDC ’16, pages 5:1–5:7, New York, NY, USA, 2016. ACM. [FMSM+ 13] Jose Luis Fernandez-Marquez, Giovanna Di Marzo Serugendo, Sara Montagna, Mirko Viroli, and Josep Lluís Arcos. Description and composition of bio-inspired design patterns: a complete overview. Natural Computing, 12(1):43–67, 2013. R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 37 / 38
  • 54. Appendix References III [MPV12] Sara Montagna, Danilo Pianini, and Mirko Viroli. Gradient-based self-organisation patterns of anticipative adaptation. In Self-Adaptive and Self-Organizing Systems (SASO), 2012 IEEE Sixth International Conference on, pages 169–174. IEEE, 2012. [PMV13] Danilo Pianini, Sara Montagna, and Mirko Viroli. Chemical-oriented simulation of computational systems with Alchemist. Journal of Simulation, 2013. [PVB15] Danilo Pianini, Mirko Viroli, and Jacob Beal. Protelis: Practical aggregate programming. In Proceedings of ACM SAC 2015, pages 1846–1853, Salamanca, Spain, 2015. ACM. R. Casadei (Università di Bologna) Optimal Self-Healing Gradients SASO 2017 38 / 38