SlideShare une entreprise Scribd logo
Reproduction interdite sans autorisation préalable d’Umanis
Leader Français de la Data
Reproduction interdite sans autorisation préalable d’Umanis
14 Juin 2019
Introduction
SAFC : Système d’ordonnancement de
conteneurs
Expériences
Conclusion et Perspectives
SAFC: Scheduling and
Allocation Framework for
Containers in a Cloud
Environment
Tarek MENOUER
OPEN SOURCE INNOVATION SPRING
2019
Paris
Sommaire
Tarek MENOUER2 www.umanis.com
Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER3
Introduction
www.umanis.com
Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER4
Introduction
Cloud Computing
• Cloud Computing offre aux clients des ressources distribuées, virtualisées et
élastiques
• Différentes formes de ressources de calcul existent : VMs, conteneurs, Bare-metal, …
• La technologie des conteneurs est largement utilisée par les entreprises
• Le temps de lancement et de terminaison d’un conteneur est très rapide par
rapport à une VM
• Plusieurs systèmes d’ordonnancement de conteneurs existent :
• Docker Swarmkit, Kubernetes, MESOS, …
www.umanis.com
Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER5
Introduction
Problème avec les systèmes d'ordonnancement traditionnels
• Destinés aux utilisateurs (clients) connaissaient le nombre de ressources exact
qu’il faut pour exécuter un conteneur
• Le nombre de ressources allouées pour chaque conteneur est fixé
statiquement par le client.
Solutions
• Un nouveau framework d’ordonnancement de conteneurs (SAFC: Scheduling
and Allocation Framework for Containers)
• Calcul dynamique du nombre de ressources allouées pour chaque
conteneur.
• Modèle économique basé sur des classes SLA.
www.umanis.com
Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER6
SAFC: Scheduling and Allocation Framework for Containers
www.umanis.com
Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER7
SAFC: Scheduling and Allocation Framework for Containers
Objectif
• Répondre aux besoins d’une entreprise qui a une infrastructure privée et qui veut
optimiser l’ordonnancement de plusieurs conteneurs soumis en ligne par les clients.
• Modèle économique afin de calculer le cout d’exécution et le nombre de
ressources pour chaque conteneur;
• Maximiser le nombre de conteneurs exécutés;
• Minimiser l’utilisation des cœurs de calcul ;
www.umanis.com
Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER8
Architecture
www.umanis.com
Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER9
Modèle économique
Modèle économique
• Le modèle économique est basé sur 2 classes SLAs (Service Level Agreement) et 3
services (haut, moyen et faible) pour chaque classe SLA :
• Classe SLA Qualitative: temps d’attente d’un conteneur soumis par un client
• Service Premium: Exécuter le conteneur le plus tôt possible.
• Service Advanced: Exécuter le conteneur avec un temps d’attente raisonnable.
• Service Best effort: Exécuter le conteneur sans contrainte du temps.
• Classe SLA Quantitative: Nombre de cœurs de calcul qui doit être réservés.
• Service Premium: Exécuter le conteneur avec le plus grand nombre de cœurs.
• Service Advanced: Exécuter le conteneur avec un nombre de cœurs moyen.
• Service Best effort: Exécuter le conteneur avec un petit nombre de cœurs.
www.umanis.com
Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER10
Principe général
Étapes de traitement
• Étape 1: Ordonnancement des conteneurs
• Choisir le conteneur 𝑐𝑖:
• Le plus haut service au niveau de la classe qualitative;
• Le plus ancien (temps d’attente le plus long)
• Étape 2: Calcul de ressources
• Décider dynamiquement le nombre de cœurs (𝑥𝑖) affectés pour exécuter le
conteneur 𝑐𝑖.
• Étape 3: Affectation d’un conteneur
• Choisir le nœud qui exécute le conteneur 𝑐𝑖 avec 𝑥𝑖 coeurs de calcul.
www.umanis.com
Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER11
Étape 2: Calcul de ressources
Bornes Hard et Soft
• Fixer des bornes Hard et Soft pour chaque service
• N’exécute pas un conteneur avec un faible service dans la classe quantitative en
utilisant plus de cœurs qu’un conteneur avec un haut service.
• Bornes Hard sont fixées suivant la configuration du nœud le plus petit dans
l’infrastructure.
• Bornes Soft sont fixées suivant la charge des nœuds qui forme l’infrastructure.
www.umanis.com
Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER12
Étape 2: Calcul de ressources
Bornes Hard
• K: le nombre de cœurs du nœud le plus petit.
• Chaque service dans la classe quantitative à un
Hard min et Hard max cœurs :
• Service Best effort : Hard min = 1 et Hard max
=
𝐾
3
;
• Service Advanced : Hard min = Hard max de
service Best effort service +1 et Hard max = 2
×
𝐾
3
;
• Service Premium : Hard min = Hard max de
service Advanced +1 et Hard max= K.
www.umanis.com
K = le nombre de cœurs du nœud le plus petit Un
conteneur est exécuté sur un seul nœud
Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER13
Étape 2: Calcul de ressources
Bornes Soft
• D = Hard Max cœurs - Hard Min cœurs +1
• Si la charge des nœuds entre 0% et 33% :
• Soft Min cœurs = Hard Min cœurs + 2 ×
𝐷
3
et
Soft Max cœurs = Hard Max cœurs;
www.umanis.com
Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER14
Étape 2: Calcul de ressources
Bornes Soft
• D = Hard Max cœurs - Hard Min cœurs +1
• Si la charge des nœuds entre 0% et 33% :
• Soft Min cœurs = Hard Min cœurs + 2 ×
𝐷
3
et
Soft Max cœurs = Hard Max cœurs;
• Si la charge des nœuds entre 34% et 66% :
• Soft Min cœurs = Hard Min cœurs +
𝐷
3
et Soft
Max cœurs = Hard Min cœurs + 2 ×
𝐷
3
-1;
www.umanis.com
Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER15
Étape 2: Calcul de ressources
Bornes Soft
• D = Hard Max cœurs - Hard Min cœurs +1
• Si la charge des nœuds entre 0% et 33% :
• Soft Min cœurs = Hard Min cœurs + 2 ×
𝐷
3
et
Soft Max cœurs = Hard Max cœurs;
• Si la charge des nœuds entre 34% et 66% :
• Soft Min cœurs = Hard Min cœurs +
𝐷
3
et Soft
Max cœurs = Hard Min cœurs + 2 ×
𝐷
3
-1;
• Si la charge est supérieure à 66% :
• Soft Min cœurs = Hard Min cœurs et Soft Max
cœurs = Hard Min cœurs +
𝐷
3
-1.
www.umanis.com
Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER16
Étape 2: Calcul de ressources
Calcul de nombre de cœurs
• 𝑥𝑖= nombre de cœurs calculé pour le conteneur 𝑐𝑖.
• C={𝑐1, · · · , 𝑐 𝑛} (ensemble des conteneurs sauvegardé dans la file).
• P= {𝑝1, · · · , 𝑝 𝑛} (priorités dans la classe quantitative qui représente le nombre
de ressources)
• T = nombre de cœurs disponibles dans tous les nœuds de l’infrastructure
• 𝑥𝑖=
• If 𝑥𝑖 > Soft Max cœurs, 𝑥𝑖 = Soft Max cœurs
• If 𝑥𝑖 < Soft Min cœurs, 𝑥𝑖 = Soft Min cœurs
www.umanis.com
Soft 𝑚𝑖𝑛𝑖 +
π ∗ 𝑝 𝑖 ∗(𝑇 −σ 𝑗=0
𝑛
𝑆𝑜𝑓𝑡 min 𝑗)
σ 𝑗=0
𝑛 𝑝 𝑗
π=൝
1 𝑖𝑓 𝑇 − σ 𝑗=0
𝑛
𝑆𝑜𝑓𝑡 min 𝑗 > 0
0 𝑒𝑙𝑠𝑒
Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER17
Étape 3: Affectation de conteneur
Choix de nœud
• Affecter le conteneur 𝑐𝑖 au nœud choisit en appliquant la stratégie Bin
packing:
• Affecter le conteneur 𝑐𝑖 au nœud 𝑛𝑗 qui a le plus petit nombre de
ressources disponibles.
• Réduire le nombre de nœuds actifs minimiser la consommation
énergétique.
www.umanis.com
Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER18
Expériences
www.umanis.com
Reproduction interdite sans autorisation préalable d’Umanis
•Environnement de test
• Expériences réalisées dans le cloud Grid5000 avec Linux Container (LXC)
• Plateforme composée de :
• 32 nœuds (Intel Xeon CPU)
• 32 CPUs et 128 GB de RAM
•Protocole d’exécution
• Tous les conteneurs sont soumis par 3 clients :
• Client 1: Service Premium dans les 2 classes SLA
• Client 2: Service Advanced dans les 2 classes SLA
• Client 3: Service Best effort dans les 2 classes SLA
• Temps d’exécution de chaque conteneur (𝑐𝑖) égale à
24 𝑚𝑖𝑛𝑢𝑡𝑒𝑠
𝑃 ∗ 0.8
(P = nombre
de cœurs calculé pour 𝑐𝑖).
Tarek MENOUER19
Protocole
www.umanis.com
Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER20
Expériences
www.umanis.com
Soumission de 150 conteneurs
LXC en même temps
Soumission de 150 conteneurs
LXC en lige avec une fréquence fixe
Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER21
Expériences
www.umanis.com
Soumission de 150 conteneurs
LXC suivant les traces Google
Soumission de 150 conteneurs
LXC suivant les traces Prezi
Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER22
Expériences
Type de
soumission
Méthode de
calcul
Temps de
calcul (s)
Nombre de cœurs moyen
Client 1 Client 2 Client 3
En même temps Min cœurs 3810,09 22 11 1
Max cœurs 1990,05 32 21 10
Dynamique 2075,06 28 18 10
En ligne Min cœurs 4730 22 11 1
Max cœurs 2040,05 32 21 10
Dynamique 2100,06 30 19 9
Suivant les traces
de Google
Min cœurs 2315,05 22 11 -
Max cœurs 1850,04 32 21 -
Dynamique 1875,04 29 18 -
Suivant les traces
de
Prezi
Min cœurs 4815,13 22 11 1
Max cœurs 2270,06 32 21 10
Dynamique 2380,06 29 17 9
www.umanis.com
Notre méthode est 3% plus lente que la méthode max cœurs par contre consomme 10% mois de cœurs par
rapport à max cœurs
Reproduction interdite sans autorisation préalable d’Umanis
•Conclusion
• Un nouveau framework d’ordonnancement et d’allocation de conteneurs.
• Modèle économique avec 2 classes SLA qualitative et quantitative.
• 3 services pour chaque classe SLA.
• Calcul automatique du nombre de cœurs alloués pour chaque conteneur.
• Notre framework a fait l’objet d’une publication internationale dans la conférence
International Conference on High Performance Computing & Simulation (HPCS),
Dublin, Ireland, 2019.
•Perspectives
• Utiliser un algorithme d’apprentissage pour adapter les bornes soft suivant la
fréquence de soumission des conteneurs.
• Proposer un mécanisme de consolidation pour adapter le nombre de nœuds actifs
afin de réduire la consommation énergétique.
Tarek MENOUER23
Conclusion & Perspectives
www.umanis.com
Reproduction interdite sans autorisation préalable d’Umanis
Temps des questions!
Tarek MENOUER24 www.umanis.com

