Nuova ricerca

NICOLA CAPODIECI

Ricercatore t.d. art. 24 c. 3 lett. B
Dipartimento di Scienze Fisiche, Informatiche e Matematiche sede ex-Matematica


Home | Curriculum(pdf) | Didattica |


Pubblicazioni

2023 - Brief Announcement: Optimized GPU-accelerated Feature Extraction for ORB-SLAM Systems [Relazione in Atti di Convegno]
Muzzini, F.; Capodieci, N.; Cavicchioli, R.; Rouxel, B.
abstract

Reducing the execution time of ORB-SLAM algorithm is a crucial aspect of autonomous vehicles since it is computationally intensive for embedded boards. We propose a parallel GPU-based implementation, able to run on embedded boards, of the Tracking part of the ORB-SLAM2/3 algorithm. Our implementation is not simply a GPU port of the tracking phase. Instead, we propose a novel method to accelerate image Pyramid construction on GPUs. Comparison against state-of-the-art CPU and GPU implementations, considering both computational time and trajectory errors shows improvement on execution time in well-known datasets, such as KITTI and EuRoC.


2023 - Coordinated traffic lights and auction intersection management in a mixed scenario [Relazione in Atti di Convegno]
Muzzini, F.; Capodieci, N.; Montangero, M.
abstract

IoT (Internet-of-Things) powered devices can be exploited to connect vehicles to a smart city infrastructure and thus allow vehicles to share their intentions while retrieving contextual information about diverse aspects of urban viability. Such a complex system is aimed at improving our way of living in the city by mitigating the effect of traffic congestion, and consequently stress and pollution. We place ourselves in a transient scenario in which next generation vehicles that are able to communicate with the surrounding infrastructure coexist with traditional vehicles with limited or absent IoT-capabilities. In this work we focus on intersection management and, in particular, on reusing existing traffic lights empowered by a new management systems. We propose an auction based system in which traffic lights are able to exchange contextual information with vehicles and the nearby traffic lights with the aim of reducing average waiting times at intersections and consequently, overall trip times. We evaluate our proposal using the well known MATSim transport simulator, by using a synthetic Manhattan map and a new map we build on an urban area located in our town, in Norther Italy. In such an area, instrumentation through IoT devices has been set up as part of an European research project. Results show that the proposal is better performing than the classical Fixed Time Control system currently adopted for traffic lights, and then auction strategies that do not exploit coordination among nearby traffic lights.


2023 - Improving urban viability through smart parking [Articolo su rivista]
Muzzini, F.; Capodieci, N.; Montangero, M.
abstract

In Smart Cities, vehicles can share intentions and retrieve information through IoT (Internet-of-Things) devices. This work proposes a reservation system that exploits communication between vehicles and city infrastructure to reduce the time a road user needs to find parking. The system is designed to manage the coexistence of next-generation vehicles, that communicate with city infrastructure and traditional vehicles that don't. We reconstructed an IoT-instrumented urban area using the MATSim simulator to evaluate the system. The proposed system reduces the parking search time of next-generation vehicles without disadvantaging traditional vehicles, making it a candidate for scenarios where both vehicle types coexist.


2023 - Machine Learning Techniques for Understanding and Predicting Memory Interference in CPU-GPU Embedded Systems [Relazione in Atti di Convegno]
Masola, A.; Capodieci, N.; Rouxel, B.; Franchini, G.; Cavicchioli, R.
abstract


2023 - Memory-Aware Latency Prediction Model for Concurrent Kernels in Partitionable GPUs: Simulations and Experiments [Relazione in Atti di Convegno]
Masola, A.; Capodieci, N.; Cavicchioli, R.; Olmedo, I. S.; Rouxel, B.
abstract


2023 - Optimization strategies for GPUs: an overview of architectural approaches [Articolo su rivista]
Masola, A.; Capodieci, N.
abstract

Modern Cyber Physical Systems (CPS) applications require hardware capable of optimized performance-per-watt efficency. This is usually obtained through massively parallel accelerators such as the GPU. Recent research is therefore investigating novel designs to optimize GPU energy consumption and performance for various applications in the Internet-of-things, autonomous navigation, and industrial robotics domains. This paper presents a survey of the current state-of-the-art approaches for optimizing GPU performance metrics; we present a complete and up-to-date summary of ideas, mechanisms, and potential improvements for next-generation GPU devices.


2023 - Optimized Local Path Planner Implementation for GPU-Accelerated Embedded Systems [Articolo su rivista]
Muzzini, F.; Capodieci, N.; Ramanzin, F.; Burgio, P.
abstract

Autonomous vehicles are latency-sensitive systems. The planning phase is a critical component of such systems, during which the in-vehicle compute platform is responsible for determining the future maneuvers that the vehicle will follow. In this paper, we present a GPU-accelerated optimized implementation of the Frenet Path Planner, a widely known path planning algorithm. Unlike the current state-of-the-art, our implementation accelerates the entire algorithm, including the path generation and collision avoidance phases. We measure the execution time of our implementation and demonstrate dramatic speedups compared to the CPU baseline implementation. Additionally, we evaluate the impact of different precision types (double, float, half) on trajectory errors to investigate the tradeoff between completion latencies and computation precision.


2023 - Smart Parking for All: Equipped and Non-equipped Vehicles in Smart Cities [Relazione in Atti di Convegno]
Muzzini, F.; Montangero, M.; Capodieci, N.
abstract

The current trend in designing cities is to think them as smart environments that are constantly connected with road users. For this purpose, a smart city is implemented as a collection of IoT (Internet-of-Things) powered devices set up in order to connect vehicles to their surrounding infrastructure. In this way, road users share their intentions while retrieving useful information from the smart city itself. This complex and distributed system must be then tailored to improve viability performance metrics such as reducing traffic congestion, optimizing accident response and everything else related to transportation in urban areas. In this work we focus on parking management in a scenario in which next generation vehicles will be able to communicate with the surrounding infrastructure and will coexist with traditional vehicles with limited or absent IoT-capabilities. We propose a reservation mechanism able to exploit communication at infrastructure level, with the goal of reducing the time needed to find a free parking spot close to destination. We evaluate our proposed mechanisms using the well known MATSim transport simulator.


2022 - Building Time-Triggered Schedules for Typed-DAG Tasks with Alternative Implementations [Relazione in Atti di Convegno]
Zahaf, H. -E.; Capodieci, N.
abstract

Real-time and latency sensitive applications such as autonomous driving, feature an increasing need of computational power that traditional multi-core platforms can not provide. For this purpose, many heterogeneous embedded platforms have been released recently. They offer a set of diverse processing elements (e.g. GPUs, DSPs, ASICs, etc...) in order to manage the computational demands of data hungry applications. The system engineer, therefore, can choose the fittest processing element for each specific subtask. In this context, timing constraints and related task models are of paramount importance.The HPC-DAG (Heterogeneous Parallel Directed Acyclic Graph) task model has been recently proposed to capture realtime workload execution on modern heterogeneous platforms. It expresses the Instruction Set Architecture (ISA) heterogeneity across the different compute accelerators, but also their differences in terms of possible scheduling policies such as preemption.In this paper, we propose a time-table scheduling approach to allocate and schedule a set of HPC-DAG tasks onto a set of heterogeneous cores, by the mean of Integer Linear Programming (ILP). Our design allows the system engineer to handle heterogeneity of resources, of on-line execution costs, and of a part of the tasks and sub-tasks allocation to cores. It improves the solving time compared to the state of the art by gradually exploring the design space.


2022 - Real-Time Requirements for ADAS Platforms Featuring Shared Memory Hierarchies [Articolo su rivista]
Capodieci, Nicola; Burgio, Paolo; Cavicchioli, Roberto; Olmedo, Ignacio Sanudo; Solieri, Marco; Bertogna, Marko
abstract


2022 - Reconciling QoS and Concurrency in NVIDIA GPUs via Warp-Level Scheduling [Relazione in Atti di Convegno]
Singh, J.; Olmedo, I. S.; Capodieci, N.; Marongiu, A.; Caccamo, M.
abstract

The widespread deployment of NVIDIA GPUs in latency-sensitive systems today requires predictable GPU multi-tasking, which cannot be trivially achieved. The NVIDIA CUDA API allows programmers to easily exploit the processing power provided by these massively parallel accelerators and is one of the major reasons behind their ubiquity. However, NVIDIA GPUs and the CUDA programming model favor throughput instead of latency and timing predictability. Hence, providing real-time and quality-of-service (QoS) properties to GPU applications presents an interesting research challenge. Such a challenge is paramount when considering simultaneous multikernel (SMK) scenarios, wherein kernels are executed concurrently within each streaming multiprocessor (SM). In this work, we explore QoS-based fine-grained multitasking in SMK via job arbitration at the lowest level of the GPU scheduling hierarchy, i.e., between warps. We present QoS-aware warp scheduling (QAWS) and evaluate it against state-of-the-art, kernel-agnostic policies seen in NVIDIA hardware today. Since the NVIDIA ecosystem lacks a mechanism to specify and enforce kernel priority at the warp granularity, we implement and evaluate our proposed warp scheduling policy on GPGPU-Sim. QAWS not only improves the response time of the higher priority tasks but also has comparable or better throughput than the state-of-the-art policies.


2021 - A Taxonomy of Modern GPGPU Programming Methods: On the Benefits of a Unified Specification [Articolo su rivista]
Capodieci, N.; Cavicchioli, R.; Marongiu, A.
abstract

Several Application Programming Interfaces (APIs) and frameworks have been proposed to simplify the development of General-Purpose GPU (GPGPU) applications. GPGPU application development typically involves specific customization for the target operating systems and hardware devices. The effort to port applications from one API to the other (or to develop multi-target applications) is complicated by the availability of a plethora of specifications, which in essence offers very similar underlying functionality. In this work we provide an in-depth study of six state-of-the-art GPGPU APIs. From these we derive a taxonomy of the common semantics and propose a unified specification. We describe a methodology to translate this unified specification into different target APIs. This simplifies cross-platform application development and provides a clean framework for benchmarking. Our proposed unified specification is called GUST (GPGPU Unified Specification and Translation) and it captures common functionality found in compute-only APIs (e.g., CUDA and OpenCL), in the compute pipeline of traditional graphic-oriented APIs (e.g., OpenGL and Direct3D11) and in last-generation bare-metal APIs (e.g., Vulkan and Direct3D12). The proposed translation methodology solves differences between specific APIs in a transparent manner, without hiding available tuning knobs for compute kernel optimizations and fostering best programming practices in a simple manner.


2021 - Contention-Aware GPU Partitioning and Task-to-Partition Allocation for Real-Time Workloads [Relazione in Atti di Convegno]
Zahaf, H. -E.; Sanudo Olmedo, I. S.; Singh, J.; Capodieci, N.; Faucou, S.
abstract

In order to satisfy timing constraints, modern real-time applications require massively parallel accelerators such as General Purpose Graphic Processing Units (GPGPUs). Generation after generation, the number of computing clusters made available in novel GPU architectures is steadily increasing, hence, investigating suitable scheduling approaches is now mandatory. Such scheduling approaches are related to mapping different and concurrent compute kernels within the GPU computing clusters, hence grouping GPU computing clusters into schedulable partitions. In this paper we propose novel techniques to define GPU partitions; this allows us to define suitable task-to-partition allocation mechanisms in which tasks are GPU compute kernels featuring different timing requirements. Such mechanisms will take into account the interference that GPU kernels experience when running in overlapping time windows. Hence, an effective and simple way to quantify the magnitude of such interference is also presented. We demonstrate the efficiency of the proposed approaches against the classical techniques that considered the GPU as a single, non-partitionable resource.


2021 - Improving emergency response in the era of ADAS vehicles in the Smart City [Articolo su rivista]
Capodieci, N.; Cavicchioli, R.; Muzzini, F.; Montagna, L.
abstract

Management of emergency vehicles can be fostered within a Smart City, i.e. an urban environment in which many IoT devices are orchestrated by a distributed intelligence able to suggest to road users the best course of action in different traffic situations. By extending MATSim (Multi-Agent Transport Simulation Software), we design and test appropriate mitigation strategies when traffic accidents occur within an existing urban area augmented with V2V (Vehicle-to-Vehicle), V2I (Vehicle-to-Infrastructure) capabilities and Advanced Driving Assisted cars (ADAS). Further, we propose traffic congestion models and related mechanisms for improving the necessary time for emergency vehicles to respond to accidents.


2021 - Performance modeling of heterogeneous HW platforms [Articolo su rivista]
Rehm, F.; Dasari, D.; Hamann, A.; Pressler, M.; Ziegenbein, D.; Seitter, J.; Sanudo, I.; Capodieci, N.; Burgio, P.; Bertogna, M.
abstract

The push towards automated and connected driving functionalities mandates the use of heterogeneous hardware platforms in order to provide the required computational resources. For these platforms, established methods for performance modeling in industry are no longer effective or adequate. In this paper, we explore the detailed problem of mapping a prototypical autonomous driving application on a Nvidia Tegra X2 platform while considering different constraints of the application, including end-to-end latencies of event chains spanning CPU and GPU boundaries. With the given use-case and platform, we propose modeling concepts in Amalthea, capturing the architectural aspects of heterogeneous platforms and also the execution structure of the application. These models can be fed into appropriate tools to predict performance properties. We proposed the above problem in the Workshop on Analysis Tools and Methodologies for Embedded and Real-time Systems (WATERS) Industrial Challenge 2019 and in response, academicians came up with different solutions. In this paper, we evaluate these different solutions and summarize all approaches. The lesson learned from this challenge is then used to improve on the simplifying assumptions we made in our original formulation and discuss future modeling extensions.


2021 - The HPC-DAG Task Model for Heterogeneous Real-Time Systems [Articolo su rivista]
Houssam-Eddine, Z.; Capodieci, N.; Cavicchioli, R.; Lipari, G.; Bertogna, M.
abstract

Recent commercial hardware platforms for embedded real-time systems feature heterogeneous processing units and computing accelerators on the same System-on-Chip. When designing complex real-time applications for such architectures, the designer is exposed to a number of difficult choices, like deciding on which compute engine to execute a certain task, or what degree of parallelism to adopt for a given function. To help the designer exploring the wide space of design choices and tune the scheduling parameters, we propose a novel real-time application model, called HPC-DAG (Heterogeneous Parallel Condition Directed Acyclic Graph Model), specifically conceived for heterogeneous platforms. An HPC-DAG allows the system designer to specify alternative implementations of a software component for different processing engines, as well as conditional branches to model if-then-else statements. We also propose a schedulability analysis for the HPC-DAG model and a set of heuristic allocation algorithms aimed at improving schedulability for latency sensitive applications. Our analysis takes into account the cost of preempting a task, which can be non-negligible on certain processors. We show the use of our approach on a realistic case study, and we demonstrate its effectiveness by comparing it with state-of-the-art algorithms previously proposed in literature.


2021 - vkpolybench: A crossplatform Vulkan Compute port of the PolyBench/GPU benchmark suite [Articolo su rivista]
Capodieci, N.; Cavicchioli, R.
abstract

