IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres éditeurs Discussion :

Programmation parallèle - Linux


Sujet :

Autres éditeurs

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 36
    Points : 0
    Points
    0
    Par défaut Programmation parallèle - Linux
    Bonjour,
    je suis confronté à un besoin nouveau pour moi, il s'agit de paralléliser du code C existant afin de l'exécuter sur une grappe de PC ( os : Linux ).
    Un collègue m'a parlé d'une méthode utilisée il y a peu, basée sur un produit nommé " CxC " ( Engineered Intelligence ).
    Quelqu'un a t-il entendu parler de ce produit, il semblerait que l'utilisation première de cet outil était destinée au milieu du clustering, et dans l'affirmative, sauriez-vous ou je peux trouver du support pour démarrer un essai ?
    Sinon, quelles sont les méthodes connues et abordables pour éffectuer ce type de travail, à part tout reécrire bien sur ?
    D'avance je vous remercie pour vos réponses ( c'est mon premier post sur ce forum ), à bientôt.

  2. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 148
    Points : 28 113
    Points
    28 113
    Par défaut
    Bonjour,

    Je ne connais pas l'outil, mais en revanche, j'ai fait un peu de parallélisation, et peux donc essayer de te répondre sur le sujet.

    En fait, il est très rare qu'une application puisse se paralléliser simplement, sans devoir ré-écrire tout ou partie du code.

    En effet, tout ce qui a été pensé pour un traitement séquentiel n'ets pas forcément parallélisable. En revanche, il existe souvent d'autres méthodes qui permettent d'arriver au même résultat, et qui elles sont adaptées à la programmation parallèle.

    Prenons un exmple trivial :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    int tab[101];
    int i;
     
    tab[0] = 0;
     
    pour i=1 à i=100 faire
        tab[i] = tab[i-1] +1;
    fpour
    n'est pas parallélisable, puisque chaque calcul dépend du précédent.
    En revanche, le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int tab[101];
    int i;
     
    Pour i=0 à i=100 faire
        tab[i] = i;
    fpour
    permet d'arriver exactement au même résultat, et ce code est pour sa part parfaitement parallélisable.
    En effet, il est très simple de "découper" la boucle en 4 boucles (de 0 à 25, de 26 à 50, de 51 à 75 et de 75 à 100) que tu répartiras sur 4 processeur. Il suffit de ne pas oublier de récupérer les données une fois le traitement fini.

    Je crains donc qu'il ne faille que tu te plonges assez fortement dans le code pour voir si tel qu'il est actuellement il existe des parties non parallélisable à repenser, ou bien si chaque partie du programme est indépendante des autres, auquel cas la parallélisation sera grandement simplifiée.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 36
    Points : 0
    Points
    0
    Par défaut
    Bonjour,
    merci pour ta réponse gangsoleil. Dores et déjà je sais que le code d'origine est prévu pour tourner sur une machine SMP qui comporte au maximum 4 processeurs, je viens de poser la question à la personne qui m'a fait la demande de " parallélisation " ( c'est un projet personnel, ça ne se passe pas dans le cadre d'une activité professionelle, je préfère le préciser ), donc au préalable je pense qu'il faut que je me concentre sur ces parties du code. " CxC ", ça ne te dit rien, j'aimerai bien trouver quelqu'un qui a déjà utilisé cet outil, mais il n'a pas l'air d'être très répandu, dans le milieu du calcul parallèle, aurait-tu une indication à me fournir pour prendre contact avec des personnes qui manipulent ces techniques mieux que moi ? Merci.

  4. #4
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 148
    Points : 28 113
    Points
    28 113
    Par défaut
    Tu dis que CxC ne te dit rien. Mais as-tu essayé de le télécharger et de l'utiliser ?
    Car il se peut que ce soit un programme très simple d'utilisation, auquel cas sa prise en main peut être rapide...
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 36
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par gangsoleil
    Tu dis que CxC ne te dit rien. Mais as-tu essayé de le télécharger et de l'utiliser ?
    Car il se peut que ce soit un programme très simple d'utilisation, auquel cas sa prise en main peut être rapide...
    Salut, non je me suis mal exprimé, je ne dit pas que CxC ne me dit rien, je reprenais ta réponse qui disait " je ne connais pas l'outil ", j'ai une version de démo d'une partie de CxC, pas facile à trouver d'ailleurs, très peu de support. La description du produit m'a emballé, c'est pour ça que je cherche quelqu'un(e)(s) qui aurait de l'expérience sur cette plateforme pour être bien conseillé, il semble qu'un produit existe chez HP, destiné à des systèmes onéreux ... En fait j'ai plus besoin d'une confirmation ( ok pour la prallèlisation ) et d'un conseil (oui c'est faisable avec CxC ) - Merci.

Discussions similaires

  1. Faire fonctionner des programmes sous Linux
    Par vviivvii dans le forum Mandriva / Mageia
    Réponses: 14
    Dernier message: 29/08/2006, 20h41
  2. programmation parallèle avec MPI
    Par salseropom dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 03/08/2006, 10h45
  3. [16F84a] Programmation sous linux
    Par Michaël dans le forum Autres architectures
    Réponses: 2
    Dernier message: 25/02/2006, 13h05
  4. GDB/Recherche EDI - Debugguer un programme sous linux
    Par Rodrigue dans le forum Applications et environnements graphiques
    Réponses: 6
    Dernier message: 18/01/2006, 00h35
  5. [MFC] Programmation parallèle sous VC++
    Par Axiome dans le forum MFC
    Réponses: 4
    Dernier message: 14/12/2005, 01h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo