Accepted author manuscript, 2.45 MB, PDF document
Available under license: CC BY-NC: Creative Commons Attribution-NonCommercial 4.0 International License
Final published version
Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSN › Conference contribution/Paper › peer-review
Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSN › Conference contribution/Paper › peer-review
}
TY - GEN
T1 - Distributed Emergent Software
T2 - Assembling, Perceiving and Learning Systems at Scale
AU - Porter, Barry
AU - Rodrigues Filho, Roberto
PY - 2019/8/1
Y1 - 2019/8/1
N2 - Emergent software systems take a reward signal, an environment signal, and a collection of possible behavioural compositions implementing the system logic in a variety of ways, to learn in real-time how best to assemble a system. This reduces the burden of complexity in systems building by making human programmers responsible only for developing potential building blocks while the system determines how best to use them in its deployment conditions – with no architectural models or training regimes. In this paper we generalise the approach to distributed systems, to demonstrate for the first time how a single reward signal can form the basis of complex decision making about how to compose the software running on each host machine, where to place each sub-unit of software, and how many instances of each sub-unit should be created. We provide an overview of the necessary system mechanics to support this concept, and discuss the key challenges in machine learning needed to realise it. We present our current implementation in both datacentre and pervasive computing environments, with experimental results for a baseline learning approach.
AB - Emergent software systems take a reward signal, an environment signal, and a collection of possible behavioural compositions implementing the system logic in a variety of ways, to learn in real-time how best to assemble a system. This reduces the burden of complexity in systems building by making human programmers responsible only for developing potential building blocks while the system determines how best to use them in its deployment conditions – with no architectural models or training regimes. In this paper we generalise the approach to distributed systems, to demonstrate for the first time how a single reward signal can form the basis of complex decision making about how to compose the software running on each host machine, where to place each sub-unit of software, and how many instances of each sub-unit should be created. We provide an overview of the necessary system mechanics to support this concept, and discuss the key challenges in machine learning needed to realise it. We present our current implementation in both datacentre and pervasive computing environments, with experimental results for a baseline learning approach.
U2 - 10.1109/SASO.2019.00024
DO - 10.1109/SASO.2019.00024
M3 - Conference contribution/Paper
SN - 9781728127323
SP - 127
EP - 136
BT - 2019 IEEE 13th International Conference on Self-Adaptive and Self-Organizing Systems (SASO)
PB - IEEE
ER -