FR3091773A1 - Execution/Isolation d’application par allocation de ressources réseau au travers du mécanisme de routage - Google Patents

Execution/Isolation d’application par allocation de ressources réseau au travers du mécanisme de routage Download PDF

Info

Publication number
FR3091773A1
FR3091773A1 FR1873798A FR1873798A FR3091773A1 FR 3091773 A1 FR3091773 A1 FR 3091773A1 FR 1873798 A FR1873798 A FR 1873798A FR 1873798 A FR1873798 A FR 1873798A FR 3091773 A1 FR3091773 A1 FR 3091773A1
Authority
FR
France
Prior art keywords
task
nodes
routes
link
links
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR1873798A
Other languages
English (en)
Inventor
Jean-Noël QUINTIN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull SAS
Original Assignee
Bull SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull SAS filed Critical Bull SAS
Priority to FR1873798A priority Critical patent/FR3091773A1/fr
Priority to FR1904674A priority patent/FR3091774B1/fr
Priority to US16/722,684 priority patent/US11157326B2/en
Priority to EP19219176.5A priority patent/EP3671455A1/fr
Publication of FR3091773A1 publication Critical patent/FR3091773A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17312Routing techniques specific to parallel machines, e.g. wormhole, store and forward, shortest path problem congestion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

.

Description

Execution/Isolation d’application par allocation de ressources réseau au travers du mécanisme de routage
2. Titre proposé :
Execution/Isolation d’application par allocattion de ressources réseau au travers du mécanisme de routage
3. Problème technique posé
Dans les plateformes High Performance Computing (HPC), un ensemble de
machines est interconnecté par un réseau haute performance afin de faire
travailler/communiquées les machines ensemble. L’utilisation du réseau de
communication varie au cours de l’exécution des applications lancées sur le
supercalculateur.
  • Comment adapter le routage à la fluctuation des besoins réseau ?
  • Comment réduire la consommation énergétique en fonction des besoins ?
  • Comment réaliser les modifications de manière transparente ?
  • Comment assurer les performances des applications ?
  • Comment améliorer la reproductibilité de l’exécution ?
  • Comment réduire la consommation énergétique ?
4. Les solutions connues
Les principales méthodes existantes sont :
  • J. Domke and T. Hoefler, "Scheduling-Aware Routing for Supercomputers," SC '16: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, Salt Lake City, UT, 2016, pp. 142-153. doi: 10.1109/SC.2016.12 URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7877011&isnumber=7876994
  • Matthieu Perotin, Tom Cornebize, "Isolating Jobs for Security on High-Performance Fabrics", High-Performance Interconnection Networks in the Exascale and Big-Data Era (HiPINEB) 2017 IEEE 3rd International Workshop on, pp. 49-56, 2017.
