19. Les grilles Qu’est-cequ’une grille ? « A fully distributed, dynamically reconfigurable, scalable and autonomous infrastructure to provide location independent, pervasive, reliable, secure and efficient access to a coordinated set of services encapsulating and virtualizing resources (computing power, storage, instruments, data, etc.) in order to generate knowledge ... » d’après le CoreGRIDNoE
34. Data centers fournissant les ressources (machines, stockage, mémoire, BP réseau) pour différents clients en mode partagé. Diminution des tâches de maintenance.
68. Virtualisation Machines virtuelles s’exécutant sur un nœud de calcul VM0 VM1 VM2 N0 Proposé par IBM dans les années 60 “Virtual Machines have finallyarrived. Dismissed for a number of years as merelyacademiccuriosities, they are nowseen as cost-effective techniques for organizing computer systemsresources to provideextraordinary system flexibility and support for certain unique applications”. Goldberg, Survey of Virtual Machine Research, 1974 Nœud de calcul Crédits: T. Priol, INRIA
85. AWS : Mise en place Inscription internet Carte bancaire Instantané Console Web pour démarrer Pas d’attente de mise en place Pas de coût d’installation Système ouvert / automatisable : Outil SDK API Credits: Fabien Bousquet, Kalistic
86. Amazon Elastic Compute Cloud A set of APIs and business models which give developer-level access to Amazon’s infrastructure and content: Search As A Service Alexa Web Information Service Alexa Top Sites Alexa Site Thumbnail Alexa Web Search Platform Data As A Service Amazon E-Commerce Service Amazon Historical Pricing Infrastructure As A Service Amazon Simple Queue Service Amazon Simple Storage Service Amazon Elastic Compute Cloud Other tools BD : RDS, SimpleDB Messaging : SNS, SQS, SES Stockage : EBS, AWS Import/Export CDN : CloudFront » « Calcul » : MapReduce Déploiement/Gestion : Beanstalk, CloudFormation Surveillance : CloudWatch Réseaux : Route 53, VPC People As A Service Amazon Mechanical Trunk Credits: Jeff Barr, Amazon
87.
88. provides an easy way to setup, operate and scale a relational database in the cloud. You can launch a DB Instance and get access to a full-featured MySQL database and not worry about common database administration tasks like backups, patch management etc.
95. allows you to extend your corporate network into a private cloud contained within AWS. Amazon VPC uses IPSec tunnel mode that enables you to create a secure connection between a gateway in your data center and a gateway in AWS.
107. Network Security ModelTime or Traffic-based Scaling, Load testing, Simulation and Analysis, Rendering, Software as a Service Platform, Hosting $.10 - $.18 per GB data transfer
108. Amazon EC2 Concepts Amazon Machine Image (AMI) Bootable root disk Pre-defined or user-built Catalog of user-built AMIs OS: Fedora, Centos, Gentoo, Debian, Ubuntu, Windows Server App Stack: LAMP, mpiBLAST, Hadoop Limited to 10 GB Instance Running copy of an AMI Launch in less than 2 minutes Start/stop programmatically Network Security Model Explicit access control Security groups Inter-service bandwidth is free
109. Types d’instances http://aws.amazon.com/fr/ec2/instance-types/ High-Memory Extra Large Instance 17.1 Go de Mémoire6.5 EC2 ComputeUnits (2 virtualcores avec chacun 3.25 EC2 ComputeUnits)420 Go de stockage d’instancePlateforme 64-bitPerformance I/O: Modérée High-Memory Double Extra Large Instance 34.2 Go de Mémoire13 EC2 ComputeUnits (4 virtualcores avec chacun 3.25 EC2 ComputeUnits)850 Go de stockage d’instancePlateforme 64-bitPerformance I/O: Elevée High-Memory Quadruple Extra Large Instance 68.4 Go de Mémoire26 EC2 ComputeUnits (8 virtualcores avec chacun 3.25 EC2 ComputeUnits)1690 Go de stockage d’instancePlateforme 64-bitPerformance I/O: Elevée Applications à grand trafic, notamment les bases de données et les applications de mise en mémoire cache Petites Instances – défaut 1.7 Go de Mémoire1 EC2 Compute Unit (1 virtualcore avec 1 EC2 Compute Unit)160 Go de stockage d’instancePlateforme 32-bitPerformance I/O: Modérée Large Instance 7.5 Go de Mémoire 4 EC2 ComputeUnits (2 virtualcores avec chacun 2 EC2 ComputeUnits)850 Go de stockage d’instancePlateforme 64-bitPerformance I/O: Elevée Extra Large Instance 15 Go de Mémoire8 EC2 ComputeUnits (4 virtualcores avec chacun 2 EC2 ComputeUnits)1,690 Go de stockage d’instancePlateforme 64-bitPerformance I/O: Elevée
110. Types d’instances, suite http://aws.amazon.com/fr/ec2/instance-types/ Quadruple Extra Large Instance Grappe de Calcul 23 Go de Mémoire33.5 EC2 ComputeUnits (2 x Intel Xeon X5570, quad-core architecture “Nehalem”)1690 Go de stockage d’instancePlateforme 64-bitPerformance I/O: Très Elevée (10 Gigabit Ethernet)Nom API: cc1.4xlarge Les instances cette famille fournissent proportionnellement plus de ressources CPU avec une performance réseau améliorée et sont adaptées aux applications Calculs Haute Performance (HPC) et aux autres applications nécessitant un lien réseau. High-CPU Medium Instance 1.7 Go de Mémoire5 EC2 ComputeUnits (2 virtualcores avec chacun 2.5 EC2 ComputeUnits)350 Go de stockage d’instancePlateforme 32-bitPerformance I/O: ModéréeNom API: c1.medium High-CPU Extra Large Instance 7 Go de Mémoire20 EC2 ComputeUnits (8 virtualcores avec chacun 2.5 EC2 ComputeUnits)1690 Go de stockage d’instancePlateforme 64-bitPerformance I/O: ElevéeNom API: c1.xlarge
113. Reliable, Simple, SecureInter-process messaging, data buffering, architecture component $.10 per 1000 messages $.10 - $.18 per GB data transfer
114. EC2: Stockage Instance store Copie de l’AMI / disque de boot Limité à 10 GB Instance EC2 Mount Disque lié à l’instance sans coût additionnel Nombre et taille variable en fonction du type d’instance Ephemeraldisk EBS Non lié au cycle de vie de l’instance Nombre et taille libres S3 Copie d’un EBS à un instant T Stocké sur S3 SNAPSHOT Accès via API Données non persistantes => Données perdues si machine arrêtée (« terminate ») ou machine plantée Données persistantes => Données non liées au cycle de vie de l’instance Credits: Fabien Bousquet, Kalistic
123. Amazon S3 Concepts Objects Opaque data to be stored (1 byte … 5 Gigabytes) Authentication and access controls Buckets Object container – any number of objects 100 buckets per account / buckets are “owned” Keys Unique object identifier within bucket Up to 1024 bytes long Flat object storage model Standards-Based Interfaces REST and SOAP URL-Addressability – every object has a URL Credits: Jeff Barr, Amazon
124. Amazon S3 Concepts, cont Stockage. 3 actions : Ecrire Lire Supprimer Buckets : Dossiers / fichiers Contrôle de version et droit d’accès Accès via API Plusieurs régions géographiques => Latence, disponibilité Credits: Fabien Bousquet, Kalistic
125. Vuegénérale S3 EC2 Region bucket Zone Instance EC2 EBS API Mount S3 Security Group Start with Do snapshot SNAPSHOT API AMI AMI Web Credits: Fabien Bousquet, Kalistic
128. 10 GO de stockage Amazon Elastic Block Storage (EBS) plus 1 million d’E/S, 1 GO de stockage de copies instantanée, 10 000 copies instantanées de demandes GET et 1000 copies instantanées de demandes Put
132. Facturées au prix spot défini par Amazon EC2, qui fluctue de manière périodique en fonction de l’offre et de la demande pour la capacité d’instance spot.
133. Pour utiliser les instances spot, on fait une demande en spécifiant
136. le prix maximum qu’on est disposé à payer par heure d’instance.
137. Afin de comparer ce prix maximum aux prix spot antérieurs, l’historique des prix spot est disponible via l’API d’Amazon EC2 et AWS Management Console.
145. Challenges Extensibility Simple architecture and open internal APIs Client-side interface Amazon’s EC2 interface and functionality (familiar and testable) Networking Virtual private network per cloud Must function as an overlay => cannot supplant local networking Security Must be compatible with local security policies Packaging, installation, maintenance system administration staff is an important constituency for uptake Credit: R. Wolsky.
170. Pas de gestion de l’infrastructure sous-jacente (machines, réseaux, stockage, systèmes d’exploitation, …). Le support d’exécution gère le déploiement et le nombre de ressources.
171. Mais contrôle de l’application et de la configuration de son environnement
179. Application and Data Windows Azure Windows OS for running applications on Microsoft datacenters CDN Connect Storage Compute Fabric Controller * source: http://lancord.com/images/pdf/2_WP.pdf
211. Architecture de la solution ExtremeFactory SOA / Web Services based HPC Portal Users &Authent. Clients &Projects DataMgmt Visualisation ApplicationMgmt JobMgmt AccountingBilling AdminWorkflows HPC middleware & APIs Infrastructure 150 Tflops au 15 mai 2011 Datacenter F9/M50Bull - Les Clayes-sous-Bois (78)
246. Sky computing Permettre l’exécution d’applications à grande échelle sur des plates-formes multi-cloud Expérience entre les USA et la France Nimbus (gestion de ressources, contextualisation)/ViNe (connectivité)/Hadoop (distribution des tâches, tolérance aux pannes, dynamicité) Plates-formes FutureGrid (3 sites) et Grid’5000 (3 sites) Optimisation de la création et de la propagation de machines virtuelles SD Rennes Grid’5000 firewall Lille UF Application Distribuée Application MapReduce White-listed Queue VR Hadoop Sophia ViNe UC Logiciel IaaS Logiciel IaaS All-to-allconnectivity! Crédits: Pierre Riteau (IRISA)
253. Terremark [IaaS]Figure and table credits On the Performance Variability of Production Cloud Services, A. Iosup, N. Yigitbasi, and D. Epema, IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing (CCGrid 2011) Cloud Computing Performance - A bitcurrent study in the performance of cloud computing platforms, bitcurrent, http://www.bitcurrent.com, 2010
261. Performance – Comparison Four tests A one-pixel GIF to test response time and caching of static content A 2-Mbyte GIF to test network throughput and congestion Across one month A CPU-intensive task 1.000.000 operations (100.000 for SalesForce because of limitations) An I/O intensive task Used smallest VM type for IaaS clouds
266. Heterogeneity in Virtualized Environments VM technology isolates CPU and memory, but disk and network are shared Full bandwidth when no contention Equal shares when there is contention 2.5x performance difference EC2 small instances
267. Isolation Research Need predictable variance over raw performance Some resources that people have run into problems with: Power, disk space, disk I/O rate (drive, bus), memory space (user/kernel), memory bus, cache at all levels (TLB, etc), hyperthreading/etc, CPU rate, interrupts Network: NIC (Rx/Tx), Switch, cross-datacenter, cross-country OS resources: File descriptors, ports, sockets
275. CPU utilization, amount of requests per second, number of concurrent users, amounts of bytestransferred, or amount of memoryused by your application
297. MapReduce 3 A hash function maps the results of the map tasks to r reduce tasks Data is split into mparts 1 D1 map 5 O1 reduce A combinetask may be necessary to combine all the outputs of the reduce functions together D2 map Data O2 reduce Dm map 2 data split map reduce mapfunction is performed on each of these data parts concurrently 4 Once all the results for a particular reducetask is available, the framework executes thereducetask
300. Google MapReduce: Task Granularity And Pipelining Fine granularity tasks: many more map tasks than machines Minimizes time for fault recovery Can pipeline shuffling with map execution Better dynamic load balancing Often use 200,000 map/5000 reduce tasks w/ 2000 machines Credits: J. Dean, S. Ghemawat, Google, Inc.
301. Google File System Built for Google large scale data management One big problem: hardware failure ! GFS concepts Data spread evenly throughout cluster Replicated 3x (locality aware replication, replica migrates) Master machine detects failure and rebalances data on the fly Some features Data automaticallydistributed to nodesat load time Loss of nodes causesautomatic datarebalance Credits: A. kimball
302. Google Bigtable A Google database layer Data model: a big map <Row, Column, Timestamp> triple for key - lookup, insert, and delete API
318. Google Pregel – Experiments Single-source shortest path algorithm on a cluster of 300 multicore commodity PCs Binary tree Random graph with mean out degree 127.1 * Source: Grzegorz Malewicz , Matthew H. Austern , Aart J.C Bik , James C. Dehnert , Ilan Horn , Naty Leiser , Grzegorz Czajkowski, Pregel: a system for large-scale graph processing, Proceedings of the 2010 international conference on Management of data, June 06-10, 2010, Indianapolis, Indiana, USA [doi>10.1145/1807167.1807184]
339. Déterminer où est la machine virtuelle qui contient le service à attaquer
340. Déterminer si la machine virtuelle de l’attaquant co-réside avec la machine virtuelle à attaquer
341. Si non, essayer de lancer des nouvelles machines virtuelles jusqu’à être co-résident avec la machine virtuelle à attaquer
342. Exploiter les fuites d’information (CPU caches, branchtarget buffers, network queues, ...)T. Ristenpart, E. Tromer, H. Shacham, S. Savage, Hey, You, Get Off of My Cloud! Exploring Information Leakage in Third-PartyCompute Clouds, ACM Conf. on Computer and Communications Security (CCS) 2009, 199-212, ACM, 2009.
366. MapReduce Modèle (ré)-introduit par Google “MapReduceis a programming model and an associatedimplementation for processing and generating large data sets. Usersspecify a mapfunctionthatprocesses a key/value pair to generate a set of intermediatekey/value pairs, and a reducefunctionthatmerges all intermediate values associatedwith the sameintermediatekey.”MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat Version open-source: Hadoop Nombreux travaux de recherche Extensions du langage Systèmes de fichiers distribués Réplication des données Gestion des ressources Nouvelles applications Nouvelles plates-formes (multicores, GPU) Tolérance aux pannes
367. OS Grid/Cloud-aware Des systèmes et des plates-formes hétérogènes Grappes, grilles, clouds Une utilisation compliquée intergiciels multiples, OS différents, gestion de ressources, de données, fichiers, tolérance aux pannes, sécurité, … Vers des OS pour les grilles et les clouds ? Des challenges ! Maîtrise de la grande échelle Nombre de ressources Sites et domaines multiples Dynamicité Charge, pannes, ajouts de ressources Difficulté à prédire le comportement des plates-formes et de leurs utilisateurs
368. Gestionoptimisée de l’énergie Les grilles et les Clouds participent au changement climatique ! Approches « vertes » pour les grilles Optimisation : améliorer la conception des matériels et logiciels pour réduire leur consommation d’énergie Eteindre / Shutdown : réduire le nombres de ressources et d’équipements alimentés et inutiles : nœuds de calculs, de stockage, de communication, périphériques, … Adaptation / Slowdown : adapter la vitesse des ressources à l’usage réel : DVFS, ALR, … Coordination : proposer des solutions à grande échelle afin de bénéficier de leviers de réduction énergétique plus importants Crédits: Laurent Lefèvre (INRIA/LIP)
369. Gestion de la virtualisationàgrandeéchelle Quelques problématiques liées à l’utilisation de machines virtuelles à grande échelle Gérer les tâches dynamiquement (SALINE) Utiliser les capacités des machines virtuelles pour suspendre une tâche et l’exécuter (potentiellement) ailleurs Sauver des snapshots et gérer leur sauvegarde de manière extensible Combiner la virtualisation des ressources et du réseau (HiperNet) Donner à l’utilisateur l’illusion qu’il utilise un système privé Un langage de reconfiguration pour les infrastructures virtualisées (VMScript) pour décrire les jobs, les VOs, les architectures physiques Migrer une image virtuelle ou un cluster entier entre des datacenters (Shrinker) Réduire le coût de déplacement (ne transférer que le strict minimum) Tirer partie de la bande-passante d’un réseau WAN Crédits: AdrienLèbre (LINA, EMN)
370. Gestion de ressources à grande échelle Comment ordonnancer les tâches à grande échelle Workflows, tâches hétérogènes, liens avec la gestion de données, la réplication, modèles énergétiques, … Comment gérer l’allocation de machines virtuelles Modéliser les plates-formes, prédire? Gestion élastique des ressources Maîtriser les pics de charge Déplacer les VMs, les tâches Modèles économiques, énergétiques, … Self-* Méta-schedulers Ordonnancer et gérer les ressources dans un monde multi-batch et multi-gestionnaires Pilot jobs DIRAC, Condor
371.
372. + Very flexible and scalable as DIET nodes can be launched
375. + Automatic deployment of VMs with associated serviceshttp://www.sysfera.fr/
376. Grid Application Grid Middleware OS (…) Grid BIOS Grid’5000 Une vision originale Pouvoir effectuer des expérimentations à tous les niveaux de la pile logicielle d’une grille (ou d’un Cloud) avec La possibilité de reproduire les conditions d’expérimentation Isoler les expériences entre elles Avoir une grande flexibilité Comprendre ce qu’il se passe sur la plate-forme Injections de conditions expérimentales (fautes, charge) Un instrument pour l’informatique distribuée 9 sites en France connectés par Renater pour un total de 5600 cœurs Un exemple (FutureGrid aux USA) Un des premiers Clouds de type IaaS
377. Grid’5000 vu comme un Cloud Quelques caractéristiques de Cloud Possibilité de gérer vos propres images disques (installées via kDeploy) Réservation de ressources transparente (via OAR) Plateforme complètement contrôlée Images de machines virtuelles (Xen, kvm, Vmware) Isolement d’applications (KaVLAN) Grid’5000 pourrait devenir Cloud’5000? Plateforme parfaite pour la validation de résultats de recherche sur les Clouds Instances de machines virtuelles connectées via un WAN dédié Plusieurs projets autour de Clouds open source, MapReduce et de la virtualisation
386. Le Cloud n’est pas prêt d’enterrer les supercalculateurs pour autant pour les grosses applications de simulation (architectures petascales et bientôt exascales)
Kate’s notes:A picture of the architecture – things to emphasize is that it is highly configurable and easy to extend – e.g. last summer we got a community contribution of the backfil/spot scheduler.I typically just discuss workspace layers and then say that Cumulus is organized in a similar way. From top, by layer:Interfaces – right now three types supported we’d love to support OCCIAnd it would be easy to do because we have this workspace API layer that makes it easy to “add on” other interfacesThe RM layer – default is the workspace scheduler (we implemented it), spot pricing adds spot pricing functionality, workspace pilot enables workspace service to work with a batch scheduler such as SGE or Torque. But you can configure workspace service with any of these schedulers – or write your own. Workspace Control Protocol allows any scheduler to interact with workspace control program that carries out its commands on the “worker nodes”The workspace control program is itself configurable – you can have different virtualization flavors, different ways of distributing images to nodes, networking options, etc. – there are many plugins
- supported Hypervisors: Xen, KVM, VMware
- the 2008 releas was a beta - supported JVM languages: Groovy, JRuby, Scala, Clojure, Jython and PHP - the Datastore is non-relational and uses an SQL-like syntax called GQL
- AppScale (2010) - developed and is maintained by the RACELab at UC Santa Barbara
90
- large oscillations in the last quarter of the year probably due to increasing number of customers of the platform
Still difficult to conduct a conclusive comparison experiment => have to make some form of compromise.For IaaS clouds: the smallest VM type was used.
- seving a small static file
- serving a larger static file - across severla months
- compute 1.000.000 operations - Salesforce is limited in the number of operations and did only 100.000 operations and that’s why it’s so good
- the test is searching for a string in a storage system - the spike is caused by switching from sequential tests to parallel tests which affected all IaaS providers, except for Rackspace - PaaS clouds did well because they have optimized shared storage models for large data sets
- works with oriented graphs - written in C++, has a C++ API
- vertexes are identical entities, the code that they execute behaves differently because of the value that they hold (each vertex can be a state machine) - written in C++, has a C++ API
In each superstep - a vertex runs a compute() function - a vertex can access all the messages it was sent from the previous step - a vertex can send messages to its neighbours (will be reveived in the next superstep)The global sync step - transfers messages from the previous superstep to the recipientsDeactivation - a vertex explicitly deactivates itself when it has no more work to do - it can be reactivated externally - vertexes that become inactive are not run in the next superstep - computation finishes when all the vertexes are inactive and there are no messages in transitCombiners can be used to combine messages that are sent to the same vertex.Aggregators can be used for global process statistics.
- top-right is the binary tree which is about 50x times larger as a number of vertexes - bottom left is the random graph with mean out degree 127.1 for each vertex (approx 127 billion edges in the largest case)