SlideShare a Scribd company logo
1 of 50
Download to read offline
Coordinating Computation at the Edge:
a Decentralized, Self-Organizing, Spatial Approach
Roberto Casadei, Mirko Viroli
ALMA MATER STUDIORUM–Università di Bologna, Cesena, Italy
FMEC’19, Rome, Italy
R. Casadei Introduction and Motivation Contribution Wrap-up 1/18
Outline
1 Introduction and Motivation
2 Contribution
3 Wrap-up
R. Casadei Introduction and Motivation Contribution Wrap-up 2/18
IoT / mobile / edge devices
R. Casadei Introduction and Motivation Contribution Wrap-up 3/18
P2P / mobile edge-cloud
R. Casadei Introduction and Motivation Contribution Wrap-up 3/18
many clouds
R. Casadei Introduction and Motivation Contribution Wrap-up 3/18
why edge-clouds?
exploit locality
no global connectivity
exploit resources (cf., volunteer computing)
R. Casadei Introduction and Motivation Contribution Wrap-up 4/18
why edge-clouds?
exploit locality
no global connectivity
exploit resources (cf., volunteer computing)
R. Casadei Introduction and Motivation Contribution Wrap-up 4/18
why edge-clouds?
exploit locality
no global connectivity
exploit resources (cf., volunteer computing)
R. Casadei Introduction and Motivation Contribution Wrap-up 4/18
why edge-clouds?
exploit locality
no global connectivity
exploit resources (cf., volunteer computing)
R. Casadei Introduction and Motivation Contribution Wrap-up 4/18
problem
decentralized coordination of edge resources and
computations in open scenarios with minimal
infrastructural/connectivity assumptions
R. Casadei Introduction and Motivation Contribution Wrap-up 5/18
problem
decentralized coordination of edge resources and
computations in open scenarios with minimal
infrastructural/connectivity assumptions
R. Casadei Introduction and Motivation Contribution Wrap-up 5/18
problem
decentralized coordination of edge resources and
computations in open scenarios with minimal
infrastructural/connectivity assumptions
R. Casadei Introduction and Motivation Contribution Wrap-up 5/18
problem
decentralized coordination of edge resources and
computations in open scenarios with minimal
infrastructural/connectivity assumptions
R. Casadei Introduction and Motivation Contribution Wrap-up 5/18
problem
decentralized coordination of edge resources and
computations in open scenarios with minimal
infrastructural/connectivity assumptions
issues
dynamicity self-*
little reliability resilience via self-*
little connectivity nbr-based communication
R. Casadei Introduction and Motivation Contribution Wrap-up 5/18
problem
decentralized coordination of edge resources and
computations in open scenarios with minimal
infrastructural/connectivity assumptions
issues
dynamicity self-*
little reliability resilience via self-*
little connectivity nbr-based communication
R. Casadei Introduction and Motivation Contribution Wrap-up 5/18
problem
decentralized coordination of edge resources and
computations in open scenarios with minimal
infrastructural/connectivity assumptions
issues
dynamicity self-*
little reliability resilience via self-*
little connectivity nbr-based communication
R. Casadei Introduction and Motivation Contribution Wrap-up 5/18
problem
decentralized coordination of edge resources and
computations in open scenarios with minimal
infrastructural/connectivity assumptions
issues
dynamicity self-*
little reliability resilience via self-*
little connectivity nbr-based communication
but also... what programming model?
R. Casadei Introduction and Motivation Contribution Wrap-up 5/18
Outline
1 Introduction and Motivation
2 Contribution
3 Wrap-up
R. Casadei Introduction and Motivation Contribution Wrap-up 6/18
Approach Overview
R. Casadei Introduction and Motivation Contribution Wrap-up 7/18
Background » Aggregate Computing [4, 10]
macro, spatial approach to CAS
development
computational field calculus
R. Casadei Introduction and Motivation Contribution Wrap-up 8/18
Background » Aggregate Computing [4, 10]
R. Casadei Introduction and Motivation Contribution Wrap-up 8/18
Background » Aggregate Computing [4, 10]
sensors
local functions
actuators
Application
Code
Developer
APIs
Field Calculus
Constructs
Resilient
Coordination
Operators
Device
Capabilities
functions repnbr
TGCfunctions
communication state
PerceptionPerception
summarize
average
regionMax
…
ActionAction StateState
Collective BehaviorCollective Behavior
distanceTo
broadcast
partition
…
timer
lowpass
recentTrue
…
collectivePerception
collectiveSummary
managementRegions
…
Crowd ManagementCrowd Management
dangerousDensity crowdTracking
crowdWarning safeDispersal
restriction
self­stabilisation
R. Casadei Introduction and Motivation Contribution Wrap-up 8/18
Background » Aggregate Computing [4, 10]
execution model (protocol)
“continuous” execution and coordination
async rounds of computation
async exchange of coordination data with neighbours
− full execution of the same aggregate program against a
“local context”
device state
sensor readings
neighbourhood coordination data
R. Casadei Introduction and Motivation Contribution Wrap-up 8/18
Background » Aggregate Computing [4, 10]
“hello world” example (gradient)
R. Casadei Introduction and Motivation Contribution Wrap-up 8/18
Background » Aggregate Computing [4, 10]
“hello world” example (gradient)
class MyProgram extends AggregateProgram {
override def main =
rep(Double.PositiveInfinityinfinity)(distance =>
mux(source){
0.0
}{
minHoodPlus( nbr{distance} + metric )))
}
)
}
R. Casadei Introduction and Motivation Contribution Wrap-up 8/18
Background » Aggregate Computing [4, 10]
“hello world” example (gradient)
abstraction & compositionality
class MyProgram extends AggregateProgram {
def gradient(source: Boolean, metric: => Double): Double =
rep(Double.PositiveInfinityinfinity)(distance =>
mux(source){
0.0
}{ minHoodPlus( nbr{distance} + metric ))) }
)
override def main =
branch(gradient(source) < threshold){ /*..*/ }{ /*..*/ }
}
R. Casadei Introduction and Motivation Contribution Wrap-up 8/18
Background » Aggregate Computing [4, 10]
nice things about aggregate
computing
predictable composition of emergent behaviour [3]
declarativity [11]
dynamic exec on available edge/cloud infrastructure
self-stabilization [9]
practical (see PLs/tools like ScaFi [5])
much more [10]
R. Casadei Introduction and Motivation Contribution Wrap-up 8/18
Edge Ecosystem Model
structure: dynamic, spatial areas
resource providers (workers) and consumers (users, clients)
manager nodes (leaders)
relay nodes (links)
R. Casadei Introduction and Motivation Contribution Wrap-up 9/18
Edge Ecosystem Model
structure: dynamic, spatial areas
resource providers (workers) and consumers (users, clients)
manager nodes (leaders)
relay nodes (links)
dynamics
dynamic election of leaders and formation of areas
data/event/request upstreaming (workers/consumers leaders)
control/data downstreaming (leaders workers/consumers)
R. Casadei Introduction and Motivation Contribution Wrap-up 9/18
Edge Ecosystem Model
structure: dynamic, spatial areas
resource providers (workers) and consumers (users, clients)
manager nodes (leaders)
relay nodes (links)
dynamics
dynamic election of leaders and formation of areas
data/event/request upstreaming (workers/consumers leaders)
control/data downstreaming (leaders workers/consumers)
properties
decentralised, neighbour-to-neighbour interaction
self-organisation
space-time evolution
R. Casadei Introduction and Motivation Contribution Wrap-up 9/18
Design Overview
R. Casadei Introduction and Motivation Contribution Wrap-up 10/18
combining various design patterns
decentralised, self-healing gradient [2]
decentralised, self-healing leader election [7]
information flows and feedback loops [6]
− information spreading [8]
− information collection [1]
R. Casadei Introduction and Motivation Contribution Wrap-up 11/18
Implementation Schema
class EdgeCloudCoordinationWorkflow extends AggregateProgram with ... {
// Some definitions (excluded for brevity)
def main = { // Entry point of the specification, to be interpreted in full every
round
// 1) Elect managers among powerful "fog" nodes; output is a bool field
val leaders = branch(FOG){ S(grain) }{ false } // 'true' in current leaders
branchOn(EDGE || FOG) {
// 2) Build the adaptive communication structure, based on a
// potential field pointing to leaders for information down-/up-streaming
val potential = branch(leaders || RELAY) { distanceTo(leaders) } { +∞ }
val cs = CommunicationStructure(leaders, potential)
// 3) Sets up a "continuous" feedback control loop base
rep(DownstreamData.empty){ case dFlow =>
val data = branchOn(isWorker || isConsumer){ execute(dFlow) }
val uFlow = dataUpstreaming(cs, data)
val controlData = branchOn(leaders){ processData(uFlow) }
dataDownstreaming(cs, controlData)
} } }
// Workers/clients receive instructions/events from leaders and produce data
def execute(dd: DownstreamData): Data
// Data/events produced by workers/clients has to be aggregated & streamed to leaders
def dataUpstreaming(cs: CommunicationStructure, data: Data): UpstreamData
// Leaders process upstream data/events and produce control instructions/events
def processData(ud: UpstreamData): ControlData
// Control instructions/events or area-wide information is sent around the area
def dataDownstreaming(cs: CommunicationStructure, cd: ControlData): DownstreamData
}
R. Casadei Introduction and Motivation Contribution Wrap-up 12/18
Toolchain and experiments
ScaFi: Aggregate Computing toolkit
https://github.com/scafi/scafi
Alchemist simulator
https://github.com/AlchemistSimulator/Alchemist
experiments repo
https://github.com/metaphori/fmec19-edgecloud
R. Casadei Introduction and Motivation Contribution Wrap-up 13/18
Case study
smart city environment
50 fog nodes
200 worker/relay nodes supporting 0-5 services
500 clients unevenly distributed
interaction in 50m range
peek of requests in timeframe [150, 250]
for each configuration, 30 simulation rounds
R. Casadei Introduction and Motivation Contribution Wrap-up 14/18
Case study
R. Casadei Introduction and Motivation Contribution Wrap-up 14/18
Basic evaluation: correctness of coordination
more leaders
lower load on relays/leaders
few leaders
higher load on relays/leaders
R. Casadei Introduction and Motivation Contribution Wrap-up 15/18
Basic evaluation: correctness of coordination
higher utilization of workers
area-wise
lower utilization of workers
area-wise
R. Casadei Introduction and Motivation Contribution Wrap-up 15/18
Basic evaluation: correctness of coordination
higher unavailability (declined
tasks) more retries
more services available in
each area
R. Casadei Introduction and Motivation Contribution Wrap-up 15/18
Outline
1 Introduction and Motivation
2 Contribution
3 Wrap-up
R. Casadei Introduction and Motivation Contribution Wrap-up 16/18
contribution
a decentralised, self-org, spatial, collective approach to
development of edge-clouds
aggregate computing implementation
example of a coordination pattern (SCR, @COORD’19)
R. Casadei Introduction and Motivation Contribution Wrap-up 17/18
contribution
a decentralised, self-org, spatial, collective approach to
development of edge-clouds
aggregate computing implementation
example of a coordination pattern (SCR, @COORD’19)
R. Casadei Introduction and Motivation Contribution Wrap-up 17/18
contribution
a decentralised, self-org, spatial, collective approach to
development of edge-clouds
aggregate computing implementation
example of a coordination pattern (SCR, @COORD’19)
R. Casadei Introduction and Motivation Contribution Wrap-up 17/18
contribution
a decentralised, self-org, spatial, collective approach to
development of edge-clouds
aggregate computing implementation
example of a coordination pattern (SCR, @COORD’19)
R. Casadei Introduction and Motivation Contribution Wrap-up 17/18
contribution
a decentralised, self-org, spatial, collective approach to
development of edge-clouds
aggregate computing implementation
example of a coordination pattern (SCR, @COORD’19)
future work
quantitative evaluation + smarter extensions
aggregate computing middleware
real-world case study
R. Casadei Introduction and Motivation Contribution Wrap-up 17/18
contribution
a decentralised, self-org, spatial, collective approach to
development of edge-clouds
aggregate computing implementation
example of a coordination pattern (SCR, @COORD’19)
future work
quantitative evaluation + smarter extensions
aggregate computing middleware
real-world case study
R. Casadei Introduction and Motivation Contribution Wrap-up 17/18
contribution
a decentralised, self-org, spatial, collective approach to
development of edge-clouds
aggregate computing implementation
example of a coordination pattern (SCR, @COORD’19)
future work
quantitative evaluation + smarter extensions
aggregate computing middleware
real-world case study
R. Casadei Introduction and Motivation Contribution Wrap-up 17/18
contribution
a decentralised, self-org, spatial, collective approach to
development of edge-clouds
aggregate computing implementation
example of a coordination pattern (SCR, @COORD’19)
future work
quantitative evaluation + smarter extensions
aggregate computing middleware
real-world case study
R. Casadei Introduction and Motivation Contribution Wrap-up 17/18
References (1/1)
[1] Giorgio Audrito et al. “Effective Collective Summarisation of Distributed Data in Mobile Multi-Agent
Systems”. In: Proceedings of the 18th International Conference on Autonomous Agents and
MultiAgent Systems. International Foundation for Autonomous Agents and Multiagent Systems.
2019, pp. 1618–1626.
[2] Giorgio Audrito et al. “Compositional blocks for optimal self-healing gradients”. In: Conf. on
Self-Adaptive and Self-Organizing Systems (SASO). IEEE. 2017, pp. 91–100.
[3] Giorgio Audrito et al. “A Higher-Order Calculus of Computational Fields”. In: ACM Transactions on
Computational Logic 20.1 (Jan. 2019), 5:1–5:55. ISSN: 1529-3785. DOI: 10.1145/3285956.
[4] Jacob Beal, Danilo Pianini, and Mirko Viroli. “Aggregate Programming for the Internet of Things”. In:
IEEE Computer (2015). ISSN: 1364-503X.
[5] Roberto Casadei, Danilo Pianini, and Mirko Viroli. “Simulating large-scale aggregate MASs with
Alchemist and Scala”. In: FedCSIS, Proceedings of. IEEE. 2016, pp. 1495–1504.
[6] Tom De Wolf and Tom Holvoet. “Designing self-organising emergent systems based on information
flows and feedback-loops”. In: Self-Adaptive and Self-Organizing Systems, 2007. SASO’07. 1st
Conf. on. IEEE. 2007, pp. 295–298.
[7] Yuanqiu Mo, Jacob Beal, and Soura Dasgupta. “An Aggregate Computing Approach to
Self-Stabilizing Leader Election”. In: 2018 IEEE 3rd International Workshops on Foundations and
Applications of Self* Systems (FAS* W). IEEE. 2018, pp. 112–117.
[8] Yuanqiu Mo, Soura Dasgupta, and Jacob Beal. “Robust Stability of Spreading Blocks in Aggregate
Computing”. In: 2018 IEEE Conference on Decision and Control (CDC). IEEE. 2018,
pp. 6007–6012.
R. Casadei Appendix References 18/18
References (2/1)
[9] Mirko Viroli et al. “Engineering Resilient Collective Adaptive Systems by Self-Stabilisation”. In: ACM
Transactions on Modeling and Computer Simulation 28.2 (2018), 16:1–16:28.
[10] Mirko Viroli et al. “From Field-Based Coordination to Aggregate Computing”. In: Int. Conf. on
Coordination Languages and Models. Springer. 2018, pp. 252–279.
[11] Mirko Viroli, Roberto Casadei, and Danilo Pianini. “On execution platforms for large-scale
aggregate computing”. In: UbiComp, Proceedings of. ACM. 2016, pp. 1321–1326.
R. Casadei Appendix References 19/18

