ORDONANCEMENT
Spark
Spark inspiré de programmation Fonctionnelle
Programmation fonctionnelle revient en force grace aux systèmes
distribués
RDD = "Resilient Distributed Dataset"
- structure de données distribuée
- répliquées
- abstraction de programmation
Spark plus rapide que Hadoop sur les plus petits sets de données
car il n'enregistre pas systématiquement sur le disque, il peut
garder le set en mémoire. Cela n'est plus vrai sur des sets de données qui ne passent pas en mémoire.
Facteurs qui peuvent limiter les performances de Spark :
- synchronisation dans les phases de communication
- gestion de la mémoire
- bande passante disque
- bande passante réseau
- optimisation des calculs
Ordonancement
- Placement de tâches dans le temps et l'espace
- variété de :
- objectfs
- critères de qualité
- contraintes
Cas d'études
Cas d'étude 1 : Ordonnanceur d'un index inversé d'un moteur de recherche web
Objectifs :
- Temps minimal pour effectuer les tâches
Critères de qualité :
- Coûts minimaux (argent, énergie, ressources)
- Résistance aux pannes
- Sécurité, résister aux attaques éventuelles
Contraintes :
- Taille des données
- Temps limité
- Les ressources
Cas d'étude 2 : Ordonnanceur d'un dispositif de conduite autonome
Objectifs :
- Exécuter toutes les tâches dans les contraintes données
Critères de qualité :
- Sécurité
- Résistant aux pannes
- Rédution des coûts
- Temps laissé aux tâches non critiques
- Résitance aux variations dues à l'environnement (température...)
- Preuve mathématique du fonctionnement
Contraintes :
- Temps réel
- priorités
- identifier la criticité
- Ressources limitées
Cas d'étude 3 : Répartiteur de charge d'un supercalculateur
Objectifs :
- Maximiser l'utilisation des ressources
Critères de qualité :
- Quantité de mémoire utilisée
- temps de calcul
- balance équité/performance
- Donner du temps à toutes les t^aches
- équité
Contraintes :
- Ressources
- Prioité
- Isoler projets
- Temps
- Quantité de resosurce et disponibilité
Mesos
Gestionnaire de cluster, comme kubernetes
Abstraction mémoire, cpu, données physiques
Développer sur Mesos fournis :
- résilience
- mise à l'echelle
Mesos est une interface entre hardwawre et software
Abstraction du cluster pour le faire passer pour une seule machine
Yarn
Yet another resource negotiator
Yarn est un composant de Apache Hadoop.
Gère les ressources du système
Planifie les tâches en allouant les ressources du système
Avant YARN, seul MapReduce était utilisable avec Hadoop
Se place au dessus de Hadoop File System
Interface pour lancer et monitorer les tâches
Node manager sur chaque noeud. Font un raport au ressource
Manager (centralisation). Container déployés sur différents
noeuds
Slurm
Répartiteur de tâches pour cluster/supercalculateur
Fonctions :
- alloue du temps d'accès aux ressources pour les tâches
- fournit une interface pour démarrer, exécuter et monitorer les tâches
- Gère la file d'attente d'accès aux ressources
Fonctionnement :
- slurmctld : daemon de contrôle (redondé)
- slurmd sur chaque noeud (tolérant aux fautes)
Kubernetes
Orchestrateur : Gestion de cluster
Il y aun système de contrôle central qui communique avec les noeuds. Les noeuds sont le support. Les pods sont les instances.
Un déploiement crée et gère les replicas et répartit les pods.
Les déploiement peuvent ensuite être représentés par un service qui est un point de sortie.
bc781d867a09a70ce942cf71afdcb4d95e3f1f1950ffe68bfd188debf93e0800