PolyBench is a well-known set of benchmarks characterized by embarrassingly parallel kernels able to run on Graphic Processing Units (GPUs). While Polybench GPU kernels leverage well-established GP-GPU APIs such as CUDA and OpenCL, in this paper we present vkpolybench, a crossplatform PolyBench/GPU port built on top of Vulkan. Vulkan is the recently released Khronos standard for heterogeneous CPU–GPU computing that is gaining significant traction lately. Compared to CUDA and OpenCL, the Vulkan API improves GPU utilization while reducing CPU overheads.


2020 - Contending memory in heterogeneous SoCs: Evolution in NVIDIA Tegra embedded platforms [Relazione in Atti di Convegno]
Capodieci, N.; Cavicchioli, R.; Olmedo, I. S.; Solieri, M.; Bertogna, M.
abstract

Modern embedded platforms are known to be constrained by size, weight and power (SWaP) requirements. In such contexts, achieving the desired performance-per-watt target calls for increasing the number of processors rather than ramping up their voltage and frequency. Hence, generation after generation, modern heterogeneous System on Chips (SoC) present a higher number of cores within their CPU complexes as well as a wider variety of accelerators that leverages massively parallel compute architectures. Previous literature demonstrated that while increasing parallelism is theoretically optimal for improving on average performance, shared memory hierarchies (i.e. caches and system DRAM) act as a bottleneck by exposing the platform processors to severe contention on memory accesses, hence dramatically impacting performance and timing predictability. In this work we characterize how subsequent generations of embedded platforms from the NVIDIA Tegra family balanced the increasing parallelism of each platform's processors with the consequent higher potential on memory interference. We also present an open-source software for generating test scenarios aimed at measuring memory contention in highly heterogeneous SoCs.


2020 - Dissecting the CUDA scheduling hierarchy: A Performance and Predictability Perspective [Relazione in Atti di Convegno]
Olmedo, I. S.; Capodieci, N.; Martinez, J. L.; Marongiu, A.; Bertogna, M.
abstract

Over the last few years, the ever-increasing use of Graphic Processing Units (GPUs) in safety-related domains has opened up many research problems in the real-time community. The closed and proprietary nature of the scheduling mechanisms deployed in NVIDIA GPUs, for instance, represents a major obstacle in deriving a proper schedulability analysis for latency-sensitive applications. Existing literature addresses these issues by either (i) providing simplified models for heterogeneous CPUGPU systems and their associated scheduling policies, or (ii) providing insights about these arbitration mechanisms obtained through reverse engineering. In this paper, we take one step further by correcting and consolidating previously published assumptions about the hierarchical scheduling policies of NVIDIA GPUs and their proprietary CUDA application programming interface. We also discuss how such mechanisms evolved with recently released GPU micro-architectures, and how such changes influence the scheduling models to be exploited by real-time system engineers.


2020 - Evaluating Controlled Memory Request Injection to Counter PREM Memory Underutilization [Relazione in Atti di Convegno]
Cavicchioli, R.; Capodieci, N.; Solieri, M.; Bertogna, M.; Valente, P.; Marongiu, A.
abstract

Modern heterogeneous systems-on-chip (HeSoC) feature high-performance multi-core CPUs tightly integrated with data-parallel accelerators. Such HeSoCS heavily rely on shared resources, which hinder their adoption in the context of Real-Time systems. The predictable execution model (PREM) has proven effective at preventing uncontrolled execution time lengthening due to memory interference in HeSoC sharing main memory (DRAM). However, PREM only allows one task at a time to access memory, which inherently under-utilizes the available memory bandwidth in modern HeSoCs. In this paper, we conduct a thorough experimental study aimed at assessing the potential benefits of extending PREM so as to inject controlled amounts of memory requests coming from other tasks than the one currently granted exclusive DRAM access. Focusing on a state-of-the-art HeSoC, the NVIDIA TX2, we extensively characterize the relation between the injected bandwidth and the latency experienced by the task under test. The results confirm that for various types of workload it is possible to exploit the available bandwidth much more efficiently than standard PREM arbitration, often close to its maximum, while keeping latency inflation below 10%. We discuss possible practical implementation directions, highlighting the expected benefits and technical challenges.


2020 - Exploiting Traffic Lights to Manage Auction-Based Crossings [Relazione in Atti di Convegno]
Muzzini, F.; Capodieci, N.; Montangero, M.
abstract

Auction-based crossing management approaches are used to design coordination policies for autonomous vehicles and improve smart intersections by providing differentiated latencies. In this paper, we propose and exploit an auction based mechanism for managing the urban traffic light infrastructure in which participant vehicles are either equipped or non-equipped. The difference between these two categories of vehicles is that only the equipped ones can actively participate to auctions through in-vehicle IoT-devices, i.e. they are able to communicate with the surrounding urban infrastructure. In this way, we aim to study the transitional period that will occur before the complete adoption of autonomous or strongly connected vehicles. Through extensive experiments and simulations, by comparing our mechanism to the traditional traffic light fixed-time-control approach, we studied the benefits and limitations, in term of waiting and trip times, when varying the subset of equipped vehicles and the available budget that can be used to participate to auctions.


2020 - Graphic Interfaces in ADAS: From requirements to implementation [Relazione in Atti di Convegno]
Masola, A.; Gabbi, C.; Castellano, A.; Capodieci, N.; Burgio, P.
abstract

In this paper we report our experiences in designing and implementing a digital virtual cockpit to be installed as a component within the software stack of an Advanced Driving Assisted System (ADAS). Since in next-generation automotive embedded platforms both autonomous driving related workloads and virtual cockpit rendering tasks will co-run in a hypervisor-mediated environment, they will share computational resources. For this purpose, our work has been developed by following a requirement-driven approach in which regulations, usability and visual attractiveness requirements have to be taken into account by balancing their impact in terms of computational resources of the embedded platform in which such graphics interfaces are deployed. The graphic interfaces we realized consist of a set of 2D frames for the instrument cluster (for displaying the tachometer and the speedometer) and a screen area in which a 3D representation of the vehicle surroundings is rendered alongside driving directions and the point-cloud obtained through a LIDAR. All these components are able to alert the driver of imminent and/or nearby driving hazards.


2019 - Deadline-Based Scheduling for GPU with Preemption Support [Relazione in Atti di Convegno]
Capodieci, N.; Cavicchioli, R.; Bertogna, M.; Paramakuru, A.
abstract

Modern automotive-grade embedded computing platforms feature high-performance Graphics Processing Units (GPUs) to support the massively parallel processing power needed for next-generation autonomous driving applications (e.g., Deep Neural Network (DNN) inference, sensor fusion, path planning, etc). As these workload-intensive activities are pushed to higher criticality levels, there is a stronger need for more predictable scheduling algorithms that are able to guarantee predictability without overly sacrificing GPU utilization. Unfortunately, the real-rime literature on GPU scheduling mostly considered limited (or null) preemption capabilities, while previous efforts in broader domains were often based on programming models and APIs that were not designed to support the real-rime requirements of recurring workloads. In this paper, we present the design of a prototype real-time scheduler for GPU activities on an embedded System on a Chip (SoC) featuring a cutting edge GPU architecture by NVIDIA adopted in the autonomous driving domain. The scheduler runs as a software partition on top of the NVIDIA hypervisor, and it leverages latest generation architectural features, such as pixel-level preemption and thread level preemption. Such a design allowed us to implement and test a preemptive Earliest Deadline First (EDF) scheduler for GPU tasks providing bandwidth isolations by means of a Constant Bandwidth Server (CBS). Our work involved investigating alternative programming models for compute APIs, allowing us to characterize CPU-to-GPU command submission with more detailed scheduling information. A detailed experimental characterization is presented to show the significant schedulability improvement of recurring real-time GPU tasks.


2019 - Deterministic memory hierarchy and virtualization for modern multi-core embedded systems [Relazione in Atti di Convegno]
Kloda, Tomasz; Solieri, M.; Mancuso, R.; Capodieci, N.; Valente, P.; Bertogna, M.
abstract

One of the main predictability bottlenecks of modern multi-core embedded systems is contention for access to shared memory resources. Partitioning and software-driven allocation of memory resources is an effective strategy to mitigate contention in the memory hierarchy. Unfortunately, however, many of the strategies adopted so far can have unforeseen side-effects when practically implemented latest-generation, high-performance embedded platforms. Predictability is further jeopardized by cache eviction policies based on random replacement, targeting average performance instead of timing determinism.In this paper, we present a framework of software-based techniques to restore memory access determinism in high-performance embedded systems. Our approach leverages OS-transparent and DMA-friendly cache coloring, in combination with an invalidation-driven allocation (IDA) technique. The proposed method allows protecting important cache blocks from (i) external eviction by tasks concurrently executing on different cores, and (ii) internal eviction by tasks running on the same core. A working implementation obtained by extending the Jailhouse partitioning hypervisor is presented and evaluated with a combination of synthetic and real benchmarks.


2019 - Novel methodologies for predictable CPU-to-GPU command offloading [Relazione in Atti di Convegno]
Cavicchioli, R.; Capodieci, N.; Solieri, Marco; Bertogna, M.
abstract

There is an increasing industrial and academic interest towards a more predictable characterization of real-time tasks on high-performance heterogeneous embedded platforms, where a host system offloads parallel workloads to an integrated accelerator, such as General Purpose-Graphic Processing Units (GP-GPUs). In this paper, we analyze an important aspect that has not yet been considered in the real-time literature, and that may significantly affect real-time performance if not properly treated, i.e., the time spent by the CPU for submitting GP-GPU operations. We will show that the impact of CPU-to-GPU kernel submissions may be indeed relevant for typical real-time workloads, and that it should be properly factored in when deriving an integrated schedulability analysis for the considered platforms. This is the case when an application is composed of many small and consecutive GPU compute/copy operations. While existing techniques mitigate this issue by batching kernel calls into a reduced number of persistent kernel invocations, in this work we present and evaluate three other approaches that are made possible by recently released versions of the NVIDIA CUDA GP-GPU API, and by Vulkan, a novel open standard GPU API that allows an improved control of GPU command submissions. We will show that this added control may significantly improve the application performance and predictability due to a substantial reduction in CPU-to-GPU driver interactions, making Vulkan an interesting candidate for becoming the state-of-the-art API for heterogeneous Real-Time systems. Our findings are evaluated on a latest generation NVIDIA Jetson AGX Xavier embedded board, executing typical workloads involving Deep Neural Networks of parameterized complexity.


2019 - System Performance Modelling of Heterogeneous HW Platforms: An Automated Driving Case Study [Relazione in Atti di Convegno]
Wurst, F.; Dasari, D.; Hamann, A.; Ziegenbein, D.; Sanudo, I.; Capodieci, N.; Bertogna, M.; Burgio, P.
abstract

The push towards automated and connected driving functionalities mandates the use of heterogeneous HW platforms in order to provide the required computational resources. For these platforms, the established methods for performance modelling in industry are no longer effective. In this paper, we propose an initial modelling concept for heterogeneous platforms which can then be fed into appropriate tools to derive effective performance predictions. The approach is demonstrated for a prototypical automated driving application on the Nvidia Tegra X2 platform.


2018 - A Perspective on Safety and Real-Time Issues for GPU Accelerated ADAS [Relazione in Atti di Convegno]
Sanudo Olmedo, Ignacio; Capodieci, Nicola; Cavicchioli, Roberto
abstract

The current trend in designing Advanced Driving Assistance System (ADAS) is to enhance their computing power by using modern multi/many core accelerators. For many critical applications such as pedestrian detection, line following, and path planning the Graphic Processing Unit (GPU) is the most popular choice for obtaining orders of magnitude increases in performance at modest power consumption. This is made possible by exploiting the general purpose nature of today's GPUs, as such devices are known to express unprecedented performance per watt on generic embarrassingly parallel workloads (as opposed of just graphical rendering, as GPUs where only designed to sustain in previous generations). In this work, we explore novel challenges that system engineers have to face in terms of real-time constraints and functional safety when the GPU is the chosen accelerator. More specifically, we investigate how much of the adopted safety standards currently applied for traditional platforms can be translated to a GPU accelerated platform used in critical scenarios.


2018 - A survey on shared disk I/O management in virtualized environments under real time constraints [Articolo su rivista]
Sanudo Olmedo, Ignacio; Cavicchioli, Roberto; Capodieci, Nicola; Valente, Paolo; Bertogna, Marko
abstract

In the embedded systems domain, hypervisors are increasingly being adopted to guarantee timing isolation and appropriate hardware resource sharing among different software components. However, managing concurrent and parallel requests to shared hardware resources in a predictable way still represents an open issue. We argue that hypervisors can be an effective means to achieve an efficient and predictable arbitration of competing requests to shared devices in order to satisfy real-time requirements. As a representative example, we consider the case for mass storage (I/O) devices like Hard Disk Drives (HDD) and Solid State Disks (SSD), whose access times are orders of magnitude higher than those of central memory and CPU caches, therefore having a greater impact on overall task delays. We provide a comprehensive and up-to-date survey of the literature on I/O management within virtualized environments, focusing on software solutions proposed in the open source community, and discussing their main limitations in terms of realtime performance. Then, we discuss how the research in this subject may evolve in the future, highlighting the importance of techniques that are focused on scheduling not uniquely the processing bandwidth, but also the access to other important shared resources, like I/O devices.


2018 - Work-in-Progress: NVIDIA GPU Scheduling Details in Virtualized Environments [Relazione in Atti di Convegno]
Capodieci, Nicola; Cavicchioli, Roberto; Bertogna, Marko
abstract

Modern automotive grade embedded platforms feature high performance Graphics Processing Units (GPUs) to support the massively parallel processing power needed for next-generation autonomous driving applications. Hence, a GPU scheduling approach with strong Real-Time guarantees is needed. While previous research efforts focused on reverse engineering the GPU ecosystem in order to understand and control GPU scheduling on NVIDIA platforms, we provide an in depth explanation of the NVIDIA standard approach to GPU application scheduling on a Drive PX platform. Then, we discuss how a privileged scheduling server can be used to enforce arbitrary scheduling policies in a virtualized environment.


2017 - A software stack for next-generation automotive systems on many-core heterogeneous platforms [Articolo su rivista]
Burgio, Paolo; Bertogna, Marko; Capodieci, Nicola; Cavicchioli, Roberto; Sojka, Michal; Houdek, Přemysl; Marongiu, Andrea; Gai, Paolo; Scordino, Claudio; Morelli, Bruno
abstract

The next-generation of partially and fully autonomous cars will be powered by embedded many-core platforms. Technologies for Advanced Driver Assistance Systems (ADAS) need to process an unprecedented amount of data within tight power budgets, making those platform the ideal candidate architecture. Integrating tens-to-hundreds of computing elements that run at lower frequencies allows obtaining impressive performance capabilities at a reduced power consumption, that meets the size, weight and power (SWaP) budget of automotive systems. Unfortunately, the inherent architectural complexity of many-core platforms makes it almost impossible to derive real-time guarantees using “traditional” state-of-the-art techniques, ultimately preventing their adoption in real industrial settings. Having impressive average performances with no guaranteed bounds on the response times of the critical computing activities is of little if no use in safety-critical applications. Project Hercules will address this issue, and provide the required technological infrastructure to exploit the tremendous potential of embedded many-cores for the next generation of automotive systems. This work gives an overview of the integrated Hercules software framework, which allows achieving an order-of-magnitude of predictable performance on top of cutting-edge Commercial-Off-The-Shelf components (COTS). The proposed software stack will let both real-time and non real-time application coexist on next-generation, power-efficient embedded platforms, with preserved timing guarantees.


