Jump to content

Les enjeux du parallélisme


Recommended Posts

Guest salimdz

Les enjeux du parallélisme

 

Lundi 11 mai 2009 à 08:30

 

programmation-parallele,Z-8-209924-3.jpg

 

S’il est un domaine où le logiciel accuse un retard par rapport au matériel, c’est bien le parallélisme. Alors que les machines multi-cœurs et multi-processeurs se généralisent, rares sont les applications capables d’exploiter cette montée en puissance. Quelles difficultées rencontrent les programmeurs et comment y faire face ?

 

source : http://www.presence-pc.com/actualite/parallelisme-enjeux-34853/

Link to post
Share on other sites
Guest salimdz

Du mono-coeur au multi-cœurs, quels gains ?

 

Les fondeurs estiment qu’en restant sur l’architecture mono-cœur, la dissipation thermique aurait atteint en 2015-2020 la chaleur dégagée à la surface du soleil, soit 6000° C ! La course au MHz entraîne également une course à la consommation. De source Intel, si on augmente la fréquence du processeur de 20%, on augmente en moyenne les performances de 13%, mais la consommation augmente de 73%. En revanche, si l’on diminue la fréquence de 20%, on diminue la performance de 13% et la consommation diminue de 49%. Partant de ce constat, si l’on garde une fréquence à 80% de la fréquence d’origine et que l’on ajoute un second cœur à la même fréquence, on augmente les performances de 73% et la consommation n’augmente que de 2% !

 

source : http://www.presence-pc.com/tests/programmation-parallele-23109/

Link to post
Share on other sites
  • 2 months later...

le véritable problème ici est que pour pouvoir concevoir une app qui utilise à fond le multithread, il faut supposer que les machines ou elle sera installé ont des proc multicore. 1er blocage.

sinon, il faut prévoir une version single-thread de la même app, double travail.

2eme blocage

 

ensuite, plusieurs langages de dev sont encore à leurs début en gestion de thread, et le problème que j'ai rencontré personnellement, à mon bas niveau de débutant en python, c'est comment faire efficacement communiquer ces threads indépendantes de manière intuitive.

 

bref, ja'imerai bien, mais c'est pas évident.

Link to post
Share on other sites
  • Moderators

Si on parle que de parallélisme de taches, cela peut être fait au sein d'un même thread et dynamiquement selon la disponibilité des cœurs, exemple des traitements et calculs sur les collections et tableaux, des outils de programmation existent et on peut en abuser car au pire on a qu'un seul Core de dispo ou de libre et le traitement se fait et au mieux on a ce même traitement à la vitesse grand V.

 

Pour revenir au Multi-Threading, il est vrai que c'est un vrai casse tête chinois de concevoir une application MT optimisée car il faut prendre en considération la disponibilité des cœurs à tout instants, la dépendances des traitements, le couplage entre différentes données des différents threads, éviter l'inter blocage même court, synchroniser convenablement ce beau monde relève de l'impossible lol :D du moins si on ignore l'architecture de la machine ciblée.

Link to post
Share on other sites
le véritable problème ici est que pour pouvoir concevoir une app qui utilise à fond le multithread, il faut supposer que les machines ou elle sera installé ont des proc multicore. 1er blocage.

sinon, il faut prévoir une version single-thread de la même app, double travail.

2eme blocage

 

ensuite, plusieurs langages de dev sont encore à leurs début en gestion de thread, et le problème que j'ai rencontré personnellement, à mon bas niveau de débutant en python, c'est comment faire efficacement communiquer ces threads indépendantes de manière intuitive.

 

bref, ja'imerai bien, mais c'est pas évident.

 

I can tell you are a newbie in programming (no offense).

 

Multi-threading can be done with a single processor as well as with multi-core one. Multi-threading in a single core is handled by the operating system where a process (App) is divided into multiple threads concurrently executing. For exemple an application could have 4 threads, a UI thread, network communication thread, a data aquisition thread and a logging thread running independently and sharing resources and memory (this is called time-division multitasking in a single core processor) but in multi-core processors multiple thread or processes can run at the same time (really at the same time no time division). And there are lots of other stuff like user thread and kernel thread ....etc that I can explain later if anybody is interested.

 

By the way, Python sucks (literally) when it comes to multithreading, it doesn't really have a good way of multi tasking because of the central lock (Global Interpreter Lock ), another thing multithreading and parallelism has been around for decades it is not something new.

Link to post
Share on other sites
I can tell you are a newbie in programming (no offense).

 

Multi-threading can be done with a single processor as well as with multi-core one. Multi-threading in a single core is handled by the operating system where a process (App) is divided into multiple threads concurrently executing. For exemple an application could have 4 threads, a UI thread, network communication thread, a data aquisition thread and a logging thread running independently and sharing resources and memory (this is called time-division multitasking in a single core processor) but in multi-core processors multiple thread or processes can run at the same time (really at the same time no time division). And there are lots of other stuff like user thread and kernel thread ....etc that I can explain later if anybody is interested.

 