Contenu connexe

Similaire à OSIS19_Cloud : SAFC: Scheduling and Allocation Framework for Containers in a Cloud Environment, by Tarek Menouer

[Café Techno] Les concepts de base de TSM 7.1.1 - 11/2014
[Café Techno] Les concepts de base de TSM 7.1.1 - 11/2014[Café Techno] Les concepts de base de TSM 7.1.1 - 11/2014
[Café Techno] Les concepts de base de TSM 7.1.1 - 11/2014
Groupe D.FI
 
Blockchain & ICOs : l'innovation et son financement
Blockchain & ICOs : l'innovation et son financementBlockchain & ICOs : l'innovation et son financement
Blockchain & ICOs : l'innovation et son financement
Jérémy Roche
 
[Café techno] Spectrum Project - Affronter et gérer la masse de données hétér...
[Café techno] Spectrum Project - Affronter et gérer la masse de données hétér...[Café techno] Spectrum Project - Affronter et gérer la masse de données hétér...
[Café techno] Spectrum Project - Affronter et gérer la masse de données hétér...
Groupe D.FI
 
Le futur d'apache cassandra
Le futur d'apache cassandraLe futur d'apache cassandra
Le futur d'apache cassandra
Duyhai Doan
 
DVGU Blockchain peer to peer mai 2018 Paris Dauphine.pptx
DVGU Blockchain peer to peer mai 2018 Paris Dauphine.pptxDVGU Blockchain peer to peer mai 2018 Paris Dauphine.pptx
DVGU Blockchain peer to peer mai 2018 Paris Dauphine.pptx
SedesiasGuillaume
 
