Groups | Search | Server Info | Login | Register
Groups > fr.comp.algorithmes > #579
| Date | 2015-08-09 10:04 +0200 |
|---|---|
| From | Laurent Bloch <lb@laurentbloch.org> |
| Newsgroups | fr.comp.lang.ada, fr.comp.algorithmes |
| Subject | Re: Traduction pour "concurrency, concurrent programming" |
| Message-ID | <20150809100420.2ce98018@beatrix> (permalink) |
| References | <20150805190632.7a2cf248@beatrix> <20150806044303.44f31fc6@free.fr> |
| Organization | Guest of ProXad - France |
Cross-posted to 2 groups.
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
Back to fr.comp.algorithmes | Previous | Next — Previous in thread | Find similar
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