Distributed Emergent Software: Assembling, Perceiving and Learning Systems at Scale

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.

[1]  Thomas F. Wenisch,et al.  The Mystery Machine: End-to-end Performance Analysis of Large-scale Internet Services , 2014, OSDI.

[2]  Erik Elmroth,et al.  Distributed Cost-Optimized Placement for Latency-Critical Applications in Heterogeneous Environments , 2018, 2018 IEEE International Conference on Autonomic Computing (ICAC).

[3]  Enrico Pontelli,et al.  Distributed Constraint Optimization Problems and Applications: A Survey , 2016, J. Artif. Intell. Res..

[4]  Siobhán Clarke,et al.  Multi-agent Collaboration for Conflict Management in Residential Demand Response , 2016, Comput. Commun..

[5]  Shijie Sun,et al.  Pytheas: Enabling Data-Driven Quality of Experience Optimization Using Group-Based Exploration-Exploitation , 2017, NSDI.

[6]  Jacob Beal,et al.  Protelis: practical aggregate programming , 2015, SAC.

[7]  Wei Hong,et al.  TinyDB: an acquisitional query processing system for sensor networks , 2005, TODS.

[8]  Barry Porter,et al.  Defining Emergent Software Using Continuous Self-Assembly, Perception, and Learning , 2017, ACM Trans. Auton. Adapt. Syst..

[9]  Csaba Szepesvári,et al.  Bandit Based Monte-Carlo Planning , 2006, ECML.

[10]  Yiying Zhang,et al.  LegoOS: A Disseminated, Distributed OS for Hardware Resource Disaggregation , 2018, OSDI.

[11]  Amy L. Murphy,et al.  LIME: a middleware for physical and logical mobility , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[12]  Qiang Yang,et al.  A Survey on Transfer Learning , 2010, IEEE Transactions on Knowledge and Data Engineering.

[13]  H. Jaap van den Herik,et al.  Parallel Monte-Carlo Tree Search , 2008, Computers and Games.

[14]  Scott Shenker,et al.  Network Requirements for Resource Disaggregation , 2016, OSDI.

[15]  Evangelos Pournaras,et al.  Self-Adaptive Learning in Decentralized Combinatorial Optimization - A Design Paradigm for Sharing Economies , 2017, 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[16]  Jean-Charles Fabre,et al.  Implementing simple replication protocols using CORBA portable interceptors and Java serialization , 2004, International Conference on Dependable Systems and Networks, 2004.

[17]  Wonho Kim,et al.  Kraken: Leveraging Live Traffic Tests to Identify and Resolve Resource Utilization Bottlenecks in Large Scale Web Services , 2016, OSDI.

[18]  Barry Porter Runtime modularity in complex structures: a component model for fine grained runtime adaptation , 2014, CBSE '14.

[19]  Ada Diaconescu,et al.  Hierarchical Self-Awareness and Authority for Scalable Self-Integrating Systems , 2018, 2018 IEEE 3rd International Workshops on Foundations and Applications of Self* Systems (FAS*W).

[20]  Barry Porter,et al.  REX: A Development Platform and Online Learning Approach for Runtime Emergent Software Systems , 2016, OSDI.

[21]  Sébastien Bubeck,et al.  Regret Analysis of Stochastic and Nonstochastic Multi-armed Bandit Problems , 2012, Found. Trends Mach. Learn..