More Related Content

What's hot

Aggregate Computing Platforms: Bridging the Gaps
Aggregate Computing Platforms: Bridging the GapsAggregate Computing Platforms: Bridging the Gaps
Aggregate Computing Platforms: Bridging the GapsRoberto Casadei
 
Bridging the Pervasive Computing Gap: An Aggregate Perspective
Bridging the Pervasive Computing Gap: An Aggregate PerspectiveBridging the Pervasive Computing Gap: An Aggregate Perspective
Bridging the Pervasive Computing Gap: An Aggregate PerspectiveRoberto Casadei
 
Collaborative Similarity Measure for Intra-Graph Clustering
Collaborative Similarity Measure for Intra-Graph ClusteringCollaborative Similarity Measure for Intra-Graph Clustering
Collaborative Similarity Measure for Intra-Graph ClusteringWaqas Nawaz
 
Research Away Day Jun 2009
Research Away Day Jun 2009Research Away Day Jun 2009
Research Away Day Jun 2009German Terrazas
 
Dynamic approach to k means clustering algorithm-2
Dynamic approach to k means clustering algorithm-2Dynamic approach to k means clustering algorithm-2
Dynamic approach to k means clustering algorithm-2IAEME Publication
 
Reducing Render Time in Ray Tracing by Pixel Averaging
Reducing Render Time in Ray Tracing by Pixel Averaging  Reducing Render Time in Ray Tracing by Pixel Averaging
Reducing Render Time in Ray Tracing by Pixel Averaging ijcga
 
