Partage
  • Partager sur Facebook
  • Partager sur Twitter

multiprocessing et multitasking en Rust

parallélisme en Rust, multiprocessing, multitasking, rust

    22 décembre 2024 à 20:22:24

    bonjour ,

    je voudrais savoir , si il existe des bibliothèques en Rust pour le multiprpcessing et le multitasking?à ne pas confondre avec le multithreading.

    Définitions :

    Parallélisme

    Le parallélisme en informatique consiste à exécuter simultanément plusieurs opérations ou tâches. Il implique la division d'un problème complexe en sous-tâches plus simples qui peuvent être traitées en même temps, généralement sur différents cœurs ou processeurs. Le but est d'optimiser l'utilisation des ressources système et d'accélérer le traitement global des tâches.

    Multitasking

    Le multitasking, ou multitâche, désigne la capacité d'un système d'exploitation à exécuter plusieurs programmes ou tâches en apparence simultanément. Il permet à l'utilisateur de passer d'une application à une autre sans perte d'information, en alternant rapidement entre les différentes tâches. Cette fonctionnalité crée l'illusion d'un traitement parallèle, même si les tâches sont en réalité gérées séquentiellement par le système.

    Multiprocessing

    Le multiprocessing, ou multitraitement, fait référence à l'utilisation de plusieurs processeurs ou cœurs pour exécuter des tâches en parallèle. Cette technique permet de répartir la charge de travail sur différents processus, chacun disposant de sa propre zone mémoire et pouvant être traité sur des cœurs de processeur distincts . Le multiprocessing est particulièrement efficace pour les calculs intensifs et le traitement de grandes quantités de données, car il exploite pleinement la puissance des systèmes multi-cœurs.


    Multithreading

    • Permet à plusieurs threads de s'exécuter en parallèle dans un seul processus
    • Les threads partagent le même espace mémoire et les ressources du processus
    • Optimise l'utilisation du CPU en alternant rapidement entre les threads
    • Améliore la réactivité et les performances d'une application

    -
    Edité par alex5956 22 décembre 2024 à 20:28:44

    • Partager sur Facebook
    • Partager sur Twitter
      7 janvier 2025 à 2:19:18

      Il n'y a que très peu de gens qui programment en Rust sur ce forum.

      Je suis débutant et j'en connais un autre qui l'est également.

      Si je fais une recherche avec Google avec les mots: rust multi processing

      j'obtiens des résultats qui pourraient sans doute t'intéresser.

      Ce lien donne un aperçu très général:

      https://www.ambient-it.net/concurrence-sur-rust/

      -
      Edité par PierrotLeFou 7 janvier 2025 à 2:52:50

      • Partager sur Facebook
      • Partager sur Twitter

      Le Tout est souvent plus grand que la somme de ses parties.

        8 janvier 2025 à 7:11:03

        Qu'est-ce que tu veux faire exactement ? Tu cherches des lib d'IPC ?
        • Partager sur Facebook
        • Partager sur Twitter
          15 janvier 2025 à 12:02:45

          @ PierrotLeFou  t en as rien à branler  !

          @FantasMaths IPC , qu'est ce que ça veut dire ?

          je veux en fait des exemples de code de votre part

          Cdt

          -
          Edité par alex5956 15 janvier 2025 à 12:06:49

          • Partager sur Facebook
          • Partager sur Twitter
            15 janvier 2025 à 17:04:06

            alex5956 a écrit:

            @ PierrotLeFou  t en as rien à branler  !

            c'est quoi cette réponse ??????

            @FantasMaths IPC , qu'est ce que ça veut dire ?

            2 secondes de recherche sur google et tu peux deviner que IPC veut dire Inter Process Communication

            je veux en fait des exemples de code de votre part

            tu demandais des librairies dans ton post d'origine pourtant

            • Partager sur Facebook
            • Partager sur Twitter
              15 janvier 2025 à 20:41:27

              @FantasMaths

              Pour la réponse express j'ai touvé qu'il avait donné un réponse minimaliste. Ipc pour , voulait dire instructions par cycles, et oui au final je voudrais des exemples de code.

              Surtout pour le multitâche et le multiprocessus ,car je ne comprends pas les bibliothèques,et je ne vois pas la différence entre les deux.pour moi ça revient au même

              -
              Edité par alex5956 15 janvier 2025 à 20:43:07

              • Partager sur Facebook
              • Partager sur Twitter
                16 janvier 2025 à 8:34:53

                On peut faire du multi-tasking sur une machine qui n'a qu'un seul processeur (ou un seul coeur).

                Il ne faut pas penser qu'on passe bêtement d'une tâche à l'autre.

                Il y a dans le système ce que j'appelle un "céduleur" qui décide à quelle tâche on va donner la prochaine tranche de temps.

                Dans une machine à plusieurs coeurs, il y a le même genre de "céduleur" mais un peu plus complexe.

                Il choisit non seulement la prochaine tâche à exécuter, mais sur quel coeur l'exécuter.

                C'est particulièrement vrai si les coeurs ne fonctionnent pas tous à la même vitesse.

                Pour ta remarque sur le IPC (instructions par cycle), c'est possible pour les machines avec plusieurs coeurs.

                On utilise le terme "thread" qui prend un sens différent de ce que tu décris au début.

                Par exemple, si mon ordi a 4 coeurs et 8 threads, ça veut dire qu'il démarre quelque chose pour un coeur différent

                 à chaque demi -cycle.

                Voici une explication plus claire:

                https://www.intel.fr/content/www/fr/fr/gaming/resources/hyper-threading.html

                • Partager sur Facebook
                • Partager sur Twitter

                Le Tout est souvent plus grand que la somme de ses parties.

                  16 janvier 2025 à 14:21:49

                  @PierrotLeFou

                  Je te remercie !;)

                  • Partager sur Facebook
                  • Partager sur Twitter

                  multiprocessing et multitasking en Rust

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  • Editeur
                  • Markdown