Analysis and Design of
Networking and Communication Systems
Inauguraldissertation
zur
Erlangung der W¨ urde eines Doktors der Philosophie vorgelegt der
Philosophisch-Naturwissenschaftlichen Fakult¨ at der Universit¨ at Basel (Schweiz)
und der
Universit¨ at Pisa (Italien)
von
Massimo Monti aus Italien
Basel, 2014
Originaldokument gespeichert auf dem Dokumentenserver der Universit¨at Basel: edoc.unibas.ch
Dieses Werk ist unter dem Vertrag “Creative Commons Namensnennung- Keine kommerzielle Nutzung-Keine Bearbeitung 3.0 Schweiz” (CC BY- NC-ND 3.0 CH) lizenziert. Die vollst¨andige Lizenz kann unter creativecommons.org/licenses/by-nc-nd/3.0/ch/eingesehen werden.
Auf Antrag von
Prof. Dr. Christian F. Tschudin, Universit¨at Basel, Schweiz (Fakult¨atsverantwortlicher)
Prof. Dr. Marco Luise, Universit`a di Pisa, Italia (Dissertationsleiter)
Prof. Dr. Edouard Bugnion,
Ecole Polytechnique F´ed´erale De Lausanne (EPFL), Suisse´ (Korreferent)
Prof. Dr. M´erouane Debbah,
Grande ´Ecole Sup`erieure d’´Electricit´e (SUP´ELEC), France (Korreferent)
Basel, den 16. 09. 2014
Prof. Dr. J¨org Schibler (Dekan)
You are free:
to Share— to copy, distribute and transmit the work
Under the following conditions:
Attribution— You must attribute the work in the manner spec- ified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
NonCommercial — You may not use this work for commercial purposes.
NoDerivativeWorks—You may not alter, transform, or build upon this work.
With the understanding that:
Waiver— Any of the above conditions can be waivedif you get permission from the copyright holder.
Public Domain — Where the work or any of its elements is in thepublic domainunder applicable law, that status is in no way affected by the license.
Other Rights — In no way are any of the following rights affected by the license:
• Your fair dealing orfair userights, or other applicable copyright exceptions and limitations;
• The author’smoralrights;
• Rights other persons may have either in the work itself or in how the work is used, such aspublicityor privacy rights.
Notice — For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to the web pagehttp://creativecommons.org/licenses/by-nc-nd/3.0/ch/deed.en.
In this thesis, we use concepts, principles, and theoretical results from Physical Chemistry to engineer communication and networking systems. We focus on system dynamics and exploit laws from chemical kinetics in order to govern the dynamics of a communication network. This is achieved by orchestrating the interactions among network nodes by means of “artificial chemistries”. We provide a new perspective on traditional issues concerning the design, the for- mal analysis and the deployment of distributed algorithms and communication protocols, ultimately leading to programmable network dynamics with provable properties.
Specifically, (i) we introduce a class of chemistry-inspired flow controllers that can easily be customized to accommodate many requirements of network (re- source) management, such as distributed coordination of flow aggregates, ca- pacity allocation, access regulations and service differentiation among user flows or flow bundles. (ii) We show the benefit of the chemical approach in designing solutions to the “distributed consensus problem” for wireless sensor networks.
After having designed and analyzed the required interaction rules “on paper”, we use the derived communication protocol in a hardware testbed. Salient features of this minimalistic setup are mainly three. Nodes achieve consensus based only on asynchronously emitted RF pulses. No media access control is used. The protocol works in an embodied fashion by exploiting subtle timing differences and without recurring to symbolic information. (iii) Finally, in order to demonstrate the use of Chemistry-driven mechanisms also for high- performance tasks (e.g., high-rate packet-pacing), we describe the implemen- tation of artificial chemistries on an FPGA-based hardware. At the same time, we provide an abstraction for designing runtime-programmable hardware controllers.
Funding:This doctoral work has been supported by the Swiss National Science Foundation (SNSF) under the grant #132525.
Co-tutelle:This doctoral work was regulated by the co-supervision agreement between the University of Basel (Switzerland) and University of Pisa (Italy).
This work would not have been possible without the support of many people.
First, I would like to thank my advisers Prof. Christian Tschudin and Prof.
Marco Luise for their respectful support, and the possibility they gave me to conduct my own research in complete freedom.
A sincere gratitude goes to Dr. Manolis Sifalakis and Dr. Thomas Meyer that co-supervised this project in its different stages. Discussions as well as collaborations with them have always revealed productive, and brought to works that later the research community has recognized as valid and promising.
I also thank all my colleagues at the Computer Network group, University of Basel, for their advice and suggestions during these years, in particular Dr.Pierre Imai.
A part of this thesis has been developed during my stay at the University of Pisa, Dept. Information Engineering. I am very grateful to all my colleagues at the DSP Communication Lab, particularly, to Dr.Giacomo Bacci, Dr.An- drea Emmanuele and Dr. Mario di Dio for their support, and to Dr. Luca Sanguinetti, who considerably helped me in part of this work.
A special thanks is reserved to my wife,Elena Puri, who has always supported my work and encouraged me in good and bad days. I thank her for the valid help she gave me in writing and revising all publications, including this thesis, and the help in everyday life in Basel.
Last but not least, I would like to thank my motherPierangela for her confi- dence in me, and my fatherMario for the continuous consultancy he gave me in the context of hardware design and implementation.
Basel, 2014 Massimo Monti
Abstract i
Acknowledgments iii
Contents v
List of Publications ix
List of Figures xiii
List of Tables xv
List of Algorithms xvii
List of Acronyms xix
List of Symbols and Operators xxiii
1 Introduction 1
1.1 Context and motivations . . . 1
1.2 Our approach . . . 3
1.3 Contributions of the thesis . . . 4
1.4 Thesis outline . . . 5
2 Artificial Chemistry (AC) for networking & communications 7 2.1 Introduction . . . 8
2.1.1 Related works . . . 8
2.1.2 Space and scope of our contribution . . . 10
2.2 Basics ofAC . . . 11
2.2.1 Chemical metaphor for networking . . . 12
2.2.2 Formal definition . . . 13
2.2.3 Law of Mass Action (LoMA) . . . 17
2.2.4 Stochastic chemical kinetics . . . 18
2.2.5 Reaction algorithm . . . 22
2.3 Analytical tools . . . 25
2.3.1 Deterministic approximation . . . 25
2.3.2 Steady-state analysis . . . 27
2.3.3 Transient (sensitivity) analysis . . . 29
2.3.4 Stability analysis . . . 35
2.3.5 Deficiency-Zero Theorem . . . 36
2.3.6 Randomness in chemical systems . . . 39
2.4 ParametrizingACs for communication engineering . . . 41
2.4.1 Simplified inter-reaction times . . . 42
2.4.2 Deterministic inter-reaction times . . . 43
2.4.3 Normally distributed inter-reaction times . . . 47
2.4.4 Normally distributed reaction rates . . . 49
2.4.5 Reaction algorithm for communication and networking . 52 2.5 From science to engineering . . . 52
2.6 Conclusion . . . 56
3 AC to shape the traffic in computer networks 59 3.1 Introduction . . . 60
3.1.1 Related works . . . 60
3.1.2 Space and scope of our contribution . . . 63
3.2 Flow interactions in queueing systems . . . 66
3.2.1 LoMA and classic work-conserving packet scheduling . . 66
3.3 Traffic rate control . . . 71
3.3.1 Token-Bucket . . . 71
3.3.2 Enzymatic traffic rate controller . . . 73
3.3.3 Analysis of an Enzymatic traffic controller . . . 75
3.3.4 Enzymatic control of traffic in real-world systems . . . . 81
3.4 Distributed Traffic Rate Controller (DTRC) . . . 86
3.4.1 Design of DTRCs . . . 88
3.4.2 Analysis of DTRCs . . . 90
3.4.3 DTRC: Simulations in OMNeT++ . . . 97
3.4.4 DTRC: Experiments in a real environment . . . 103
3.4.5 Insights on DTRCs . . . 105
3.5 Conclusion . . . 106
4 AC to solve the consensus problem in WSNs 109 4.1 Introduction . . . 110
4.1.1 Related works . . . 110
4.1.2 Space and scope of our contribution . . . 112
4.2 The average consensus problem . . . 114
4.3 A Chemistry-inspired consensus algorithm . . . 116
4.3.1 Chemical reversible model . . . 116
4.3.2 A chemical gossip-style model: The “Disperser” . . . 118
4.3.3 A Chemistry-inspired consensus algorithm for WSNs . . 119
4.4 Convergence and performance of chemical consensus algorithms 121 4.4.1 Steady state and convergence . . . 121
4.4.2 Sensitivity analysis and performance . . . 123
4.5 Simulating the chemical consensus algorithm in OMNeT++ . . 126
4.5.1 Simulation measurementsvs.analytical predictions . . . 126
4.5.2 Simulations for different topologies and sizes of networks 127 4.5.3 Simulations for time-varying measurements . . . 131
4.5.4 Comparisons with randomized and broadcast gossip . . 132
4.6 A chemical approach to practical issues . . . 133
4.6.1 Self-configuration: Estimating the neighborhood size . . 134
4.6.2 Self-stabilization: Recovering from erroneous states . . . 135
4.6.3 Simulations and comparisons in non-ideal scenarios . . . 138
4.7 Testing the chemical consensus algorithm under real conditions 142 4.7.1 Artificial chemistries on a hardware testbed . . . 142
4.7.2 Experiments on a four-node testbed . . . 144
4.8 Further insights on the Chemistry-inspired consensus . . . 145
4.8.1 AC for consensus in WSNs . . . 145
4.8.2 An implementation of ACin WSNs . . . 147
4.9 Conclusion . . . 148
5 AC to enable programmable control in hardware 151 5.1 Introduction . . . 152
5.1.1 Related works . . . 153
5.1.2 Space and scope of our contribution . . . 156
5.2 ACs on FPGA . . . 157
5.2.1 Defining the structure of the chemical model . . . 159
5.2.2 Defining the dynamics of the chemical model . . . 163
5.3 ACs on Xilinx Spartan-6 XC6SLX9 FPGA . . . 166
5.3.1 main-module . . . 167
5.3.2 AC-module . . . 167
5.3.3 time-Calculator-module . . . 173
5.4 Experimenting with Chemistry-inspired hardware controllers . 176 5.4.1 Enzymatic control of Internet traffic with FPGAs . . . . 176
5.4.2 Distributed computation with multiple FPGAs . . . 180
5.5 Further insights on hardware artificial chemistries . . . 182
5.5.1 Which logic device fits our need? . . . 183
5.5.2 Possible improvements and future works . . . 184
5.5.3 Chemistry-inspired abstraction for hardware design . . . 185
5.6 Conclusion . . . 186
6 Conclusion 189 6.1 Chemistry-inspired communication and networking engineering 189 6.2 Contributions and findings . . . 192
6.3 Future works . . . 194
A Supplementary material 197
A.1 A novel attraction-based law: LoPA . . . 197
A.1.1 Difference motif: LoPAvs. LoMA . . . 198
A.2 Further related works on traffic shaping . . . 200
A.2.1 End-to-end transport control . . . 200
A.2.2 In-network queueing/scheduling . . . 203
A.3 Step by step analysis of the Enzymatic traffic controller . . . . 207
A.4 Step by step analysis of the distributed traffic rate controller . 210 A.5 Enzymatic Media Access Control: E-MAC . . . 213
A.5.1 The ALOHA protocol . . . 213
A.5.2 The E-MAC protocol . . . 215
A.6 Distributed traffic rate controller: service-class differentiation . 218 A.7 Chemical consensus in clustered and inline networks . . . 220
A.8 Chemical consensus algorithm: collision estimation . . . 222
A.9 Chemical consensus algorithm: frequency-division approach . . 224
Bibliography 225
Index 249
Curriculum Vitae 257
International Journals
• Massimo Monti and Manolis Sifalakis and Christian F. Tschudin and Marco Luise, “Towards Programmable Network Dynamics: A Chemistry- inspired Abstraction for Hardware Design,” IEEE/ACM Transactions on Networking, submitted for review, May 2014.
• Massimo Monti and Luca Sanguinetti and Christian F. Tschudin and Marco Luise, “A Chemistry-Inspired Framework for Achieving Consensus in Wireless Sensor Networks,” IEEE Sensors Journal, vol. 14, no. 2, pp. 371–382, Feb 2014.
• Massimo Monti and Pierre Imai and Christian F. Tschudin, “Designing Run-time Environments to have Predefined Global Dynamics,” Interna- tional Journal of Computer Networks and Communications (IJCNC), vol. 5, no. 3, pp. 1–16, May 2013
• Massimo Monti and Thomas Meyer and Christian F. Tschudin and Marco Luise, “Stability and Sensitivity Analysis of Traffic-Shaping Algorithms inspired by Chemical Engineering,” IEEE Journal on Selected Areas of Communications (JSAC) Special Issue on Network Science, vol. 31, no. 6, pp. 1–11, Jun 2013
International Conferences and Workshops
• Manolis Sifalakis, Stefan Braun, Massimo Monti and Christian F.Tschudin,
“An Empirical Study of Receiver-based AIMD Flow-Control Strategies for CCN,” In Proc. of IEEE International Conference on Computer Com- munications and Networks (ICCCN) (NACSD-track), pp. 1–8, Nassau, Bahamas, Jul 2013.
• Massimo Monti and Luca Sanguinetti and Christian F. Tschudin and Marco Luise”, “Chemistry-Inspired Algorithm for Emergent Distributed Consensus in WSNs,” in Proc. of the IEEE International Conference on Distributed Computing in Sensor Systems (DCOSS), pp. 423–429, Cambridge (MA), USA, May 2013.
• Massimo Monti and Manolis Sifalakis and Thomas Meyer and Christian F. Tschudin and Marco Luise, “A Chemical-Inspired Approach to De- sign Distributed Rate Controllers for Packet Networks,” in Proc. of the IFIP/IEEE-IM International Workshop on Distributed Autonomous Net- work Management Systems (DANMS), pp. 1358–1364, Ghent, Belgium, May 2013.
(Best Paper Award)
• Stefan Braun, Massimo Monti, Manolis Sifalakis, Christian F. Tschudin
“CCN and TCP co-existence in the Future Internet: Should CCN be com- patible to TCP?,” in Proc. of the IFIP/IEEE-IM International Workshop on Management of the future Internet (ManFI), pp. 1109–1115, Ghent, Belgium, May 2013.
• Massimo Monti and Thomas Meyer and Christian F. Tschudin and Marco Luise, “Signal Processing Applied to Chemically Inspired Communication Protocols,” In proc. of IEEE International Conference On Communica- tions (ICC) (CQR-track), pp. 1144–1148, Ottawa, Canada, Jun 2012.
• Igor Talzi, Massimo Monti, Thomas Meyer and Christian F. Tschudin,
“Force-Based Navigation in Wireless Sensornets,” in Proc. of the IEEE International Conference on Distributed Computing in Sensor Systems (DCOSS), pp. 1–6, Barcelona, Spain, Jun 2011.
Others
• Stefan Braun and Massimo Monti and Manolis Sifalakis and Christian F. Tschudin, “CCN/TCP co-existence in the future Internet: E2E vs.
Receiver-based flow control,” Poster at the IEEE INFOCOM Workshop on Emerging Design Choices in Name-Oriented Networking (NOMEN), Turin, Italy, Apr 2013.
• Christian F. Tschudin and Manolis Sifalakis and Pierre Imai and Massimo Monti and Thomas Meyer, “CCN-lite - A minimal code base for CCNx,”
Poster at the CCNxCon12 community meeting, Nice, France, Sep 2012.
• Manolis Sifalakis and Massimo Monti and Christian F. Tschudin, “Em- bedding Cloud-Centric-Networking in CCN,” Presentation at the CCNx- Con12 community meeting, Nice, France, Sep 2012.
• Stefan Braun and Manolis Sifalakis and Massimo Monti and Christian F.
Tschudin, “Steaming up CCN against TCP,” Presentation at the CCNx- Con12 community meeting, Nice, France, Sep 2012.
• Massimo Monti and Thomas Meyer and Christian F. Tschudin and Marco Luise, “Simulating and Exploiting Physical Forces in Computer Network- ing,” Poster for the Student Competition at the International Workshop on Self-Organizing Systems, Karlsruhe, Germany, Feb 2011.
2.1 Chemical metaphor: unimolecular reaction . . . 14
2.2 Distributed artificial chemistry (DAC): unimolecular reaction . 15 2.3 Differences between chemical & communication network . . . . 16
2.4 Stochastic state evolution of a unimolecular reaction . . . 19
2.5 Rate-equation approximationvs.actual system trajectory . . . 26
2.6 Inaccuracy of the steady-state approximation . . . 28
2.7 A Law of Mass Action (LoMA) -served queue. . . 31
2.8 Low-pass filtering effect in a LoMA-served queue . . . 35
2.9 Example: complexes and linkage classes . . . 37
2.10 Unimolecular reaction dynamics for exponential reaction times 43 2.11 Unimolecular reaction dynamics for deterministic reaction times 46 2.12 Unimolecular reaction dynamics for Gaussian reaction times . . 48
2.13 Fed unimolecular reaction model . . . 49
2.14 Unimolecular reaction dynamics for Gaussian reaction rates . . 49
2.15 More complex reaction networks . . . 51
2.16 Dynamics of complex networks for Gaussian reaction rates . . . 51
2.17 Saturation phenomenon due to low computational performance 55 2.18 Low-resolution phenomenon due to low time granularity . . . . 56
3.1 Interacting flows in LoMA-served queues . . . 69
3.2 Dynamics of interacting flows through LoMA-served queues . . 69
3.3 Interacting LoMA-served queues . . . 69
3.4 Chemical metaphor for interacting queueing systems . . . 70
3.5 Token-Bucket scheme . . . 72
3.6 The Enzymatic model . . . 74
3.7 Chain of Enzymatic-controlled flows . . . 78
3.8 Merging Enzymatic-controlled flows . . . 79
3.9 Simulated and predicted dynamics of Enzymatic flows . . . 81
3.10 Enzymatic controller: real-world experiment setup . . . 83
3.11 Enzymatic-controlled UDP flows . . . 83
3.12 Enzymatic-controlled flows over the Internet (UDP) . . . 84
3.13 Enzymatic-controlled TCP flows . . . 85
3.14 Distributed rate control: scenario . . . 87 3.15 Reaction network for Distributed Traffic Rate Control (DTRC) 89
3.16 Chemical motifs for the adaptive DTRC. . . 89
3.17 DTRC: transfer functions . . . 95
3.18 DTRC: implementation scheme . . . 97
3.19 DTRC: Analytical predictionsvs.simulation measurements. . . 98
3.20 Simulation: tuning the DTRC in a highly delayed scenario . . . 100
3.21 Simulation: aggregate rates in 11 DTRC-control host network . 101 3.22 Simulation: local rates of 11 DTRC-controlled hosts . . . 102
3.23 DTRC: real-world experiment setup . . . 103
3.24 Real-world experiment: DTRC control of Internet traffic . . . . 104
4.1 Sensor node block diagram . . . 115
4.2 Chemical reversible model . . . 117
4.3 Chemical model for broadcast-based consensus . . . 120
4.4 Full and ring network topologies. . . 125
4.5 Consensus model: simulationsvs.analytical prediction . . . 127
4.6 Regular lattice and small-world network topologies. . . 128
4.7 Sensors’ state evolution in 25-node networks . . . 129
4.8 Sensors’ state evolution in 100-node networks . . . 130
4.9 Sensors’ state evolution in dynamical networks . . . 132
4.10 Comparing chemical, randomized, and broadcast gossip models 133 4.11 Chemical model for estimating the number of neighbors . . . . 135
4.12 Chemical model for self-stabilization . . . 137
4.13 Effects of the mechanism for self-stabilization . . . 139
4.14 Performance comparison in a perturbed simulation scenario . . 141
4.15 Performance comparison in a switching network . . . 141
4.16 Hardware testbed . . . 143
4.17 Results of the real-world experiment . . . 146
5.1 FPGA technology . . . 158
5.2 Stoichiometric reactant coefficient in hardware - 1 . . . 160
5.3 Stoichiometric reactant coefficient in hardware - 2 . . . 162
5.4 Stoichiometric reactant coefficient in hardware - 3 . . . 164
5.5 Chemical algorithms on Xilinx FPGAs: block diagram . . . 167
5.6 main-module scheme . . . 168
5.7 FPGA-configuration example . . . 170
5.8 AC-module scheme . . . 172
5.9 time-Calculatorscheme . . . 175
5.10 Setup of the experiment on hardware traffic rate control . . . . 177
5.11 FPGA-configuration for (Enzymatic) traffic rate control . . . . 178
5.12 Experiment results: hardware Enzymatic-control of UDP-traffic 179 5.13 Experiment results: programming the controller’s behavior . . 180
5.14 FPGA-configuration for distributed computation . . . 181 5.15 Setup of the experiment on distributed computation on FPGAs 183 5.16 Experiment results: distributed computation with three FPGAs 183
A.1 Difference motif via repulsion laws only (LoMA) . . . 199
A.2 Difference motif via attraction and repulsion laws . . . 199
A.3 Enzymatic traffic controller . . . 208
A.4 DTRC’s reaction network . . . 211
A.5 Throughput of the ALOHA protocol . . . 215
A.6 DTRC for Media Accessing: E-MAC . . . 216
A.7 Throughput of the E-MAC protocol . . . 217
A.8 Clustered and inline network topologies. . . 220
A.9 Sensors’ state evolution in several dynamical networks . . . 221
3.1 Comparison of M/M/1-modeled and LoMA-served queues . . . 68
3.2 Stationary average features of interacting LoMA-served queues 69 3.3 Stationary average features of the Enzymatic controller . . . . 77
3.4 Stationary average features of a chain of Enzymatic controllers 78 3.5 Stationary average features when merging Enzymatic flows . . 79
3.6 Stationary average features of the DTRC . . . 93
3.7 DTRC: parametrization . . . 97
4.1 Convergence times in different networks . . . 131
4.2 Dynamics of sensed data (input) in simulations . . . 132
4.3 Dynamics of sensed data (input) in the real-world experiment . 146 A.1 DTRC: class-differentiation experiment . . . 219
1 Next Reaction Method published by Gibson & Bruck . . . 24 2 Reaction algorithm for Chemistry-inspired communications . . 53
2MA two moment approximation
ACK acknowledgment
AIMD additive increase multiplicative decrease
ANN artificial neural network
AQM active queue management
ARP address resolution protocol
ASIC application-specific integrated circuit
AWGN additive white Gaussian noise
BDP bandwidth-delay product
BIBO bounded-input bounded-output
BIC binary increase congestion
BpMol bytes per molecule
BR broadcast gossip algorithm
CDF cumulative distribution function
CLE chemical Langevin equation
CME chemical master equation
CDN content delivery networks
CH chemical consensus algorithm
CLB configurable logic blocks
CoDel controlled delay
CW continuous wave
CSP content service provider
CPLD complex programmable logic devices
CPU central processing unit
DCCP datagram congestion control protocol
DCTCP data center TCP
CSMA carrier sense multiple access
DRAM dynamic RAM
DRED dynamic RED
DRR deficit round robin
DSACK duplicate selective ACK
DSL digital subscriber line
DTRC distributed traffic rate controller
ECN explicit congestion notification
EM electromagnetic
EMC EM compatibility
EMI EM interference
FCFS first come first served
FF flip-flop
FPGA field-programmable gate array
FPS flow proportional sharing
FQ fair queueing
GPS generalized processor sharing
GRED gentle RED
HDL hardware description language
HS-TCP high speed TCP
HULL high-bandwidth ultra-low latency architecture IEEE institute of electrical and electronics engineers i.i.d. independent and identically distributed
IP internet protocol suite
IP intellectual property cores
ISE integrated software environment
ISM industrial, scientific and medical radio bands
LoMA law of mass action
LNA linear noise approximation
LSB least significant bit
LTI linear time-invariant
LUT look-up table
MAC media access control
MCA metabolic control analysis
MSB most significant bit
MSE mean squared error
NIC network interface controller
NMSE normalized mean squared error
PCI peripheral component interconnect
PDF probability density function
PIE proportional integral controller enhanced
OSI open systems interconnection
ODE ordinary differential equation
QoS quality of service
R&D research and development
RAM random-access memory
RCP rate control protocol
RED random early detection
RN randomized gossip algorithm
ROM read-only memory
RR round robin
RR-TCP reordering-robust TCP
RTL register transfer level
RTO retransmission timeout
RTT round trip time
SACK selective ACK
SCTP the stream control transmission protocol
SFED selective fair early detection
SFQ stochastic fairness queueing
SHRED short-lived flow friendly RED
SNR signal-to-noise ratio
SRAM static RAM
SRED stabilized RED
TCP transmission control protocol
TB token bucket
TF transfer function
TM traffic management
UART universal asynchronous receiver/transmitter
UDP user datagram protocol
USB universal serial bus
UWB ultra-wide band
VHDL VHSIC HDL
VHSIC Very High Speed Integrated Circuit
WFQ weighted FQ
WLAN wireless local area network
WSN wireless sensor network
WRR weighted round robin
Chemistry-related symbols
artificial chemistry AC
distributed artificial chemistry DAC
reaction algorithm A
reaction set R
species set S
local species set at nodei Si
species set at nodeicomprehensive of species at neighbors Mi reaction coefficient (rate constant) of reactionr kr
reaction coefficient (rate constant) vector k
molecular concentration of speciess cs
steady state of speciess c∗s
molecular concentration vector c
propensity of reactionr ar
reaction propensity vector a
rate of reactionr vr
reaction rate vector v
stoichiometric matrix Ξ
stoichiometric matrix elements Ξs,r
stoichiometric reactant coefficient of speciessand reactionr αs,r
stoichiometric product coefficient ofsand reactionr βs,r
order of reactionr O(r)
chemical system’s state (vector of the amount of molecules) n stochastic process related to the chemical system’s state N(t)
chemical system’s state change vector x
deficiency value of a reaction network ℘
set of chemical complexes C
linkage class `
volume of the vessel Ω
Communication-networking symbols
communication network graph G
set of communication network edges E
set of communication network vertexes V
ithcommunication network vertex (network node) νi
communication network adjacency matrix ∆
(average) arrival or generation rate λ
sending rate vout
rate limit vmax
expected waiting time (delay) d
capacity of a media access system R
average scheduling process of MAC algorithms g capacity-normalized average scheduling process G
throughput of MAC algorithms µ
Transient (sensitivity) analysis symbols
Sensitivity function ε(t)
Dirac’s delta function δ(t)
transfer function (TF) matrix in Laplace domain H(s) transfer function (TF) in Laplace domain H(s) Laplace transform of functionf(t) L{f(t)} inverse Laplace transform of functionF(s) L−1{F(s)}
state matrix of an LTI system A
input matrix of an LTI system B
output matrix of an LTI system C
feedforward matrix of an LTI system D
identity matrix I
Jacobian matrix J
Laplacian matrix L
State vector c
Parameter vector p
Input vector u
Perturbation vector x
Output vector y
Set operator
subset ⊆
strict subset ⊂
superset ⊇
strict superset ⊃
union ∪
element of ∈
exists ∃
for all ∀
size of setA |A|
Consensus-related symbols
set of neighboring nodes of nodeνi Ni
measured quantity at nodeνi zi
zi-difference between consecutive sampling δz,i
design parameter related to the estimation of neighborsνi α design parameter related to the self-stabilization mechanism β
local sensor’s state S
Other symbols and operators
uniform distribution U[a, b]
normal distribution N[η, σ]
exponential distribution exp[η]
mean of a random variablev ηv
standard deviation of a random variablev σv
expected value of random variablex E{x}
probability P
rank of matrixX rank(X)
minimum between two valuesxand y min(x, y)
proportional to ∝
relation |
number of #
Introduction
“Science is what you know. Philosophy is what you don’t know.”
Bertrand Russell
T
his thesispromotes the adoption of an unconventional approach for en- gineering communication and networking systems, which we believe can contribute to opening new directions in the research on this wide topic. We de- viate from traditional techniques to venture on a tour into Physical Chemistry in search of breakthroughs on the design and the analysis of communication and networking systems.1.1 Context and motivations
Predicting and controlling the dynamics of communication and networking systems are difficult but important challenges in the engineering process. While in the early days of communication networks the researchers’ attention was on merely functional aspects, in the last three decades, the focus has shifted towards mastering system dynamics and designing stable solutions. The design process has thus been enriched by theoretical studies that care about predicting possible system’s behaviors (trajectories) induced by the adopted algorithms and protocols.
In the past, researchers and engineers often mastered a problem by decompo- sition – they broke a problem and its solution into parts, and analyzed and implemented them by further iterations of decomposition. They cared about the algorithmic functionality but rarely about analyzability. Such a modular (layered) controllable environment was easy to maintain but difficult to opti- mize (cross-layer optimization). Also, it made interactions among the entities that constitute the system, or between the system and the environment, hardly predictable and controllable. As a result, algorithms and protocols, which worked well under nominal conditions, produced instead behaviors not fully
understood and exhibited shortcomings in evolving scenarios and unexpected conditions.
Today, the design of communication and networking protocols follows different approaches that are, more or less, empirical, rigorous/formal, or mimicking natural phenomena.
Many protocols currently in use represent mere adaptations of former solutions
Empirical
design to newly faced problems, e.g. the progression of congestion-avoidance solutions in the Internet. Researchers and engineers have often patched and extended existing algorithms according to empirically-gained insights and without a theo- retical ground truth. With the rapid evolution of communication environments and infrastructures, these solutions often deal with conditions that are different from those they have been engineered for. As a result, they turn out to barely work and exhibit incomprehensible behavior.
Engineers have proposed to use analytical tools such as control theory to
Analysis-based
design understand critical aspects of algorithms and calibrate/configure them ac- cordingly. The use of control theory has been further advocated in early stages of the design process to plan corrective actions that keep the system stable. A central challenge in this approach is deriving a (fluid-)model that approximates sufficiently well the algorithms dynamics and then reducing it to an analytically tractable system. Another problem not easy to be tackled with control-theoretical tools is the need for autonomic (self-regulating) systems – systems must be able to automate their management and continuously self- optimize their behavior in order to accommodate to the continuous evolution of the operating environment. This is a feature that seems conflicting with the need for dynamics controllability.
Looking for self-* properties of systems, most recently, researchers resort to
Nature- inspired design
bottom-up (nature-inspired) design approaches. Nature-inspired algorithms are defined by simple (microscopic) interaction rules from which the behavior and functionality of the algorithm itself (naturally) emerges at the macroscopic level. Most of the time, these (distributed) algorithms tend to exhibit, and induce in the systems where they are implemented, stable dynamics that are easily predictable (at least in average terms); nature-inspired systems tend to be more robust against perturbations and to changes of nominal conditions.
Aspiring to develop systems as Mother Nature does, proposed communication solutions use specific models describing processes and mechanisms in living organisms. To this end, researchers have to properly engineer the (microscopic) implementation details that correctly embody the mimicked model, and that let (macroscopic) functional requirements emerge from interactions within the system and between the system and the environment. This process turns out to be not always simple but mostly, it is not automated and requires different ploys from case to case.
What is missing, and seems to us important for developing future communica- tion networks, is an intuitive design framework that offers analytical tools to
Aim understand, predict, and control network dynamics. We aim at an alternative to the classical finite-state-machine modeling of reactive systems that should
ease and make almost automated the design of stable interaction-systems;
systems where functionalities are not distinct from the system itself but rather embodied in it and its environment. Communications should be organized in a way to autonomously adapt and evolve according to the evolution of the environment and working conditions.
1.2 Our approach
In this thesis, we propose to approach the design and the analysis of algorithms and protocols for communications and networking by exploiting well-known principles and laws of Chemistry. Specifically, we model interactions among nodes in a communication network (e.g., computers, routers, single queues in a packet-switched network such as the Internet, but also sensors in a wireless network) as chemical reactions, and we metaphorically associate information (e.g., data packets, radio frequency pulses) to chemical molecules. Practically,
Use of chemical laws and principles
we implement in each node of the network a so-calledartificial chemistry[71], a man-made system that “behaves similarly” to a chemical system and has some constituent features in common with actual chemical reaction networks. The implemented artificial chemistry constitutes an underlying dynamical system that governs the behavior of the network’s node – the artificial chemistry shapes the node’s response to external events (e.g., packet arrival, radio frequency pulse reception, packet loss detection), orchestrates internal computations (e.g., computation of the next packet dequeueing time, reduction of the transmission rate), and triggers its actions (e.g., packet drop, transmission of radio frequency pulses, packet dequeueing). Chemical reactions occur both within the network node (this is how the state of the node evolves in response to external events and internal updates), and among spatially distributed entities, in the form of information exchanges. From this perspective, Artificial Chemistry can be used to model and performdistributed computations andprocessing tasks.
With the Chemistry-inspired approach, the design of algorithms and protocols for communication networks becomes “drawing” an opportune reaction net- work. Once the reaction network that performs the desired task is designed, it can be compiled to a program that “executes” chemical reactions on-line.
At this micro-level, each event in the communication network contributes to a state change of the chemical reaction network (the dynamical system governing the behavior of the network’s node). The state of the node evolves according to the designed reaction network and to well-defined timings, such that the expected system trajectory emerges at the macro-level.
We focus on the dynamical aspect and thus refer specifically to the branch of
Focus on network dynamics
Chemistry that studies dynamics of chemical reaction systems, i.e. Physical Chemistry. We import into communication network engineering laws and prin- ciples that define chemical kinetics. This allows enforcing a strict relationship between the performed functionality and the exhibited dynamics of Chemistry- inspired mechanisms.
Bothanalysisanddesign of algorithms/protocols for communication networks can benefit from the Chemistry-inspired approach – researchers can take ad-
Benefits to networking and communication systems...
vantage of the chemical theory to study traditional problems (e.g., consensus problem in wireless sensor networks [180]) or solve current open issues (e.g., emergent control to achieve a collective goal [135]). Two major improvements
..analysis
characterize the analysis process: (i) In the Chemistry-inspired engineering framework, the fluid model of the system can be generated automatically from the execution model (automaton) of the algorithm/protocol. (ii) The underly- ing chemical metaphor enables the direct use of new (in the field of communi- cations and networking) analytical tools (e.g., steady-state analysis, sensitivity analysis, Chemical-Organization theorems) to study equilibrium points, the dynamical behavior, the sensitivity, and the stability of the developed system.
Two major improvements also characterize the design process: (i) Designers
..design
can easily import chemical patterns, which are known to embody vital regula- tory mechanisms in living complex systems, to perform traditional tasks in a stable, robust, and self-regulatory way (e.g., adopting the chemical Enzymatic model to control the traffic in the Internet). (ii) Thanks to the applied chem- ical laws, Chemistry-inspired systems tend to exhibit smooth transitions and leverage stable attractors. That is, an intrinsic feature of Chemistry-inspired systems is the propensity to achieve equilibrium states and be robust against perturbations.
1.3 Contributions of the thesis
We identify the dynamical aspect as the main benefit of adopting the chemical metaphor in communication and networking engineering, and focus on pre- dicting and controlling dynamics of communication networks by applying rules and principles of Physical Chemistry. This approach is shown to improve the analysis and the design of communication and networking protocols and to originate deployable solutions.
The specific contributions of this thesis are as follows:
• We broaden part of the ideas published in [163]. We do not use the chemical metaphor only to model some communication aspects of com- puter networks. Rather, we design andimplement mechanisms forcom- munication and networking systems, which can be actually deployed in today’s infrastructures and do not rely on special (chemical) packets nor require the hypothetical replacement of existing infrastructures’ layers and elements.
• We extend Artificial Chemistry by relaxing the requirements deriving from the will to reproduce faithfully phenomena observed in real Chem- istry. This enhances both functionality and analyzability of the designed mechanism, in the communication and networking context.
• We show that applying laws and principles of (artificial) Physical Chem- istry to the design of communication algorithms is not a mere intellectual exercise – we implement Chemistry-inspired algorithms that improve state-of-the-art solutions in terms of stability and predictability.
• We derive a class of rate controllers that can be easily parameterized, ex- tended, and customized, for various purposes and in different operational environments.
• We analyze and implement a Chemistry-inspired solution for distributed computing in wireless sensor networks.
• We give evidence that Chemistry-inspired mechanisms can actually be de- ployed nowadays – we provide promising results from experiments where artificial chemistries are implemented at kernel and user space of com- puters, on embedded microprocessors, and on hardware.
• We develop a high-level abstraction for designing hardware control mod- ules, on Field-Programmable Gate Arrays (FPGA) technology.
1.4 Thesis outline
The thesis is structured as follows: We first introduce concepts, formal def- initions, laws, and analytical tools related to Artificial Chemistry, and start explaining the chemical metaphor for distributed computations and information exchanges (Chapter 2). We then take advantage of the introduced theory to analyze and design traffic shaping solutions for packet-switched networks, and specifically derive a class of distributed traffic rate controllers (Chapter 3). We adopt the Chemistry-inspired engineering approach to define a set of interaction rules that allow achieving distributively consensus in wireless sensor networks, and derive from them a simple communication protocol that lets nodes ex- change their data in an asynchronous admission-free manner, with no need for symbolically encoded information and for packet exchanges (Chapter 4).
We show how to guarantee high-speed performances of Chemistry-inspired algorithms and build them in hardware, and at the same time, we introduce a user-friendly high-level abstraction for the design of hardware controllers (Chapter 5). We conclude by summarizing the main features of Chemistry- inspired systems and our contributions in the context of communications and networking, and discussing possible future research directions (Chapter 6).
All chapters are both theoretical and practical, with aspects concerning the analysis and the background theory as well as details related to implementa- tions and experimental evaluations. After all, our ultimate belief is thatmod- eling, analysis, design, andimplementation of communication and networking solutions should be one and the same thing.
This thesis has a “self-similar” structure – it has approximatively the same structure of its chapters (i.e., introduction, main body, conclusion), and chap- ters’ sections are in line with this writing scheme (although not explicitly structured in this way). Each chapter treats different topics and different contexts. For this reason, all chapters start with a generic overview on the covered topic, which includes a thorough discussion of related works and on our specific contributions. All chapters end with a discussion of developed insights/open issues and a short summary that recalls the milestones of the treated argument. TheIntroductionand theConclusion(chapters1and6) are exceptions to these general rules.
Artificial Chemistry for
Networking and Communications
“Choosing which aspects of the system should be modeled and which aspects can be ignored is an art rather than science.”
Srinivasan Keshav
T
his chaptergives the reader all tools to understand the work presented in this thesis. We provide an introduction to Artificial Chemistry and start clarifying how one can look at communications and distributed computations from a chemical perspective. We identify the dynamical aspect as the main benefit of importing the chemical theory and using it in communication engi- neering. For this reason, we focus on analytical tools and theories concerning chemical kinetics, likely unfamiliar to most computer scientists and communica- tion engineers. For the sake of clarity, we support the introduced concepts with toy examples, then generalized and elaborated in the next chapters to support interesting applications in computer networks and communication systems.This chapter is structured as follows: We first report historical notes in the field of Artificial Chemistry and specify the space and scope of our contribution in Section 2.1. We introduce the basics of Artificial Chemistry inSection 2.2and give formal definitions. We (i) introduce a fundamental law (law of mass action) that describes the emergent macro-behavior of chemical systems, (ii) clarify how to study chemical kinetics on the micro-level, and (iii) illustrate an efficient way to reproduce chemical dynamics on traditional computers. Then, we present in Section 2.3 all important analytical tools that we will use in the next chapters to study the equilibria of our Chemistry-inspired algorithms, their dynamical behavior, and if and how they converge. In Section 2.4, we show how to parametrize and extend Artificial Chemistry to realize Chemistry- inspired systems for communication and networking, abstracting away from requirements of actual Physics. Finally inSection 2.5, we point at some issues that possibly arise during the engineering phase, and we hint at general design aspects to overcome these issues.
2.1 Introduction
Artificial Chemistry (AC) represents a tool for modeling different types of natu- ral systems and investigating their (possibly complex) dynamics. In general, the AC-approach is based on a chemical metaphor, with molecules that collide and react according to certain rules (reactions). As we see later in detail,ACis used to study the origin, the evolution, and the maintenance of organizations, as well as a method to find solutions to optimization problems. Another interesting application ofACis to process information and perform computations by taking advantage of the computational properties of chemical systems. This can be done by using real molecules and chemical reaction systems, or rather can be done on traditional computers and machines by usingACas a design paradigm for new software and hardware architectures.
In the following, we give some historical notes onACs and review a few major works in this context. We focus mainly on the works that propose ACs as information processing systems, and that deal with Chemistry as a mere design paradigm for communication and networking solutions.
2.1.1 Related works
Research in the context of AChas been, and still is, characterized by a broad application spectrum. Mainly, it has been applied to modeling, information processing, and optimization. For a compact but complete review on the history and works in the context ofACs, refer to [71].
ACs have been used as a modeling system in different domains, such as bio- logical, evolutionary, social, and parallel-processing systems. Researchers have mainly aimed at understanding the “logic” of certain natural phenomena, such as examining the abstract problem of the emergence and organization inlife.
For example, in the fifties, Turing introduced an abstract chemical system2.1 to show how spatial patterns can be generated by simple chemical processes (e.g., he explained how “destabilization through diffusion” mechanism moti- vates “symmetry breaking and pattern formation” phenomena) [233]. Another famous example is the Algorithmic Chemistry “AlChemy”– refer to [90] and [91]
for further details – that showed how self-organizing sets (organizations2.2) naturally arise in a system of interacting elements.
Artificial chemical systems can also be seen as a generalization of many evolu- tionary algorithms. The reason lies in the ability ofACs to create evolutionary behavior (or self-evolution [69]). For example in [134], Koza introduced self- replicating computer programs that were self-improving and evolving. The in-
2.1Touring’s model was made of a few chemical species interacting according to a couple of reaction rules, and had the structure of a conventional chemical reaction model.
2.2An organization is a set of elements such that each element can be generated by the conjunct action of the others, and such that given any two elements in the system, their interaction will always generate only elements of the set.
troduced environment can be regarded as anACwhere molecules are computer programs and reactions take place while programs are executed. By exploiting the self-evolutionary feature, researchers have proposed ACs to find solutions to “difficult”, mostly combinatorial problems. As a consequence, many AC- based search and optimization algorithms have been introduced, such as the catalytic search to solve simple problems and find approximations for complex ones [258].
Most chemical processes in nature can be interpreted as processing information and performing computations. Every living entity can formally be seen as
ACs as...
an information processing system where the basic mechanism of information processing is Chemistry – i.e., an information processing system generates an
...information processing systems
output (in general, a certain behavior) as a result of processing the input
...distributed, adaptive computing systems
(the current internal state and the environmental inflow). Many works have exploitedACs both for “real chemical computing”, by the use of real molecules, and for “artificial chemical computing”, where the chemical metaphor is ap- plied as a design paradigm for new hardware and software architectures. For example, artificial chemical systems have been extensively used for control tasks in robotics – e.g., hormone systems have been used in [40] to achieve asynchronous information flow and coherent behavior in a distributed parallel control architecture for a humanoid robot torso; excitable lattices in [3] and simplified enzyme-substrate kinetics in [268] were used to control real mobile robots. Whereas in computer architectures, a relevant example of applying
γ-calculus
a chemical paradigm to perform distributed computations dates back to the eighties when Banˆatreet al. in [27] envisioned a highly abstract coordination model that aimed at autonomous, distributed, and dynamically adapting pro- gramming workflows. Their abstract rewriting model referred to the following chemical metaphor: A chemical reaction model describes computation in terms of chemical reactions; data (γ-abstractions) is represented by molecules (γ- expressions) that remain in the multiset at the end of the program; a set of “reaction” rules is given to combine elements in the multiset and produce new elements. The execution of a γ-program can be seen as the evolution of a solution of molecules, which react until the solution becomes inert. The main feature ofγ-programs is that they involve implicit parallelism – data is processed in parallel and thus computation should be easily performed on one as well as on multiple processors. However, the gap between aγ-program and any real computer on which it is assumed to run is large and thus, the design of reasonably efficient implementations of the model is a challenging task.
Since the introduction ofγ-calculus, later extended in [26], many other chemical formalisms have been proposed. The Cham [34] investigated more theoretical aspects and added new features to the chemical programming paradigm by considering solutions of multisets and allowing for the definition of membrane- like encapsulation of sub-solutions. Higher-order multiset rewriting [141] en- abled any configuration, made of multisets and a set of rewriting rules, to handle other configurations through their program. The hmm-calculus [57]
attempted to generalize the γ-model by introducing “one-shot and first-class
citizen” reactions. Finally, the P-system [193] interpreted as computations the processes happening in the compartmental structure of a living cell and based on this perspective provided an alternative and complementary approach to classical methods such as the ones that are based upon Ordinary Differential Equations (ODEs). All these chemical formalisms were built on the same basic paradigm but had different properties and different expressive powers as studied and summarized in [25].
A more recent proposal, which indirectly has inspired also the work presented in this thesis, is the work by Tschudin [230]; he proposed a Chemistry-inspired rewriting system that, by combining the γ-formalism and the tag-system in- troduced by Post in [197], is able to efficiently process headers of data packets.
Originally, the Fraglet-programming language was defined as “a molecular Biology-inspired execution model for computer communications”, as Fraglets (small elements that represent fragments of a distributed computation, either code or data) irreversibly interact with other Fraglets according to a few simple rules (string substitution patterns), similarly to Chemistry where molecules react with each other according to reaction rules.
The chemical metaphor has been strengthened by Meyeret al. in [166], where the Fraglet system has been extended by introducing the chemicalLaw of Mass Action (LoMA) as a scheduling policy for part of the string rewriting rules.
This has brought chemical kinetics into protocol programming languages and,
Chemical Networking Protocols...
...kinetics into protocol programming languages
de-facto represents a big step toward a generic approach to characterize the dynamics of computer networks with chemical laws and principles. Authors of [166] made explicit how Fraglet tag-matching systems can be mapped to an AC and can be used to design network protocols. They made use of the LoMA-extended Fraglet system to develop a networking protocol for load balancing, where the desired result emerges from the combination of distributed reactions, thanks to the applied laws and kinetics principles. Further, they
...rate-encoded information
exploited chemical kinetics as a tool to create computer network functionalities, which rely onrate-encoded information rather than the symbolic information, traditionally used in networking protocols.
2.1.2 Space and scope of our contribution
Our work is in line with those approaches that exploitACs in the context of information processing, and with those solutions that import laws, principles, and theories form Chemistry in order to achieve distributed adaptive computing systems.
For example, similarly to what Banˆatre et al. proposed in [27] or to the P- system [193] and other chemical formalisms such as [34,57,141], we adopt the chemical metaphor to solve parallel concurrent computations. And sim- ilarly to [28,64,230], we take advantage of the chemical metaphor in order to design algorithms for communication- and networking-related applications.
We focus on the dynamics and thus refer to specific principles and laws of Physical Chemistry. Such as in [157,163], we employ the chemical metaphor to
build information processing systems where computation emerges out of “an orchestrated interplay of many decentralized relatively simple components”.
Specifically, this chapter extends and broadens the scope of some ideas that Meyeret al.proposed [163,165,166]: the use of the chemical metaphor to model self-healing protocols for computer networks, whose dynamics are inspired by chemical reaction networks – Chemical Networking Protocols (CNPs). Follow- ing the CNP approach, we let algorithms “be driven” by underlying reaction models. The direct coupling between quantity and rate, which is enforced by the reaction law (i.e., law of mass action), permits to automatically build a deterministic ODE model that describes the algorithm’s dynamics. By allowing deviations from what happens in real chemistry and by sticking to the only constraint of implementing a mass-action scheduler, we enhance controllability and analyzability of networking and communication systems. We make use of the chemical metaphor to enable working withrate-encoded information rather than, as traditionally, with explicit numeric values. We recognize the dynamical
Focus on dynamics
aspect as the main benefit of importing Chemistry into information processing and communication engineering, and thus focus on the latter aspect only. We do not treat active (code-oriented) networking, and self-organizational aspects of “chemical software code”.
In general, in the context of protocol design, the idea of mimicking phenomena and mechanisms observed in nature is not new. The literature reports many trials (successful or not) that exploit biological models (e.g., swarm-based systems, firstly introduced in [212]), physical fields (e.g., EM, temperature, and other generic artificial force fields such as potentials in [31]) and bio-chemical models (e.g., reaction diffusion for epidemic routing in [131]). However, the majority of research takes care of the spatial distribution/diffusion of informa- tion (e.g., routing) and often overlooks the dynamics. Additionally, solutions usually rely on importing specific Nature-inspired models to fulfill specific tasks.
This profoundly differs from our new paradigm for the design and analysis of algorithms which (i) focuses on achieving stable and predictable dynamics, without directly caring about the spatial-aspect of the distribution of contents (information), (ii) adopts a whole theory (chemical theory), and (iii) is not confined to a specific application but rather has a wide utilization spectrum.
2.2 Basics of Artificial Chemistry
AC can be seen as a subfield of Artificial Life research that, by abstracting from natural molecular processes, tries to investigate the behavior of complex systems. In these systems, global properties emerge naturally from the local interactions between their subsystems. In this section, we start to make clear how to take advantage of this peculiarity in networking and communication systems.
After introducing colloquially the chemical metaphor inSection 2.2.1, we give its formal definition inSection 2.2.2. InSection 2.2.3, we introduce the law of
mass action which describes macroscopically how reactions occur in ACs and which represents the rule we, indirectly or directly, apply to schedule events in networking and communication systems. In Section 2.2.4, we look at the micro kinetics of actual chemical systems in order to grasp the reason behind implementation choices of existingACs. Finally, we show inSection 2.2.5how chemical kinetics can be reproduced on traditional CPUs.
2.2.1 The chemical metaphor for networking
Generally, we can look at networking protocols and the way how messages are exchanged from both a microscopic and a macroscopic level. At the microscopic level, a protocol implementation cares about the individual details: processing
Microscopic
level of data, the actions triggered when information (e.g., a packet) is received, the scheduling of consequent actions, and so forth. Protocols are traditionally implemented as state-machines where an asynchronous event (e.g., a packet reception) triggers an action and a state transition. Instead at the macroscopic level, individual events are not important, neither observable. Rather, the
Macroscopic
level macroscopic view deals with flows (e.g. packet streams), and focuses on the large-scale dynamics of protocols.
Surprisingly, we can refer to Chemistry and the related chemical laws and principles to obtain an alternative to design, execute, and analyze algorithms and protocols for networking. Thanks to the Chemistry-inspired framework, the designer does not have to care anymore about the microscopic details of the implementation in order to satisfy requirements at the macroscopic level.
According to the chemical metaphor, we can compare information/messages to molecules and let them “react” with each other akin to molecular reactions.
With this novel framework, the designer can program networking and com- munication algorithms at the macro-level by “drawing” reaction networks. At
A direct micro-macro mapping
the same time, the chemical approach provides an executable model for these reaction networks at the micro level, without the need for “programming”
the emergent algorithm. Once the reaction network that controls the flow is designed, it can be compiled to a program that “executes” chemical reactions on-line and one-by-one. At this micro level, there is a direct mapping between events in the communication network and those in the chemical reaction net- work, such that the expected flow trajectory emerges at the macro level.
This approach can be used to solve concurrent computations and to perform
ACs to...
...solve concurrent computations ...perform simultaneous communica- tions
simultaneous communications in a natural way [68]. Practically, we let a Chemistry-inspired dynamical system govern the behavior of each single entity of the communication system: We associate events in a communication network (e.g., packet arrivals, packet generations, reception of simple RF-pulse and so forth) to the production or destruction of virtual molecules in a chemical dynamical system, which represents a sort of control plane of the protocol’s dynamics (i.e., events in the chemical dynamical system, such as the execution of a specific reaction or the generation of a specific molecule, correspond to specific actions, such as packet transmission, packet dropping, and so forth).
Molecules react with other molecules and the obtained web of reactions can be used to perform computation. When several network nodes (e.g. hosts in a computer network, or sensors in a wireless sensor network) interact with each other and behave according to the chemical dynamical system, the overall system can be seen as a unique system (reaction network) that performs a distributed computation.
2.2.2 Formal definition
Formally, we can characterize each node (entity) of the communication system according to an Artificial Chemistry. An Artificial Chemistry is univocally defined as a triple
AC .
= (S,R,A) (2.1)
where S = [s1, s2, . . . , s|S|] is the set of molecular species that may appear in
Artificial Chemistry
a certain Chemistry,R= [r1, r2, . . . , r|R|] is the set of reactions that expresses which reactant molecules can collide and which product molecules are generated during this process, and A is the algorithm that defines which and when reactions occur [71]. In this section, we are going to comment on the topology of a reaction network (i.e., we explain the meaning of S and R terms). We leave to the next sections the discussion of its dynamics (i.e., we explain the third elementAnot sooner than Section 2.2.5).
A reaction ruler ∈ Roperates according to a given equation whose general form is as follows:
Reaction equation
r: X
s∈S
αr,ss−→kr X
s∈S
βr,ss (2.2)
where kr is a constant parameter (known as reaction coefficient) that con- tributes to regulating the average rate at which reactionr occurs, αr,s is the number of molecules of speciess consumed by reaction r (known as stoichio- metric reactant coefficient), and βr,s is the number of molecules of species s produced by ther-reaction (known as the stoichiometric product coefficient).
Basically, the above equation states that ther-reaction replaces an amountαr,s
of reactant moleculess (left-hand side) to produce an amountβr,s of product moleculess(right-hand side), with an average rate controlled by coefficientkr. The number of reactant speciesO(r) is called the order of the reaction.
For example, a simple unimolecular (order one) reaction (illustrated in Fig- ure 2.1(a))
r: 1·S−→ ∅1
describes the process that consumes one molecule of species S each time reac- tionr occurs. We neglect for the moment the role of the reaction coefficient, set to one in the example. Of course, the reaction can happen only when at least one S-molecule is present in the reactant vessel.2.3 When this condition is
2.3We call “reaction vessel” an instance of anACas defined in (2.1). A vessel thus contains a multiset of molecules; each molecule in it is an instance of one of the molecular speciess∈ S.
vout S
(a) Chemical model
vout
S
(b) Corresponding queuing network Figure 2.1: A unimolecular reaction “extracts” a molecule of chemical species S like a server extracts a packet from a traditional queue.
satisfied the reaction is said to be ”active”, otherwise it is called ”inert”. To call back concepts of communication system engineering (refer to Figure 2.1(b)), we can see the molecular species S as a traditional queue that stores packets.
In this context, the execution of the simple reactionr: S→ ∅ corresponds to the action of dequeueing a packet.
As a next step, we introduce the concept of Distributed Artificial Chemistry (DAC) by extending the formal definition of anACto a communication network whose interaction topology is represented by a directed graph (“digraph”)
Interaction graph of communication networks
G= (V,E). (2.3)
The set V ={ν1, ν2, . . . , ν|V|} contains all graph vertexes (i.e., computers in a computer network, sensors in a wireless sensor network, and so forth) whereas the setE ⊆ V ×V contains the edges, with the convention that (νi, νj)∈ Eif and only if there exists a connection from nodeνi to nodeνj (i.e., the information flows fromνitoνj). The structure of a digraph can be described by the|V|×|V|
adjacency matrix∆whose generic entry [∆]i,jis equal to 1 if (νi, νj)∈ Eand 0 otherwise.
In a DAC, molecules can be exchanged over the network links by executing reaction rules that generate remote actions. In particular, at each nodeνi∈ V, a reaction algorithm A (the same for all nodes) updates a local multiset of molecules according to a set of local reaction rules. That is, each node νi Distributed
Artificial Chemistry
defines a localDAC as the triplet DAC .
= (Mi,Ri,A) (2.4)
in whichMi =Si∪ Si(j). The set Si defines the species of all molecules that can possibly be found in the local multiset, whereasSi(j)⊆ ∪j∈NiSj is the set of species that can possibly be found in its neighbors. Each node also defines its own set of reaction rulesRi where a reactionri∈ Ri is specified as follows:
Interactions among spatially distributed nodes
ri : X
s∈Si
ari,ssk→ri X
s∈Mi
bri,ss.
Note that all reactants are local species only whereas products may also be species located in the neighboring nodes. This is how transmission or exchange