REX Cassandra et Spark au service de la musique en ligne (Français)
REX Cassandra et Spark au service de la musique en ligne (Français)REX Cassandra et Spark au service de la musique en ligne (Français)
REX Cassandra et Spark au service de la musique en ligne (Français)
DataStax Academy
 
Android
AndroidAndroid
Android
Redha LOUCIF
 
Cours 7 congestion
Cours 7 congestionCours 7 congestion
Cours 7 congestion
ALIOUNEGAYE5
 
Présentation Microsoft Advanced Threat Analytics | Deep-Dive - MSCloud Summi...
Présentation Microsoft Advanced Threat Analytics  | Deep-Dive - MSCloud Summi...Présentation Microsoft Advanced Threat Analytics  | Deep-Dive - MSCloud Summi...
Présentation Microsoft Advanced Threat Analytics | Deep-Dive - MSCloud Summi...
☁️Seyfallah Tagrerout☁ [MVP]
 
Apache Cassandra - Concepts et fonctionnalités
Apache Cassandra - Concepts et fonctionnalitésApache Cassandra - Concepts et fonctionnalités
Apache Cassandra - Concepts et fonctionnalités
Romain Hardouin
 
Webinar - Enterprise Cloud Databases
Webinar - Enterprise Cloud DatabasesWebinar - Enterprise Cloud Databases
Webinar - Enterprise Cloud Databases
OVHcloud
 
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
Publicis Sapient Engineering
 
Petit potam slides-rtfm-ossir
Petit potam slides-rtfm-ossirPetit potam slides-rtfm-ossir
Petit potam slides-rtfm-ossir
LionelTopotam
 