REDUCING RENDER TIME IN RAY TRACING BY PIXEL AVERAGING
REDUCING RENDER TIME IN RAY TRACING BY PIXEL AVERAGINGREDUCING RENDER TIME IN RAY TRACING BY PIXEL AVERAGING
REDUCING RENDER TIME IN RAY TRACING BY PIXEL AVERAGINGijgca
 
DLD meetup 2017, Efficient Deep Learning
DLD meetup 2017, Efficient Deep LearningDLD meetup 2017, Efficient Deep Learning
DLD meetup 2017, Efficient Deep LearningBrodmann17
 
Recent advances on low-rank and sparse decomposition for moving object detection
Recent advances on low-rank and sparse decomposition for moving object detectionRecent advances on low-rank and sparse decomposition for moving object detection
Recent advances on low-rank and sparse decomposition for moving object detectionActiveEon
 
PADAL19: Runtime-Assisted Locality Abstraction Using Elastic Places and Virtu...
PADAL19: Runtime-Assisted Locality Abstraction Using Elastic Places and Virtu...PADAL19: Runtime-Assisted Locality Abstraction Using Elastic Places and Virtu...
PADAL19: Runtime-Assisted Locality Abstraction Using Elastic Places and Virtu...LEGATO project
 
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会Eiji Sekiya
 