2017 - Adaptive coordination in autonomous driving: Motivations and perspectives [Relazione in Atti di Convegno]
Bertogna, Marko; Burgio, Paolo; Cabri, Giacomo; Capodieci, Nicola
abstract

As autonomous cars are entering mainstream, new research directions are opening involving several domains, from hardware design to control systems, from energy efficiency to computer vision. An exciting direction of research is represented by the coordination of the different vehicles, moving the focus from the single one to a collective system. In this paper we propose some challenging examples thatshow the motivations for a coordination approach in autonomous driving. Moreover, we present some techniques borrowed from distributed artificial intelligence that can be exploited to tackle the previously mentioned challenges.


2017 - Enabling Autonomic Computing Support for the JADE Agent Platform [Articolo su rivista]
Farahani, Ali; Nazemi, Eslam; Cabri, Giacomo; Capodieci, Nicola
abstract

Engineering complex distributed system is a real challenge documented in recent literature. Novel paradigms such as Autonomic Computing (AC) approaches appear to be the fittest engineering model in order to face performance instabilities of systems inserted in open and non-deterministic environments. To this purpose, the availability of appropriate development environments will facilitate the design of such systems. Standard agent development platforms represent a good starting point, but they generally lack of rigorous ways to define central AC-related concepts such as the prominent role of feedback loops and knowledge integration in decision making processes: we therefore believe that Agent Oriented Software Engineering (AOSE) can be substantially enriched by taking into account such concepts. In this paper, a novel extension of the well-known JADE agent development environment is discussed. This extension enhances JADE in order to address the engineering process with Autonomic Computing support. It is called “Autonomic Computing Enabled JADE” or shortly ACE-JADE. The behavioral model of ACE-JADE will be thoroughly described in the context of a case study (NASA ANTS project).


2017 - Memory interference characterization between CPU cores and integrated GPUs in mixed-criticality platforms [Relazione in Atti di Convegno]
Cavicchioli, R.; Capodieci, N.; Bertogna, M.
abstract

Most of today’s mixed criticality platforms feature Systems on Chip (SoC) where a multi-core CPU complex (the host) competes with an integrated Graphic Processor Unit (iGPU, the device) for accessing central memory. The multi-core host and the iGPU share the same memory controller, which has to arbitrate data access to both clients through often undisclosed or non-priority driven mechanisms. Such aspect becomes critical when the iGPU is a high performance massively parallel computing complex potentially able to saturate the available DRAM bandwidth of the considered SoC. The contribution of this paper is to qualitatively analyze and characterize the conflicts due to parallel accesses to main memory by both CPU cores and iGPU, so to motivate the need of novel paradigms for memory centric scheduling mechanisms. We analyzed different well known and commercially available platforms in order to estimate variations in throughput and latencies within various memory access patterns, both at host and device side.


2017 - SiGAMMA: Server based integrated GPU arbitration mechanism for memory accesses [Relazione in Atti di Convegno]
Capodieci, Nicola; Cavicchioli, Roberto; Valente, Paolo; Bertogna, Marko
abstract

In embedded systems, CPUs and GPUs typically share main memory. The resulting memory contention may significantly inflate the duration of CPU tasks in a hard-to-predict way. Despite initial solutions have been devised to control this undesired inflation, these approaches do not consider the interference due to memoryintensive components in COTS embedded systems like integrated Graphical Processing Units. Dealing with this kind of interference might require custom-made hardware components that are not integrated in off-the-shelf platforms. We address these important issues by proposing a memory-arbitration mechanism, SiGAMMA (Siσ), for eliminating the interference on CPU tasks caused by conflicting memory requests from the GPU. Tasks on the CPU are assumed to comply with a prefetch-based execution model (PREM) proposed in the real-time literature, while memory accesses from the GPU are arbitrated through a predictable mechanism that avoids contention. Our experiments show that Siσ proves to be very effective in guaranteeing almost null inflation to memory phases of CPU tasks, while at the same time avoiding excessive starvation of GPU tasks.


2016 - 2nd workshop on distributed adaptive systems [Abstract in Atti di Convegno]
Bucchiarone, A.; Cabri, G.; Capodieci, N.; Zhu, H.
abstract

This is the preface of the 2nd Workshop on Distributed Adaptive Systems (DAS 2016), held at the 13th IEEE International Conference on Autonomic Computing (ICAC 2016).


2016 - A survey on shared disk I/O management in virtualized environments under real time constraints [Relazione in Atti di Convegno]
Sanudo, I.; Cavicchioli, R.; Capodieci, N.; Valente, P.; Bertogna, M.
abstract

In the embedded systems domain, hypervisors are increasingly being adopted to guarantee timing isolation and appropriate hardware resource sharing among different software components. However, managing concurrent and parallel requests to shared hardware resources in a predictable way still represents an open issue. We argue that hypervisors can be an effective means to achieve an efficient and predictable arbitration of competing requests to shared devices in order to satisfy real-time requirements. As a representative example, we consider the case for mass storage (I/O) devices like Hard Disk Drives (HDD) and Solid State Disks (SSD), whose access times are orders of magnitude higher than those of central memory and CPU caches, therefore having a greater impact on overall task delays. We provide a comprehensive and up-to-date survey of the literature on I/O management within virtualized environments, focusing on software solutions proposed in the open source community, and discussing their main limitations in terms of realtime performance. Then, we discuss how the research in this subject may evolve in the future, highlighting the importance of techniques that are focused on scheduling not uniquely the processing bandwidth, but also the access to other important shared resources, like I/O devices.


2016 - An adaptive agent-based system for deregulated smart grids [Articolo su rivista]
Capodieci, Nicola; Pagani, Giuliano Andrea; Cabri, Giacomo; Aiello, Marco
abstract

The power grid is undergoing a major change due mainly to the increased penetration of renewables and novel digital instruments in the hands of the end users that help to monitor and shift their loads. Such transformation is only possible with the coupling of an information and communication technology infrastructure to the existing power distribution grid. Given the scale and the interoperability requirements of such future system, service-oriented architectures (SOAs) are seen as one of the reference models and are considered already in many of the proposed standards for the smart grid (e.g., IEC-62325 and OASIS eMIX). Beyond the technical issues of what the service-oriented architectures of the smart grid will look like, there is a pressing question about what the added value for the end user could be. Clearly, the operators need to guarantee availability and security of supply, but why should the end users care? In this paper, we explore a scenario in which the end users can both consume and produce small quantities of energy and can trade these quantities in an open and deregulated market. For the trading, they delegate software agents that can fully interoperate and interact with one another thus taking advantage of the SOA. In particular, the agents have strategies, inspired from game theory, to take advantage of a service-oriented smart grid market and give profit to their delegators, while implicitly helping balancing the power grid. The proposal is implemented with simulated agents and interaction with existing Web services. To show the advantage of the agent with strategies, we compare our approach with the “base” agent one by means of simulations, highlighting the advantages of the proposal.


2016 - Artificial immunology for collective adaptive systems design and implementation [Articolo su rivista]
Capodieci, Nicola; Hart, Emma; Cabri, Giacomo
abstract

Distributed autonomous systems consisting of large numbers of components with no central control point need to be able to dynamically adapt their controlmechanisms to deal with an unpredictable and changing environment. Existing frameworks for engineering self-adaptive systems fail to account for the need to incorporate self-expression - that is, the capability of a system to dynamically adapt its coordination pattern during runtime. Although the benefits of incorporating self-expression are well known, currently there is no principled means of enabling this during system design.We propose a conceptual framework for principled design of systems that exhibit self-expression, based on inspiration from the natural immune system. The framework is described as a set of design principles and customizable algorithms and then is instantiated in three case studies, including two from robotics and one from artificial chemistry.We show that it enables self-expression in each case, resulting in systems that are able to adapt their choice of coordination pattern during runtime to optimize functional and nonfunctional goals, as well as to discover novel patterns and architectures.


2016 - Evolutionary Strategies for Novelty-Based Online Neuroevolution in Swarm Robotics [Relazione in Atti di Convegno]
Galassi, Marco; Capodieci, Nicola; Cabri, Giacomo; Leonardi, Letizia
abstract

Neuroevolution in robot controllers throughobjective-based genetic and evolutionary algorithms is a wellknownmethodology for studying the dynamics of evolution inswarms of simple robots. A robot within a swarm is able toevolve the simple neural network embedded as its controllerby also taking into account how other robots are performingthe task at hand. In online scenarios, this is obtained throughinter-robot communications of the best performing genomes (i.e.representation of the weights of their embedded neural network).While many experiments from previous work have shown thesoundness of this approach, we aim to extend this methodologyusing a novelty-based metric, so to be able to analyze differentgenome exchange strategies within a simulated swarm of robotsin deceptive tasks or scenarios in which it is difficult to modela proper objective function to drive evolution. In particular, wewant to study how different information sharing approachesaffect the evolution. To do so we developed and tested threedifferent ways to exchange genomes and information betweenrobots using novelty driven evolution and we compared themusing a recent variation of the mEDEA (minimal EnvironmentdrivenDistributed Evolutionary Algorithm) algorithm. As thedeceptiveness and the complexity of the task increases, ourproposed novelty-driven strategies display better performancein foraging scenarios.


2015 - 3rd FoCAS workshop on fundamentals of collective adaptive systems (FoCAS 2015) [Abstract in Atti di Convegno]
Cabri, G.; Capodieci, N.; Willies, J.
abstract

The FoCAS workshop focuses on identifying and addressing challenges related to the development of collective adaptive systems, which are systems composed of several components that are able to adapt themselves (both as individual and as system) to changing execution conditions. The first edition of this workshop was organized within the ECAL (European Conference on Artificial Life) 2013 conference, while the second edition was held at SASO 2014 (Self-Adaptive Self-Organizing Systems) conference.


2015 - Building self-adaptive systems by adaptation patterns integrated into agent methodologies [Relazione in Atti di Convegno]
Puviani, Mariachiara; Cabri, Giacomo; Capodieci, Nicola; Leonardi, Letizia
abstract

Adopting patterns, i.e. reusable solutions to generic problems, turns out to be useful to rely on tested solutions and to avoid reinventing the wheel. To this aim, we proposed to use adaptation patterns to build systems that exhibit self-adaptive features. However, these patterns would be more usable if integrated in a methodology exploited to develop a system. In this paper we show how our Catalogue of adaptation patterns can be integrated into methodologies for adaptive systems; more in detail, we consider methodologies which support the development of multi-agent systems that can be considered good examples of adaptive systems. The paper, in particular, shows the integration of our Catalogue of adaptive patterns into the PASSI methodology, together with the graphical tool that we developed to support it.


2015 - Context-awareness in the deregulated electric energy market: an agent-based approach [Articolo su rivista]
Capodieci, Nicola; Alsina, EMANUEL FEDERICO; Cabri, Giacomo
abstract

Multiagent systems are commonly used for simulation of new paradigms of energy distribution. Especially when considering Smart Grids, the autonomicity deployed by goal-driven agents implies the need for being aware of multiple aspects connected to the energy distribution context. With ‘context’, we refer to the outside world variables such as weather, stock market trends, location of the users, government actions, and so on; therefore, an architecture highly context-aware is needed. We propose a model in which every important factor concerning the electric energy distribution is presented by modeling context-aware agents able to identify the impact of these factors. Moreover, some tests have been performed regarding the web service integration in which agents contracting energy will automatically retrieve data to be used in adaptive and collaborative aspects; an explicative example is represented by the retrieval of weather forecasting that provides input on ongoing demand and data for the predicted availability (in case of photovoltaic or wind powered environments).


2015 - Efficient Implementation of Genetic Algorithms on GP-GPU with Scheduled Persistent CUDA Threads [Relazione in Atti di Convegno]
Capodieci, Nicola; Burgio, Paolo
abstract

