Année Universitaire
2019-2020
PLAN DE COURS
Module 1: Systèmes Parallèles
BESOIN: Les centres de calcul isolés ne suffiront plus d’ici quelques années !!!
Systèmes
Systèmes Virtualisation
parallèles
1 Grappe ou
2 répartis 3 Cloud
Cluster de calcul
Grille de calcul Computing
INTRODUCTION
Systèmes Parallèles
SYSTÈMES PARALLÈLES
BESOIN: La vitesse de traitement qui est liée à l'augmentation de
la fréquence des processeurs connait des limites !!!
Rapidité:
Taille mémoire:
MPMD
Exécuter des programmes en parallèle sur des données différentes
SYSTÈMES PARALLÈLES : Récapitulatif
Accélération A(p)
Efficacité E(p)
A(p)=T(1)/T(p)
E(p)=A(p)/p
LOI D’AMDAHL
OBJECTIFS GÉNÉRAUX:
Cette flexibilité découle du fait que les services sont réutilisables grâce à une interface
standardisée, une facilité d’intégration accrue pour une complexité plus faible
Une réduction des coûts est atteinte par une meilleure réutilisation des services existants
ainsi qu’une meilleure maintenance grâce à une consolidation des applications par des
services réutilisables
Cette réduction des coûts en conjonction avec une satisfaction du client amène
l’entreprise à accroitre ses revenues
TYPOLOGIE ET MODÈLE EN COUCHES LOGIQUES
Il existe un consensus aujourd’hui pour bâtir les architectures de type « SOA » à partir
d’une typologie de services bien établie, organisée en couches logiques
PRÉSENTATION
PROCESSUS
FONCTION
ENTITÉ
Un composant ne peut pas utiliser un composant d’une couche d’un niveau supérieur
TYPOLOGIE ET MODÈLE EN COUCHES LOGIQUES
TYPOLOGIE ET MODÈLE EN COUCHES LOGIQUES
Les données d’échange sont les informations véhiculées entre les participants
(consommateurs ou fournisseurs de service) à travers l’invocation des opérations de
service.
Les données persistantes sont les informations contenues et gérées dans les
bases de données
La maîtrise de cette gestion est fondamentale et doit être traitée avec une
attention particulière
LES DONNÉES PERSISTANTES ET LES DONNÉES
D’ÉCHANGE
Le contenu et la structure des données d’échange sont en grande partie issus des
données persistantes
La liaison entre ces deux types de données est assurée par ce que l’on appelle le
mappage objet-relationnel ou « ORM » (Objet Relationnel Mapping)
(-): Une difficulté sera rencontrée au niveau de la maitrise des outils de mappage
LES DONNÉES PERSISTANTES ET LES DONNÉES
D’ÉCHANGE
IDENTIFICATION ET CONSTRUCTION DES SERVICES
Démarche par processus métiers : elle s’appuie sur une analyse des processus
métiers de l’entreprise (ou d’un domaine particulier), dans l’objectif de déployer
des composants de services de type Processus
Objectif: décrire une infrastructure de calculs répartie, utilisée dans des projets de recherche
scientifique et industrielle.
C’est le réseau qui globalise et distribue cette ressource entre les différents clients suivant
leurs besoins.
Pouvoir faire migrer efficacement les programmes de traitement et/ou les données
Stocker un flux important d’information et garantir un accès rapide à ces données (Input/output).
Les utilisateurs d’une telle infrastructure s’attendent à recevoir un service fiable, continu et
performant.
POUR RÉSUMER
Yannick PATOIS]
ARCHITECTURE EN COUCHES
Applications
Recherche, Développement, …
Intergiciels
Soumission & ordonnancement des taches, comptabilité, gestion des ressources, …
Sécurité
Authentification, autorisation, cryptage, …
Infrastruture matérielle
Pc, station de travail, serveurs, clusters…
ARCHITECTURE: SYNOPTIQUE
ARCHITECTURE: NŒUDS/CLUSTERS
Des processeurs avec leurs disques, l'ensemble étant interconnecté via
un réseau à très haut débit
Les différents nœuds d’un Cluster possèdent souvent une configuration logicielle
semblable
ARCHITECTURE: NŒUDS/CLUSTERS
Les constructeurs tel que IBM, Bull, ... possèdent leur propre solution issue de
leur recherche
Maitre- Esclave
Mono-niveau
ARCHITECTURE: NŒUDS/CLUSTERS
MAITRE- ESCLAVE
Un serveur (appelé nœud maitre) est considéré comme maitre
On lui soumet les différents travaux qu’il gère à l’aide d’une file d’attente
MONO-NIVEAU
Tous les nœuds ont le même rôle.
CLUSTER DE CALCUL
Répartir l’exécution des instructions sur l’ensemble des nœud esclaves gérés
par un nœud maitre.
HTC : High-Throughtput Computing
Pour les calculs longs et peu couplés (Peu d'échanges entre les processus).
Augmenter la disponibilité
Gère toutes les ressources de la grille, est informé en permanence de leur état:
unités de traitement et de stockage constitutives des nœuds, branches de réseau,
librairies de programmes.
Suivi de l'activité
Administration du système.
D'appliquer des droits utilisateurs avec le Grid Map File, qui est un fichier
qui permet d'autoriser l'accès à une machine à une liste d'utilisateurs
contenus dans le fichier
SÉCURITÉ DES GRILLES
AUTHENTIFICATION & AUTORISATION
Authentification
Autorisation
Qui a le droit?
Assurer que seules les personnes autorisées ont accès aux informations qui
leur sont destinées.
INTÉGRITÉ
Garantir que les données sont bien celles que l’on croit être.
Le GSI s'appuie sur un algorithme asymétrique basé sur des clés publiques
et privés
Empreinte A
clé publique
Egalité
+ infos
+ signature ?
de la CA
£$ £$
Empreinte B
Certificat
Clé publique de la CA
TOPOLOGIES
INTRAGRILLE
Technologies différente
Gestion de ressource
Statique Vs dynamique
Modèle de sécurité
HPC/HTC vs Business
INTRODUCTION: Premier pas vers le Cloud
Chaque OS croit alors qu’il est installé seul sur une machine alors qu’en
réalité, plusieurs OS peuvent fonctionner en parallèle en partageant les
mêmes ressources.
Types de Virtualisation
Virtualisation de Type 1:
Hyperviseur Type 1
Virtualisation de Type 2:
Hyperviseur Type 2
Types de Virtualisation: Hyperviseur Type 1
Exemples :
VirtualBox
VMWare Workstation
Types de Virtualisation: Hyperviseur Type 1
Types de Virtualisation: Hyperviseur Type 2
A la place, un noyau très léger de système d'exploitation hôte est utilisé. Les
performances sont bien meilleures en para-virtualisation qu'en virtualisation complète.
VMWare ESX
Hyper-V
Oracle VM
Xen
KVM
Types de Virtualisation: Hyperviseur Type 2
DOMAINES D’APPLICATION DE LA
VIRTUALISATION
Initialement orientée sur les serveurs, la virtualisation couvre désormais
plusieurs domaines de l’infrastructure informatique d’une entreprise.
Virtualisation de serveurs
Virtualisation du stockage
Virtualisation de réseaux
Les experts estiment que l’on peut diviser par deux les coûts de
possession de l’infrastructure.
OBJECTIFS DE LA VIRTUALISATION
pourquoi mettre en place une infrastructure
virtualisée ?
Découlant de la réduction des coûts, la virtualisation offre l’opportunité de
réinvestir les ressources dégagées pour faire progresser d’autres postes ou
services:
Vous êtes appelés à mettre en place une stratégie afin de réussir ce projet.
Proposer une démarche en six étape pour ce faire?
CLOUD COMPUTING: DÉFINITION
Le CLOUD COMPUTING est une technologie qui s’inscrit dans le cadre
d’externalisation informatique.
Il s’agit d’un concept de déportation, sur des serveurs distants, des traitements
informatiques traditionnellement effectués sur des ordinateurs locaux.
Les utilisateurs ou les entreprises ne sont plus gérants de leurs propres capacités
informatiques.
Les applications et les données ne se trouvent plus sur l’ordinateur local, mais
plutôt dans un « nuage » de serveurs distants.
CLOUD COMPUTING: DÉFINITION
Les serveurs sont interconnectés au moyen d’une excellente bande passante
indispensable à la fluidité du système.
L’accès aux services se fait par une application standard facilement disponible, la
plupart du temps un navigateur Web
CLOUD COMPUTING: DÉFINITION
néanmoins celle qui a été proposé par l’Institut National des Standards et de la
Technologie ou « NIST » a gagné l’acceptation la plus large.
Cette définition a été déjà retenue comme référence par le « CSA » (Cloud
Security Alliance) et « l’ENSIA » (European Network and Information Security
Agency) pour réaliser leurs travaux sur la sécurité du « Cloud Computing»
CLOUD COMPUTING: DÉFINITION de
NIST
Il s’agit de la mise à disposition d’un logiciel non pas sous la forme d'un produit
que le client installe en interne sur ses serveurs, mais plutôt en tant qu'application
accessible à distance comme un service et ce, par le biais d'Internet et du Web.
Les clients ne payent pas pour posséder le logiciel en lui-même mais plutôt pour
l’utiliser. L’utilisation reste transparente pour les utilisateurs, qui ne ce soucient ni
de la plateforme, ni du matériel qui sont mutualisés avec d’autres entreprises.
Identification de l’application
Définir l’architecture
Acquisition du HW
Acquisition du software
Acquisition des licences
Déploiement
Maintenance HW
Maintenance de la solution
Maintenance des licences
Gestion des évolutions
CLOUD COMPUTING: SaaS
PaaS encapsule les capacités fondamentales de l’OS qui inclus le stockage et les
capacity computing
PaaS offre des API en plus des interfaces utilisateur de configuration et de gestion
CLOUD COMPUTING: PaaS
PaaS est conçu pour prendre en charge l'ensemble du cycle de vie des applications
Web: création, test, déploiement, gestion et mise à jour. Par conséquent, les offres PaaS
incluent généralement des intergiciels, des outils de développement, des services de
business intelligence (BI) et des systèmes de gestion de base de données.
Grâce à cette virtualisation, il est possible de créer très facilement des machines
virtuelles connectées sur des réseaux, eux aussi virtuels, et qui seront exécutées
sur les hyperviseurs des machines physiques.
CLOUD COMPUTING: IaaS
Cette virtualisation nous donne une grande flexibilité parce qu’elle permet
d'abstraire la couche matérielle, sur laquelle les applications vont pouvoir être
déployées et redéployées sans être liées à un serveur spécifique.
Public clouds are the most/least common way of deploying cloud computing
Organizations access and manage their cloud accounts using a web browser/ cloud scanner
Fully-formed software applications delivered as services are known as an online suite / SaaS
A cloud-based, virtual network with storage is called a public cloud / an IaaS
A PaaS/ cloud package usually includes an OS with storage, basic network, and developer
tools
A public / private cloud consists of comuting resources used exclusively by one organization
A hybrid cloud combines a public/ private cloud with on-premises infrastructure
Cloud resources (such as servers) are owned and operated by an organization’s cloud
department / third-party cloud service providers
Organizations that use public clouds are knows as cloud « tenants » / clients
Activity / Solution
Public clouds are the most common way of deploying cloud computing
Organizations access and manage their cloud accounts using a web browser
Fully-formed software applications delivered as services are known as SaaS
A cloud-based, virtual network with storage is called an IaaS
A PaaS usually includes an OS with storage, basic network, and developer tools
A private cloud consists of comuting resources used exclusively by one
organization
A hybrid cloud combines a public cloud with on-premises infrastructure
Cloud resources (such as servers) are owned and operated by a third-party cloud
service providers
Organizations that use public clouds are knows as cloud tenants
CLOUD COMPUTING: MODÈLES DE
DÉPLOIEMENT
CLOUD PUBLIC
Un Cloud publique est un service IaaS , PaaS ou SaaS hébergé par un tiers, proposé à un nombre
virtuellement illimité d’utilisateurs et dont l’intérêt est la mutualisation optimale des ressources.
Il n'y a donc aucun investissement initial fixe et aucune limite de capacité pour les
consommateurs de services.
Cette technologie peut très bien se retrouver sur une infrastructure physique propre à
l’entreprise et étant sous son contrôle : n’étant plus mutualisé, le « Cloud » reste
privé. A sa charge donc de contrôler le déploiement des applications.
Le cloud privé fourni essentiellement les services IaaS et PaaS, pour tout ce qui es
SaaS c’est l’automatisation de création des comptes sur les applications en prémise
CLOUD COMPUTING: MODÈLES DE
DÉPLOIEMENT
CLOUD COMMUNAUTAIRE
Le « Cloud » communautaire offre des services qui sont partagés par une
communauté spécifique. Cette communauté regroupe un ensemble
d’organisations dont les besoins sont similaires et ayant un même sujet.
On peut ainsi déporter nos applications vers un Cloud publique qui consommera
des données stockées et exposées dans un Cloud privé, ou bien faire
communiquer deux applications hébergées dans deux Clouds privés distincts, ou
encore consommer plusieurs services hébergés dans des Clouds publiques
différents.
Cloud authentification:
Single Sign ON
Fédération de module de l’authentification
Privacy Management
Dans quel pays / région les données seront-elles stockées?
Combien de temps les données seront-elles stockées?
Le prestataire de services garantit-il les emplacements des données durant tout leur cycle
de vie (primaires, sauvegarde, DRP, Replication …)
Le fournisseur de services pourrait-il être obligé d'autoriser l'accès aux données des
clients par des voies légales?
Compliance Management
Suivie et superviser l ’accès au données
CLOUD COMPUTING: Security
Disponibilité - 99,99% pendant les jours de travail, 99,9% pour les nuits / week-ends
Performance - temps de réponse maximum
Sécurité / confidentialité des données - chiffrement de toutes les données stockées et
transmises
Attentes en matière de reprise après sinistre - engagement de récupération de cas
pire
Emplacement des données - conforme à la législation locale
Accès aux données - données récupérables du fournisseur dans un format lisible
Portabilité des données - possibilité de transférer les données vers un autre
fournisseur
Service Level Agreements