Pour le travail sur le scheduling aware routing, l’approche est intéressante car utilisant une base de données avec la liste des applications en cours d’exécution sur le supercalculateur, le routage recalcul les routes en fonction de leur utilisation afin de réduire la congestion sur le réseau de calcul. Cette approche ne s’intéresse ni à la reproductibilité des performances pour les applications et à la réduction de l’utilisation d’énergie.
L’isolation de jobs pour la sécurité ne prend en compte que la problématique de l’exécution d’un job et ne s’intéresse pas à la problématique liée à l’ensemble des applications. De plus le travail effectué ne s’intéresse qu’à la réduction des changements sur les tables de routage pour arriver à une isolation.
5. Présentation de l'invention
Lors du routage d’une plateforme, le nombre route à calculer est de 2 n^2 routes, avec n le nombre de noeuds de calcul. Ces routes sont à distribuer sur l’ensemble des liens de la plateforme.
Il est évident que pour des questions de cout le nombre de liens de communications entre les machines est largement inférieur au 2 n^2. Il est généralement de l’ordre de O(n).
Lorsqu’une application utilise n_i nœuds, il y a 2 * n_i^2 routes. S’il y a deux applications utilisant la moitié des nœuds, il y a 4 fois moins de routes que sur l’ensemble de la machine. Cela permet de simplifier le travail du routage mais aussi de répartir uniquement les routes utiles aux applications.
Le système proposé va bien plus loin que les solutions existantes, en couplant le gestionnaire de ressource (comme slurm) qui sélectionne les nœuds dédiés à une application avec le routage. Pour chaque soumission de jobs l’algorithme de routage est interrogé afin de connaitre l’emplacement le plus approprié pour placer l’application. En fonction du routage actuel l’algorithme est capable de sélectionner afin d’optimiser différentes contraintes pouvant être tuner par l’administrateur et/ou des demandes utilisateur (réduire la consommation réseaux, maximiser les performances, sécurité …).
Ainsi, l’algorithme de routage sera capable d’allouer et de dédier des liens aux applications.
Port numbering
Les contraintes pour la réalisation :
1. La quantité de données transférées pour mettre à jour les tables de routages
2. Le risque de ralentissement de la soumission des jobs
Les gains de la solution :
1. Reproductibilité des expériences grâce à une isolation réelle des applications
2. Amélioration des performances des applications grâce à des liens dédiés
3. Réduction de la complexité de calcul des algorithmes de routages
4. Réduction de la consommation énergétique en éteignant les liens et switchs non utilisées
Pour réduire le besoin de changement des tables de routages, il nécessaire d’utiliser un set de tables prédéfinies. Dans le cadre d’un PGFT (fat tree), il est possible de positionner dans chaque switch l’ensemble de tables de routage permettant d’atteindre l’ensemble des machines de la sous topologie dans lequel le switch est inclus. Ainsi lors de la soumission d’application, le routage n’aura qu’à modifier les tables de routage qui réalise la monter dans l’arbre du PGFT. Cela réduit de moitié l’envoi de modifications. De plus les tables de routages par défaut peuvent être mise afin de correspondre pour des allocations de jobs utilisant une sous topologie complète. Ainsi les tables de routage devront être modifiées uniquement dans le cas où l’allocation du job ne match pas une sous-topologie complète.
Ce principe permet de réduire le temps nécessaire aux modifications des tables de routage dans la plate-forme. Pour conserver cet effet, il peut être nécessaire de remettre les tables de routages initial après chaque job.
En réalisation l’allocation des liens, il est possible de dédier des liens aux différentes application et ainsi réduire l’impact des applications entre elles. Ainsi il est possible de réduire la variance des temps d’exécution d’une fois à l’autre. Sur un PGFT, il est « non-pruner » possible de créer d’isoler chaque application sur des sets de liens précis sans augmenter la congestion.
Il est possible de réduire l’utilisation énergétique en éteignant les liens non utiliser. Par exemple sur un siwtch directement connecté aux nœuds de calcul. Généralement sur un PGFT moitié des liens sont dédiées aux nœuds de calcul et l’autre moitié aux liens inter-switch. Si par exemple 10 nœuds d’un même switch sont utilisés pour une application en particulier ces 10 nœuds ne communiqueront à l’extérieur que vers les nœuds d’IO. Ainsi il est possible d’éteindre jusqu’à 10 liens durant l’exécution de cet application (en fonction du nombre de nœuds d’io sur la plateforme ainsi que les besoins en IO demandé par l’utilisateur, il est possible de conserver ces liens actifs.
S = ordonnanceur
R = gestionnaire de routage
JX = travail n° X
NN(JX) = nombre de nœuds demandé par le travail JX
NJ
NX = nœud n° X
CXY = commutateur de la ligne X et de la colonne Y
TR(CXY) = table de routage du commutateur CXY
E1 – initialement, les tables de routage des commutateurs sont obtenues en utilisant d-mod-k, par exemple :
TR(C11) : N1 -> N1 | N2 -> N2 | N3, N5, N7, N9, N11 -> C21 | N4, N6, N8, N10, N12 -> C22
TR(C12) : N3 -> N3 | N4 -> N4 | N1, N5, N7, N9, N11 -> C21 | N2, N6, N8, N10, N12 -> C22
TR(C21) : N1, N2 -> C11 | N3, N4 -> C12 | N5, N6, N9, N10 -> C31 | N7, N8, N11, N12 -> C32
TR(C22) : N1, N2 -> C11 | N3, N4 -> C12 | N5, N6, N9, N10 -> C33 | N7, N8, N11, N12 -> C34
E2 – l’ordonnanceur S envoie le travail J1 avec le nombre de nœuds demandé NN(J1) = 3 au gestionnaire de routage R
E3 – le gestionnaire de routage R sélectionne les nœuds N1, N2, N3 pour le travail J1 à partir de la charge des liens (figure 2)
E4 – (INVENTION A) – le gestionnaire de routage R détecte les liens non utilisés et les désactive (figure 2, liens en noir, comme par exemple le lien C11 <-> C22)
E5 – l’ordonnanceur S envoie le travail J2 avec le nombre de nœuds demandé NN(J2) = 3 au gestionnaire de routage R
E6 – (INVENTION C) – le gestionnaire de routage R sélectionne les nœuds N4, N5, N6 pour le travail J2 à partir de la charge des liens, en sélectionnant en premier les liens des commutateurs déjà en cours d’utilisation (figure 3, commutateur C12)
E7 – (INVENTION B) – le gestionnaire de routage R détecte que les liens C12 <-> C21 et C12 <-> C22 sont utilisés par le travail J1 et le travail J2 (figure 3, liens en rouge)
E8 – (INVENTION B) – le gestionnaire de routage R modifie la table de routage TR(C12) pour que seul le travail J1 utilise le lien C21 <-> C12 :
TR(C12) : N3 -> N3 | N4 -> N4 | N1, N2, N5, N7, N9, N11 -> C21 | N2, N5, N6, N8, N10, N12 -> C22
(figure 4)
E9 – le gestionnaire de routage R envoie la table de routage TR(C12) modifiée au commutateur C12 (figure 4)
E10 – (INVENTION A) – le gestionnaire de routage R détecte les liens non utilisés comme par exemple C11 <-> C22 et les désactive (figure 4, liens en noir)
Routing aware scheduling
  • The jobs are taken into account to reduce the number of route considered by the routing algorithm:
    • when routing messages coming from or toward the node 0, only the node 2 4 6 8 10 12 and 14 are considered
    • when routing messages coming from or toward the node 1, only the node 3 5 7 9 11 13 and 15 are considered
  • The proposed algorithm only balances the effective routes on the switch 0.0.0.0, it may do:
    • 0 -> 2 on port 2
    • 0 -> 4 on port 3
    • 0 -> 6 on port 2
    • 0 -> 8 on port 3 …
    • Each job will use all available links
Isolating jobs for security on highperformance fabrics
  • The aim is only to avoid any communications between jobs in this case only the naive approach is fesable (but the result would be the same with the other method)
    • On the swith all switches 0.*.*.* the routes on port 1 for reaching the node 0,2,4,…,14 are removed
    • On the swith all switches 0.*.*.* the routes on port 0 for reaching the node 1,3,5,…,15 are removed
    • In the same way as for the precedent solution each job may use all available links and so share links between jobs.
    • http://hipineb.i3a.info/hipineb2017/wpcontent/uploads/sites/6/2017/05/slides_perotin.pdf
Pour l’algorithme de sélections des liens:
On compte le nombre de noeuds par sous topologie (simple à faire).
Pour chaque sous topologie avec un nombre non nul de noeud :
  • Prendre une des sous topologies la plus importante (appellé T_n_c de niveau n : les switches de plus haut niveau sont n)
  • Considérons qu’il y a S_n switch de niveau n.
  • Pour chaque sous de incluse dans T_n_c de niveaux n-1, on a un nombre de noeuds allouées x_n-1 (Pour simplifier je considère que chaque sous topologie à le même nombre de noeuds).
  • For i=0 ; i < x_n-1 – T_n_c_already_found ; i++ :
    • For s = 0 ; s < S_n ; s++ :
      • Vérifier si il existe un arbre de liens réseau permettant d’accéder à l’ensemble des nœuds alloué dans la sous topologie et non alloué (algorithme récursive simple à mettre en oeuvre)
      • Si oui :
      • Tmp_already_found++
      • Marque ces liens allouées
      • break
    • Si non passer au suivant
  • Pour toute T_n-1_x incluse dans T_n_c :
    • T_n-1_x_already_found = x_n-1
  • Recommencer jusqu’a avoir fait toutes les sous topologies.
Si le nombre de noeud n’est pas identiques dans toutes les sous topologies, on peut modifier cet algorithme de différente manière la plus simple étant de prendre le min des x_n-1.
Ici je prends les switches dans l’order :
For s = 0 ; s < S_n ; s++ :
On pourrai les trier en fonction de leur utilisation ce qui permettrai de réaliser une réduction du nombre de switch différents, ce qui est nécessaire pour le deuxième points.
Pour l’allocation des noeuds afin de minimiser l’utilisation des switches, reviens à ordonner noeuds en fonction du nombre de switches actifs dans l’arbre de connexion vers les top-switch. (si on parcours l’ensemble des chemins de chaque top-switch vers un noeuds de calcul et que l’on compte le nombre de switchs allumé, l’allocation des noeuds devra suivre en priorité cet ordre).

Claims (10)

  1. Procédé de déploiement d’une tâche dans une grappe d’ordinateurs formant un super calculateur comportant :
    • des ordinateurs présentant chacun au moins une interface réseau formant un nœud, et
    • un réseau d’interconnexion des nœuds, comportant :
      • des commutateurs présentant chacun des interfaces réseaux, et
      • des liens connectant chacun soit un nœud et une interface réseau d’un commutateur, soit deux interfaces réseaux de deux commutateurs respectifs,
    le procédé comportant :
    • l’allocation de nœuds à la tâche,
    • la détermination de routes entre les nœuds alloués, ces routes utilisant uniquement des liens qui ne sont associés à aucune autre tâche ou bien qui sont associés à moins d’un nombre prédéfini d’autres tâches,
    • l’association à la tâche des liens utilisés par les routes déterminées, et
    • l’implémentation des routes déterminées dans le réseau d’interconnexion.
  2. Procédé selon la revendication 1, dans lequel le nombre prédéfini est un.
  3. Procédé selon la revendication 1 ou 2, comportant en outre :
    • la détection d’au moins un lien qui n’est associé à aucune tâche,
    • le placement du lien détecté dans un état inactif, dans lequel le lien requiert une consommation énergétique inférieure à une consommation énergétique requise par un lien associé à au moins une tâche.
  4. Procédé selon la revendication 3, comportant, pour placer le lien dans l’état inactif, l’extinction des deux interfaces réseau que ce lien connecte de sorte qu’aucun courant ou lumière ne parcourt ce lien.
  5. Procédé selon la revendication 3 comportant, pour placer le lien dans l’état inactif, la diminution d’une 5 fréquence de fonctionnement des deux interfaces réseau que ce lien connecte.
  6. Procédé selon l’une quelconque des revendications 1 à 5, dans lequel la détermination des routes entre les nœuds alloués comporte :
    • l’obtention d’une liste de commutateurs classés par taux d’utilisation décroissant,
    • la sélection du premier commutateur de la liste,
    • la recherche d’au moins une route passant par le commutateur sélectionné et satisfaisant à au moins un critère prédéfini,
    • en cas d’échec de la recherche, la sélection du commutateur suivant dans la liste pour recommencer la recherche.
  7. Procédé selon la revendication 6, dans lequel le taux d’utilisation comporte un débit moyen de données au cours du temps traversant le commutateur.
  8. Procédé selon la revendication 6 ou 7, dans lequel le taux d’utilisation comporte un nombre de routes entre deux nœuds alloués à une tâche passant par le commutateur.
  9. Programme d’ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu’il comprend des instructions pour l’exécution des étapes d’un procédé selon l’une quelconque des revendications 1 à 8, lorsque ledit programme est exécuté sur un ordinateur
  10. Grappe d’ordinateurs formant un super calculateur comportant :
    • des ordinateurs présentant chacun au moins une interface réseau formant un nœud,
    • un réseau d’interconnexion des nœuds, comportant :
      • des commutateurs présentant chacun des interfaces réseaux, et
      • des liens connectant chacun soit un nœud et une interface réseau d’un commutateur, soit deux interfaces réseaux de deux commutateurs respectifs,
    • des moyens logiciels et/ou matériels de déploiement d’une tâche conçus pour :
      • allouer des nœuds à la tâche,
      • déterminer des routes entre les nœuds alloués, ces routes utilisant uniquement des liens qui ne sont associés à aucune autre tâche ou bien qui sont associés à moins d’un nombre prédéfini d’autres tâches,
      • associer à la tâche des liens utilisés par les routes déterminées, et
      • implémenter des routes déterminées dans le réseau d’interconnexion.
FR1873798A 2018-12-21 2018-12-21 Execution/Isolation d’application par allocation de ressources réseau au travers du mécanisme de routage Pending FR3091773A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1873798A FR3091773A1 (fr) 2018-12-21 2018-12-21 Execution/Isolation d’application par allocation de ressources réseau au travers du mécanisme de routage
FR1904674A FR3091774B1 (fr) 2018-12-21 2019-05-03 Procédé de déploiement d’une tâche dans un supercalculateur, procédé de mise en œuvre d’une tâche dans un supercalculateur, programme d’ordinateur correspondant et supercalculateur
US16/722,684 US11157326B2 (en) 2018-12-21 2019-12-20 Method for deploying a task in a supercomputer, method for implementing a task in a supercomputer, corresponding computer program and supercomputer
EP19219176.5A EP3671455A1 (fr) 2018-12-21 2019-12-20 Procédé de déploiement d'une tâche dans un supercalculateur, procédé de mise en oeuvre d'une tâche dans un supercalculateur, programme d'ordinateur correspondant et supercalculateur

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1873798 2018-12-21
FR1873798A FR3091773A1 (fr) 2018-12-21 2018-12-21 Execution/Isolation d’application par allocation de ressources réseau au travers du mécanisme de routage

Publications (1)

Publication Number Publication Date
FR3091773A1 true FR3091773A1 (fr) 2020-07-17

Family

ID=67742740

Family Applications (2)

Application Number Title Priority Date Filing Date
FR1873798A Pending FR3091773A1 (fr) 2018-12-21 2018-12-21 Execution/Isolation d’application par allocation de ressources réseau au travers du mécanisme de routage
FR1904674A Expired - Fee Related FR3091774B1 (fr) 2018-12-21 2019-05-03 Procédé de déploiement d’une tâche dans un supercalculateur, procédé de mise en œuvre d’une tâche dans un supercalculateur, programme d’ordinateur correspondant et supercalculateur

Family Applications After (1)

Application Number Title Priority Date Filing Date
FR1904674A Expired - Fee Related FR3091774B1 (fr) 2018-12-21 2019-05-03 Procédé de déploiement d’une tâche dans un supercalculateur, procédé de mise en œuvre d’une tâche dans un supercalculateur, programme d’ordinateur correspondant et supercalculateur

Country Status (2)

Country Link
US (1) US11157326B2 (fr)
FR (2) FR3091773A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112445595B (zh) * 2020-11-26 2022-10-25 深圳晶泰科技有限公司 基于slurm计算平台的多任务提交系统
CN114020443B (zh) * 2022-01-05 2022-03-18 国家超级计算天津中心 超级计算机资源调度方法、电子设备和介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156267B (zh) * 2013-05-14 2017-10-10 华为技术有限公司 任务分配方法、任务分配装置及片上网络
US10241838B2 (en) * 2013-12-09 2019-03-26 International Business Machines Corporation Domain based resource isolation in multi-core systems
US10536391B1 (en) * 2016-07-07 2020-01-14 Binaris Inc Systems and methods for intelligently directing a service request to a preferred place of execution

Also Published As

Publication number Publication date
FR3091774A1 (fr) 2020-07-17
FR3091774B1 (fr) 2021-10-22
US20200348982A1 (en) 2020-11-05
US11157326B2 (en) 2021-10-26

Similar Documents

Publication Publication Date Title
US10516577B2 (en) Graceful scaling in software driven networks
KR102110592B1 (ko) IoT 컴퓨팅 환경에서의 클라우드와 엣지간의 분산 처리 방법 및 시스템
CN114338504B (zh) 一种基于网络边缘系统的微服务部署和路由方法
JP2005004676A (ja) 適応型分散処理システム
US20110170416A1 (en) Method and apparatus for least cost routing using multiple path accumulated constraints
FR3091773A1 (fr) Execution/Isolation d’application par allocation de ressources réseau au travers du mécanisme de routage
CN107317764B (zh) 流量负载均衡方法、系统、装置和计算机可读存储介质
CN109412963B (zh) 一种基于流拆分的服务功能链部署方法
CN112560204B (zh) 一种基于lstm深度学习的光网络路由优化方法及其相关装置
Huang et al. Converged network-cloud service composition with end-to-end performance guarantee
CN113015216B (zh) 一种面向边缘服务网络的突发任务卸载与调度方法
US11695631B1 (en) Generating candidate links and candidate paths before selecting links for an optimized optical network plan
Bartolomeo et al. Oakestra: A lightweight hierarchical orchestration framework for edge computing
FR3091775A1 (fr) Execution/Isolation d’application par allocation de ressources réseau au travers du mécanisme de routage
FR3091771A1 (fr) Execution/Isolation d’application par allocation de ressources réseau au travers du mécanisme de routage
WO2015055502A2 (fr) Procédé de partitionnement d&#39;une mémoire dans un système de mémorisation de données réparti, et dispositif correspondant
KR20180077728A (ko) 쿼드 트리에 기반한 스카이라인 질의 방법
KR101966428B1 (ko) 포그 컴퓨팅 환경에서 호스트 위치 및 트래픽 패턴을 기반으로 한 포그 서버 배치 방법
CN102075563B (zh) 一种无结构p2p网络的副本复制方法
JP5651217B1 (ja) パス復旧制御装置
JP5595342B2 (ja) 複数経路探索方法及び装置
US20190243910A1 (en) Visual Search as a Service
CN113612834B (zh) 一种云网资源的统一表示及优化分配方法与系统
Mateo et al. Dynamic service assignment based on proportional ordering for the adaptive resource management of cloud systems
FR2981236A1 (fr) Procede de routage adaptatif pseudo-dynamique dans un cluster comprenant des liens de communication statiques et programme d&#39;ordinateur mettant en oeuvre ce procede