In this paper we present a heavily exploration oriented implementation of genetic algorithms to be executed on graphic processor units (GPUs) that is optimized with our novel mechanism for scheduling GPU-side synchronized jobs that takes inspiration from the concept of persistent threads. Persistent Threads allow an efficient distribution of work loads throughout the GPU so to fully exploit the CUDA (NVIDIA's proprietary Compute Unified Device Architecture) architecture. Our approach (named Scheduled Light Kernel, SLK) uses a specifically designed data structure for issuing sequences of commands from the CPU to the GPU able to minimize CPUGPU communications, exploit streams of concurrent execution of different device side functions within different Streaming Multiprocessors and minimize kernels launch overhead. Results obtained on two completely different experimental settings show that our approach is able to dramatically increase the performance of the tested genetic algorithms compared to the baseline implementation that (while still running on a GPU) does not exploit our proposed approach. Our proposed SLK approach does not require substantial code rewriting and is also compared to newly introduced features in the last CUDA development toolkit, such as nested kernel invocations for dynamic parallelism.


2015 - The influence of the picking times of the components in time and space assembly line balancing problems: An approach with evolutionary algorithms [Relazione in Atti di Convegno]
Alsina, EMANUEL FEDERICO; Capodieci, Nicola; Cabri, Giacomo; Regattieri, Alberto; Gamberi, Mauro; Pilati, Francesco; Faccio, Maurizio
abstract

The balancing of assembly lines is one of the most studied industrial problems, both in academic and practical fields. The workable application of the solutions passes through a reliable simplification of the real-world assembly line systems. Time and space assembly line balancing problems consider a realistic versions of the assembly lines, involving the optimization of the entire line cycle time, the number of stations to install, and the area of these stations. Components, necessary to complete the assembly tasks, have different picking times depending on the area where they are allocated. The implementation in the real world of a line balanced disregarding the distribution of the tasks which use unwieldy components can result unfeasible. The aim of this paper is to present a method which balances the line in terms of time and space, hence optimizes the allocation of the components using an evolutionary approach. In particular, a method which combines the bin packing problem with a genetic algorithm and a genetic programming is presented. The proposed method can be able to find different solutions to the line balancing problem and then evolve they in order to optimize the allocation of the components in certain areas in the workstation.


2014 - Artificial Immune System driven evolution in Swarm Chemistry [Relazione in Atti di Convegno]
Capodieci, Nicola; E., Hart; Cabri, Giacomo
abstract

Morphogenetic engineering represents an interesting field in which models, frameworks and algorithms can be tested in order to study how self-* properties and emergent behaviours can arise in potentially complex and distributed systems. In this field, the morphogenetic model we will refer to is swarm chemistry, since a well known challenge in this dynamical process concerns discovering mechanisms for providing evolution within coalescing systems of particles. These systems consist in sets of moving particles able to self-organise in order to create shapes or geometrical formations that provide robustness towards external perturbations. We present a novel mechanism for providing evolutionary features in swarm chemistry that takes inspiration from artificial immune system literature, more specifically regarding idiotypic networks. Starting from a restricted set of chemical recipes, we show that the system evolves to new states, using an autonomous method of detecting new shapes and behaviours free from any human interaction.


2014 - Artificial Immune System in the context of Autonomic Computing: integrating design paradigms [Relazione in Atti di Convegno]
Capodieci, Nicola; Hart, E.; Cabri, Giacomo
abstract

We describe a framework for developing autonomic computing systems, based on an analogy with the natural immune system. A detailed comparison between the autonomic computing literature and the field of cognitive immune networks is drawn, particularly with respect to ensembles of components (in automomic computing) and ensembles of cells (in immune systems). We show how current approaches to designing autonomic systems could be enriched by considering alternative design processes based on cognitive immune networks.


2014 - Idiotypic networks for evolutionary controllers in virtual creatures [Relazione in Atti di Convegno]
Capodieci, Nicola; E., Hart; Cabri, Giacomo
abstract

We propose a novel method for evolving adaptive locomotive strategies for virtual limbless creatures that addresses both functional and non-functional requirements, respectively the ability to avoid obstacles and to minimise spent energy. We describe an approach inspired by artificial immune systems, based on a dual-layer idiotypic network that results in a completely decentralised controller. Results are compared to a set of five fixed locomotion strategies and show that adaptive control can evolve and simultaneously optimise energy requirements, starting from the same locomotion non-adaptive strategies.


2014 - Modeling Self-Expression by Holons [Relazione in Atti di Convegno]
Capodieci, Nicola; Cabri, Giacomo; Zambonelli, Franco
abstract

In the field of autonomic computing the current trend is to develop cooperating computational entities enabled with enhanced self-* properties. The term self-* indicates the possibility of an element inside a set (an ensemble) composed of many potentially heterogeneous components to self organize, heal (repair), optimize and configure without little or no human interaction. The goal is to increase the level of adaptivity for both the ensemble and the single element, especially in scenarios in which stopping a system for further tuning is unfeasible. In this paper, we propose an approach to model and enable the capability of adopting different collaboration patterns in ensembles of autonomic components inserted in open and nondeterministic environments. This model takes inspiration from the holonic organisation of multi agent systems and from a Self-* property, called Self-Expression, which is defined as the property of a distributed system to change its collaboration pattern at run time in order to better adapt its execution of tasks in unknown situations. Ensembles able to deploy Self-Expression, show a higher level of adaptation and the concept of Self-Expression can be easily exploited though a Self-Repeating structure like a hierarchy of holons.


2014 - Self-Expression and Dynamic Attribute-based Ensembles in SCEL [Relazione in Atti di Convegno]
Cabri, Giacomo; Capodieci, Nicola; Luca, Cesari; Rocco De, Nicola; Rosario, Pugliese; Francesco, Tiezzi; Zambonelli, Franco
abstract

In the field of distributed autonomous computing the current trend is to develop cooperating computational entities enabled with enhanced self-* properties. The expression self-* indicates the possibility of an element inside an ensemble, i.e. a set of collaborative autonomic components, to self organize, heal (repair), optimize and configure with little or no human interaction. We focus on a self-* property called Self-Expression, defined as the ability to deploy run-time changes of the coordination pattern of the observed ensemble; the goal of the ensemble is to achieve adaptivity by meeting functional and non-functional requirements when specific tasks have to be completed. The purpose of this paper is to rigorously present the mechanisms involved whenever a change in the coordination pattern is needed, and the interactions that take place. To this aim, we use SCEL (Software Component Ensemble Language), a formal language for describing autonomic components and their interactions, featuring an highly dynamic and flexible way to form ensembles based on components' attributes.


2013 - An immune network approach for self-adaptive ensembles of autonomic components: a case study in swarm robotics [Relazione in Atti di Convegno]
Capodieci, Nicola; Hart, Emma; Cabri, Giacomo
abstract

We describe an immune inspired approach to achieve self-expression within an ensemble, i.e. enabling an ensemble of autonomic components to dynamically change their coordination pattern during the runtime execution of a given task. Building on previous work using idiotypic networks, we consider robotic swarms in which each robot has a lymph node containing a set of antibodies describing conditions under which different coordination patterns can be applied. Antibodies are shared between robots that come into communication range facilitating collaboration. Tests in simulation in robotic arenas of varying complexity show that the swarm is able to learn suitable patterns and effectively achieve a foraging task, particularly in arenas of high complexity.


2013 - Applying Multi-armed Bandit Strategies to Change of Collaboration Patterns at Runtime [Relazione in Atti di Convegno]
Cabri, Giacomo; Capodieci, Nicola
abstract

Autonomic systems have some interesting properties that enable them to self-manage at runtime. Traditionally, they are Self-configuration, Self-healing, Self-optimization, and Self-protection. Another interesting property is Self-expression, i.e. the capability of reconfiguring the collaboration pattern of a system at runtime and in an autonomous way. This re-factoring of behaviours, roles and interactions takes place whenever the environment in which the set of components is inserted experiences some changes, so that in order to adapt to the ever variable external conditions, the system is still able to maximize its utilities. In the past we have motivated the need for such a pattern change, and have proposed some approaches to enact it in situations in which we can associate to each external condition the fittest coordination pattern. In this paper we propose a strategy to decide the change and to choose the next collaboration pattern in situations in which the system components do not have sufficient knowledge and cognition to reason about the varying external conditions. Our approach is based on the algorithms proposed to solve the multi-armed bandit problem, in which a player must choose which slot machine to pull, given a number of them, in order to maximize the reward.


2013 - Collaboration in Swarm Robotics: a Visual Communication Approach [Relazione in Atti di Convegno]
Capodieci, Nicola; Cabri, Giacomo
abstract

Swarm robotics involves a number of simple robots that have a common task and carry it out in a collective way. In this context the collaboration among the different components is a crucial aspect, but not always it can be enacted in a direct way, i.e., by means of direct communication between components. This is because of the simplicity of the robots, but this turns out to increase robustness and flexibility of the swarm systems. In this paper we present a case study in which some robots are in charge of sweeping the perimeter of an area, and propose a distributed algorithm for the task division. We have tested the proposed algorithm in different situations; we report the results and we also compare them to the ones achieved with no collaboration.


2013 - Designing Self-Aware Adaptive Systems: from Autonomic Computing to Cognitive Immune Networks [Relazione in Atti di Convegno]
Capodieci, Nicola; E., Hart; Cabri, Giacomo
abstract

An autonomic system is composed of ensembles of heterogeneous autonomic components in which large sets of components are dynamically added and removed. Nodes within such an ensemble should cooperate to achieve system or human goals, and systems are expected to self-adapt with little or no human-interaction. Designing such systems poses significant challenges. In this paper we propose that the system engineer might gain significant inspiration by looking to the biological immune system, particularly by adopting a perspective on the immune system proposed by Cohen known as the Cognitive Immune Network. The goal of this paper is to show how the current literature in autonomic computing could be positively enriched by considering alternative design processes based on cognitive immune networks. After sketching out the mapping in commonalities between the Cognitive Immune Network and the autonomic computing reference model, we demonstrate how these considerations regarding the design process can be exploited with an engineered autonomic system by describing experiments with a simple robotic swarm scenario.


2013 - Managing Deregulated Energy Markets: an Adaptive and Autonomous Multi-Agent System Application [Relazione in Atti di Convegno]
Capodieci, Nicola; Cabri, Giacomo
abstract

Given the complexity of modelling actors and interactions of the deregulated electric energy market, the Multi-Agent System approach turns out to be suitable for both simulation and application of critical aspects in the Smart Grid. In particular, for balancing demand and offer and for handling negotiation among peers: now, even a domestic environment that features photovoltaic and/or wind turbines modules can decide to enter the deregulated market as a small-scale seller, thus making the requirement of having such an architecture to be autonomous by deploying Self-* properties such as Self-Organization, Self- Repairing, Self-Adaptation. To be more specific about the presented case study, we propose a model in which small-scale seller agents dynamically and autonomously decide either to address the market as lone operators or by aggregating into Virtual Power Plants, from time to time in order to adapt to different situations. This iterated decisional process depends on highly variable market related factors, thus our goal is to design a net of agents able to autonomously react to this dynamic environment.


2013 - Runtime Change of Collaboration Patterns in Autonomic Systems: Motivations and Perspectives [Relazione in Atti di Convegno]
Cabri, Giacomo; Capodieci, Nicola
abstract

Today’s distributed systems are more and more complex, so they are required to be autonomic, i.e., to exhibit some self-* properties in order to manage themselves. Autonomic systems are usually composed of different components, which collaborate to achieve a global goal or to provide a high-level service. The collaboration pattern is usually defined statically, but the aim of this paper is to show that there are motivations to enable composed systems to change their collaboration pattern at runtime in an autonomous way, starting from some case studies. This capability of autonomic systems is called self-expression, meaning that a system can express itself despite unexpected situations. Moreover, we propose three perspective solutions that aim at enabling the change at runtime: role-based, descriptionbased, and Artificial Immune Systems (AIS)-inspired.


2012 - A Context-aware Agent-based Approach for Deregulated Energy Market [Relazione in Atti di Convegno]
Capodieci, Nicola; Alsina, Emanuel Federico; Cabri, Giacomo
abstract

A deregulated energy market is a typical scenario in which software agents are used for simulation and/or application purposes. Agents act on behalf of end users, thus implying the necessity of being aware of multiple aspects connected to the distribution of electricity. These aspects refer to outside world variables like weather, stock market trends, location of the users etc. therefore an architecture highly context aware is needed. We propose a web service integration in which agents contracting energy will automatically retrieve data to be used in adaptive and collaborative aspects, an explicative example, misrepresented by the retrieval of weather forecasting, that provides input on ongoing demand and data for the predicted availability(in case of photovoltaic or wind powered environments). The challenge lies in how to correctly use data coming from different sources, since these information are crucial for user profiling and balancing in the short-term contracts in the Smart Grid.


2012 - Adaptive Game-based Agent Negotiation in Deregulated Energy Markets [Relazione in Atti di Convegno]
Capodieci, Nicola; Cabri, Giacomo; G. A., Pagani; M., Aiello
abstract

In the emerging deregulated energy paradigm enabled by the Smart Grid, energy provisioning will change drastically. Energy contracts will be negotiated between a potential multitude of parties at high frequency (e.g., several times per day) based on local needs and micro-generation production facilities. In this context, this paper presents an agent-based approach to manage negotiation among the different parties.The goal of the presented work is to propose adaptive negotiation strategies for trading energy in a deregulated market. In particular, we provide strategies derived from game theory, in order to optimize energy production and supply costs by means of negotiation and adaptation. The novelty lies in the adaptation of the class of minority and stochastic games to the energy trading problem in order to model the strategy of the various parties involved. The paper presents also simulation results of a scenario with a large number of energy buyers, a small set of prosumers (energy consumers and producers using renewable micro-generation facilities) and a few large-scale traditional electricity suppliers.


2012 - Agent modeling of a pervasive application to enable deregulated energy markets [Relazione in Atti di Convegno]
Capodieci, N.; Cabri, G.; Pagani, G. A.; Aiello, M.
abstract

In a not so far future, private houses will be provided with devices that can produce renewable energy, and this will give the owners the chance of selling the unused energy to neighbors. The fact that this selling will be based on peer to peer negotiation (i.e., between single producers and single consumers), will make this market deregulated. This situation could lead to advantages for both producers, who will have an extra income for energy they would not use, and consumers, who can buy cheaper energy than the big companies' one. However, this scenario is very complex and dynamic, and without an appropriate management can lead to odd situations. This paper presents the agent-based modeling of an application to manage the negotiation among different parties producing and consuming energy. We will show that the feature of autonomy of agents well suit the requirements of the proposed scenario. Moreover, we will exploit game theory to define a strategy that try to optimize energy production and supply costs by means of negotiation and learning. By means of simulation of the different parties we will show the effectiveness of the proposed approach; the results show that applying our approach enables to reduce the price of the energy and leads to an equilibrium between expected and real prices.


2012 - An Agent-based Application to Enable Deregulated Energy Markets [Relazione in Atti di Convegno]
Capodieci, Nicola; Cabri, Giacomo; G. A., Pagani; M., Aiello
abstract

Private houses are more and more enabled with devices that can produce renewable energy, and the not so remote chance of selling the surplus energy makes them new players in the energy market.This market is likely to become deregulated since each energy home-producer can negotiate the energy price with consumers, typically by means of an auction; on the other hand, consumers can always rely on energy companies, even if their energy is more expensive.This scenario could lead to advantages for users, but it is certainly complex and dynamic, and needs an appropriate management.To this purpose, in this paper we propose an agent-based application to deal with the negotiation among different parties producing and consuming energy.Software agents, thanks to their autonomy in taking decisions, well suit the requirements of the proposed scenario.For our application, we adopt a strategy derived from game theory, in order to optimize energy production and supply costs by means of negotiation and learning.The effectiveness of our approach is proved by simulation results of a situation involving energy buyers, energy producers using renewable micro-generation facilities and large-scale traditional electricity companies.


2012 - Conceptual Map and Classification in Ensembles of Autonomic Components: from Awareness to Organization [Relazione in Atti di Convegno]
Capodieci, Nicola; Cabri, Giacomo
abstract

Designing cooperative autonomic components andstudying their possible interactions when operating in ensemblein open and non-deterministic environments, poses severalchallenges for the developer. While older studies focus on theseveral possibilities for optimized collaboration protocols andcommunication possibilities in distributed architectures, themost recent trend is more focussing on the self-expression andself-organizing features that aware components may deployduring run-time, thus exploring new frontiers in designingadaptive collaboration patterns. In this paper we propose aconceptual map for autonomic components (taking into accountthe distributed robotics scenario) able to classify old andnew approaches in collaboration, highlighting similarities andcommonalities between patterns and by focussing on the laststudies about awareness of autonomous components. Being apreliminary study, the further goal is represented by findinga design approach for dynamically changing collaborationpatterns during a run-time execution of tasks.


2012 - Coordination And Task Division In Robot Ensembles: Perimeter Sweep Case Study [Relazione in Atti di Convegno]
Capodieci, Nicola; Cabri, Giacomo
abstract

Coordination and communication in scenarios where a multitude of robots are presents represent very critical aspects when designing robot ensembles. This paper will show how is it possible to coordinate and sub-divide tasks in a homogeneous ensemble of robots, exploiting a wall-following case study in which every bot has to be aware of the presence of other peers, by adapting its choices accordingly and cooperate to improve the overall performances. The global task has to be accomplished with extremely limited communication capabilities and by distributed coordination. Software simulations that model existing robots were performed for helping us to show the efficiency of the proposed approach.


2011 - Smart Meter aware Domestic Energy Trading Agents [Relazione in Atti di Convegno]
Capodieci, Nicola; G. A., Pagani; Cabri, Giacomo; M., Aiello
abstract

The domestic energy market is changing with the increasing availability of energy micro-generating facilities. On thelong run, households will have the possibility to trade energyfor purchase and sale from a number of different actors. Wemodel such a futuristic scenario using software agents. Weillustrate an implementation including the interfacing with aphysical Smart Meter and provide initial simulation results.Given the high autonomy of the actors in the domestic market and the complex set of behaviors, the agent approachproves to be effective for both modeling and simulating purposes.