Les containers docker vu par un chef cuisinier et un mécanicien
Les containers docker vu par un chef cuisinier et un mécanicienLes containers docker vu par un chef cuisinier et un mécanicien
Les containers docker vu par un chef cuisinier et un mécanicien
Rachid Zarouali
 
Paris monitoring - 27012016 - Smart Monitoring chez Oxalide
Paris monitoring - 27012016 - Smart Monitoring chez OxalideParis monitoring - 27012016 - Smart Monitoring chez Oxalide
Paris monitoring - 27012016 - Smart Monitoring chez Oxalide
Sébastien Lucas
 
Général réseau typologie et architecture
Général réseau typologie et architecture Général réseau typologie et architecture
Général réseau typologie et architecture
Manuel Cédric EBODE MBALLA
 
SQLSaturday Paris 2014 - Monitoring et configuration SSAS
SQLSaturday Paris 2014 - Monitoring et configuration SSASSQLSaturday Paris 2014 - Monitoring et configuration SSAS
SQLSaturday Paris 2014 - Monitoring et configuration SSAS
GUSS
 
UE 2 PROJET - GROUPE MENANT--FERRY Th‚o, DO Alexandre, NADJAR Matt et Massi...
UE 2 PROJET - GROUPE MENANT--FERRY Th‚o, DO Alexandre, NADJAR Matt et Massi...UE 2 PROJET - GROUPE MENANT--FERRY Th‚o, DO Alexandre, NADJAR Matt et Massi...
UE 2 PROJET - GROUPE MENANT--FERRY Th‚o, DO Alexandre, NADJAR Matt et Massi...
NinaSAMMUT
 
DataStax et Cassandra dans Azure au Microsoft Techdays
DataStax et Cassandra dans Azure au Microsoft TechdaysDataStax et Cassandra dans Azure au Microsoft Techdays
DataStax et Cassandra dans Azure au Microsoft Techdays
Victor Coustenoble
 
[2018] Comment gérer le cache d’un site web à fort trafic ?
[2018] Comment gérer le cache d’un site web à fort trafic ?[2018] Comment gérer le cache d’un site web à fort trafic ?
[2018] Comment gérer le cache d’un site web à fort trafic ?
LAHAXE Arnaud
 

Similaire à OSIS19_Cloud : SAFC: Scheduling and Allocation Framework for Containers in a Cloud Environment, by Tarek Menouer (20)

[Café Techno] Les concepts de base de TSM 7.1.1 - 11/2014
[Café Techno] Les concepts de base de TSM 7.1.1 - 11/2014[Café Techno] Les concepts de base de TSM 7.1.1 - 11/2014
[Café Techno] Les concepts de base de TSM 7.1.1 - 11/2014
 
Blockchain & ICOs : l'innovation et son financement
Blockchain & ICOs : l'innovation et son financementBlockchain & ICOs : l'innovation et son financement
Blockchain & ICOs : l'innovation et son financement
 
[Café techno] Spectrum Project - Affronter et gérer la masse de données hétér...
[Café techno] Spectrum Project - Affronter et gérer la masse de données hétér...[Café techno] Spectrum Project - Affronter et gérer la masse de données hétér...
[Café techno] Spectrum Project - Affronter et gérer la masse de données hétér...
 
Le futur d'apache cassandra
Le futur d'apache cassandraLe futur d'apache cassandra
Le futur d'apache cassandra
 
DVGU Blockchain peer to peer mai 2018 Paris Dauphine.pptx
DVGU Blockchain peer to peer mai 2018 Paris Dauphine.pptxDVGU Blockchain peer to peer mai 2018 Paris Dauphine.pptx
DVGU Blockchain peer to peer mai 2018 Paris Dauphine.pptx
 
REX Cassandra et Spark au service de la musique en ligne (Français)
REX Cassandra et Spark au service de la musique en ligne (Français)REX Cassandra et Spark au service de la musique en ligne (Français)
REX Cassandra et Spark au service de la musique en ligne (Français)
 
Android
AndroidAndroid
Android
 
Cours 7 congestion
Cours 7 congestionCours 7 congestion
Cours 7 congestion
 
Présentation Microsoft Advanced Threat Analytics | Deep-Dive - MSCloud Summi...
Présentation Microsoft Advanced Threat Analytics  | Deep-Dive - MSCloud Summi...Présentation Microsoft Advanced Threat Analytics  | Deep-Dive - MSCloud Summi...
Présentation Microsoft Advanced Threat Analytics | Deep-Dive - MSCloud Summi...
 
Apache Cassandra - Concepts et fonctionnalités
Apache Cassandra - Concepts et fonctionnalitésApache Cassandra - Concepts et fonctionnalités
Apache Cassandra - Concepts et fonctionnalités
 
Webinar - Enterprise Cloud Databases
Webinar - Enterprise Cloud DatabasesWebinar - Enterprise Cloud Databases
Webinar - Enterprise Cloud Databases
 
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
 
