musca: a multiscale distributed systems scale a multiscale distributed... mobile phones, tablets and

Download MuScA: A Multiscale Distributed Systems Scale A Multiscale Distributed... mobile phones, tablets and

Post on 02-Aug-2020

0 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • MuScA: A Multiscale Distributed Systems Scale-Awareness Framework

    Sam Rottenberg1, Sébastien Leriche2, Chantal Taconet1, Claire Lecocq1, and Thierry Desprats3

    1 Institut Mines Télécom/Télécom SudParis, CNRS UMR 5157 SAMOVAR firstname.lastname@telecom-sudparis.eu

    2 Toulouse University, ENAC firstname.lastname@enac.fr 3 Toulouse University, CNRS UMR 5505 IRIT firstname.lastname@irit.fr

    Abstract. Nowadays, complex systems are distributed over several lev- els of Information and Communications Technology (ICT) infrastruc- tures. They may involve very small devices such as sensors and RFID, but also powerful systems such as Cloud computers and knowledge bases, as well as intermediate devices such as smartphones and personal com- puters. These systems are sometimes referred to as multiscale systems. The word “multiscale” may qualify various distributed systems according to different viewpoints such as their geographic dispersion, the networks they are deployed on, or their users’ organizations. For one entity of the multiscale system, communication technologies, non-functional com- ponents (for persistence or security purpose) or architectures to be fa- vored may vary from one scale to another. Ad hoc development and management of such complex systems are costly and non-sustainable. In this paper, we propose a scale-awareness framework, called MuScA. This framework includes a characterization process that is based on the concepts of viewpoints, dimensions and scales. These concepts consti- tute the core of a dedicated metamodel. The proposed framework allows multiscale software designers to share a vocabulary for qualifying their own system. At system design time, the result of such a qualification is a model from which the framework produces scale-awareness artifacts. At runtime, those artifacts provide scale-awareness capabilities for au- tonomous management of the components of the multiscale system. As an illustration of this model-driven approach, we show how multiscale probes are generated to provide multiscale components with an embed- ded scale-awareness ability.

    Keywords: Multiscale, Distributed systems, Middleware, IoT, Cloud.

    1 Introduction

    Several recent research works [16, 19, 4] consider distributed systems that in- clude both very small systems such as objects from the Internet of Things (IoT) paradigm, and powerful systems such as those that may be found in the Cloud.

  • This collaboration enables each system to benefit from the capabilities of the others. Some of these systems also involve intermediate computers such as mo- bile devices or proximity servers. These collaborating systems are sometimes called multiscale distributed system.

    The term multiscale system appears in several research papers [4, 9, 19], and in recent research groups such as the FCRP MUSYC research group (The Multi- scale Systems Center4). The multiscale concept is also present in other scientific domains. In physics, laws vary according to the studied scales —i.e., microscopic scale for atoms, mesoscopic scale for nanotechnology, and macroscopic scale for body. For example, at the microscopic scale, quantum mechanics applies, whereas at the macroscopic scale classical mechanic applies. In the traffic simulation do- main as well, the applied models vary according to the examined scale. We argue that communication protocols, system behaviors, and architectures of systems also vary according to the scale of their entities.

    Multiscale distribution is a different concept from large-scale distribution. Large scale has a quantitative meaning, whereas multiscale has an hetorogene- ity meaning. Multiscale distributed systems refer to a wide range of distributed systems. The system heterogeneity may come from differences of latency or pro- tocols of involved networks, from differences of storage capacity or nature of devices, or from dispersion variations between entities. Each heterogeneity char- acteristic may lead to specific communication, performance, behavior, architec- ture choices. For this purpose, the system entities may benefit from the knowl- edge of their multiscale nature in terms of networks, devices, and geographical dispersion.

    In this paper, our contribution is a scale-awareness framework, called MuScA (Multiscale distributed systems Scale-Awareness framework). The aim of this framework is to provide multiscale systems with scale-awareness capabilities. The first contribution is a multiscale characterization process. It is based on the concepts of viewpoints, dimensions and scales. We follow a model-driven approach to produce an editor to qualify multiscale systems. Thus, multiscale software designers share a vocabulary to qualify their systems. As a second con- tribution, multiscale probe artifacts are generated for scale-awareness purpose. With those artifacts, system entities become aware of the scales they are running on. System entities may then choose the components, the behavior, the architec- ture, the design pattern, and the communication means, the most appropriates to their current scales.

    The organization of the paper is the following. In Section 2, we present the motivations for a scale-awareness framework. In Section 3, we present related work. Then, in Section 4, we propose a generic characterization process for mul- tiscale systems. Finally, we present the MuScA framework in Section 5, and we conclude in Section 6.

    4 http://www.musyc.org

    2

  • 2 Motivations for a scale-awareness framework

    This section presents our motivations for a scale-awareness framework. In Sec- tion 2.1, we distinguish multiscale systems from large scale systems. Afterwards, we discuss in Section 2.2 the heterogeneity of the distributed systems from the ICT infrastructure viewpoint. Then, we highlight some issues of multiscale sys- tems in Section 2.3.

    2.1 Multiscale vs large-scale

    First of all, it is important to differentiate multiscale from large-scale distribu- tion. The concept of large-scale distributed systems appeared in the 90s [14, 13]. In the field of large-scale distributed systems, the term scale has a quantitative meaning. In other words, a large-scale distributed system is highly distributed in terms of numbers of involved tiers, or geographical distance between tiers. Likewise, the term “scalability” designates the ability of a system to go from a low distribution (few tiers, close tiers, etc.) to a higher distribution (many tiers, long geographical distance between tiers, etc.) while efficiently maintaining its level of service.

    The challenges at stake in large-scale systems or even ultra-large-scale sys- tems are mentioned by Blair and Grace in [4]. But the authors assert that the scalability challenge is not the most difficult one to address. Multiscale dis- tributed systems do not only deal with the quantity but also with the hetero- geneity. The multiscale aspect of a system may be studied independently from its scalability.

    2.2 Multiscale distributed systems, from smartdust to Cloud

    We depict in Fig. 1 our vision of various ICT infrastructure levels that compose multiscale distributed systems in the context of the IoT. This figure considers four ICT levels: at the bottom, the smartdust, Radio Frequency Identification (RFID), smart sensors level; at the top, the Cloud computing level; and two inter- mediate infrastructure levels: firstly personal devices and secondly cloudlets [17] in cafes and bus shelters.

    Smartdust, a 1997 DARPA proposal, achieved to build wireless sensor nodes with a volume of one cubic millimeter [20]. This building block of the IoT has been complemented by RFID systems, Wireless Sensor Networks (WSNs), and Smart Objects Networks (SONs). All those kinds of computing things may be included in multiscale distributed systems.

    Moreover, some IoT networks, such as sensor networks, use specific network protocols (e.g., ZigBee). As a consequence, gateways are necessary to intercon- nect these networks to larger scale networks. Finally, mobile devices, such as mobile phones, tablets and laptops are commonly used by nomadic users. They are essential for building user-centric services.

    In the context of the IoT and mobile computing, the cooperation of smart objects and cloud computing may be fruitful. Since we consider many objects,

    3

  • Fig. 1. ICT infrastructure levels of a multiscale distributed system

    the IoT may generate a huge volume of data, and may require substantial com- puting power for analysis purpose. Since mobile device resources remain scarce compared to fixed servers’ ones, cooperation between mobile devices and clouds is a promising approach.

    2.3 Multiscale issues

    Multiscale distributed systems have to cope with specific issues implied by each ICT infrastructure level they are built upon. Mobility management, disconnec- tions, unstable architecture, fault tolerance, security, latency in long distance interactions are some of those commonly identified issues. In addition, we have identified several issues specific to multiscale systems. One of this issue is de- scribed by Kessis et al. [9] as the ability to change at runtime the granularity of managed distributed resources.The dynamic distribution of the computation among the scales with both efficiency and energy consumption preoccupations is a second issue. Privacy is a third important issue. Users of multiscale sys- tems may require different privacy policies according to considered scales: e.g., in terms of network, device, or geography.

    Lastly, we believe that a transversal issue related to multiscale terminology emerges from the previous ones. We think that different system engineering con- cerns (such as specif