51 research outputs found

    SimGrid Cloud Broker: Simulating the Amazon AWS Cloud

    Get PDF
    Validating a new application over a Cloud is not an easy task and it can be costly over public Clouds. Simulation is a good solution if the simulator is accurate enough and if it provides all the features of the target Cloud. In this report, we propose an extension of the SimGrid simulation toolkit to simulate the Amazon IaaS Cloud. Based on an extensive study of the Amazon platform and previous evaluations, we integrate models into the SimGrid Cloud Broker and expose the same API as Amazon to the users. Our experimental results show that our simulator is able to simulate different parts of Amazon for different applications.La validation d'une nouvelle application sur un Cloud n'est pas une tĂąche facile et elle peut ĂȘtre coĂ»teuse sur des Clouds publiques. La simulation reste une bonne solution si le simulateur est suffisament prĂ©cis et qu'il fournit toutes les fonctionnalitĂ©s du Cloud cible. Dans ce rapport, nous proposons une extension de l'outil de simulation SimGrid pour simuler le Cloud publique Amazon. En nous basant sur une Ă©tude extensive de la plate-forme Amazon et sur des Ă©valuations prĂ©cĂ©dentes, nous intĂ©grons les modĂšles dans le SimGrid Cloud Broker et proposons la mĂȘme API qu'Amazon. Nos rĂ©sultats expĂ©rimentaux montrent que notre simulateur est capable de simuler les diffĂ©rents Ă©lĂ©ments du Cloud Amazon pour diffĂ©rentes applications

    Performance analysis and models for collocated VMs running on multi-core physical machines

    Get PDF
    Next generation high performance computers will massively use virtualization as a way to share hardware resources between multiple applications and to provide flexible mechanisms for fault tolerance and energy optimisation. In this context, understanding the performance behavior of virtual machines and the interference between them is a major scientific challenge that will allow a more efficient usage of resources. The first step is to characterize CPU usage sharing and to propose a performance model for virtual machines. Nonetheless, focusing on the sharing of a single CPU core is no more possible as next generation high performance machines will contain a large number of cores. Moreover, as these cores share micro-architectural resources e.g. caches, using a single core performance model is not sufficient as inter-core interference can happen. Finally, to be able to use such a model in large scale infrastructures as Clouds or high performance computers, the model must be lightweight to simulate the behavior of tens of thousands physical machines hosting hundreds of thousands virtual machines (VMs). In this paper, we present an in-depth analysis of the performance of collocated VMs. By running our experiments on the Grid'5000 testbed, we were able to evaluate 2 processor families for a total of 6 different processor models. We have systematically explored the effect of collocation by testing all the different VCPU to CPU mapping while taking into account micro-architectural components (shared caches and NUMA nodes). We also explored the effect of multi-core virtual machines. Based on these experiments, we evaluate 8 lightweight performance models and observe that the virtual machine performance can be accurately predicted using a model that takes into account the number of VMs on the core and on the related NUMA node (with less than 8% error). Finally, we validate our models on several processors and on both single and multi-(virtual)-cores VM. Using this model, we can increase the accuracy of the virtualization layer of the general purpose distributed system simulator SimGrid and improve it's usability to simulate (HPC) Clouds. These results may also be used to improve VM placement algorithms.La prochaine gĂ©nĂ©ration d'ordinateur haute performance (HPC) utilisera massivement la virtualisation comme un moyen pour partager les ressources matĂ©rielles entre plusieurs applications et Ă©galement pour fournir des mĂ©canismes flexibles pour la tolĂ©rance aux fautes ainsi que l'optimisation Ă©nergĂ©tique. Dans ce contexte, comprendre comment se comporte la performance des machines virtuelles et les interfĂ©rences entre elles est un dĂ©fi scientifique majeur qui permettra d'aller vers un utilisation plus efficace des ressources. La premiĂšre Ă©tape est la caractĂ©risation du partage de processeur et d'en proposer un modĂšle de performance pour les machines virtuelles. Mais, se concentrer sur le partage d'un processeur unique n'est plus possible. En effet, les prochaines gĂ©nĂ©rations d'ordinateur haute performance contiendront un trĂšs large ensemble de coeurs. De plus, comme ces coeurs partages des ressources micro-architecturales, e.g. caches, utilisĂ© un modĂ©le de performance d'un coeur unique n'est pas suffisant car il ne capturerai pas les interferences entre coeurs. Finalement, pour pouvoir utiliser un tel modĂšle Ă  l'Ă©chelle d'infrastructures large Ă©chelle tel que les Clouds ou les ordinateurs HPC, le modĂšle doit ĂȘtre lĂ©gĂ© pour pouvoir simuler des dizaines de milliers de machines physiques hĂ©bergeant des centaines de milliers de machines virtuelles. Dans ce papier, nous prĂ©sentons une analyse en profondeur des performances de machines virtuelles colocalisĂ©es i.e. s'exĂ©cutant sur la mĂȘme machine physique. En exĂ©cutant nos expĂ©rimentations sur le banc d'essai Grid'5000, nous avons pu Ă©valuer 2 familles de processeurs pour un total de 6 diffĂ©rents modĂšles de processeurs. Nous avons explorĂ© systĂ©matiquement l'effet de la colocalisation en testant tous les diffĂ©rentes placements VCPU vers CPU tout en prenant en compte les composants micro-architecturaux (caches partagĂ©s et NUMA nodes). Nous avons Ă©galement explorĂ© l'effet des machines virtuelles qui ont plusieurs coeurs. En se basant sur ces expĂ©rimentations, nous avons Ă©valuĂ© 8 modĂšles lĂ©gĂ©s de performance et observĂ© que la performance d'une machine virtuelle peut ĂȘtre prĂ©cisĂ©ment prĂ©dite en utilisant un modĂšle qui prend en compte le nombre de machines virtuelles sur le coeur et le nombre de machines virtuelles sur la NUMA Node (avec un taux d'erreur infĂ©rieur Ă  8%). Finalement, nous avons Ă©valuĂ© nos modĂšles sur plusieurs processeurs et sur des machines virtuelles avec un ou plusieurs processeurs virtuels. En utilisant ce modĂšle, nous pourrons accroĂźtre la prĂ©cision de la couche de virtualisation du simulateur gĂ©nĂ©rique pour les systĂšmes distribuĂ©s, SimGrid mais Ă©galement sa capacitĂ© Ă  simuler des Clouds (haute performance). Nos rĂ©sultats peuvent Ă©galement ĂȘtre utilisĂ©s pour amĂ©liorer les algorithmes de placement de machines virtuelles

    Comparison on OpenStack and OpenNebula performance to improve multi-Cloud architecture on cosmological simulation use case

    Get PDF
    With the increasing numbers of Cloud Service Providers and the migration of the Grids to the Cloud paradigm, it is necessary to be able to leverage these new resources. Moreover, a large class of High Performance Computing (HPC) applications can run these resources without (or with minor) modifications. But using these resources come with the cost of being able to interact with these new resource providers. In this paper we introduce the design of a HPC middleware that is able to use resources coming from an environment that compose of multiple Clouds as well as classical \hpc resources. Using the \diet middleware, we are able to deploy a large-scale, distributed HPC platform that spans across a large pool of resources aggregated from different providers. Furthermore, we hide to the end users the difficulty and complexity of selecting and using these new resources even when new Cloud Service Providers are added to the pool. Finally, we validate the architecture concept through cosmological simulation RAMSES. Thus we give a comparison of 2 well-known Cloud Computing Software: OpenStack and OpenNebula.Avec l'augmentation du nombre de fournisseurs de service Cloud et la migration des applications depuis les grilles de calcul vers le Cloud, il est nĂ©cessaire de pouvoir tirer parti de ces nouvelles ressources. De plus, une large classe des applications de calcul haute performance peuvent s'exĂ©cuter sur ces ressources sans modifications (ou avec des modifications mineures). Mais utiliser ces ressources vient avec le coĂ»t d'ĂȘtre capable d'intĂ©ragir avec des nouveaux fournisseurs de ressources. Dans ce papier, nous introduisons la conception d'un nouveau intergiciel HPC qui permet d'utiliser les ressources qui proviennent d'un environement composĂ© de plusieurs Clouds comme des ressources classiques. En utilisant l'intergiciel \diet, nous sommes capable de dĂ©ployer une plateforme HPC distribuĂ©e et large Ă©chelle qui s'Ă©tend sur un large ensemble de ressources aggrĂ©gĂ©es entre plusieurs fournisseurs Cloud. De plus, nous cachons Ă  l'utilisateur final la difficultĂ© et la complexitĂ© de sĂ©lectionner et d'utiliser ces nouvelles ressources quand un nouveau fournisseur de service Cloud est ajoutĂ© dans l'ensemble. Finalement, nous validons notre concept d'architecture via une application de simulation cosmologique RAMSES. Et nous fournissons une comparaison entre 2 intergiciels de Cloud: OpenStack et OpenNebula

    Security for Cloud Environment through Information Flow Properties Formalization with a First-Order Temporal Logic

    Get PDF
    The main slowdown of Cloud activity comes from the lack of reliable security. The on-demand security concept aims at delivering and enforcing the client's security requirements. In this paper, we present an approach, Information Flow Past Linear Time Logic (IF-PLTL), to specify how a system can support a large range of security properties. We present in this paper how to control those information flows from lower system events. We give complete details over IF-PLTL syntax and semantics. Furthermore, that logic enables to formalize a large set of security policies. Our approach is exemplified with the Chinese Wall commercial-related policy. Finally, we discuss the extension of IF-PLTL with dynamic relabeling to encompass more realistic situations through the dynamic domains isolation policy.La principale cause de ralentissement de l'adoption du Cloud est le manque de sĂ©curitĂ© fiable. Le concept de sĂ©curitĂ© Ă  la demande est de dĂ©ployer et d'appliquer les demandes de sĂ©curitĂ© d'un client. Dans ce papier, nous prĂ©sentons une approche, Information Flow Past Linear Time Logic (IF-PLTL), qui permet de spĂ©cifier comment un systĂšme peut supporter un large ensemble de propriĂ©tĂ©s de sĂ©curitĂ©. Nous prĂ©sentons dans ce papier comment ces flux d'information peuvent ĂȘtre contrĂŽler en utilisant les Ă©vĂ©nements systĂšmes de bas niveau. Nous donnons une description complĂ©te de la syntaxe de IF-PLTL ainsi que sa sĂ©mantique. De plus, cette logique permet de formaliser un large ensemble de politiques de sĂ©curitĂ©. Notre approche est illustrĂ©e par la politique de sĂ©curitĂ© de la muraille de Chine orientĂ© vers le monde commercial. Finalement, nous montrons comment nous avons Ă©tendu notre langage pour supporter la relabĂ©lisation dynamique qui permet de supporter la dynamicitĂ© inhĂ©rante des systĂšmes. Nous illustrons cette extension par la formalisation d'une propriĂ©tĂ© de sĂ©curitĂ© pour l'isolation dynamique de domaines

    Accuracy of Mixed Precision Computation in Large Coupled Biological Systems

    Get PDF
    Thanks to the advancement of knowledge and technologies, we want to simulate larger and larger biological systems. But classical methods must be rethink to be able to cope with such system. At the same time, mainly riding the trends of AI/ML, a novel approach is to use methods mixing different arithmetic precision. Indeed, such method improves arithmetic intensity while saving memory, energy and computational time. However, controlling the errors induced by the mix of different precision remains the major issue. In this paper, we are present a new method allowing the use of mixed precision to solve ordinary differential systems of equations. We evaluate our method against large biological systems. We show that with such systems, we can reduce the arithmetic precision of a part of the biological model will retain the same numerical precision

    Image Transfer and Storage Cost Aware Brokering Strat. for Multiple Clouds

    Get PDF
    Cloud Brokering, Resource Allocation, Storage, Data Transfer, SimGrid Cloud BrokerNowadays, Clouds are used for hosting a large range of services. But between different Cloud Service Providers, the pricing model and the price of individual resources are very different. Furthermore hosting a service in one Cloud is the major cause of service outage. To increase resiliency and minimize the monetary cost of running a service, it becomes mandatory to span it between different Clouds. Moreover, due to dynamicity of both the service and Clouds, it could be required to migrate a service at run time. Accordingly, this ability must be integrated into the multi-Cloud resource manager, i.e. the Cloud broker. But, when migrating a VM to a new Cloud Service Provider, the VM disk image must be migrated too. Accordingly, data storage and transfer must be taken into account when choosing if and where an application will be migrated. In this paper, we extend a cost-optimization algorithm to take into account storage costs to approximate the optimal placement of a service. The data storage management consists in taking two decisions: where to upload an image, and keep it on-line during the experiment lifetime or delete it when unused. Although the default approach can be to upload an image on demand and delete it when it is no more used, we demonstrate that by adopting other policies the user can achieve better economical results.De nos jours, les Clouds sont utilisĂ©s pour hĂ©berger un grand ensemble de services. Mais entre les diffĂ©rents fournisseurs de service Cloud, les modĂ©les de prix et le prix de chaque ressource sont trĂšs diffĂ©rents. De plus, hĂ©berger un service dans un unique Cloud est une des causes principales d'interruption de service. Pour amĂ©liorer la rĂ©sistance et diminuer le coĂ»t monĂ©taire d'une application, il devient obligatoire de la distribuer dans plusieurs Clouds. En outre, Ă  cause de la dynamicitĂ© de l'application et des Clouds, il peut ĂȘtre nĂ©cessaire de migrer l'application pendant l'exĂ©cution. Par consĂ©quence, cette capacitĂ© doit ĂȘtre intĂ©grĂ©e dans le gestionnaire de ressources multi-Cloud i.e. le Cloud Broker. Mais, quand une VM migre vers un nouveau fournisseur de service Cloud, l'image disque de la VM doit ĂȘtre migrĂ©e Ă©galement. Par consĂ©quence, le stockage et transfert de donnĂ©e doivent ĂȘtre pris en compte quand il est choisi si une application doit migrer et oĂč. Dans ce papier, nous Ă©tendons un algorithme d'optimisation de coĂ»t pour prendre en compte le coĂ»t du stockage afin d'approximer le placement optimal d'une application. La gestion du stockage de donnĂ©e consiste Ă  devoir prendre 2 dĂ©cisions: oĂč l'image doit ĂȘtre envoyĂ©e et doit-elle ĂȘtre conservĂ©e ou supprimĂ©e quand elle n'est plus utilisĂ©e. MĂȘme si l'approche par dĂ©faut peut ĂȘtre d'envoyer l'image Ă  la demande et la supprimer quand elle n'est plus utilisĂ©e, nous dĂ©montrons qu'en adoptant d'autres politiques l'utilisateur peut rĂ©ussir Ă  atteindre de meilleurs rĂ©sultats Ă©conomiques

    The complexity ratchet: Stronger than selection, stronger than evolvability, weaker than robustness

    Get PDF
    International audienceUsing the in silico experimental evolution platform Aevol, we have tested the existence of a "complexity ratchet" by evolving populations of digital organisms under environmental conditions in which simple organisms can very well thrive and reproduce. We observed that in most simulations, organisms become complex although such organisms are a lot less fit than simple ones and have no robustness or evolvability advantage. This excludes selection from the set of possible explanations for the evolution of complexity. However, complementary experiments showed that selection is nevertheless necessary for complexity to evolve, also excluding non-selective effects. Analyzing the long-term fate of complex organisms, we showed that complex organisms almost never switch back to simplicity despite the potential fitness benefit. On the contrary, they consistently accumulate complexity on the long term, meanwhile slowly increasing their fitness but never overtaking that of simple organisms. This suggests the existence of a complexity ratchet powered by negative epistasis: mutations leading to simple solutions, that are favourable at the beginning of the simulation, become deleterious after other mutations-leading to complex solutionshave been fixed. This also suggests that this complexity ratchet cannot be beaten by selection, but that it can be overthrown by robustness because of the constraints it imposes on the coding capacity of the genome

    Of Evolution, Systems and Complexity

    Get PDF
    International audienceThe question of complexity in biological systems is recurrent in evolutionary biology and is central in complex systems science for obvious reasons. But this question is surprisingly overlooked by Evolutionary Systems Biology. This comes unexpected given the roots of systems biology in complex systems science but also given that a proper understanding of the origin and evolution of complexity would provide clues for a better understanding of extant biological systems. In this chapter we will explore the links between evolutionary systems biology and biological systems complexity, in terms of concepts, tools, and results. In particular, we will show how complex models can be used to explore this question and show that complexity can spontaneously accumulate even in simple conditions owing to a “complexity ratchet” fuelled by sign-epistasis

    In silico experimental evolution shows that complexity can rise even in simple environments

    Get PDF
    International audienceSystems biology is often viewed as reverse engineering of biological systems. However, contrary to reverse engineering, systems biology deals with objects that have not been designed, that have no given purpose and that don’t follow engineering rules (e.g. modularity, standardization
). Indeed, we don’t know what are the “design rules” that evolution imposes to biological systems while this knowledge would be a valuable interpretative framework for systems biology.One of the recurrent questions on that matter is the origin of the striking molecular complexity of biological systems. Answering this question requires deciphering the complex interactions between all the forces that drive evolution, including selective and non-selective ones. In this context, simulation is a valuable tool as it enables to observe how organisms grow in complexity (or not) when they evolve in environments which complexity is perfectly mastered.In Liard et al., 2018, we used the Aevol platform (www.aevol.fr), to design an in silico experiment in which populations of organisms evolved in an environment designed to enable survival of the simplest possible organism (i.e., an organism whose genome encodes a single gene) and in which this simple organism have the best possible fitness. By repeatedly evolving organisms in this experimental design, we observed two very different outcomes: some lineages were able to quickly find the optimal genotype (one single gene) and were then stable for the rest of the experiment. However, most lineages were not able to find the optimal genotype and showed a very different dynamics with continuous complexification through gene acquisition all along the experiment. Importantly, these “complex” organisms ended up with fitness values typically 10 to 100 times lower than the simple ones.Our results show that, in such a simple constant environment, there is a decoupling between the molecular complexity of the organisms and the complexity of the environment. This shows that selection for complexity is not mandatory for complexity to evolve and that complex biological structures could flourish in conditions where complexity is not needed. Reciprocally, the global function of complex biological structures could very well be simple. We think this result is greatly significant for both evolutionary biology and systems biology.Liard, et al. (2018) The Complexity Ratchet: Stronger than selection, weaker than robustness. In: Proceedings of ALife 2018

    Beyond The Cloud, How Should Next Generation Utility Computing Infrastructures Be Designed?

    Get PDF
    To accommodate the ever-increasing demand for Utility Computing (UC) resources, while taking into account both energy and economical issues, the current trend consists in building larger and larger data centers in a few strategic locations. Although such an approach enables to cope with the actual demand while continuing to operate UC resources through centralized software system, it is far from delivering sustainable and efficient UC infrastructures. We claim that a disruptive change in UC infrastructures is required: UC resources should be managed differently, considering locality as a primary concern. We propose to leverage any facilities available through the Internet in order to deliver widely distributed UC platforms that can better match the geographical dispersal of users as well as the unending demand. Critical to the emergence of such locality-based UC (LUC) platforms is the availability of appropriate operating mechanisms. In this paper, we advocate the implementation of a unified system driving the use of resources at an unprecedented scale by turning a complex and diverse infrastructure into a collection of abstracted computing facilities that is both easy to operate and reliable. By deploying and using such a LUC Operating System on backbones, our ultimate vision is to make possible to host/operate a large part of the Internet by its internal structure itself: A scalable and nearly infinite set of resources delivered by any computing facilities forming the Internet, starting from the larger hubs operated by ISPs, government and academic institutions to any idle resources that may be provided by end-users. Unlike previous researches on distributed operating systems, we propose to consider virtual machines (VMs) instead of processes as the basic element. System virtualization offers several capabilities that increase the flexibility of resources management, allowing to investigate novel decentralized schemes.Afin de supporter la demande croissante de calcul utilitaire (UC) tout en prenant en compte les aspects Ă©nergĂ©tique et financier, la tendance actuelle consiste Ă  construire des centres de donnĂ©es (ou centrales numĂ©riques) de plus en plus grands dans un nombre limitĂ© de lieux stratĂ©giques. Cette approche permet sans aucun doute de satisfaire la demande tout en conservant une approche centralisĂ©e de la gestion de ces ressources mais elle reste loin de pouvoir fournir des infrastructures de calcul utilitaire efficaces et durables. AprĂšs avoir indiquĂ© pourquoi cette tendance n'est pas appropriĂ©e, nous proposons au travers de ce rapport, une proposition radicalement diffĂ©rente. De notre point de vue, les ressources de calcul utilitaire doivent ĂȘtre gĂ©rĂ©es de maniĂšre Ă  pouvoir prendre en compte la localitĂ© des demandes dĂšs le dĂ©part. Pour ce faire, nous proposons de tirer parti de tous les Ă©quipements disponibles sur l'Internet afin de fournir des infrastructures de calcul utilitaire qui permettront de part leur distribution de prendre en compte plus efficacement la dispersion gĂ©ographique des utilisateurs et leur demande toujours croissante. Un des aspects critique pour l'Ă©mergence de telles plates-formes de calcul utilitaire ''local'' (LUC) est la disponibilitĂ© de mĂ©canismes de gestion appropriĂ©s. Dans la deuxiĂšme partie de ce document, nous dĂ©fendons la mise en oeuvre d'un systĂšme unifiĂ© gĂ©rant l'utilisation des ressources Ă  une Ă©chelle sans prĂ©cĂ©dent en transformant une infrastructure complexe et hĂ©tĂ©rogĂšne en une collection d'Ă©quipements virtualisĂ©s qui seront Ă  la fois plus simples Ă  gĂ©rer et plus sĂ»rs. En dĂ©ployant un systĂšme de type LUC sur les coeurs de rĂ©seau, notre vision ultime est de rendre possible l'hĂ©bergement et la gestion de l'Internet sur sa propre infrastructure interne: un ensemble de ressources extensible et quasiment infini fourni par n'importe quel Ă©quipement constituant l'Internet, partant des gros noeud rĂ©seaux gĂ©rĂ©s par les ISPs, les gouvernements et les institutions acadĂšmiques jusqu'Ă  n'importe quelle ressource inactive fournie par les utilisateurs finaux. Contrairement aux approches prĂ©cĂ©dentes appliquĂ©es aux systĂšmes distribuĂ©s, nous proposons de considĂ©rer les machines virtuelles comme la granularitĂ© Ă©lĂ©mentaire du systĂšme (Ă  la place des processus). La virtualisation systĂšme offre plusieurs fonctionnalitĂ©s qui amĂ©liorent la flexibilitĂ© de la gestion de ressources, permettant l'Ă©tude de nouveaux schĂ©mas de dĂ©centralisation
    • 

    corecore