Petit potam slides-rtfm-ossir
Petit potam slides-rtfm-ossirPetit potam slides-rtfm-ossir
Petit potam slides-rtfm-ossir
 
Les containers docker vu par un chef cuisinier et un mécanicien
Les containers docker vu par un chef cuisinier et un mécanicienLes containers docker vu par un chef cuisinier et un mécanicien
Les containers docker vu par un chef cuisinier et un mécanicien
 
Paris monitoring - 27012016 - Smart Monitoring chez Oxalide
Paris monitoring - 27012016 - Smart Monitoring chez OxalideParis monitoring - 27012016 - Smart Monitoring chez Oxalide
Paris monitoring - 27012016 - Smart Monitoring chez Oxalide
 
Général réseau typologie et architecture
Général réseau typologie et architecture Général réseau typologie et architecture
Général réseau typologie et architecture
 
SQLSaturday Paris 2014 - Monitoring et configuration SSAS
SQLSaturday Paris 2014 - Monitoring et configuration SSASSQLSaturday Paris 2014 - Monitoring et configuration SSAS
SQLSaturday Paris 2014 - Monitoring et configuration SSAS
 
UE 2 PROJET - GROUPE MENANT--FERRY Th‚o, DO Alexandre, NADJAR Matt et Massi...
UE 2 PROJET - GROUPE MENANT--FERRY Th‚o, DO Alexandre, NADJAR Matt et Massi...UE 2 PROJET - GROUPE MENANT--FERRY Th‚o, DO Alexandre, NADJAR Matt et Massi...
UE 2 PROJET - GROUPE MENANT--FERRY Th‚o, DO Alexandre, NADJAR Matt et Massi...
 
DataStax et Cassandra dans Azure au Microsoft Techdays
DataStax et Cassandra dans Azure au Microsoft TechdaysDataStax et Cassandra dans Azure au Microsoft Techdays
DataStax et Cassandra dans Azure au Microsoft Techdays
 
[2018] Comment gérer le cache d’un site web à fort trafic ?
[2018] Comment gérer le cache d’un site web à fort trafic ?[2018] Comment gérer le cache d’un site web à fort trafic ?
[2018] Comment gérer le cache d’un site web à fort trafic ?
 

Plus de Pôle Systematic Paris-Region

OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
Pôle Systematic Paris-Region
 
OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...
OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...
OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...
Pôle Systematic Paris-Region
 
OSIS19_Cloud : Performance and power management in virtualized data centers, ...
OSIS19_Cloud : Performance and power management in virtualized data centers, ...OSIS19_Cloud : Performance and power management in virtualized data centers, ...
OSIS19_Cloud : Performance and power management in virtualized data centers, ...
Pôle Systematic Paris-Region
 
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
Pôle Systematic Paris-Region
 
OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...
OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...
OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...
Pôle Systematic Paris-Region
 
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
Pôle Systematic Paris-Region
 
Osis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick Moy
Osis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick MoyOsis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick Moy
Osis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick Moy
Pôle Systematic Paris-Region
 
Osis18_Cloud : Pas de commun sans communauté ?
Osis18_Cloud : Pas de commun sans communauté ?Osis18_Cloud : Pas de commun sans communauté ?
Osis18_Cloud : Pas de commun sans communauté ?
Pôle Systematic Paris-Region
 
Osis18_Cloud : Projet Wolphin
Osis18_Cloud : Projet Wolphin Osis18_Cloud : Projet Wolphin
Osis18_Cloud : Projet Wolphin
Pôle Systematic Paris-Region
 
Osis18_Cloud : DeepTorrent Stockage distribué perenne basé sur Bittorrent
Osis18_Cloud : DeepTorrent Stockage distribué perenne basé sur BittorrentOsis18_Cloud : DeepTorrent Stockage distribué perenne basé sur Bittorrent
Osis18_Cloud : DeepTorrent Stockage distribué perenne basé sur Bittorrent
Pôle Systematic Paris-Region
 
Osis18_Cloud : Software-heritage
Osis18_Cloud : Software-heritageOsis18_Cloud : Software-heritage
Osis18_Cloud : Software-heritage
Pôle Systematic Paris-Region
 
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
Pôle Systematic Paris-Region
 
OSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riot
OSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riotOSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riot
OSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riot
Pôle Systematic Paris-Region
 
OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...
OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...
OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...
Pôle Systematic Paris-Region
 
OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...
OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...
OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...
Pôle Systematic Paris-Region
 
OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...
OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...
OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...
Pôle Systematic Paris-Region
 
OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)
OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)
OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)
Pôle Systematic Paris-Region
 
PyParis 2017 / Un mooc python, by thierry parmentelat
PyParis 2017 / Un mooc python, by thierry parmentelatPyParis 2017 / Un mooc python, by thierry parmentelat
PyParis 2017 / Un mooc python, by thierry parmentelat
Pôle Systematic Paris-Region
 
