CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Cherche exercice en programmation distribuée

shmemory
shmemory
Niveau 8
17 juin 2017 à 10:55:40

Hello

\*voir titre* , C'est pour m'entrainer pour les cours de l'année prochaine, vous avez des idées de programmes funs qui permettrait de mettre de la prog distribuée en pratique ? :( (sans trop de maths si possible :peur: )

godrik
godrik
Niveau 30
17 juin 2017 à 17:15:55

Les classiques sont elections de leader et construction d'un arbre couvrant.

shmemory
shmemory
Niveau 8
20 juin 2017 à 13:02:41

:cimer:

Est ce que tu connais des sites qui proposent un cours complet là dessus ? (ou si tu as toi même fait ces cours [[sticker:p/1kki]] ) ? Sur internet il y a beaucoup de ""cours"" qui sont en fait les slides utilisées par des profs donc il y a des "notions" à retenir mais peu d'explication complètes

De ce que je vois l'election de leader se fait via un identifiant attribué à chaque processus, on va comparer l'id du processus et on choisit par exemple le plus grand pour être le leader. Mais du coup il y a peu de concret sur la/les façon/s de faire.

Le programme qui sera utilisé sera le même sur toutes les machines ? est ce que ce programme une fois lancé se comportera en tant que serveur selon des conditions (ex: aucune autre machine découverte)?
Le but d'un système distribué est d'être lancé sur plusieurs machines, donc si je fais mes tests sur une seule machine et que le programme communique sur le port disons 8888, un seul programme pourra être en écoute sur ce port, donc il faut obligatoirement passer par de l'udp pour ne pas bloquer les ports ? Comment les machines se repèrent entre elles, elles scannent tous les ports sur le réseau en envoyant "hello tu es l'un des notres?" dès qu'il y en a un ouvert ? :(

godrik
godrik
Niveau 30
20 juin 2017 à 17:44:56

Ca peut etre beaucoup de chose le calcul distribuer. Je connais pas mal de gens qui utilise le bouquin de tanenbaum [1].
Quelques differences:
-dans un programme MPI, tu calcules avec differentes machines, mais les machines sont clairement identifie et numerote.
-Sur le web, peut etre tu ne connais que quelques autres machines avec lesquelles tu parles, mais si on te donne le nom d'une autre machine, alors tu peux communiquer avec elle
-En reseau wireless ad hoc, tu as access qu'au machine qui sont autour de toi. Et si tu veux communiquer avec une machine qui est plus loin, bah il va falloir router.

C'est pour ca que souvent les problemes de distribution sont presente au niveau algorithmique, parcequ'il y a une tonne de systeme reelle qui sont tous different, mais qui partage les memes principes.

J'ai l'impression que tu t'interesse plutot aux deuxieme cas. Des reponses concretes a tes questions:

Le programme qui sera utilisé sera le même sur toutes les machines ? est ce que ce programme une fois lancé se comportera en tant que serveur selon des conditions (ex: aucune autre machine découverte)?

Le programme est generalement le meme sur toutes les machines. Mais pas forcement, tu pourrais par exemple avec des noeuds de calcul, et des noeuds de stockage.

Le but d'un système distribué est d'être lancé sur plusieurs machines, donc si je fais mes tests sur une seule machine et que le programme communique sur le port disons 8888, un seul programme pourra être en écoute sur ce port, donc il faut obligatoirement passer par de l'udp pour ne pas bloquer les ports ?

Si tu es sur une seule machine, tu n'utilises pas IP pour faire la communications. Mais si tu veux vraiemtn faire ca sur une seule machine, tu peux aussi ajouter plusieurs addresse IP locale a ta mchine et faire que chaque programme utilise une ip differente

Comment les machines se repèrent entre elles, elles scannent tous les ports sur le réseau en envoyant "hello tu es l'un des notres?" dès qu'il y en a un ouvert ?

Bah, ca c'est le probleme de decouverte en reseau distribue. En general, tu connais au moins une machine un peu central pour initialiser la connexion. Sur un reseau IP, tu connais ta passerelle, et le nom d'un serveur DNS. Dans bittorrent, tu connais le tracker qui te donne le nom d'autres machines.

[1] https://books.google.com/books/about/Distributed_Systems.html?id=DL8ZAQAAIAAJ&source=kp_cover

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware