SlideShare a Scribd company logo
1 of 28
Robust and Tuneable Family
of Gossiping Algorithms
Vincenzo De Florio

http://www.pats.ua.ac.be/vincenzo.deflorio
The 20th Euromicro Int.l Conference on Parallel, Distributed and Network-Based Computing
Garching, February 16, 2012
Structure
• Introduction – main key words
• Definitions, goals, and assumptions
• Algorithms and tuning algorithms
• Conclusions and lessons learned
Robust and Tuneable Family
of Gossiping Algorithms:
three key words

Gossiping

Tuneable

Robust
Introduction (1/4)
Gossiping
• All-to-all pairwise IPC
• Every member of a set
communicates a
private value to all
other members

• Useful e.g. in
restoring organs,
distributed consensus,
interactive consistency...

Introduction (2/4)
Tuneable
• An example of a tuneable algorithm
o An application layer "knob"
to select certain behaviours
rather than others

o

Explicit knob:
one we are aware of
and know how to steer

o

(As opposed to a hidden knob:
one that we don't know it exists
nor how to use!)
Introduction (3/4)
Robust
• A robust knob: one that allows
• persistence of certain behaviours despite changes in the
context
• to match fundamental assumptions regarding the
environment in which the system operates [Jen04]
• An in particular, to match dynamically changing
assumptions: robustness throughout system evolution
 Resilience

Introduction (4/4)
Definitions
• Contextual parallelism (CP): the physical parallelism
available in the system and the network
• Algorithmic parallelism (AP): the number of independent
"threads" of activity expressed by an algorithm
• Algorithmic undershooting:
AP < CP
o The algorithm under-utilizes the available resources
(sub-optimal behaviour)
• Algorithmic overshooting:
AP > CP
o The algorithm requests more resources than physically
available
o Unnecessary burden for system/network layers : request
queues overloading, flooding, collisions, ...
o One needs complexity just to deal with the overhead
one introduces!
Definitions, goals, assumptions (1/5)
Main design goal
• Dynamically robust tuning:
o Optimal match between AP and CP over time
o Dynamic avoidance of shortcoming or excess
of algorithmic parallelism

Definitions, goals, assumptions (2/5)
Assumptions
•
•
•
•

N + 1 processors (N>1)
Full-duplex point-to-point communication lines
Communication: synchronous and blocking
Processors are uniquely identified by
integer labels ∈ IN = {0, ..., N}

• Each processor pi owns some local data vi
• Each processor requires the other processors’ local data
and then executes some algorithm (e.g. voting)
• Events occur by discrete time steps

Definitions, goals, assumptions (3/5)
State templates
• WR state. A process is waiting for the arrival of a message
from some processor.
• Lasts zero or more time steps
• R state. Process i receiving at time t a message from
process j is said to be in state Rj . This is represented
as i Rt j
• Lasts one step
• WS state. Process i waiting to send process j its message
is said to be in state WSj .
• Lasts zero or more time steps
• S state. Process i is at time t in state Sj when it is sending
a message to process j. This is represented as i St j
• Lasts one time step

Definitions, goals, assumptions (4/5)
Index permutation
• Process i owns an index permutation, i.e. an array whose
members are permutations of
{ 0, …, i -1, i +1, …, N }

• P = { P1, …, PN } is used to represent the index
permutation

Definitions, goals, assumptions (5/5)
Algorithm – first formulation
Process i executes:

i times

Index is
P

N times

N – i times

Algorithm – v1.0 (1/4)
Properties
• Whatever the index permutation, the algorithm does work
• In [DeBl06] we analyzed the efficiency of the algorithm
when P takes a given structure
• In particular,
• When P is the identity permutation :
P = { 0, ..., i - 1, i + 1, ..., N }
• When P is the pipelined permutation :
P = { i + 1, ..., N, 0, ..., i - 1 }

Algorithm – v1.0 (2/4)
Identity permutation, N = 5

• Table = transcript of states
• e.g. Proc. 3 at step 8 receives from proc 1 = 3 R8 1
• Arrow-to-the-left = WR; arrow-to-the-right = WS
• AP = about 2.31
• Asymptotic value of AP(N) = 8/3
Algorithm – v1.0 (3/4)
Pipelined permutation, N = 9

• AP = 6
• Asymptotic value of AP(N) = 2 (N+1) / 3
• Multiple consecutive sessions sustain the steady state

Algorithm – v1.0 (4/4)
Algorithm, take 2
i times

Select
a “lane”

N times

N – i times

Algorithm – v2.0 (1/3)
Algorithm, v2.0
• In what follows we consider just two types of “lanes”:
either with identity or with pipelined permutations
• We assign H% to pipelined and (100-H)% to identity
• (H for “Hybrid”)
• Results:
• AP(identity) ≤ AP(H) ≤ AP(pipelined)
• AP(H) increases with H

Algorithm – v2.0 (2/3)
Algorithm, v2.0

Algorithm – v2.0 (3/3)
Observations
This paves the way to context aware adaptation:
A MAPE adaptation loop:

