Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.algorithmes > #577 > unrolled thread
| Started by | Laurent Bloch <lb@laurentbloch.org> |
|---|---|
| First post | 2015-08-05 19:06 +0200 |
| Last post | 2015-08-09 10:04 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to fr.comp.algorithmes
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
| From | Laurent Bloch <lb@laurentbloch.org> |
|---|---|
| Date | 2015-08-05 19:06 +0200 |
| Subject | Traduction pour "concurrency, concurrent programming" |
| Message-ID | <20150805190632.7a2cf248@beatrix> |
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 ! -- Laurent Bloch -- lb@laurentbloch.org -- www.laurentbloch.org
[toc] | [next] | [standalone]
| From | Yliur <yliur@free.fr> |
|---|---|
| Date | 2015-08-06 04:43 +0200 |
| Message-ID | <20150806044303.44f31fc6@free.fr> |
| In reply to | #577 |
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).
[toc] | [prev] | [next] | [standalone]
| From | Laurent Bloch <lb@laurentbloch.org> |
|---|---|
| Date | 2015-08-09 10:04 +0200 |
| Message-ID | <20150809100420.2ce98018@beatrix> |
| In reply to | #578 |
Merci ! Je me résoudrai donc à « concurrent », bien qu'il présente l'inconvénient de véhiculer des connotations ignorées de son homonyme anglais. Cordialement ! Le jeudi 06 août 2015 Yliur a écrit ceci : > 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). > -- Laurent Bloch -- Université Paris-Dauphine -- +33 6 03 12 16 97
[toc] | [prev] | [standalone]
Back to top | Article view | fr.comp.algorithmes
csiph-web