Problèmes majeurs non résolus dans les systèmes distribués?


23

Inspiré par cette question , quels sont les problèmes majeurs et les solutions existantes qui nécessitent une amélioration dans le domaine des systèmes distribués (théoriques).

Quelque chose comme les protocoles d'adhésion, la cohérence des données?

Réponses:



14

La complexité temporelle distribuée de nombreux problèmes de graphes reste une question ouverte.

En général, les algorithmes de graphe distribué sont un domaine dans lequel nous nous attendrions à avoir (au moins asymptotiquement) des limites supérieures et inférieures correspondantes pour la complexité temporelle distribuée des problèmes de graphe. Par exemple, pour de nombreux problèmes d'optimisation, des limites strictes sont connues . Cependant, il existe de nombreux problèmes classiques de rupture de symétrie qui sont encore mal compris.

Nous ne savons pas, par exemple, combien de tours de communication faut-il pour trouver un ensemble indépendant maximal , une correspondance maximale , une coloration de sommet appropriée avec couleurs, ou une coloration de bords appropriée avec couleurs dans un graphique avec un degré maximum de . Tous ces problèmes sont faciles à résoudre avec des algorithmes centralisés gourmands, et il existe des algorithmes distribués efficaces pour chacun de ces problèmes, mais nous ne savons pas si l'un des algorithmes actuels est optimal.2 Δ - 1 ΔΔ+12Δ1Δ

Par exemple, pour tous ces problèmes, il existe des algorithmes distribués déterministes pour le modèle LOCAL avec des temps d'exécution de , où est le nombre de nœuds. Il est bien connu que ces problèmes ne peuvent pas être résolus en temps tours, mais on ne sait pas s'ils peuvent être résolus en temps tours. En général, nous ne comprenons pas comment les temps de course dépendent du degré maximum - c'est ce que j'appelle le problème de coordination locale .n O ( Δ ) + o ( log n ) o ( Δ ) + O ( log n )O(Δ+logn)nO(Δ)+o(logn)o(Δ)+O(logn)

Le rôle de l' aléatoire est un autre problème majeur. Par exemple, bon nombre des problèmes mentionnés ci-dessus peuvent être résolus en temps polylogique avec des algorithmes randomisés (c.-à-d., Le temps est polylog en pour toute valeur de ), mais aucun algorithme déterministe du temps polylogique n'est connu pour, par exemple, un maximum indépendant ensembles. Ces questions, ainsi que de nombreux autres problèmes ouverts, sont examinés plus en détail dans la section 11 du livre récent de Barenboim et Elkin .ΔnΔ


Ci-dessus, je me suis concentré sur des questions spécifiques à l'informatique distribuée. Il existe également des questions ouvertes dans les algorithmes de graphes distribués qui ont des liens non triviaux avec des problèmes ouverts en informatique théorique en général. Par exemple, les bornes inférieures non constantes pour le modèle de clique congestionnée sont une grande question ouverte en informatique distribuée; il a été récemment découvert que de telles limites inférieures impliqueraient également de nouvelles limites inférieures pour l'ACC.


7

Problèmes ouverts sur les «Algorithmes distribués pour les arbres couvrant minimum (MST)»: (répertoriés dans [1])

  1. Concernant la complexité temporelle ,

    Des algorithmes optimaux en temps quasi réel et des bornes inférieures apparaissent dans [2] et références ici. La complexité temporelle optimale reste un problème ouvert.

  2. Concernant la complexité des messages ,

    En ce qui concerne la complexité des messages , bien que la limite asymptotiquement étroite de pour le problème MST dans les graphiques généraux soit connue, la recherche des constantes réelles reste un problème ouvert.O(m+nlogn)

  3. Concernant le modèle synchrone :

    Dans un modèle synchrone pour les réseaux superposés, où tous les processeurs sont directement connectés les uns aux autres, un MST peut être construit en temps sublogarithmique, à savoir les cycles de communication [3], et aucune limite inférieure correspondante n'est connue.O(loglogn)

Notez également qu'il existe un algorithme d' approximation pour le MST distribué [4].O(logn)


[1] Algorithmes distribués pour les arbres couvrant minimum par Sergio Rajsbaum dans "Encyclopedia of Algorithms", 2008.

[2] MST distribué pour les graphiques à diamètre constant par Lotker et al. Distrib. Comput., 2006.

[3] Construction d'un arbre couvrant un poids minimum dans les cycles de communicationO(loglogn) par Lotker et al. SIAM J.Comput., 35 (1), 2005.

[4] Un algorithme d'approximation distribuée rapide pour les arbres couvrant minimum par Khan et al. DISQUE 2006.


3
Concernant le 3ème élément: une limite supérieure de est également connue, voir arxiv.org/abs/1412.2333 - et comme je l'ai brièvement mentionné dans ma réponse, nous comprenons de nos jours un peu mieux pourquoi il y a si peu de progrès avec des limites inférieures pour le modèle de clique congestionnée (des limites inférieures non triviales pour le modèle de clique congestionnée impliqueraient des limites inférieures de complexité de circuit non triviale). O(logloglogn)
Jukka Suomela

4

voir aussi (plus récemment) un diaporama "Problèmes informatiques non résolus dans l'informatique distribuée" de 2012 par le chercheur de Notre Dame Douglas Thain qui dirige leur laboratoire informatique coopératif. il a plutôt une orientation appliquée, mais les questions clés énumérées mènent inévitablement à des domaines théoriques.

  • Le problème Kiloscale: Tout flux de travail avec une concurrence suffisante doit pouvoir s'exécuter correctement sur des cœurs 1K la première fois et à chaque fois sans l'aide de sysadmin.

  • Le problème de l'arrêt: étant donné un flux de travail exécuté sur mille nœuds, arrêtez-le et nettoyez tous les états associés en toute certitude.

  • Le problème de dépendance:

    (1) Étant donné un programme, déterminez tout ce dont il a réellement besoin pour fonctionner sur une machine différente.

    (2) Étant donné un processus, déterminez les ressources (distribuées) qu'il utilise réellement lors de l'exécution.

    (3) Étendez 1 et 2 à un flux de travail complet.

  • Le problème du bon dimensionnement: étant donné une application (structurée) et un cluster, un cloud ou une grille donnés, choisissez une allocation de ressources qui réalise de bonnes performances à un coût acceptable.

  • Le problème de dépannage: Lorsqu'un échec se produit au milieu d'une pile logicielle de 100 couches, comment et quand signalez-vous / réessayez / ignorez / supprimez l'erreur?

  • Le problème de conception: comment les applications doivent-elles être conçues pour être bien adaptées à l'informatique distribuée?

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.