
One common characteristic of modern workloads such as cloud, big data, and machine learning is memory intensiveness. In detail, such workloads tend to have a huge working set and low locality. Especially, the size of working sets is rapidly growing so that cannot be fully accommodated by a DRAM based main memory. Worse yet, the cloud computing systems, which has been pervasive since few decades ago, are continuously reducing the size of DRAM per CPU and encouraging memory overcommitment. Consequently, efficient and effective out-of-core memory management is becoming more important. Though a number of memory management mechanisms for such situations have proposed, manual analysis and optimization are still required for optimal performance of each workload due to the wide variety of data access patterns. However, existing tools for memory access analysis are not appropriate to be used here because those are not designed for extraction of the dynamic data access pattern of modern workloads. When those tools are used for the purpose, those incur unacceptably high overheads for unnecessarily accurate analysis results. To mitigate this situation, we introduce a tool that is designed for the purpose. Basically, the tool employs a memory access tracking technique based on page table entry access bit, which incurs only minimal overhead. It also provides a technique for an effective tradeoff between profiling overheads and accuracy of the output by dynamically adjusting number of tracking regions. By adopting the technique, this tool can control the level of overheads and output accuracy in bounded range that user specified regardless of the size of target workloads. The overhead can be lowered even enough to be used for online target workloads while still providing useful quality of the extracted data access pattern. The main contributions of this paper are: 1) introduce of the data access patterns profiler tool designed for modern memory-intensive workloads, and 2) empirical memory access pattern analysis of various realistic workloads.
For the robots to achieve a desired behavior, we can program them directly, train them, or give them an innate driver that makes the robots themselves desire the targeted behavior. With the minimal surprise approach, we implant in our robots the desire to make their world predictable. Here, we apply minimal surprise to collective construction. Simulated robots push blocks in a 2D torus grid world. In two variants of our experiment we either allow for emergent behaviors or predefine the expected environment of the robots. In either way, we evolve robot behaviors that move blocks to structure their environment and make it more predictable. The resulting controllers can be applied in collective construction by robots.
CARS (Computational Architectures for Reflective Systems) is a test bed for integration of heterogeneous autonomous cyber-physical systems (robotic vehicles). The test bed is organized around four "games" which test individual operation, competition, and both time-asynchronous and time-synchronous collaboration. We describe our design philosophy and then briefly discuss the design of the physical agents and the Wrappings software used to control them, as well as the method used to evaluate performance. Finally, we relate some results of our experiments so far and suggest both topics for future work on the CARS test bed and larger challenges for interwoven systems.
Researchers propose and employ various methods to analyze, model, optimize and manage modern distributed cloud applications. In order to demonstrate and evaluate these methods in realistic scenarios, researchers rely on reference applications. These applications should offer a range of different behaviors, degrees of freedom allowing for customization and should use a modern and representative technology stack. Existing testing and benchmarking applications are either outdated, designed for specific testing scenarios, or do not offer the necessary degrees of freedom. Further, most cloud reference applications are difficult to deploy and run. In this paper, we present the TeaStore, a micro-service-based test and reference cloud application. TeaStore offers services with various performance characteristics and a high degree of freedom regarding its deployment and configuration to be used as a cloud reference application for researchers. The TeaStore is designed for the evaluation of performance modeling and resource management techniques. We invite cloud researchers to use the TeaStore and provide it open-source, extendable, easily deployable and monitorable.
Blockchain technology comes with the promise to revolutionize the way current IT systems are organized as well as to revise how trust is perceived in the wider society. In spite of the wide attention that cyrpto-currencies (such as Bitcoin) have attracted, Blockchain technology is more likely to make an impact beyond ongoing speculations on cyrpto-currencies. Decentralized identity management, transparent supply-chain systems, and IoT governance and security are only few examples of research challenges for which this technology may hold substantial potential. Blockchain technology has emerged at the intersection of two well established research areas: peer-to-peer (P2P) computing and cryptography. In this tutorial, we provide a general overview of the main components behind this technology, we present the difference between the types of Blockchain available today, and we make a high level discussion on its potentials and limitations as well as possible research challenges.
Reinforcement learning (RL) is capable of managing wireless, energy-harvesting IoT nodes by solving the problem of autonomous management in non-stationary, resource-constrained settings. We show that the state-of-the-art policy-gradient approaches to RL are appropriate for the IoT domain and that they outperform previous approaches. Due to the ability to model continuous observation and action spaces, as well as improved function approximation capability, the new approaches are able to solve harder problems, permitting reward functions that are better aligned with the actual application goals. We show such a reward function and use policy-gradient approaches to learn capable policies, leading to behavior more appropriate for IoT nodes with less manual design effort, increasing the level of autonomy in IoT.
WebRTC enables browsers to exchange data directly but the number of possible concurrent connections to a single source is limited. We overcome the limitation by organizing participants in a fat-tree overlay: when the maximum number of connections of a tree node is reached, the new participants connect to the node's children. Our design quickly scales when a large number of participants join in a short amount of time, by relying on a novel scheme that only requires local information to route connection messages: the destination is derived from the hash value of the combined identifiers of the message's source and of the node that is holding the message. The scheme provides deterministic routing of a sequence of connection messages from a single source and probabilistic balancing of newer connections among the leaves. We show that this design puts at least 83% of nodes at the same depth as a deterministic algorithm, can connect a thousand browser windows in 21-55 seconds in a local network, and can be deployed for volunteer computing to tap into 320 cores in less than 30 seconds on a local network to increase the total throughput on the Collatz application by two orders of magnitude compared to a single core.
The large number of possible configurations of modern software-based systems, combined with the large number of possible environmental situations of such systems, prohibits enumerating all adaptation options at design time and necessitates planning at run time to dynamically identify an appropriate configuration for a situation. While numerous planning techniques exist, they typically assume a detailed state-based model of the system and that the situations that warrant adaptations are known. Both of these assumptions can be violated in complex, real-world systems. As a result, adaptation planning must rely on simple models that capture what can be changed (input parameters) and observed in the system and environment (output and context parameters). We therefore propose planning as optimization: the use of optimization strategies to discover optimal system configurations at runtime for each distinct situation that is also dynamically identified at runtime. We apply our approach to CrowdNav, an open-source traffic routing system with the characteristics of a real-world system. We identify situations via clustering and conduct an empirical study that compares Bayesian optimization and two types of evolutionary optimization (NSGA-II and novelty search) in CrowdNav.
Reinforcement Learning (RL) is increasingly used to achieve adaptive behaviours in Internet of Things systems relying on large amounts of sensor data. To address the need for self-adaptation in such environments, techniques for detecting environment changes and re-learning behaviours appropriate to those changes have been proposed. However, with the heterogeneity of sensor inputs, the problem of self-adaptation permeates one level deeper; in order for the learnt behaviour to adapt, the underlying environment representation needs to adapt first. The granularity of the RL state space might need to be adapted to learn more efficiently, or to match the new granularity of input data. This paper proposes an implementation of Constructivist RL (Con-RL), enabling RL to learn and continuously adapt its state space representations. We propose a Multi-Layer Growing Neural Gas (ML-GNG) technique, as an extension of the GNG clustering algorithm, to autonomously learn suitable state spaces based on sensor data and learnt actions at runtime. We also create and continuously update a repository of state spaces, selecting the most appropriate one to use at each time step. We evaluate Con-RL in two scenarios: the canonical RL mountain car single-agent scenario, and a large-scale multi-agent car and ride-sharing scenario. We demonstrate its ability to adapt to new sensor inputs, to increase the speed of learning through state space optimization, and to maintain stable long-term performance.
Division of labor in natural systems enables resiliency in times of dynamic change. Researchers have shown that division of labor can emerge in homogeneous populations predicated on the system's environment and the distribution of agent task bias. This article demonstrates that the emergence of division of labor in homogenous populations is also impacted by agent decision functions, agent population size, and environmental constraints. Results show, one, agent decision functions and population size have a significant impact on the division of labor scores, whereas, the influence of environmental constraints depends upon the chosen agent decision function. Two, results indicate that high division of labor scores do not necessarily translate to higher resource production, which, again, appears tied to agent decision functions. Three, although agent population size possesses a positive correlation to division of labor scores, agent decision functions play a more critical role in its emergence.
Self-organized distribution of shared resources is a common process in both natural and artificial systems. Examples range from the distribution of nutrients or blood in plants or animals, through traffic systems, to distribution of electricity and information in human societies. In this paper, we investigate a mechanism of collective resource distribution, in relation to morphological organization of the agents that carry out the process, demonstrating capabilities of self-adaptation and self-healing of the morphology. The mechanism is abstracted in an algorithm, called Vascular Morphogenesis Controller (VMC), implementing the dynamics of vascular systems of plants, responsible for the distribution of shared resources and morphogenesis. The algorithm is used here to direct the morphology of a growing structure in unimodal and multimodal environments. The results demonstrate how the morphology reflects environmental gradients, the ability of recovery after temporary or permanent damages, and self-adaptation to environmental changes.
Multi-scale structures, or hierarchies, are prevalent in large-scale dynamic systems, from inert matter to living and artificial systems, and systems-of-systems. Yet, a general theory helping to understand and develop multi-scale systems is still missing. This paper identifies common design aspects and variants, and synthesises them via a novel design pattern - Multi-Scale Feedbacks - to help adaptive coordination in large-scale systems. It also suggests relations between design choices and qualitative properties. The proposed pattern was distilled from a cross-domain study, including particle physics, molecular biology, neuroscience, insect and human organisations, ecosystems, autonomous control and systems-of-systems.
General-Purpose Graphics Processing Units (GPGPUs) have been widely adapted to the industry due to the high parallelism of Graphics Processing Units (GPUs) compared with Central Processing Units (CPUs). To handle the ever-increasing demand, multiple applications often run concurrently in the GPGPU device. However, the GPGPU device can be under-utilized when various types of GPGPU applications are running concurrently. In this paper, we analyze various types of scientific applications and identify factors that impact the performance during the concurrent execution of the applications in the GPGPU device. Our analysis results show that each application has a distinct characteristic and a certain combination of applications has better performance compared with the others when executed concurrently. Based on the finding of our analysis, we propose a simulator which predicts the performance of GPGPU. Our simulator collects performance metrics during the execution of applications and predicts the performance benefits. The experimental result shows that the best combination of applications can increase the performance by 39.44% and 65.98% compared with the average of combinations and the worst case, respectively.
Testbeds to experiment with self-adaptive systems allow for the examination of a range of domain-specific problems without the need for specialized or proprietary equipment. They can focus on a need for adaptive control, such as mission completion and security threats, or study mechanisms to allow self-adaptation, such as embedding component awareness and performing the actual deployment of executable code changes during runtime for dynamic adaptation. Individually, needs often narrow the underlying models and functionality of the testbeds so that the experiments can be controlled and understood. There are multiple options to extend the experiments, such as significantly increasing the testbed components, functional requirements, and potential adaptations. However, these options, while necessary to have a fuller understanding of the scalability of the testbed, could maintain an inherent bias based on how the testbed was intended to perform its original operation, limiting its potential for self-improvement. Another option is to introduce some form of integration with a different testbed to determine how each can influence the other's adaptation mechanisms to improve self-awareness techniques. In this paper, we overview our two existing testbeds created for experimenting with self-adaptation concepts. Each testbed employs different runtime model checking and adaptation risk assessment mechanisms, with distinct functional goals. We discuss the difficulties in crossing the adaptation boundaries to perform self-improvement and to increase the potential for valuable communication and awareness.
Probabilistic graphical models are useful for modelling stochastic phenomena for doing inferences and reasoning under uncertainty. Especially, chain graph models and Bayesian networks can be used as probabilistic expert systems where inferences can be done with junction tree algorithm, etc. And they can be extended to capture multi-stage decision contexts. Fundamentally these models capture (in) dependence structure of the context, but model learning is hard in practice. There are methods to do this, from simple independence test-based ones to more advanced score-based methods. When these models are used as classifiers, model learning can be done discriminatively, thus resulting higher classification accuracies in them.
The edge computing paradigm has recently attracted research efforts coming from different application domains. However, evaluating an edge platform or algorithm is impeded by the lack of suitable benchmarks. We propose a methodology for characterizing edge workloads from different application domains. It is a first step towards defining workloads to be included in a future edge benchmarking suite. We evaluate the methodology on three use cases and find that defining a common and standard set of workloads is plausible.
In this paper we study the self-adaptive behaviour of smart camera networks. Each Camera is equipped with an adjustable zoom lens in order to improve the coverage redundancy formalised ask-coverage across all moving objects under two perspectives: i) learning the movement patterns of the objects captured by a reinforcement learning algorithm at an individual camera level, and ii) utilising a decentralised coordination strategy by enabling an inter-camera communication among the neighbours. Given the dynamic nature of the problem, the first contribution of the paper is to show how learning an environmental constraint such as the movement pattern of the objects leads to a dynamic zoom selection behaviour that significantly improves k-coverage across the network. In our second contribution we show that the speed of convergence of the learning approach can be improved by applying a knowledge-sharing scheme. This is achieved by employing an inter-camera communication strategy across the network. The results indicate that enabling a knowledge-sharing scheme retains the high performance of pure reinforcement learning approaches. It also leads to a considerably faster convergence to the maximum possible k-coverage in learning approaches across the majority of test scenarios.
Self-adaptation and self-organisation found their way into technical systems to be able to master challenges resulting from the growing complexity of interconnected systems. In general, these adaptations are driven by dynamics of the environment and internal or external disturbances. However, a system that continuously changes its behaviour will result in acceptance problems by users. This paper addressed the question "How much adaptation is really necessary?" by (i) presenting a first concept for determining "normal" adaptation and (ii) raising challenges for research on such a measurement framework.
The claim of this position paper is that "Self-Improving and Self-Integrating" Systems (SISSY) should be designed in view of facilitating Transfer Learning (TL) in order to leverage the given opportunity of collaborative knowledge acquisition and sharing. We corroborate our claim by briefly introducing the field of TL and bridging the gap to the recent research initiative of SISSY. Furthermore, an exemplifying scenario that allows such intelligently acting systems interweaving at runtime to be recognized as an obvious candidate with a strong demand for incorporating TL techniques is outlined.
The overlap of the two established fields of cyber-physical systems and self-aware computing systems constitutes a challenging class of systems that require autonomy and must satisfy multiple, possibly conflicting constraints (e.g., performance, timeliness, energy, reliability). Self-aware cyber-physical systems are situated in dynamic physical environments and constrained in their resources, they understand their own state and that of their environment. Based on that understanding, they are able to make appropriate decisions autonomously at runtime with high efficiency. In this tutorial, we will review the state of the art of this exciting domain.