By the way, Python sucks (literally) when it comes to multithreading, it doesn't really have a good way of multi tasking because of the central lock (Global Interpreter Lock ), another thing multithreading and parallelism has been around for decades it is not something new.

 

je crois que je l'ai dit. je suis un total noob en programmation. mais j'aime apprendre. j'ai eu l'expérience first-hand du GIL et de ses emmerdes (essayer de lancer des taches en arrière-plan et garder l'interface réactive: casse-tête sauf avec les threads, sauf que la communication interthread sous python se résume à un systeme de queues avec comme seuls messages: job added, job done. bref, j'avais un self-imposed timetable à respecter alors, je suis passé à une autre méthode, pas très élégante: forking.

 

alors si tu as des infos, je suis interressé, bien sur, please share.

 

ps: parallel processing module in python: python-pp. any experience with it? looks like a synonym to the old threading module to my noob eyes. :p

Link to post
Share on other sites
Guest HAVOC

J'me suis pas trop intéressé au thread sous Python car je n'en ai pas besoin pour mon application client (même si y'a une GUI et que normalement dans un mode parfait ça doit être conçu avec des thread)... mais je pense pas que ça soit pire qu'en JAVA.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • @genio en Algérie en Avance en arrière doucement mais surement  … ne te casse pas la tète, tant que notre ISP cest AT même en Fibre tu aura une mauvaise connexion, juste essayer d'utiliser le net a notre avantage et ne pas focalisé dessus ou essayer des activités qui nécessite une Co parfaite ( gaming, Streaming....) On peux dire que nous avons une Pénurie de bande passante Internationale qui est ridicule par rapport aux besoins, et le réseau Nationale est archaïque,  pas de datacenters, installations de AT obsolètes, pas de maintenance...une ligne parfaite ca aide mais ca va pas révolutionner ta co, essaye une game de PES 2021 qui utilise le P2P avec un mec de ta Wilaya tu va lagué... Raby ysabérna ou yahdina 
    • @malouki hier un ami a vendu ses euros a 208...et ce matin 221.20 ?!
    • Ca dépend du mode d'envoi , si c'est une compagnie type DHL/fedex/UPS un coursier t’appellera pour te dire qu'il va arriver avec ton colis a l'adresse indiqué , si c'est USPS (first class or priority) regarde sur le numéro de suivi a quel niveau il est , si il est indiqué qu'il est arrivé en algerie , après quelques jours tu devrais recevoir un "avis d'arrivée" a la maison , a ce moment la tu vas au bureau de poste de ta ville pour le récupéré.
    • @parazitenew merci pour ces details techniques MAIS... ce qui me chiffone si mon max rate c'est  24.6 megas....c'est logique de recevoir 19.5....OK.... mais pourquoi alors si je m'abonne a 20 megas je vais recevoir encore 20% de moins...par rapport a 19.5 (et non pas par rapport a 24.6) ??? j'ai donc 2 fois des pertes par rapport au ATM ! je vais donc avoir 15 megas de debits sur mon speedtest si me prend l'offre 20 megas ! je sais tres bien cela car souviens toi jai galeré grave pour avoir 8 megas au lieu de 6.8 car ma syn etait a 8 megas...et mon max rate etait a 20 ! du moins c'etait le cas en 021... a ce que j'ai cru comprendre en causant avec @Hicham et les autres c'est :   - que mon max rate ATM devrait etre a 27 megas (idealement) - ceci me donnera une sync / debit IP de 24 megas - sur cela je perd donc 20%....ce qui fera que j'aurai un speedtest de 20 megas a moins que j'ai loupé un truc....??
    • durant toute cette annee 2020 j'ai procede au paiement de mes factures sonelgaz par voie electronique (carte Edahabia) et voulant m'assurer de la bonne demarche je me suis rendu a l'agence de mon quartier pour confirmer la bonne reception du virement Le paiement a  ete effectue le 01 janvier  2021 pour la  facture du  4 trimestre 2020 a a la  date du 17 janvier 2021 la  dame  au guichet m'a  assure  que  la  facture  n'etait  pas  reglee. Est  il  possible  qu'un  paiement par  voie electronique soit   bloque a  ce  point ? ou  bien  est  il  possible qu'il  y  ait un  autre  probleme .En  procedant  au  reglement  de  cette  facture  je  garde  toujours  des  traces  sur  papier  et  sur  sms de  tous  les  virements  effectues .J'aimerais  avoir  un e reponse  a  cette  situation.Merci  
×
×
  • Create New...