PyParis2017 / Python pour les enseignants des classes préparatoires, by Olivi...
PyParis2017 / Python pour les enseignants des classes préparatoires, by Olivi...PyParis2017 / Python pour les enseignants des classes préparatoires, by Olivi...
PyParis2017 / Python pour les enseignants des classes préparatoires, by Olivi...
Pôle Systematic Paris-Region
 
PyParis 2017 / Unicode and bytes demystified, by Boris Feld
PyParis 2017 / Unicode and bytes demystified, by Boris FeldPyParis 2017 / Unicode and bytes demystified, by Boris Feld
PyParis 2017 / Unicode and bytes demystified, by Boris Feld
Pôle Systematic Paris-Region
 

Plus de Pôle Systematic Paris-Region (20)

OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
 
OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...
OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...
OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...
 
OSIS19_Cloud : Performance and power management in virtualized data centers, ...
OSIS19_Cloud : Performance and power management in virtualized data centers, ...OSIS19_Cloud : Performance and power management in virtualized data centers, ...
OSIS19_Cloud : Performance and power management in virtualized data centers, ...
 
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
 
OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...
OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...
OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...
 
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
 
Osis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick Moy
Osis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick MoyOsis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick Moy
Osis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick Moy
 
Osis18_Cloud : Pas de commun sans communauté ?
Osis18_Cloud : Pas de commun sans communauté ?Osis18_Cloud : Pas de commun sans communauté ?
Osis18_Cloud : Pas de commun sans communauté ?
 
Osis18_Cloud : Projet Wolphin
Osis18_Cloud : Projet Wolphin Osis18_Cloud : Projet Wolphin
Osis18_Cloud : Projet Wolphin
 
Osis18_Cloud : DeepTorrent Stockage distribué perenne basé sur Bittorrent
Osis18_Cloud : DeepTorrent Stockage distribué perenne basé sur BittorrentOsis18_Cloud : DeepTorrent Stockage distribué perenne basé sur Bittorrent
Osis18_Cloud : DeepTorrent Stockage distribué perenne basé sur Bittorrent
 
Osis18_Cloud : Software-heritage
Osis18_Cloud : Software-heritageOsis18_Cloud : Software-heritage
Osis18_Cloud : Software-heritage
 
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
 
OSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riot
OSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riotOSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riot
OSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riot
 
OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...
OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...
OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...
 
OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...
OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...
OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...
 
OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...
OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...
OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...
 
OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)
OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)
OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)
 
PyParis 2017 / Un mooc python, by thierry parmentelat
PyParis 2017 / Un mooc python, by thierry parmentelatPyParis 2017 / Un mooc python, by thierry parmentelat
PyParis 2017 / Un mooc python, by thierry parmentelat
 
PyParis2017 / Python pour les enseignants des classes préparatoires, by Olivi...
PyParis2017 / Python pour les enseignants des classes préparatoires, by Olivi...PyParis2017 / Python pour les enseignants des classes préparatoires, by Olivi...
PyParis2017 / Python pour les enseignants des classes préparatoires, by Olivi...
 
PyParis 2017 / Unicode and bytes demystified, by Boris Feld
PyParis 2017 / Unicode and bytes demystified, by Boris FeldPyParis 2017 / Unicode and bytes demystified, by Boris Feld
PyParis 2017 / Unicode and bytes demystified, by Boris Feld
 

