Deutsch   English   Français   Italiano  
<LPj-LG68xkkv2S1Cv5zPLRuBONE@jntp>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!2.eu.feeder.erje.net!feeder.erje.net!fdn.fr!usenet-fr.net!pasdenom.info!from-devjntp
Message-ID: <LPj-LG68xkkv2S1Cv5zPLRuBONE@jntp>
JNTP-Route: news2.nemoweb.net
JNTP-DataType: Article
Subject: Re: Threads vs Process
References: <v71gat$aj8p$1@dont-email.me> <v9cvt1$2dbm3$1@paganini.bofh.team> <4Jes5iwWvvzU95WJ6kTQo7ZecjE@jntp>
 <v9fc6t$2mdfg$1@paganini.bofh.team> <wZ3kBCL52vnUkkvFGisuqwdZ7Mk@jntp> <v9fojn$2n22o$1@paganini.bofh.team>
 <v9fqr5$12bq$1@news.usenet.ovh> <v9fv26$2nd94$1@paganini.bofh.team> <QHmHcgZ1wpB0WQGUWir7UJkc0BU@jntp>
 <v9inhr$30tgg$1@paganini.bofh.team>
Newsgroups: fr.comp.sys.atari
JNTP-HashClient: 7NxKaY5ZZUtHmTwp_hy0njcBLOc
JNTP-ThreadID: v71gat$aj8p$1@dont-email.me
JNTP-Uri: http://news2.nemoweb.net/?DataID=LPj-LG68xkkv2S1Cv5zPLRuBONE@jntp
User-Agent: Nemo/0.999a
JNTP-OriginServer: news2.nemoweb.net
Date: Wed, 14 Aug 24 22:31:14 +0000
Organization: Nemoweb
JNTP-Browser: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:129.0) Gecko/20100101 Firefox/129.0
Injection-Info: news2.nemoweb.net; posting-host="70e9fdebe516d61ad04c84cddf7db6c6243dd2c5"; logging-data="2024-08-14T22:31:14Z/8987086"; posting-account="69@news2.nemoweb.net"; mail-complaints-to="julien.arlandis@gmail.com"
JNTP-ProtocolVersion: 0.21.1
JNTP-Server: PhpNemoServer/0.94.5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-JNTP-JsonNewsGateway: 0.96
From: OL <ol.google@lutece.net>
Bytes: 4320
Lines: 53

Le 14/08/2024 à 18:55, Francois LE COAT a écrit :
> Salut,
> 
> OL écrit :
>> Et moi je te répond que dans le monde moderne sur une machine de bureau 
>> actuel le parallèlisme pour faire du calcul (on parlait bien de cela il 
>> me semble) se fait par thread pas par process, faudrait te mettre à jours.
> 
> Bien pour faire du traitement d'images, et de la vision artificielle,
> qui sont des calculs assez complexes, principalement sur des entiers,
> j'utilise les ressources parallèles des machines multi-coeurs, en
> lançant des processus concurrents. Il suffit souvent de découper les
> images, et de lancer des calculs identiques, sur des morceaux d'images,
> et de regrouper les calculs sur les différents morceaux indépendants.

Effectivement tu peux faire comme cela, est-ce pour autant le plus 
efficace ?
Non et de très loin. Dans ce cas le thread est plus recommandé mais 
c'est plus compliqué à programmer.

> 
> Avec ce principe il est très facile de charger au maximum, une machine
> avec de très nombreux coeurs, comme le fait Persistence Of Vision, mais
> lui avec de nombreux threads, ce qui est paramétrable avec POV-Ray.
> 
> On peut lancer des processus avec l'appel système fork() dans un
> programme, ou même utiliser un script shell, en lançant plusieurs
> instances d'un même programme, sur des données d'images différentes,
> en tâche d'arrière plan, avec un rendez-vous de fin, avec la commande
> système `wait` qui attend la fin de processus lancés en "background".
> 
> C'est le système Unix (GNU/Linux ou macOS) qui s'occupe de la
> répartition équitable de charge de calcul des processus. Ce principe
> existe depuis toujours, et même avec freeMiNT, sauf qu'à l'origine,
> la répartition de charge ne se faisait que sur un seul CPU, sur ATARI.
> C'est un bon moyen sur un seul CPU de le charger au maximum à 100%.

Encore une erreur, dans le cas de figure énoncé tu iras moins vite qu'en 
faisant un seul process, tu ne peux gagner que si cela te permet d'enlever 
une tâche répétitive inutile, comme c'est le cas pour gérer l'AES. 
Dans ton cas tu ne gagneras rien sauf si le système sait gérer 
l'hyperthreading, l'hyperthreading a été concu sur le principe qu'un 
processeur peut traiter plusieurs instructions à la fois, seulement c'est 
assez peu le cas souvent les codes sont souvent très séquentiel, l'idée 
est de pouvoir traiter plusieurs routines indépendantes et optimiser 
l'utilisation du CPU. 

> Très souvent sur un ordinateur, le(s) processeur(s) sont sous-utilisé(s)

Sauf que dès que tu fais un calcul qui n'appelle pas le système ton CPU 
est chargé par principe, donc à ce moment là créer plusieurs process 
n'a plus aucun intérêt.