M: Estimate CP(now)
A: assess how AP(now) matches CP(now):
Case of overshooting? Case of undershooting?
P: If *-shooting, select H% so as to make
AP(now') “closer” to CP(now)
E: use Algorithm v2.0 with selected H%
so as to guarantee our design goals
(dynamic robust tuning)

Observations (1/2)
Observation
• Instead of running Alg. v2.0 to compute AP values, we
may use offline-computed values:
M(N,h) = AP
• A look-up table storing the algorithmic parallelism
corresponding to CP(t) = N and H% = h

Observations (2/2)
Adaptation algorithms
• Algorithm “Tune AP after CP”, v.1
Input:
CP(t), N, M( (N, h) → AP )
Output:
H% best matching CP(now())
begin
cp  sense(CP(now())
H  min{h | M(N,h) >= cp}

// cp is now the current
// physical parallelism
// H: sample
// corresponding to
// the supremum

return H
end .
• Observation: A “growing” look-up table would allow to
keep track of past decisions
• growMap (M, new ( (N, h) → AP ) )
Robust tuning (1/4)
Adaptation algorithms
• Algorithm “Tune AP after CP”, v.2
Input:
CP(t), N, M( (N, h) → AP )
Output:
H% best matching CP(now())
begin
cp  sense(CP(now())
sup  min {h | M(N,h) >= cp}
if M(N,sup) == cp then return sup end-if
// M(N,sup) > cp
inf  max {h | M(N,h) < sup}
newH  ( M(N,sup) - M(N,inf) ) / 2
ap  compute(newH) // executes a run
// and returns the AP
growMap (M, (N,newH)  ap )
return newH
end .

Robust tuning (2/4)
Run of adaptation algorithm v2, N=200

Robust tuning (3/4)
7. 1
50
75
81.5
84.5
86
87.5
100

2.653465
5.170751
8.621984
11.018227
12.753807
13.876424
15.241706
134

2.653465
8. 1
5.170751
50
8.621984
75
11.018227
81.5
12.753807
84.5
15.241706
85
134
86
87.5
100

2.653465
5.170751
8.621984
11.018227
12.753807
13.105134
13.876424
15.241706
134

A run of algorithm v2
1.

1
100

2.653465 5. 1
134
50
75
2. 1
2.653465
81.5
50
5.170751
87.5
100 134
100
3. 1
2.653465 6. 1
50
5.170751
50
75
8.621984
75
100 134
81.5
84.5
4. 1
2.653465
87.5
50
5.170751
100
75
8.621984
87.5 15.241706
100 134

2.653465
5.170751
8.621984
11.018227
15.241706
134

Robust tuning (4/4)
Conclusions & Lessons Learned
• An application-layer “knob” to tune algorithmic parallelism
• A knob that allows us to achieve robustness throughout
system evolution (ability to match dynamically changing
assumptions) = resilience

Conclusions (1/3)
Conclusions & Lessons Learned
• When performing e.g. cross-layer adaptation, one deals with
many intertwined VMs
• Application layer, application server layer, OS, the
network layers, the HW...
Stigmergy everywhere!
• These VMs may appear to the adaptation engineer as
• White boxes: known robust knobs we are aware of
• Grey boxes: known knobs we are partially aware of
• Black boxes: hidden knobs
• Excluding the application layer (the algorithm) locks in to
inefficiency or non-robustness
We need to expose the algorithmic knobs!
Sort of an “End-to-end Argument” in system evolution
[SaRC84]
Conclusions (2/3)
Main sources
[SaRC84] Saltzer, Reed & Clark, “End-to-End Arguments in
System Design,” ACM Trans. on Computer Systems 2:4
(1984)
[Jen04] E. Jen, “Stable or robust? What’s the difference?” In
E. Jen, editor, Robust Design: A repertoire of
biological, ecological, and engineering case studies,
Oxford University Press, 2004.
[DeBl06] V. De Florio & C. Blondia, “The Algorithm of Pipelined
Gossiping,” Journal of Systems Architecture 52:4, 2006

Conclusions (3/3)
Systems robust throughout their evolution:

More info: http://www.igi-global.com/ijaras

More Related Content

What's hot

SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingAmr E. Mohamed
 
Distribution systems efficiency
Distribution systems efficiencyDistribution systems efficiency
Distribution systems efficiencyAlexander Decker
 
Binary obfuscation using signals
Binary obfuscation using signalsBinary obfuscation using signals
Binary obfuscation using signalsUltraUploader
 
program partitioning and scheduling IN Advanced Computer Architecture
program partitioning and scheduling  IN Advanced Computer Architectureprogram partitioning and scheduling  IN Advanced Computer Architecture
program partitioning and scheduling IN Advanced Computer ArchitecturePankaj Kumar Jain
 
PEEC based electromagnetic simulator
PEEC based electromagnetic simulator PEEC based electromagnetic simulator
PEEC based electromagnetic simulator Swapnil Gaul
 
SCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICE
SCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICESCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICE
SCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICEijait
 
Fault Tolerant and Distributed System
Fault Tolerant and Distributed SystemFault Tolerant and Distributed System
Fault Tolerant and Distributed Systemsreenivas1591
 
ECG beats classification using multiclass SVMs with ECOC
ECG beats classification using multiclass SVMs with ECOCECG beats classification using multiclass SVMs with ECOC
ECG beats classification using multiclass SVMs with ECOCYomna Mahmoud Ibrahim Hassan
 
Distributed Middleware Reliability & Fault Tolerance Support in System S
Distributed Middleware Reliability & Fault Tolerance Support in System SDistributed Middleware Reliability & Fault Tolerance Support in System S
Distributed Middleware Reliability & Fault Tolerance Support in System SHarini Sirisena
 
An fpga implementation of the lms adaptive filter
An fpga implementation of the lms adaptive filterAn fpga implementation of the lms adaptive filter
An fpga implementation of the lms adaptive filtereSAT Publishing House
 
An fpga implementation of the lms adaptive filter
An fpga implementation of the lms adaptive filter An fpga implementation of the lms adaptive filter
An fpga implementation of the lms adaptive filter eSAT Journals
 
Program and Network Properties
Program and Network PropertiesProgram and Network Properties
Program and Network PropertiesBeekrum Duwal
 
Lec 4 (program and network properties)
Lec 4 (program and network properties)Lec 4 (program and network properties)
Lec 4 (program and network properties)Sudarshan Mondal
 

What's hot (20)

Chapter 12
Chapter 12Chapter 12
Chapter 12
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software Testing
 
Distribution systems efficiency
Distribution systems efficiencyDistribution systems efficiency
Distribution systems efficiency
 
Binary obfuscation using signals
Binary obfuscation using signalsBinary obfuscation using signals
Binary obfuscation using signals
 
program partitioning and scheduling IN Advanced Computer Architecture
program partitioning and scheduling  IN Advanced Computer Architectureprogram partitioning and scheduling  IN Advanced Computer Architecture
program partitioning and scheduling IN Advanced Computer Architecture
 
PEEC based electromagnetic simulator
PEEC based electromagnetic simulator PEEC based electromagnetic simulator
PEEC based electromagnetic simulator
 
SCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICE
SCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICESCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICE
SCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICE
 
Fault Tolerant and Distributed System
Fault Tolerant and Distributed SystemFault Tolerant and Distributed System
Fault Tolerant and Distributed System
 
Real time-embedded-system-lec-05
Real time-embedded-system-lec-05Real time-embedded-system-lec-05
Real time-embedded-system-lec-05
 
ECG beats classification using multiclass SVMs with ECOC
ECG beats classification using multiclass SVMs with ECOCECG beats classification using multiclass SVMs with ECOC
ECG beats classification using multiclass SVMs with ECOC
 
Ch12
Ch12Ch12
Ch12
 
Fault tolerance
Fault toleranceFault tolerance
Fault tolerance
 
Real time-embedded-system-lec-02
Real time-embedded-system-lec-02Real time-embedded-system-lec-02
Real time-embedded-system-lec-02
 
Distributed Middleware Reliability & Fault Tolerance Support in System S
Distributed Middleware Reliability & Fault Tolerance Support in System SDistributed Middleware Reliability & Fault Tolerance Support in System S
Distributed Middleware Reliability & Fault Tolerance Support in System S
 
Real time-embedded-system-lec-04
Real time-embedded-system-lec-04Real time-embedded-system-lec-04
Real time-embedded-system-lec-04
 
An fpga implementation of the lms adaptive filter
An fpga implementation of the lms adaptive filterAn fpga implementation of the lms adaptive filter
An fpga implementation of the lms adaptive filter
 
An fpga implementation of the lms adaptive filter
An fpga implementation of the lms adaptive filter An fpga implementation of the lms adaptive filter
An fpga implementation of the lms adaptive filter
 
Deployment
DeploymentDeployment
Deployment
 
Program and Network Properties
Program and Network PropertiesProgram and Network Properties
Program and Network Properties
 
Lec 4 (program and network properties)
Lec 4 (program and network properties)Lec 4 (program and network properties)
Lec 4 (program and network properties)
 

Viewers also liked

SAFETY ENHANCEMENT THROUGH SITUATION-AWARE USER INTERFACES
SAFETY ENHANCEMENT THROUGH SITUATION-AWARE USER INTERFACESSAFETY ENHANCEMENT THROUGH SITUATION-AWARE USER INTERFACES
SAFETY ENHANCEMENT THROUGH SITUATION-AWARE USER INTERFACESVincenzo De Florio
 
Seminarie Computernetwerken 2012-2013: Lecture I, 26-02-2013
Seminarie Computernetwerken 2012-2013: Lecture I, 26-02-2013Seminarie Computernetwerken 2012-2013: Lecture I, 26-02-2013
Seminarie Computernetwerken 2012-2013: Lecture I, 26-02-2013Vincenzo De Florio
 
How Resilient Are Our Societies? Analyses, Models, Preliminary Results
How Resilient Are Our Societies?Analyses, Models, Preliminary ResultsHow Resilient Are Our Societies?Analyses, Models, Preliminary Results
How Resilient Are Our Societies? Analyses, Models, Preliminary ResultsVincenzo De Florio
 
On codes, machines, and environments: reflections and experiences
On codes, machines, and environments: reflections and experiencesOn codes, machines, and environments: reflections and experiences
On codes, machines, and environments: reflections and experiencesVincenzo De Florio
 
Tapping Into the Wells of Social Energy: A Case Study Based on Falls Identifi...
Tapping Into the Wells of Social Energy: A Case Study Based on Falls Identifi...Tapping Into the Wells of Social Energy: A Case Study Based on Falls Identifi...
Tapping Into the Wells of Social Energy: A Case Study Based on Falls Identifi...Vincenzo De Florio
 

Viewers also liked (8)

Alft
AlftAlft
Alft
 
SAFETY ENHANCEMENT THROUGH SITUATION-AWARE USER INTERFACES
SAFETY ENHANCEMENT THROUGH SITUATION-AWARE USER INTERFACESSAFETY ENHANCEMENT THROUGH SITUATION-AWARE USER INTERFACES
SAFETY ENHANCEMENT THROUGH SITUATION-AWARE USER INTERFACES
 
Seminarie Computernetwerken 2012-2013: Lecture I, 26-02-2013
Seminarie Computernetwerken 2012-2013: Lecture I, 26-02-2013Seminarie Computernetwerken 2012-2013: Lecture I, 26-02-2013
Seminarie Computernetwerken 2012-2013: Lecture I, 26-02-2013
 
How Resilient Are Our Societies? Analyses, Models, Preliminary Results
How Resilient Are Our Societies?Analyses, Models, Preliminary ResultsHow Resilient Are Our Societies?Analyses, Models, Preliminary Results
How Resilient Are Our Societies? Analyses, Models, Preliminary Results
 
On codes, machines, and environments: reflections and experiences
On codes, machines, and environments: reflections and experiencesOn codes, machines, and environments: reflections and experiences
On codes, machines, and environments: reflections and experiences
 
Hpcn97
Hpcn97Hpcn97
Hpcn97
 
Parallel dependablealg
Parallel dependablealgParallel dependablealg
Parallel dependablealg
 
Tapping Into the Wells of Social Energy: A Case Study Based on Falls Identifi...
Tapping Into the Wells of Social Energy: A Case Study Based on Falls Identifi...Tapping Into the Wells of Social Energy: A Case Study Based on Falls Identifi...
Tapping Into the Wells of Social Energy: A Case Study Based on Falls Identifi...
 

Similar to Robust and Tuneable Family of Gossiping Algorithms

Frequency Response with MATLAB Examples.pdf
Frequency Response with MATLAB Examples.pdfFrequency Response with MATLAB Examples.pdf
Frequency Response with MATLAB Examples.pdfSunil Manjani
 
detail of flowchart and algorithm that are used in programmingpdf
detail of flowchart and algorithm that are used in programmingpdfdetail of flowchart and algorithm that are used in programmingpdf
detail of flowchart and algorithm that are used in programmingpdfssuserf86fba
 
Algorithm Flowchart Manual ALGORITHM FLOWCHART MANUAL For STUDENTS
Algorithm   Flowchart Manual ALGORITHM   FLOWCHART MANUAL For STUDENTSAlgorithm   Flowchart Manual ALGORITHM   FLOWCHART MANUAL For STUDENTS
Algorithm Flowchart Manual ALGORITHM FLOWCHART MANUAL For STUDENTSAlicia Edwards
 
Ch7 OS
Ch7 OSCh7 OS
Ch7 OSC.U
 
Data Structures- Part2 analysis tools
Data Structures- Part2 analysis toolsData Structures- Part2 analysis tools
Data Structures- Part2 analysis toolsAbdullah Al-hazmy
 
Problem solving using computers - Unit 1 - Study material
Problem solving using computers - Unit 1 - Study materialProblem solving using computers - Unit 1 - Study material
Problem solving using computers - Unit 1 - Study materialTo Sum It Up
 
Algorithm analysis and design
Algorithm analysis and designAlgorithm analysis and design
Algorithm analysis and designMegha V
 
k10790 nilesh prajapati control me 6th sem
k10790 nilesh prajapati control me 6th semk10790 nilesh prajapati control me 6th sem
k10790 nilesh prajapati control me 6th semharshprajapati12
 
Introduction to design and analysis of algorithm
Introduction to design and analysis of algorithmIntroduction to design and analysis of algorithm
Introduction to design and analysis of algorithmDevaKumari Vijay
 
DAA-Unit1.pptx
DAA-Unit1.pptxDAA-Unit1.pptx
DAA-Unit1.pptxNishaS88
 
04 image transformations_ii
04 image transformations_ii04 image transformations_ii
04 image transformations_iiankit_ppt
 

Similar to Robust and Tuneable Family of Gossiping Algorithms (20)

Frequency Response with MATLAB Examples.pdf
Frequency Response with MATLAB Examples.pdfFrequency Response with MATLAB Examples.pdf
Frequency Response with MATLAB Examples.pdf
 
detail of flowchart and algorithm that are used in programmingpdf
detail of flowchart and algorithm that are used in programmingpdfdetail of flowchart and algorithm that are used in programmingpdf
detail of flowchart and algorithm that are used in programmingpdf
 
Algorithm Flowchart Manual ALGORITHM FLOWCHART MANUAL For STUDENTS
Algorithm   Flowchart Manual ALGORITHM   FLOWCHART MANUAL For STUDENTSAlgorithm   Flowchart Manual ALGORITHM   FLOWCHART MANUAL For STUDENTS
Algorithm Flowchart Manual ALGORITHM FLOWCHART MANUAL For STUDENTS
 
Algorithm manual
Algorithm manualAlgorithm manual
Algorithm manual
 
DSA
DSADSA
DSA
 
Ch7 OS
Ch7 OSCh7 OS
Ch7 OS
 
Data Structures- Part2 analysis tools
Data Structures- Part2 analysis toolsData Structures- Part2 analysis tools
Data Structures- Part2 analysis tools
 
Problem solving using computers - Unit 1 - Study material
Problem solving using computers - Unit 1 - Study materialProblem solving using computers - Unit 1 - Study material
Problem solving using computers - Unit 1 - Study material
 
Algorithm analysis and design
Algorithm analysis and designAlgorithm analysis and design
Algorithm analysis and design
 
Unit ii algorithm
Unit   ii algorithmUnit   ii algorithm
Unit ii algorithm
 
parallel
parallelparallel
parallel
 
Introduction to algorithms
Introduction to algorithmsIntroduction to algorithms
Introduction to algorithms
 
UNIT-2-PPTS-DAA.ppt
UNIT-2-PPTS-DAA.pptUNIT-2-PPTS-DAA.ppt
UNIT-2-PPTS-DAA.ppt
 
k10790 nilesh prajapati control me 6th sem
k10790 nilesh prajapati control me 6th semk10790 nilesh prajapati control me 6th sem
k10790 nilesh prajapati control me 6th sem
 
Introduction to design and analysis of algorithm
Introduction to design and analysis of algorithmIntroduction to design and analysis of algorithm
Introduction to design and analysis of algorithm
 
Unit 1.pptx
Unit 1.pptxUnit 1.pptx
Unit 1.pptx
 
DATA STRUCTURE.pdf
DATA STRUCTURE.pdfDATA STRUCTURE.pdf
DATA STRUCTURE.pdf
 
DATA STRUCTURE
DATA STRUCTUREDATA STRUCTURE
DATA STRUCTURE
 
DAA-Unit1.pptx
DAA-Unit1.pptxDAA-Unit1.pptx
DAA-Unit1.pptx
 
04 image transformations_ii
04 image transformations_ii04 image transformations_ii
04 image transformations_ii
 

More from Vincenzo De Florio

Models and Concepts for Socio-technical Complex Systems: Towards Fractal Soci...
Models and Concepts for Socio-technical Complex Systems: Towards Fractal Soci...Models and Concepts for Socio-technical Complex Systems: Towards Fractal Soci...
Models and Concepts for Socio-technical Complex Systems: Towards Fractal Soci...Vincenzo De Florio
 
On the Role of Perception and Apperception in Ubiquitous and Pervasive Enviro...
On the Role of Perception and Apperception in Ubiquitous and Pervasive Enviro...On the Role of Perception and Apperception in Ubiquitous and Pervasive Enviro...
On the Role of Perception and Apperception in Ubiquitous and Pervasive Enviro...Vincenzo De Florio
 
Service-oriented Communities: A Novel Organizational Architecture for Smarter...
Service-oriented Communities: A Novel Organizational Architecture for Smarter...Service-oriented Communities: A Novel Organizational Architecture for Smarter...
Service-oriented Communities: A Novel Organizational Architecture for Smarter...Vincenzo De Florio
 
Advanced C Language for Engineering
Advanced C Language for EngineeringAdvanced C Language for Engineering
Advanced C Language for EngineeringVincenzo De Florio
 
A framework for trustworthiness assessment based on fidelity in cyber and phy...
A framework for trustworthiness assessment based on fidelity in cyber and phy...A framework for trustworthiness assessment based on fidelity in cyber and phy...
A framework for trustworthiness assessment based on fidelity in cyber and phy...Vincenzo De Florio
 
Fractally-organized Connectionist Networks - Keynote speech @PEWET 2015
Fractally-organized Connectionist Networks - Keynote speech @PEWET 2015Fractally-organized Connectionist Networks - Keynote speech @PEWET 2015
Fractally-organized Connectionist Networks - Keynote speech @PEWET 2015Vincenzo De Florio
 
A behavioural model for the discussion of resilience, elasticity, and antifra...
A behavioural model for the discussion of resilience, elasticity, and antifra...A behavioural model for the discussion of resilience, elasticity, and antifra...
A behavioural model for the discussion of resilience, elasticity, and antifra...Vincenzo De Florio
 
Considerations and ideas after reading a presentation by Ali Anani
Considerations and ideas after reading a presentation by Ali AnaniConsiderations and ideas after reading a presentation by Ali Anani
Considerations and ideas after reading a presentation by Ali AnaniVincenzo De Florio
 
A Behavioral Interpretation of Resilience and Antifragility
A Behavioral Interpretation of Resilience and AntifragilityA Behavioral Interpretation of Resilience and Antifragility
A Behavioral Interpretation of Resilience and AntifragilityVincenzo De Florio
 
Community Resilience: Challenges, Requirements, and Organizational Models
Community Resilience: Challenges, Requirements, and Organizational ModelsCommunity Resilience: Challenges, Requirements, and Organizational Models
Community Resilience: Challenges, Requirements, and Organizational ModelsVincenzo De Florio
 
On the Behavioral Interpretation of System-Environment Fit and Auto-Resilience
On the Behavioral Interpretation of System-Environment Fit and Auto-ResilienceOn the Behavioral Interpretation of System-Environment Fit and Auto-Resilience
On the Behavioral Interpretation of System-Environment Fit and Auto-ResilienceVincenzo De Florio
 
Antifragility = Elasticity + Resilience + Machine Learning. Models and Algori...
Antifragility = Elasticity + Resilience + Machine Learning. Models and Algori...Antifragility = Elasticity + Resilience + Machine Learning. Models and Algori...
Antifragility = Elasticity + Resilience + Machine Learning. Models and Algori...Vincenzo De Florio
 
Service-oriented Communities and Fractal Social Organizations - Models and co...
Service-oriented Communities and Fractal Social Organizations - Models and co...Service-oriented Communities and Fractal Social Organizations - Models and co...
Service-oriented Communities and Fractal Social Organizations - Models and co...Vincenzo De Florio
 
TOWARDS PARSIMONIOUS RESOURCE ALLOCATION IN CONTEXT-AWARE N-VERSION PROGRAMMING
TOWARDS PARSIMONIOUS RESOURCE ALLOCATION IN CONTEXT-AWARE N-VERSION PROGRAMMINGTOWARDS PARSIMONIOUS RESOURCE ALLOCATION IN CONTEXT-AWARE N-VERSION PROGRAMMING
TOWARDS PARSIMONIOUS RESOURCE ALLOCATION IN CONTEXT-AWARE N-VERSION PROGRAMMINGVincenzo De Florio
 
A Formal Model and an Algorithm for Generating the Permutations of a Multiset
A Formal Model and an Algorithm for Generating the Permutations of a MultisetA Formal Model and an Algorithm for Generating the Permutations of a Multiset
A Formal Model and an Algorithm for Generating the Permutations of a MultisetVincenzo De Florio
 
A FAULT-TOLERANCE LINGUISTIC STRUCTURE FOR DISTRIBUTED APPLICATIONS
A FAULT-TOLERANCE LINGUISTIC STRUCTURE FOR DISTRIBUTED APPLICATIONSA FAULT-TOLERANCE LINGUISTIC STRUCTURE FOR DISTRIBUTED APPLICATIONS
A FAULT-TOLERANCE LINGUISTIC STRUCTURE FOR DISTRIBUTED APPLICATIONSVincenzo De Florio
 
System Structure for Dependable Software Systems
System Structure for Dependable Software SystemsSystem Structure for Dependable Software Systems
System Structure for Dependable Software SystemsVincenzo De Florio
 
ARRL: A Criterion for Composable Safety and Systems Engineering
ARRL: A Criterion for Composable Safety and Systems EngineeringARRL: A Criterion for Composable Safety and Systems Engineering
ARRL: A Criterion for Composable Safety and Systems EngineeringVincenzo De Florio
 
Implementing a Role Based Mutual Assistance Community with Semantic Service D...
Implementing a Role Based Mutual Assistance Community with Semantic Service D...Implementing a Role Based Mutual Assistance Community with Semantic Service D...
Implementing a Role Based Mutual Assistance Community with Semantic Service D...Vincenzo De Florio
 

More from Vincenzo De Florio (20)

My little grundgestalten
My little grundgestaltenMy little grundgestalten
My little grundgestalten
 
Models and Concepts for Socio-technical Complex Systems: Towards Fractal Soci...
Models and Concepts for Socio-technical Complex Systems: Towards Fractal Soci...Models and Concepts for Socio-technical Complex Systems: Towards Fractal Soci...
Models and Concepts for Socio-technical Complex Systems: Towards Fractal Soci...
 
On the Role of Perception and Apperception in Ubiquitous and Pervasive Enviro...
On the Role of Perception and Apperception in Ubiquitous and Pervasive Enviro...On the Role of Perception and Apperception in Ubiquitous and Pervasive Enviro...
On the Role of Perception and Apperception in Ubiquitous and Pervasive Enviro...
 
Service-oriented Communities: A Novel Organizational Architecture for Smarter...
Service-oriented Communities: A Novel Organizational Architecture for Smarter...Service-oriented Communities: A Novel Organizational Architecture for Smarter...
Service-oriented Communities: A Novel Organizational Architecture for Smarter...
 
Advanced C Language for Engineering
Advanced C Language for EngineeringAdvanced C Language for Engineering
Advanced C Language for Engineering
 
A framework for trustworthiness assessment based on fidelity in cyber and phy...
A framework for trustworthiness assessment based on fidelity in cyber and phy...A framework for trustworthiness assessment based on fidelity in cyber and phy...
A framework for trustworthiness assessment based on fidelity in cyber and phy...
 
Fractally-organized Connectionist Networks - Keynote speech @PEWET 2015
Fractally-organized Connectionist Networks - Keynote speech @PEWET 2015Fractally-organized Connectionist Networks - Keynote speech @PEWET 2015
Fractally-organized Connectionist Networks - Keynote speech @PEWET 2015
 
A behavioural model for the discussion of resilience, elasticity, and antifra...
A behavioural model for the discussion of resilience, elasticity, and antifra...A behavioural model for the discussion of resilience, elasticity, and antifra...
A behavioural model for the discussion of resilience, elasticity, and antifra...
 
Considerations and ideas after reading a presentation by Ali Anani
Considerations and ideas after reading a presentation by Ali AnaniConsiderations and ideas after reading a presentation by Ali Anani
Considerations and ideas after reading a presentation by Ali Anani
 
A Behavioral Interpretation of Resilience and Antifragility
A Behavioral Interpretation of Resilience and AntifragilityA Behavioral Interpretation of Resilience and Antifragility
A Behavioral Interpretation of Resilience and Antifragility
 
Community Resilience: Challenges, Requirements, and Organizational Models
Community Resilience: Challenges, Requirements, and Organizational ModelsCommunity Resilience: Challenges, Requirements, and Organizational Models
Community Resilience: Challenges, Requirements, and Organizational Models
 
On the Behavioral Interpretation of System-Environment Fit and Auto-Resilience
On the Behavioral Interpretation of System-Environment Fit and Auto-ResilienceOn the Behavioral Interpretation of System-Environment Fit and Auto-Resilience
On the Behavioral Interpretation of System-Environment Fit and Auto-Resilience
 
Antifragility = Elasticity + Resilience + Machine Learning. Models and Algori...
Antifragility = Elasticity + Resilience + Machine Learning. Models and Algori...Antifragility = Elasticity + Resilience + Machine Learning. Models and Algori...
Antifragility = Elasticity + Resilience + Machine Learning. Models and Algori...
 
Service-oriented Communities and Fractal Social Organizations - Models and co...
Service-oriented Communities and Fractal Social Organizations - Models and co...Service-oriented Communities and Fractal Social Organizations - Models and co...
Service-oriented Communities and Fractal Social Organizations - Models and co...
 
TOWARDS PARSIMONIOUS RESOURCE ALLOCATION IN CONTEXT-AWARE N-VERSION PROGRAMMING
TOWARDS PARSIMONIOUS RESOURCE ALLOCATION IN CONTEXT-AWARE N-VERSION PROGRAMMINGTOWARDS PARSIMONIOUS RESOURCE ALLOCATION IN CONTEXT-AWARE N-VERSION PROGRAMMING
TOWARDS PARSIMONIOUS RESOURCE ALLOCATION IN CONTEXT-AWARE N-VERSION PROGRAMMING
 
A Formal Model and an Algorithm for Generating the Permutations of a Multiset
A Formal Model and an Algorithm for Generating the Permutations of a MultisetA Formal Model and an Algorithm for Generating the Permutations of a Multiset
A Formal Model and an Algorithm for Generating the Permutations of a Multiset
 
A FAULT-TOLERANCE LINGUISTIC STRUCTURE FOR DISTRIBUTED APPLICATIONS
A FAULT-TOLERANCE LINGUISTIC STRUCTURE FOR DISTRIBUTED APPLICATIONSA FAULT-TOLERANCE LINGUISTIC STRUCTURE FOR DISTRIBUTED APPLICATIONS
A FAULT-TOLERANCE LINGUISTIC STRUCTURE FOR DISTRIBUTED APPLICATIONS
 
System Structure for Dependable Software Systems
System Structure for Dependable Software SystemsSystem Structure for Dependable Software Systems
System Structure for Dependable Software Systems
 
ARRL: A Criterion for Composable Safety and Systems Engineering
ARRL: A Criterion for Composable Safety and Systems EngineeringARRL: A Criterion for Composable Safety and Systems Engineering
ARRL: A Criterion for Composable Safety and Systems Engineering
 
Implementing a Role Based Mutual Assistance Community with Semantic Service D...
Implementing a Role Based Mutual Assistance Community with Semantic Service D...Implementing a Role Based Mutual Assistance Community with Semantic Service D...
Implementing a Role Based Mutual Assistance Community with Semantic Service D...
 

Recently uploaded

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 

Robust and Tuneable Family of Gossiping Algorithms

  • 1. Robust and Tuneable Family of Gossiping Algorithms Vincenzo De Florio http://www.pats.ua.ac.be/vincenzo.deflorio The 20th Euromicro Int.l Conference on Parallel, Distributed and Network-Based Computing Garching, February 16, 2012
  • 2. Structure • Introduction – main key words • Definitions, goals, and assumptions • Algorithms and tuning algorithms • Conclusions and lessons learned
  • 3. Robust and Tuneable Family of Gossiping Algorithms: three key words Gossiping Tuneable Robust Introduction (1/4)
  • 4. Gossiping • All-to-all pairwise IPC • Every member of a set communicates a private value to all other members • Useful e.g. in restoring organs, distributed consensus, interactive consistency... Introduction (2/4)
  • 5. Tuneable • An example of a tuneable algorithm o An application layer "knob" to select certain behaviours rather than others o Explicit knob: one we are aware of and know how to steer o (As opposed to a hidden knob: one that we don't know it exists nor how to use!) Introduction (3/4)
  • 6. Robust • A robust knob: one that allows • persistence of certain behaviours despite changes in the context • to match fundamental assumptions regarding the environment in which the system operates [Jen04] • An in particular, to match dynamically changing assumptions: robustness throughout system evolution  Resilience Introduction (4/4)
  • 7. Definitions • Contextual parallelism (CP): the physical parallelism available in the system and the network • Algorithmic parallelism (AP): the number of independent "threads" of activity expressed by an algorithm • Algorithmic undershooting: AP < CP o The algorithm under-utilizes the available resources (sub-optimal behaviour) • Algorithmic overshooting: AP > CP o The algorithm requests more resources than physically available o Unnecessary burden for system/network layers : request queues overloading, flooding, collisions, ... o One needs complexity just to deal with the overhead one introduces! Definitions, goals, assumptions (1/5)
  • 8. Main design goal • Dynamically robust tuning: o Optimal match between AP and CP over time o Dynamic avoidance of shortcoming or excess of algorithmic parallelism Definitions, goals, assumptions (2/5)
  • 9. Assumptions • • • • N + 1 processors (N>1) Full-duplex point-to-point communication lines Communication: synchronous and blocking Processors are uniquely identified by integer labels ∈ IN = {0, ..., N} • Each processor pi owns some local data vi • Each processor requires the other processors’ local data and then executes some algorithm (e.g. voting) • Events occur by discrete time steps Definitions, goals, assumptions (3/5)
  • 10. State templates • WR state. A process is waiting for the arrival of a message from some processor. • Lasts zero or more time steps • R state. Process i receiving at time t a message from process j is said to be in state Rj . This is represented as i Rt j • Lasts one step • WS state. Process i waiting to send process j its message is said to be in state WSj . • Lasts zero or more time steps • S state. Process i is at time t in state Sj when it is sending a message to process j. This is represented as i St j • Lasts one time step Definitions, goals, assumptions (4/5)
  • 11. Index permutation • Process i owns an index permutation, i.e. an array whose members are permutations of { 0, …, i -1, i +1, …, N } • P = { P1, …, PN } is used to represent the index permutation Definitions, goals, assumptions (5/5)
  • 12. Algorithm – first formulation Process i executes: i times Index is P N times N – i times Algorithm – v1.0 (1/4)
  • 13. Properties • Whatever the index permutation, the algorithm does work • In [DeBl06] we analyzed the efficiency of the algorithm when P takes a given structure • In particular, • When P is the identity permutation : P = { 0, ..., i - 1, i + 1, ..., N } • When P is the pipelined permutation : P = { i + 1, ..., N, 0, ..., i - 1 } Algorithm – v1.0 (2/4)
  • 14. Identity permutation, N = 5 • Table = transcript of states • e.g. Proc. 3 at step 8 receives from proc 1 = 3 R8 1 • Arrow-to-the-left = WR; arrow-to-the-right = WS • AP = about 2.31 • Asymptotic value of AP(N) = 8/3 Algorithm – v1.0 (3/4)
  • 15. Pipelined permutation, N = 9 • AP = 6 • Asymptotic value of AP(N) = 2 (N+1) / 3 • Multiple consecutive sessions sustain the steady state Algorithm – v1.0 (4/4)
  • 16. Algorithm, take 2 i times Select a “lane” N times N – i times Algorithm – v2.0 (1/3)
  • 17. Algorithm, v2.0 • In what follows we consider just two types of “lanes”: either with identity or with pipelined permutations • We assign H% to pipelined and (100-H)% to identity • (H for “Hybrid”) • Results: • AP(identity) ≤ AP(H) ≤ AP(pipelined) • AP(H) increases with H Algorithm – v2.0 (2/3)
  • 19. Observations This paves the way to context aware adaptation: A MAPE adaptation loop: M: Estimate CP(now) A: assess how AP(now) matches CP(now): Case of overshooting? Case of undershooting? P: If *-shooting, select H% so as to make AP(now') “closer” to CP(now) E: use Algorithm v2.0 with selected H% so as to guarantee our design goals (dynamic robust tuning) Observations (1/2)
  • 20. Observation • Instead of running Alg. v2.0 to compute AP values, we may use offline-computed values: M(N,h) = AP • A look-up table storing the algorithmic parallelism corresponding to CP(t) = N and H% = h Observations (2/2)
  • 21. Adaptation algorithms • Algorithm “Tune AP after CP”, v.1 Input: CP(t), N, M( (N, h) → AP ) Output: H% best matching CP(now()) begin cp  sense(CP(now()) H  min{h | M(N,h) >= cp} // cp is now the current // physical parallelism // H: sample // corresponding to // the supremum return H end . • Observation: A “growing” look-up table would allow to keep track of past decisions • growMap (M, new ( (N, h) → AP ) ) Robust tuning (1/4)
  • 22. Adaptation algorithms • Algorithm “Tune AP after CP”, v.2 Input: CP(t), N, M( (N, h) → AP ) Output: H% best matching CP(now()) begin cp  sense(CP(now()) sup  min {h | M(N,h) >= cp} if M(N,sup) == cp then return sup end-if // M(N,sup) > cp inf  max {h | M(N,h) < sup} newH  ( M(N,sup) - M(N,inf) ) / 2 ap  compute(newH) // executes a run // and returns the AP growMap (M, (N,newH)  ap ) return newH end . Robust tuning (2/4)
  • 23. Run of adaptation algorithm v2, N=200 Robust tuning (3/4)
  • 24. 7. 1 50 75 81.5 84.5 86 87.5 100 2.653465 5.170751 8.621984 11.018227 12.753807 13.876424 15.241706 134 2.653465 8. 1 5.170751 50 8.621984 75 11.018227 81.5 12.753807 84.5 15.241706 85 134 86 87.5 100 2.653465 5.170751 8.621984 11.018227 12.753807 13.105134 13.876424 15.241706 134 A run of algorithm v2 1. 1 100 2.653465 5. 1 134 50 75 2. 1 2.653465 81.5 50 5.170751 87.5 100 134 100 3. 1 2.653465 6. 1 50 5.170751 50 75 8.621984 75 100 134 81.5 84.5 4. 1 2.653465 87.5 50 5.170751 100 75 8.621984 87.5 15.241706 100 134 2.653465 5.170751 8.621984 11.018227 15.241706 134 Robust tuning (4/4)
  • 25. Conclusions & Lessons Learned • An application-layer “knob” to tune algorithmic parallelism • A knob that allows us to achieve robustness throughout system evolution (ability to match dynamically changing assumptions) = resilience Conclusions (1/3)
  • 26. Conclusions & Lessons Learned • When performing e.g. cross-layer adaptation, one deals with many intertwined VMs • Application layer, application server layer, OS, the network layers, the HW... Stigmergy everywhere! • These VMs may appear to the adaptation engineer as • White boxes: known robust knobs we are aware of • Grey boxes: known knobs we are partially aware of • Black boxes: hidden knobs • Excluding the application layer (the algorithm) locks in to inefficiency or non-robustness We need to expose the algorithmic knobs! Sort of an “End-to-end Argument” in system evolution [SaRC84] Conclusions (2/3)
  • 27. Main sources [SaRC84] Saltzer, Reed & Clark, “End-to-End Arguments in System Design,” ACM Trans. on Computer Systems 2:4 (1984) [Jen04] E. Jen, “Stable or robust? What’s the difference?” In E. Jen, editor, Robust Design: A repertoire of biological, ecological, and engineering case studies, Oxford University Press, 2004. [DeBl06] V. De Florio & C. Blondia, “The Algorithm of Pipelined Gossiping,” Journal of Systems Architecture 52:4, 2006 Conclusions (3/3)
  • 28. Systems robust throughout their evolution: More info: http://www.igi-global.com/ijaras