OSIS19_Cloud : SAFC: Scheduling and Allocation Framework for Containers in a Cloud Environment, by Tarek Menouer

  • 1. Reproduction interdite sans autorisation préalable d’Umanis Leader Français de la Data
  • 2. Reproduction interdite sans autorisation préalable d’Umanis 14 Juin 2019 Introduction SAFC : Système d’ordonnancement de conteneurs Expériences Conclusion et Perspectives SAFC: Scheduling and Allocation Framework for Containers in a Cloud Environment Tarek MENOUER OPEN SOURCE INNOVATION SPRING 2019 Paris Sommaire Tarek MENOUER2 www.umanis.com
  • 3. Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER3 Introduction www.umanis.com
  • 4. Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER4 Introduction Cloud Computing • Cloud Computing offre aux clients des ressources distribuées, virtualisées et élastiques • Différentes formes de ressources de calcul existent : VMs, conteneurs, Bare-metal, … • La technologie des conteneurs est largement utilisée par les entreprises • Le temps de lancement et de terminaison d’un conteneur est très rapide par rapport à une VM • Plusieurs systèmes d’ordonnancement de conteneurs existent : • Docker Swarmkit, Kubernetes, MESOS, … www.umanis.com
  • 5. Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER5 Introduction Problème avec les systèmes d'ordonnancement traditionnels • Destinés aux utilisateurs (clients) connaissaient le nombre de ressources exact qu’il faut pour exécuter un conteneur • Le nombre de ressources allouées pour chaque conteneur est fixé statiquement par le client. Solutions • Un nouveau framework d’ordonnancement de conteneurs (SAFC: Scheduling and Allocation Framework for Containers) • Calcul dynamique du nombre de ressources allouées pour chaque conteneur. • Modèle économique basé sur des classes SLA. www.umanis.com
  • 6. Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER6 SAFC: Scheduling and Allocation Framework for Containers www.umanis.com
  • 7. Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER7 SAFC: Scheduling and Allocation Framework for Containers Objectif • Répondre aux besoins d’une entreprise qui a une infrastructure privée et qui veut optimiser l’ordonnancement de plusieurs conteneurs soumis en ligne par les clients. • Modèle économique afin de calculer le cout d’exécution et le nombre de ressources pour chaque conteneur; • Maximiser le nombre de conteneurs exécutés; • Minimiser l’utilisation des cœurs de calcul ; www.umanis.com
  • 8. Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER8 Architecture www.umanis.com
  • 9. Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER9 Modèle économique Modèle économique • Le modèle économique est basé sur 2 classes SLAs (Service Level Agreement) et 3 services (haut, moyen et faible) pour chaque classe SLA : • Classe SLA Qualitative: temps d’attente d’un conteneur soumis par un client • Service Premium: Exécuter le conteneur le plus tôt possible. • Service Advanced: Exécuter le conteneur avec un temps d’attente raisonnable. • Service Best effort: Exécuter le conteneur sans contrainte du temps. • Classe SLA Quantitative: Nombre de cœurs de calcul qui doit être réservés. • Service Premium: Exécuter le conteneur avec le plus grand nombre de cœurs. • Service Advanced: Exécuter le conteneur avec un nombre de cœurs moyen. • Service Best effort: Exécuter le conteneur avec un petit nombre de cœurs. www.umanis.com
  • 10. Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER10 Principe général Étapes de traitement • Étape 1: Ordonnancement des conteneurs • Choisir le conteneur 𝑐𝑖: • Le plus haut service au niveau de la classe qualitative; • Le plus ancien (temps d’attente le plus long) • Étape 2: Calcul de ressources • Décider dynamiquement le nombre de cœurs (𝑥𝑖) affectés pour exécuter le conteneur 𝑐𝑖. • Étape 3: Affectation d’un conteneur • Choisir le nœud qui exécute le conteneur 𝑐𝑖 avec 𝑥𝑖 coeurs de calcul. www.umanis.com
  • 11. Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER11 Étape 2: Calcul de ressources Bornes Hard et Soft • Fixer des bornes Hard et Soft pour chaque service • N’exécute pas un conteneur avec un faible service dans la classe quantitative en utilisant plus de cœurs qu’un conteneur avec un haut service. • Bornes Hard sont fixées suivant la configuration du nœud le plus petit dans l’infrastructure. • Bornes Soft sont fixées suivant la charge des nœuds qui forme l’infrastructure. www.umanis.com
  • 12. Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER12 Étape 2: Calcul de ressources Bornes Hard • K: le nombre de cœurs du nœud le plus petit. • Chaque service dans la classe quantitative à un Hard min et Hard max cœurs : • Service Best effort : Hard min = 1 et Hard max = 𝐾 3 ; • Service Advanced : Hard min = Hard max de service Best effort service +1 et Hard max = 2 × 𝐾 3 ; • Service Premium : Hard min = Hard max de service Advanced +1 et Hard max= K. www.umanis.com K = le nombre de cœurs du nœud le plus petit Un conteneur est exécuté sur un seul nœud
  • 13. Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER13 Étape 2: Calcul de ressources Bornes Soft • D = Hard Max cœurs - Hard Min cœurs +1 • Si la charge des nœuds entre 0% et 33% : • Soft Min cœurs = Hard Min cœurs + 2 × 𝐷 3 et Soft Max cœurs = Hard Max cœurs; www.umanis.com
  • 14. Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER14 Étape 2: Calcul de ressources Bornes Soft • D = Hard Max cœurs - Hard Min cœurs +1 • Si la charge des nœuds entre 0% et 33% : • Soft Min cœurs = Hard Min cœurs + 2 × 𝐷 3 et Soft Max cœurs = Hard Max cœurs; • Si la charge des nœuds entre 34% et 66% : • Soft Min cœurs = Hard Min cœurs + 𝐷 3 et Soft Max cœurs = Hard Min cœurs + 2 × 𝐷 3 -1; www.umanis.com
  • 15. Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER15 Étape 2: Calcul de ressources Bornes Soft • D = Hard Max cœurs - Hard Min cœurs +1 • Si la charge des nœuds entre 0% et 33% : • Soft Min cœurs = Hard Min cœurs + 2 × 𝐷 3 et Soft Max cœurs = Hard Max cœurs; • Si la charge des nœuds entre 34% et 66% : • Soft Min cœurs = Hard Min cœurs + 𝐷 3 et Soft Max cœurs = Hard Min cœurs + 2 × 𝐷 3 -1; • Si la charge est supérieure à 66% : • Soft Min cœurs = Hard Min cœurs et Soft Max cœurs = Hard Min cœurs + 𝐷 3 -1. www.umanis.com
  • 16. Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER16 Étape 2: Calcul de ressources Calcul de nombre de cœurs • 𝑥𝑖= nombre de cœurs calculé pour le conteneur 𝑐𝑖. • C={𝑐1, · · · , 𝑐 𝑛} (ensemble des conteneurs sauvegardé dans la file). • P= {𝑝1, · · · , 𝑝 𝑛} (priorités dans la classe quantitative qui représente le nombre de ressources) • T = nombre de cœurs disponibles dans tous les nœuds de l’infrastructure • 𝑥𝑖= • If 𝑥𝑖 > Soft Max cœurs, 𝑥𝑖 = Soft Max cœurs • If 𝑥𝑖 < Soft Min cœurs, 𝑥𝑖 = Soft Min cœurs www.umanis.com Soft 𝑚𝑖𝑛𝑖 + π ∗ 𝑝 𝑖 ∗(𝑇 −σ 𝑗=0 𝑛 𝑆𝑜𝑓𝑡 min 𝑗) σ 𝑗=0 𝑛 𝑝 𝑗 π=൝ 1 𝑖𝑓 𝑇 − σ 𝑗=0 𝑛 𝑆𝑜𝑓𝑡 min 𝑗 > 0 0 𝑒𝑙𝑠𝑒
  • 17. Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER17 Étape 3: Affectation de conteneur Choix de nœud • Affecter le conteneur 𝑐𝑖 au nœud choisit en appliquant la stratégie Bin packing: • Affecter le conteneur 𝑐𝑖 au nœud 𝑛𝑗 qui a le plus petit nombre de ressources disponibles. • Réduire le nombre de nœuds actifs minimiser la consommation énergétique. www.umanis.com
  • 18. Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER18 Expériences www.umanis.com
  • 19. Reproduction interdite sans autorisation préalable d’Umanis •Environnement de test • Expériences réalisées dans le cloud Grid5000 avec Linux Container (LXC) • Plateforme composée de : • 32 nœuds (Intel Xeon CPU) • 32 CPUs et 128 GB de RAM •Protocole d’exécution • Tous les conteneurs sont soumis par 3 clients : • Client 1: Service Premium dans les 2 classes SLA • Client 2: Service Advanced dans les 2 classes SLA • Client 3: Service Best effort dans les 2 classes SLA • Temps d’exécution de chaque conteneur (𝑐𝑖) égale à 24 𝑚𝑖𝑛𝑢𝑡𝑒𝑠 𝑃 ∗ 0.8 (P = nombre de cœurs calculé pour 𝑐𝑖). Tarek MENOUER19 Protocole www.umanis.com
  • 20. Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER20 Expériences www.umanis.com Soumission de 150 conteneurs LXC en même temps Soumission de 150 conteneurs LXC en lige avec une fréquence fixe
  • 21. Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER21 Expériences www.umanis.com Soumission de 150 conteneurs LXC suivant les traces Google Soumission de 150 conteneurs LXC suivant les traces Prezi
  • 22. Reproduction interdite sans autorisation préalable d’UmanisTarek MENOUER22 Expériences Type de soumission Méthode de calcul Temps de calcul (s) Nombre de cœurs moyen Client 1 Client 2 Client 3 En même temps Min cœurs 3810,09 22 11 1 Max cœurs 1990,05 32 21 10 Dynamique 2075,06 28 18 10 En ligne Min cœurs 4730 22 11 1 Max cœurs 2040,05 32 21 10 Dynamique 2100,06 30 19 9 Suivant les traces de Google Min cœurs 2315,05 22 11 - Max cœurs 1850,04 32 21 - Dynamique 1875,04 29 18 - Suivant les traces de Prezi Min cœurs 4815,13 22 11 1 Max cœurs 2270,06 32 21 10 Dynamique 2380,06 29 17 9 www.umanis.com Notre méthode est 3% plus lente que la méthode max cœurs par contre consomme 10% mois de cœurs par rapport à max cœurs
  • 23. Reproduction interdite sans autorisation préalable d’Umanis •Conclusion • Un nouveau framework d’ordonnancement et d’allocation de conteneurs. • Modèle économique avec 2 classes SLA qualitative et quantitative. • 3 services pour chaque classe SLA. • Calcul automatique du nombre de cœurs alloués pour chaque conteneur. • Notre framework a fait l’objet d’une publication internationale dans la conférence International Conference on High Performance Computing & Simulation (HPCS), Dublin, Ireland, 2019. •Perspectives • Utiliser un algorithme d’apprentissage pour adapter les bornes soft suivant la fréquence de soumission des conteneurs. • Proposer un mécanisme de consolidation pour adapter le nombre de nœuds actifs afin de réduire la consommation énergétique. Tarek MENOUER23 Conclusion & Perspectives www.umanis.com
  • 24. Reproduction interdite sans autorisation préalable d’Umanis Temps des questions! Tarek MENOUER24 www.umanis.com