ViT (Vision Transformer) Review [CDM]
ViT (Vision Transformer) Review [CDM]ViT (Vision Transformer) Review [CDM]
ViT (Vision Transformer) Review [CDM]Dongmin Choi
 
010_20160216_Variational Gaussian Process
010_20160216_Variational Gaussian Process010_20160216_Variational Gaussian Process
010_20160216_Variational Gaussian ProcessHa Phuong
 
End-to-End Object Detection with Transformers
End-to-End Object Detection with TransformersEnd-to-End Object Detection with Transformers
End-to-End Object Detection with TransformersSeunghyun Hwang
 
VIBE: Video Inference for Human Body Pose and Shape Estimation
VIBE: Video Inference for Human Body Pose and Shape EstimationVIBE: Video Inference for Human Body Pose and Shape Estimation
VIBE: Video Inference for Human Body Pose and Shape EstimationArithmer Inc.
 

What's hot (20)

Aggregate Computing Platforms: Bridging the Gaps
Aggregate Computing Platforms: Bridging the GapsAggregate Computing Platforms: Bridging the Gaps
Aggregate Computing Platforms: Bridging the Gaps
 
Bridging the Pervasive Computing Gap: An Aggregate Perspective
Bridging the Pervasive Computing Gap: An Aggregate PerspectiveBridging the Pervasive Computing Gap: An Aggregate Perspective
Bridging the Pervasive Computing Gap: An Aggregate Perspective
 
18 786
18 78618 786
18 786
 
Collaborative Similarity Measure for Intra-Graph Clustering
Collaborative Similarity Measure for Intra-Graph ClusteringCollaborative Similarity Measure for Intra-Graph Clustering
Collaborative Similarity Measure for Intra-Graph Clustering
 
50120140503004
5012014050300450120140503004
50120140503004
 
Research Away Day Jun 2009
Research Away Day Jun 2009Research Away Day Jun 2009
Research Away Day Jun 2009
 
Dynamic approach to k means clustering algorithm-2
Dynamic approach to k means clustering algorithm-2Dynamic approach to k means clustering algorithm-2
Dynamic approach to k means clustering algorithm-2
 
Reducing Render Time in Ray Tracing by Pixel Averaging
Reducing Render Time in Ray Tracing by Pixel Averaging  Reducing Render Time in Ray Tracing by Pixel Averaging
Reducing Render Time in Ray Tracing by Pixel Averaging
 
REDUCING RENDER TIME IN RAY TRACING BY PIXEL AVERAGING
REDUCING RENDER TIME IN RAY TRACING BY PIXEL AVERAGINGREDUCING RENDER TIME IN RAY TRACING BY PIXEL AVERAGING
REDUCING RENDER TIME IN RAY TRACING BY PIXEL AVERAGING
 
DLD meetup 2017, Efficient Deep Learning
DLD meetup 2017, Efficient Deep LearningDLD meetup 2017, Efficient Deep Learning
DLD meetup 2017, Efficient Deep Learning
 
Recent advances on low-rank and sparse decomposition for moving object detection
Recent advances on low-rank and sparse decomposition for moving object detectionRecent advances on low-rank and sparse decomposition for moving object detection
Recent advances on low-rank and sparse decomposition for moving object detection
 
PADAL19: Runtime-Assisted Locality Abstraction Using Elastic Places and Virtu...
PADAL19: Runtime-Assisted Locality Abstraction Using Elastic Places and Virtu...PADAL19: Runtime-Assisted Locality Abstraction Using Elastic Places and Virtu...
PADAL19: Runtime-Assisted Locality Abstraction Using Elastic Places and Virtu...
 
KL Algorithm
 KL Algorithm KL Algorithm
KL Algorithm
 
Deep 3D Visual Analysis - Javier Ruiz-Hidalgo - UPC Barcelona 2017
Deep 3D Visual Analysis - Javier Ruiz-Hidalgo - UPC Barcelona 2017Deep 3D Visual Analysis - Javier Ruiz-Hidalgo - UPC Barcelona 2017
Deep 3D Visual Analysis - Javier Ruiz-Hidalgo - UPC Barcelona 2017
 
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
 
ViT (Vision Transformer) Review [CDM]
ViT (Vision Transformer) Review [CDM]ViT (Vision Transformer) Review [CDM]
ViT (Vision Transformer) Review [CDM]
 
010_20160216_Variational Gaussian Process
010_20160216_Variational Gaussian Process010_20160216_Variational Gaussian Process
010_20160216_Variational Gaussian Process
 
Human parsing
Human parsingHuman parsing
Human parsing
 
End-to-End Object Detection with Transformers
End-to-End Object Detection with TransformersEnd-to-End Object Detection with Transformers
End-to-End Object Detection with Transformers
 
VIBE: Video Inference for Human Body Pose and Shape Estimation
VIBE: Video Inference for Human Body Pose and Shape EstimationVIBE: Video Inference for Human Body Pose and Shape Estimation
VIBE: Video Inference for Human Body Pose and Shape Estimation
 

Similar to Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spatial Approach

Programming Actor-based Collective Adaptive Systems
Programming Actor-based Collective Adaptive SystemsProgramming Actor-based Collective Adaptive Systems
Programming Actor-based Collective Adaptive SystemsRoberto 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
 
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
 
Aggregate Processes in Field Calculus
Aggregate Processes in Field CalculusAggregate Processes in Field Calculus
Aggregate Processes in Field CalculusRoberto 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
 
On Context-Orientation in Aggregate Programming
On Context-Orientation in Aggregate ProgrammingOn Context-Orientation in Aggregate Programming
On Context-Orientation in Aggregate ProgrammingRoberto 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
 
Aggregate Computing Research: an Overview
Aggregate Computing Research: an OverviewAggregate Computing Research: an Overview
Aggregate Computing Research: an OverviewRoberto 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
 
ScaFi-Web, A Web-Based application for Field-based Coordination
ScaFi-Web, A Web-Based application for Field-based CoordinationScaFi-Web, A Web-Based application for Field-based Coordination
ScaFi-Web, A Web-Based application for Field-based CoordinationGianluca Aguzzi
 
ICCT2017: A user mode implementation of filtering rule management plane using...
ICCT2017: A user mode implementation of filtering rule management plane using...ICCT2017: A user mode implementation of filtering rule management plane using...
ICCT2017: A user mode implementation of filtering rule management plane using...Ruo Ando
 
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
 
RESTifying WS-* Services: Case Study in RFID
RESTifying WS-* Services: Case Study in RFIDRESTifying WS-* Services: Case Study in RFID
RESTifying WS-* Services: Case Study in RFIDDominique Guinard
 
IRJET- A Review on K-Means++ Clustering Algorithm and Cloud Computing wit...
IRJET-  	  A Review on K-Means++ Clustering Algorithm and Cloud Computing wit...IRJET-  	  A Review on K-Means++ Clustering Algorithm and Cloud Computing wit...
IRJET- A Review on K-Means++ Clustering Algorithm and Cloud Computing wit...IRJET Journal
 
Compositional Blocks for Optimal Self-Healing Gradients
Compositional Blocks for Optimal Self-Healing GradientsCompositional Blocks for Optimal Self-Healing Gradients
Compositional Blocks for Optimal Self-Healing GradientsRoberto 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
 
Reconciling Event-Based Knowledge through RDF2VEC
Reconciling Event-Based Knowledge through RDF2VECReconciling Event-Based Knowledge through RDF2VEC
Reconciling Event-Based Knowledge through RDF2VECMehwish Alam
 

Similar to Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spatial Approach (20)

Programming Actor-based Collective Adaptive Systems
Programming Actor-based Collective Adaptive SystemsProgramming Actor-based Collective Adaptive Systems
Programming Actor-based Collective Adaptive Systems
 
Engineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoTEngineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoT
 
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...
 
Aggregate Processes in Field Calculus
Aggregate Processes in Field CalculusAggregate Processes in Field Calculus
Aggregate Processes in Field Calculus
 
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...
 
On Context-Orientation in Aggregate Programming
On Context-Orientation in Aggregate ProgrammingOn Context-Orientation in Aggregate Programming
On Context-Orientation in Aggregate Programming
 
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
 
Aggregate Computing Research: an Overview
Aggregate Computing Research: an OverviewAggregate Computing Research: an Overview
Aggregate Computing Research: an Overview
 
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) [...
 
Towards Edge Computing as a Service: Dynamic Formation of the Micro Data-Centers
Towards Edge Computing as a Service: Dynamic Formation of the Micro Data-CentersTowards Edge Computing as a Service: Dynamic Formation of the Micro Data-Centers
Towards Edge Computing as a Service: Dynamic Formation of the Micro Data-Centers
 
Netsoft19 Keynote: Fluid Network Planes
Netsoft19 Keynote: Fluid Network PlanesNetsoft19 Keynote: Fluid Network Planes
Netsoft19 Keynote: Fluid Network Planes
 
ScaFi-Web, A Web-Based application for Field-based Coordination
ScaFi-Web, A Web-Based application for Field-based CoordinationScaFi-Web, A Web-Based application for Field-based Coordination
ScaFi-Web, A Web-Based application for Field-based Coordination
 
ICCT2017: A user mode implementation of filtering rule management plane using...
ICCT2017: A user mode implementation of filtering rule management plane using...ICCT2017: A user mode implementation of filtering rule management plane using...
ICCT2017: A user mode implementation of filtering rule management plane using...
 
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...
 
The Enterprise Cloud
The Enterprise CloudThe Enterprise Cloud
The Enterprise Cloud
 
RESTifying WS-* Services: Case Study in RFID
RESTifying WS-* Services: Case Study in RFIDRESTifying WS-* Services: Case Study in RFID
RESTifying WS-* Services: Case Study in RFID
 
IRJET- A Review on K-Means++ Clustering Algorithm and Cloud Computing wit...
IRJET-  	  A Review on K-Means++ Clustering Algorithm and Cloud Computing wit...IRJET-  	  A Review on K-Means++ Clustering Algorithm and Cloud Computing wit...
IRJET- A Review on K-Means++ Clustering Algorithm and Cloud Computing wit...
 
Compositional Blocks for Optimal Self-Healing Gradients
Compositional Blocks for Optimal Self-Healing GradientsCompositional Blocks for Optimal Self-Healing Gradients
Compositional Blocks for Optimal Self-Healing Gradients
 
A Presentation of My Research Activity
A Presentation of My Research ActivityA Presentation of My Research Activity
A Presentation of My Research Activity
 
Reconciling Event-Based Knowledge through RDF2VEC
Reconciling Event-Based Knowledge through RDF2VECReconciling Event-Based Knowledge through RDF2VEC
Reconciling Event-Based Knowledge through RDF2VEC
 

More from Roberto 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
 
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
 
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
 
Testing: an Introduction and Panorama
Testing: an Introduction and PanoramaTesting: an Introduction and Panorama
Testing: an Introduction and PanoramaRoberto Casadei
 
AWS and Serverless Computing
AWS and Serverless ComputingAWS and Serverless Computing
AWS and Serverless ComputingRoberto 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
 
Spring Boot: a Quick Introduction
Spring Boot: a Quick IntroductionSpring Boot: a Quick Introduction
Spring Boot: a Quick IntroductionRoberto Casadei
 
Introduction to cloud-native application development: with Heroku and Spring ...
Introduction to cloud-native application development: with Heroku and Spring ...Introduction to cloud-native application development: with Heroku and Spring ...
Introduction to cloud-native application development: with Heroku and Spring ...Roberto Casadei
 

More from Roberto Casadei (12)

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
 
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
 
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...
 
Testing: an Introduction and Panorama
Testing: an Introduction and PanoramaTesting: an Introduction and Panorama
Testing: an Introduction and Panorama
 
AWS and Serverless Computing
AWS and Serverless ComputingAWS and Serverless Computing
AWS and Serverless Computing
 
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
 
NodeJS: an Introduction
NodeJS: an IntroductionNodeJS: an Introduction
NodeJS: an Introduction
 
Spring Boot: a Quick Introduction
Spring Boot: a Quick IntroductionSpring Boot: a Quick Introduction
Spring Boot: a Quick Introduction
 
Introduction to cloud-native application development: with Heroku and Spring ...
Introduction to cloud-native application development: with Heroku and Spring ...Introduction to cloud-native application development: with Heroku and Spring ...
Introduction to cloud-native application development: with Heroku and Spring ...
 

Recently uploaded

Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network DevicesChandrakantDivate1
 
Path loss model, OKUMURA Model, Hata Model
Path loss model, OKUMURA Model, Hata ModelPath loss model, OKUMURA Model, Hata Model
Path loss model, OKUMURA Model, Hata ModelDrAjayKumarYadav4
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"mphochane1998
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwaitjaanualu31
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiessarkmank1
 
Electromagnetic relays used for power system .pptx
Electromagnetic relays used for power system .pptxElectromagnetic relays used for power system .pptx
Electromagnetic relays used for power system .pptxNANDHAKUMARA10
 
fitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .pptfitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .pptAfnanAhmad53
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayEpec Engineered Technologies
 
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...ssuserdfc773
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...Amil baba
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...drmkjayanthikannan
 
8086 Microprocessor Architecture: 16-bit microprocessor
8086 Microprocessor Architecture: 16-bit microprocessor8086 Microprocessor Architecture: 16-bit microprocessor
8086 Microprocessor Architecture: 16-bit microprocessorAshwiniTodkar4
 
8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...josephjonse
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxSCMS School of Architecture
 
Augmented Reality (AR) with Augin Software.pptx
Augmented Reality (AR) with Augin Software.pptxAugmented Reality (AR) with Augin Software.pptx
Augmented Reality (AR) with Augin Software.pptxMustafa Ahmed
 

Recently uploaded (20)

Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Signal Processing and Linear System Analysis
Signal Processing and Linear System AnalysisSignal Processing and Linear System Analysis
Signal Processing and Linear System Analysis
 
Path loss model, OKUMURA Model, Hata Model
Path loss model, OKUMURA Model, Hata ModelPath loss model, OKUMURA Model, Hata Model
Path loss model, OKUMURA Model, Hata Model
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
Electromagnetic relays used for power system .pptx
Electromagnetic relays used for power system .pptxElectromagnetic relays used for power system .pptx
Electromagnetic relays used for power system .pptx
 
fitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .pptfitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .ppt
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 
8086 Microprocessor Architecture: 16-bit microprocessor
8086 Microprocessor Architecture: 16-bit microprocessor8086 Microprocessor Architecture: 16-bit microprocessor
8086 Microprocessor Architecture: 16-bit microprocessor
 
8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Augmented Reality (AR) with Augin Software.pptx
Augmented Reality (AR) with Augin Software.pptxAugmented Reality (AR) with Augin Software.pptx
Augmented Reality (AR) with Augin Software.pptx
 

Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spatial Approach

  • 1. Coordinating Computation at the Edge: a Decentralized, Self-Organizing, Spatial Approach Roberto Casadei, Mirko Viroli ALMA MATER STUDIORUM–Università di Bologna, Cesena, Italy FMEC’19, Rome, Italy R. Casadei Introduction and Motivation Contribution Wrap-up 1/18
  • 2. Outline 1 Introduction and Motivation 2 Contribution 3 Wrap-up R. Casadei Introduction and Motivation Contribution Wrap-up 2/18
  • 3. IoT / mobile / edge devices R. Casadei Introduction and Motivation Contribution Wrap-up 3/18
  • 4. P2P / mobile edge-cloud R. Casadei Introduction and Motivation Contribution Wrap-up 3/18
  • 5. many clouds R. Casadei Introduction and Motivation Contribution Wrap-up 3/18
  • 6. why edge-clouds? exploit locality no global connectivity exploit resources (cf., volunteer computing) R. Casadei Introduction and Motivation Contribution Wrap-up 4/18
  • 7. why edge-clouds? exploit locality no global connectivity exploit resources (cf., volunteer computing) R. Casadei Introduction and Motivation Contribution Wrap-up 4/18
  • 8. why edge-clouds? exploit locality no global connectivity exploit resources (cf., volunteer computing) R. Casadei Introduction and Motivation Contribution Wrap-up 4/18
  • 9. why edge-clouds? exploit locality no global connectivity exploit resources (cf., volunteer computing) R. Casadei Introduction and Motivation Contribution Wrap-up 4/18
  • 10. problem decentralized coordination of edge resources and computations in open scenarios with minimal infrastructural/connectivity assumptions R. Casadei Introduction and Motivation Contribution Wrap-up 5/18
  • 11. problem decentralized coordination of edge resources and computations in open scenarios with minimal infrastructural/connectivity assumptions R. Casadei Introduction and Motivation Contribution Wrap-up 5/18
  • 12. problem decentralized coordination of edge resources and computations in open scenarios with minimal infrastructural/connectivity assumptions R. Casadei Introduction and Motivation Contribution Wrap-up 5/18
  • 13. problem decentralized coordination of edge resources and computations in open scenarios with minimal infrastructural/connectivity assumptions R. Casadei Introduction and Motivation Contribution Wrap-up 5/18
  • 14. problem decentralized coordination of edge resources and computations in open scenarios with minimal infrastructural/connectivity assumptions issues dynamicity self-* little reliability resilience via self-* little connectivity nbr-based communication R. Casadei Introduction and Motivation Contribution Wrap-up 5/18
  • 15. problem decentralized coordination of edge resources and computations in open scenarios with minimal infrastructural/connectivity assumptions issues dynamicity self-* little reliability resilience via self-* little connectivity nbr-based communication R. Casadei Introduction and Motivation Contribution Wrap-up 5/18
  • 16. problem decentralized coordination of edge resources and computations in open scenarios with minimal infrastructural/connectivity assumptions issues dynamicity self-* little reliability resilience via self-* little connectivity nbr-based communication R. Casadei Introduction and Motivation Contribution Wrap-up 5/18
  • 17. problem decentralized coordination of edge resources and computations in open scenarios with minimal infrastructural/connectivity assumptions issues dynamicity self-* little reliability resilience via self-* little connectivity nbr-based communication but also... what programming model? R. Casadei Introduction and Motivation Contribution Wrap-up 5/18
  • 18. Outline 1 Introduction and Motivation 2 Contribution 3 Wrap-up R. Casadei Introduction and Motivation Contribution Wrap-up 6/18
  • 19. Approach Overview R. Casadei Introduction and Motivation Contribution Wrap-up 7/18
  • 20. Background » Aggregate Computing [4, 10] macro, spatial approach to CAS development computational field calculus R. Casadei Introduction and Motivation Contribution Wrap-up 8/18
  • 21. Background » Aggregate Computing [4, 10] R. Casadei Introduction and Motivation Contribution Wrap-up 8/18
  • 22. Background » Aggregate Computing [4, 10] sensors local functions actuators Application Code Developer APIs Field Calculus Constructs Resilient Coordination Operators Device Capabilities functions repnbr TGCfunctions communication state PerceptionPerception summarize average regionMax … ActionAction StateState Collective BehaviorCollective Behavior distanceTo broadcast partition … timer lowpass recentTrue … collectivePerception collectiveSummary managementRegions … Crowd ManagementCrowd Management dangerousDensity crowdTracking crowdWarning safeDispersal restriction self­stabilisation R. Casadei Introduction and Motivation Contribution Wrap-up 8/18
  • 23. Background » Aggregate Computing [4, 10] execution model (protocol) “continuous” execution and coordination async rounds of computation async exchange of coordination data with neighbours − full execution of the same aggregate program against a “local context” device state sensor readings neighbourhood coordination data R. Casadei Introduction and Motivation Contribution Wrap-up 8/18
  • 24. Background » Aggregate Computing [4, 10] “hello world” example (gradient) R. Casadei Introduction and Motivation Contribution Wrap-up 8/18
  • 25. Background » Aggregate Computing [4, 10] “hello world” example (gradient) class MyProgram extends AggregateProgram { override def main = rep(Double.PositiveInfinityinfinity)(distance => mux(source){ 0.0 }{ minHoodPlus( nbr{distance} + metric ))) } ) } R. Casadei Introduction and Motivation Contribution Wrap-up 8/18
  • 26. Background » Aggregate Computing [4, 10] “hello world” example (gradient) abstraction & compositionality class MyProgram extends AggregateProgram { def gradient(source: Boolean, metric: => Double): Double = rep(Double.PositiveInfinityinfinity)(distance => mux(source){ 0.0 }{ minHoodPlus( nbr{distance} + metric ))) } ) override def main = branch(gradient(source) < threshold){ /*..*/ }{ /*..*/ } } R. Casadei Introduction and Motivation Contribution Wrap-up 8/18
  • 27. Background » Aggregate Computing [4, 10] nice things about aggregate computing predictable composition of emergent behaviour [3] declarativity [11] dynamic exec on available edge/cloud infrastructure self-stabilization [9] practical (see PLs/tools like ScaFi [5]) much more [10] R. Casadei Introduction and Motivation Contribution Wrap-up 8/18
  • 28. Edge Ecosystem Model structure: dynamic, spatial areas resource providers (workers) and consumers (users, clients) manager nodes (leaders) relay nodes (links) R. Casadei Introduction and Motivation Contribution Wrap-up 9/18
  • 29. Edge Ecosystem Model structure: dynamic, spatial areas resource providers (workers) and consumers (users, clients) manager nodes (leaders) relay nodes (links) dynamics dynamic election of leaders and formation of areas data/event/request upstreaming (workers/consumers leaders) control/data downstreaming (leaders workers/consumers) R. Casadei Introduction and Motivation Contribution Wrap-up 9/18
  • 30. Edge Ecosystem Model structure: dynamic, spatial areas resource providers (workers) and consumers (users, clients) manager nodes (leaders) relay nodes (links) dynamics dynamic election of leaders and formation of areas data/event/request upstreaming (workers/consumers leaders) control/data downstreaming (leaders workers/consumers) properties decentralised, neighbour-to-neighbour interaction self-organisation space-time evolution R. Casadei Introduction and Motivation Contribution Wrap-up 9/18
  • 31. Design Overview R. Casadei Introduction and Motivation Contribution Wrap-up 10/18
  • 32. combining various design patterns decentralised, self-healing gradient [2] decentralised, self-healing leader election [7] information flows and feedback loops [6] − information spreading [8] − information collection [1] R. Casadei Introduction and Motivation Contribution Wrap-up 11/18
  • 33. Implementation Schema class EdgeCloudCoordinationWorkflow extends AggregateProgram with ... { // Some definitions (excluded for brevity) def main = { // Entry point of the specification, to be interpreted in full every round // 1) Elect managers among powerful "fog" nodes; output is a bool field val leaders = branch(FOG){ S(grain) }{ false } // 'true' in current leaders branchOn(EDGE || FOG) { // 2) Build the adaptive communication structure, based on a // potential field pointing to leaders for information down-/up-streaming val potential = branch(leaders || RELAY) { distanceTo(leaders) } { +∞ } val cs = CommunicationStructure(leaders, potential) // 3) Sets up a "continuous" feedback control loop base rep(DownstreamData.empty){ case dFlow => val data = branchOn(isWorker || isConsumer){ execute(dFlow) } val uFlow = dataUpstreaming(cs, data) val controlData = branchOn(leaders){ processData(uFlow) } dataDownstreaming(cs, controlData) } } } // Workers/clients receive instructions/events from leaders and produce data def execute(dd: DownstreamData): Data // Data/events produced by workers/clients has to be aggregated & streamed to leaders def dataUpstreaming(cs: CommunicationStructure, data: Data): UpstreamData // Leaders process upstream data/events and produce control instructions/events def processData(ud: UpstreamData): ControlData // Control instructions/events or area-wide information is sent around the area def dataDownstreaming(cs: CommunicationStructure, cd: ControlData): DownstreamData } R. Casadei Introduction and Motivation Contribution Wrap-up 12/18
  • 34. Toolchain and experiments ScaFi: Aggregate Computing toolkit https://github.com/scafi/scafi Alchemist simulator https://github.com/AlchemistSimulator/Alchemist experiments repo https://github.com/metaphori/fmec19-edgecloud R. Casadei Introduction and Motivation Contribution Wrap-up 13/18
  • 35. Case study smart city environment 50 fog nodes 200 worker/relay nodes supporting 0-5 services 500 clients unevenly distributed interaction in 50m range peek of requests in timeframe [150, 250] for each configuration, 30 simulation rounds R. Casadei Introduction and Motivation Contribution Wrap-up 14/18
  • 36. Case study R. Casadei Introduction and Motivation Contribution Wrap-up 14/18
  • 37. Basic evaluation: correctness of coordination more leaders lower load on relays/leaders few leaders higher load on relays/leaders R. Casadei Introduction and Motivation Contribution Wrap-up 15/18
  • 38. Basic evaluation: correctness of coordination higher utilization of workers area-wise lower utilization of workers area-wise R. Casadei Introduction and Motivation Contribution Wrap-up 15/18
  • 39. Basic evaluation: correctness of coordination higher unavailability (declined tasks) more retries more services available in each area R. Casadei Introduction and Motivation Contribution Wrap-up 15/18
  • 40. Outline 1 Introduction and Motivation 2 Contribution 3 Wrap-up R. Casadei Introduction and Motivation Contribution Wrap-up 16/18
  • 41. contribution a decentralised, self-org, spatial, collective approach to development of edge-clouds aggregate computing implementation example of a coordination pattern (SCR, @COORD’19) R. Casadei Introduction and Motivation Contribution Wrap-up 17/18
  • 42. contribution a decentralised, self-org, spatial, collective approach to development of edge-clouds aggregate computing implementation example of a coordination pattern (SCR, @COORD’19) R. Casadei Introduction and Motivation Contribution Wrap-up 17/18
  • 43. contribution a decentralised, self-org, spatial, collective approach to development of edge-clouds aggregate computing implementation example of a coordination pattern (SCR, @COORD’19) R. Casadei Introduction and Motivation Contribution Wrap-up 17/18
  • 44. contribution a decentralised, self-org, spatial, collective approach to development of edge-clouds aggregate computing implementation example of a coordination pattern (SCR, @COORD’19) R. Casadei Introduction and Motivation Contribution Wrap-up 17/18
  • 45. contribution a decentralised, self-org, spatial, collective approach to development of edge-clouds aggregate computing implementation example of a coordination pattern (SCR, @COORD’19) future work quantitative evaluation + smarter extensions aggregate computing middleware real-world case study R. Casadei Introduction and Motivation Contribution Wrap-up 17/18
  • 46. contribution a decentralised, self-org, spatial, collective approach to development of edge-clouds aggregate computing implementation example of a coordination pattern (SCR, @COORD’19) future work quantitative evaluation + smarter extensions aggregate computing middleware real-world case study R. Casadei Introduction and Motivation Contribution Wrap-up 17/18
  • 47. contribution a decentralised, self-org, spatial, collective approach to development of edge-clouds aggregate computing implementation example of a coordination pattern (SCR, @COORD’19) future work quantitative evaluation + smarter extensions aggregate computing middleware real-world case study R. Casadei Introduction and Motivation Contribution Wrap-up 17/18
  • 48. contribution a decentralised, self-org, spatial, collective approach to development of edge-clouds aggregate computing implementation example of a coordination pattern (SCR, @COORD’19) future work quantitative evaluation + smarter extensions aggregate computing middleware real-world case study R. Casadei Introduction and Motivation Contribution Wrap-up 17/18
  • 49. References (1/1) [1] Giorgio Audrito et al. “Effective Collective Summarisation of Distributed Data in Mobile Multi-Agent Systems”. In: Proceedings of the 18th International Conference on Autonomous Agents and MultiAgent Systems. International Foundation for Autonomous Agents and Multiagent Systems. 2019, pp. 1618–1626. [2] Giorgio Audrito et al. “Compositional blocks for optimal self-healing gradients”. In: Conf. on Self-Adaptive and Self-Organizing Systems (SASO). IEEE. 2017, pp. 91–100. [3] Giorgio Audrito et al. “A Higher-Order Calculus of Computational Fields”. In: ACM Transactions on Computational Logic 20.1 (Jan. 2019), 5:1–5:55. ISSN: 1529-3785. DOI: 10.1145/3285956. [4] Jacob Beal, Danilo Pianini, and Mirko Viroli. “Aggregate Programming for the Internet of Things”. In: IEEE Computer (2015). ISSN: 1364-503X. [5] Roberto Casadei, Danilo Pianini, and Mirko Viroli. “Simulating large-scale aggregate MASs with Alchemist and Scala”. In: FedCSIS, Proceedings of. IEEE. 2016, pp. 1495–1504. [6] Tom De Wolf and Tom Holvoet. “Designing self-organising emergent systems based on information flows and feedback-loops”. In: Self-Adaptive and Self-Organizing Systems, 2007. SASO’07. 1st Conf. on. IEEE. 2007, pp. 295–298. [7] Yuanqiu Mo, Jacob Beal, and Soura Dasgupta. “An Aggregate Computing Approach to Self-Stabilizing Leader Election”. In: 2018 IEEE 3rd International Workshops on Foundations and Applications of Self* Systems (FAS* W). IEEE. 2018, pp. 112–117. [8] Yuanqiu Mo, Soura Dasgupta, and Jacob Beal. “Robust Stability of Spreading Blocks in Aggregate Computing”. In: 2018 IEEE Conference on Decision and Control (CDC). IEEE. 2018, pp. 6007–6012. R. Casadei Appendix References 18/18
  • 50. References (2/1) [9] Mirko Viroli et al. “Engineering Resilient Collective Adaptive Systems by Self-Stabilisation”. In: ACM Transactions on Modeling and Computer Simulation 28.2 (2018), 16:1–16:28. [10] Mirko Viroli et al. “From Field-Based Coordination to Aggregate Computing”. In: Int. Conf. on Coordination Languages and Models. Springer. 2018, pp. 252–279. [11] Mirko Viroli, Roberto Casadei, and Danilo Pianini. “On execution platforms for large-scale aggregate computing”. In: UbiComp, Proceedings of. ACM. 2016, pp. 1321–1326. R. Casadei Appendix References 19/18