Groups | Search | Server Info | Login | Register


Groups > fr.comp.algorithmes > #578

Re: Traduction pour "concurrency, concurrent programming"

From Yliur <yliur@free.fr>
Newsgroups fr.comp.lang.ada, fr.comp.algorithmes
Subject Re: Traduction pour "concurrency, concurrent programming"
Date 2015-08-06 04:43 +0200
Organization Groupes francophones par TrigoFACILE
Message-ID <20150806044303.44f31fc6@free.fr> (permalink)
References <20150805190632.7a2cf248@beatrix>

Cross-posted to 2 groups.

Show all headers | View raw


Le Wed, 5 Aug 2015 19:06:32 +0200
Laurent Bloch <lb@laurentbloch.org> a écrit :

> Bonjour,
> 
> Voici une question qui me semble adaptée aux groupes auxquels
> je l'adresse : comment traduire en français "concurrency, concurrent
> programming" ? Quelle distinction avec parallélisme, 
> multiprogrammation, multi-tâche ?
> 
> Merci de toute suggestion !

Étant donné que les définitions ne sont pas unifiées, ni en anglais ni
en français, pas évident de fixer des traductions ou des termes.

Quelques éléments en vrac :

    - Multi-tâches est un terme que j'ai surtout vu employé dans le
      cadre des systèmes d'exploitation, plutôt pour décrire le fait
      qu'ils savent gérer ces tâches que pour traiter la manière dont
      elles-mêmes sont programmées.

    - D'un autre côté "tâche" peut décrire assez bien des "trucs à
      réaliser" par un programme (issu d'un découpage : les tâches
      pouvant être exécutées en séquence, en parallèle, ...). Mais je
      ne me souviens pas avoir vu le terme "multi-tâches" pour un
      programme parallélisé.

    - Je me souviens d'un article qui choisissait une distinction
      intéressante entre concurrence (le fait que deux tâches aient
      besoin d'accéder aux mêmes ressources [processeur exclu ici]) et
      parallélisme (le fait d'exécuter des bouts de code en parallèle).
      Ici on imagine un programme découpé en "tâches", qui peuvent être
      concurrentes ou non (deux tâches peuvent avoir besoin d'accéder à
      une structure de données commune par exemple, ou à un fichier
      commun...). Cette notion de concurrence était indépendante du
      fait que les tâches soient exécutées ou non en parallèle. C'est
      juste un découpage conceptuel du programme. Les tâches peuvent
      être exécutées les unes à la suite des autres (par exemple une
      fonction appelle les fonctions correspondant aux tâches, ou
      simplement le code est écrit tout à la suite dans une fonction
      unique) ou en parallèle (dans plusieurs fils d'exécution
      séparés). Dans le cas d'exécution parallèle de tâches
      concurrentes, des mécanismes sont nécessaires pour éviter les
      ennuis.

    - On pourrait aussi dire que le temps du processeur est une
      ressource partagée et que s'il y a plusieurs tâches elles sont
      potentiellement concurrentes par rapport à cette ressource. Le
      parallélisme serait alors le fait d'exécuter des tâches
      réellement en parallèle : plutôt le fait d'avoir plusieurs cœurs
      et/ou processeurs et de les utiliser que le simple fait d'avoir
      plusieurs fils d'exécution. Une distinction peut-être moins
      intéressante, si on s'intéresse surtout aux problèmes
      d'interactions entre les tâches. D'autant que du coup elles sont
      toutes concurrentes.

    - Il me semble aussi avoir lu un article qui parlait de
      programmation concurrente et concourante, la première traitant de
      tâches qui ont des problèmes de concurrences d'accès à certaines
      ressources, la seconde le simple fait que l'exécution ait lieu en
      même temps (ou potentiellement en même temps, donc utiliser des
      fils d'exécution suffit pour que la programmation soit
      concourante dans cette définition me semble-t-il, peu importe
      qu'il y ait un ou plusieurs cœurs pour exécuter les tâches
      réellement en parallèle).

D'autres définitions ici (programmation concurrente "disjointe" ou
non) :
    https://fr.wikipedia.org/wiki/Programmation_concurrente

Donc pour répondre plus précisément à ta question : "concurrence" et
"programmation concurrente" semblent adaptés. Avec distinction entre la
concurrence et le parallélisme si la concurrence représente le fait que
des tâches aient des conflits potentiels d'accès à des ressources
(indépendamment du fait qu'on les exécute réellement en parallèle ou
non) et le parallélisme représente le fait d'exécuter des tâches en
parallèle ou potentiellement en parallèle (que les tâches soient
concurrentes ou non).

Back to fr.comp.algorithmes | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Traduction pour "concurrency, concurrent programming" Laurent Bloch <lb@laurentbloch.org> - 2015-08-05 19:06 +0200
  Re: Traduction pour "concurrency, concurrent programming" Yliur <yliur@free.fr> - 2015-08-06 04:43 +0200
    Re: Traduction pour "concurrency, concurrent programming" Laurent Bloch <lb@laurentbloch.org> - 2015-08-09 10:04 +0200

csiph-web