|
|
Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
aegir PowerBook de Corail
Inscrit le: 30 Juin 2004 Messages: 118
|
Posté le: Ven 13 Mai 2005 à 19:27 Sujet du message: Multicore |
|
|
Je ne comprends pas, j'ai posté la réponse, elle est apparue en double, j'ai voulu supprimer un des 2, j'ai eu le message "vous ne pouvez supprimer que vos messages", et en fait c'est le thread entier qui a disparu !
pro-liks a écrit: | je n'ai clairement ni le temps, ni le niveau de me plonger dans le code du noyau directement. en revanche, je te remercie pour ton lien, j'y file immédiatement. Ce que je cherche, c'est des infos sur l'augmentation de performances apportée par l'utilisation d'un bipro ou, dans ce cas précis, d'un pross multicore.
|
Tu ne trouveras pas ces infos, pour cela il faudrait bencher et donc avoir des machines pour tester. On peut cependant faire quelques constats :
1) AMD et Intel on déjà présenté des bicore.
2) Dans le cas d'intel c'est pas vraiment un bicore, ce sont plutôt 2 microprocesseurs séparés, tandis que dans le cas d'AMD ce sont aussi 2 CPU, mais interconnecté par un bus interne (chez INTEL la communication entre les 2 passe par par un bus externe ).
3) Du fait de ce bus interne, la puissance (globale) du CPU d'AMD est effectivement multipliée par 2, alors que ce n'est pas le cas de l'Intel (goulet d'étranglement dû au bus externe).
4) Tout laisse supposer que la solution bicore de freescale est comparable à celle d'AMD puisque - sauf erreur de ma part - ils n'ont pas parlé d'évolution du package.
pro-liks a écrit: |
Surtout quelques explications de pourquoi on peut s'attendre à un gain sur tel aspect, mais pas sur tel autre (tout de même lié au processeur, j'imagine quand même qu'une action tributaire majoritairement du temps d'accès au disque ne va pas se réaliser en 2 fois moins de temps si on utilise une machine dual core).
|
Tu auras à peu près le même gain que quand tu passes d'un monopro à un bipro.
Grosso-modo le principe d'un scheduler est très simple. Et bien évidemment ça ne concerne que la CPU.
Attention, je parle uniquement d'un environnement SMP, je ne parle pas du tout du massivement parallèle qui lui est une problématique radicalement différente, voir complètement inversée.
Le scheduler maintient une liste d'unités d'exécution (la liste des threads). Le schéduler est appelé dans 2 cas :
1) une unité d'exécution se met en attente système (par exemple elle demande des données au disque dur, donc elle doit attendre).
2) une unité d'exécution a accaparé la ressource pendant un temps supérieur à un intervalle choisi arbitrairement, qu'on appelle « preemption time ».
Donc quand le scheduler est appelé, il a une tâche très simple à résoudre : « si je suis appelé, c'est que l'unité d'exécution qui avait le CPU n'y a plus droit, je doit donc trouver une autre unité d'exécution ».
Le cas le plus simple est quand on n'a qu'un seul CPU, et que tous les process ont la même priorité. On a alors un algorithme dit du « tourniquet » (round robin), qui se contente de donné la ressource CPU au suivant de la liste, puis, quand il est arrivé à la fin de la liste des unités d'exécution, il donne la ressource à la première etc.
On peut d'ailleurs avoir n CPUs dans ce cas, c'est toujours aussi simple. Les choses se compliquent avec les notion de priorités, en particulier la priorité « temps réel » qui doit être capable de garantir à une unité d'exécution une ressource à un intervalle arbitrairement choisi. J'insiste sur ce point, on entend parler de « temps réel » pour tout et n'importe quoi. Le temps-réel c'est aussi simple (et compliqué ) que dire : je garanti que ce calcul sera effectuée 100 fois par secondes.
Toute la science du scheduler est donc de garantir le temps réel, tout en partageant EFFICACEMENT la ressource pour les autres unités d'exécution. Quand je dis efficacement, c'est par exemple ne pas mettre en queue de liste le sous-système disque si il y a 24 process qui attendent une réponse du sous-système disque...
Bref, c'est une véritable alchimie.
MacOS est dérivé de BSD, lequel a toujours été très en avance au niveau SMP. C'est ainsi qu'en 1998 Microsoft avait publié un bench complètement invraissemblable disant que Windows était quelque chose comme 300% plus efficace que Linux en réseau. C'était vrai, mais en même temps invraissemblable parce qu'ils avaient mis aux fesses des machines 3 cartes gigabit plus une 100 base T. À l'époque les grosses passerelles avaient 2 cartes 100bT et une 10bT...
L'explication était simple, dans Windows ils réutilisaient la pile TCP/IP laquelle est multithreadée, tandis que Linux utilisait une pile non multithreadée. Donc le temps de latence de réponse d'une carte était du temps perdu dans Linux.
Cela illustre bien que tout le problème pour tirer la quintessence du SMP, est d'avoir un SYSTEME multithreadé. Bien sûr, si ton logiciel est aussi multithreadé c'est mieux, mais si pour afficher un dégradé à l'écran, le sous-système graphique lance 2 threads qui calculeront chacun un pixel sur deux (exemple purement théorique hein, parce que dans la réalité pour calculer des pixels on fait en plus intervenir le GPU ce qui complexifie encore plus les choses) et bien du coup le dégradé sera calculé deux fois plus vite, même si ton application est mono-thread/process.
C'est pour cela que les OS deviennent de plus en plus complexes : on fourni des APIs qui proposent de plus en plus de fonctions (quartz, qartz extreme 2D, core image...) lesquelles sont optimisées pour bien utiliser le système.
Donc, une application moderne, même si elle est monothread, elle va bénéficier du multicore à chaque fois qu'elle fera appel à l'API du système. Certes ! Une application de calcul scientifique ne fait pas appel à l'API tant que le caclcul n'est pas fini, donc si elle est monothread, le bicore ne lui apportera rien.
Citation: |
je cherche à comprendre la différence pour l'utilisateur lambda entre un G4 mono et bi, cet article ne m'avance pas beaucoup.
|
C'est terriblement complexe à estimer...
En général, on fait des benchs en testant les capacité une par une : copie d'un fichier, affichage de 10 mégapixel, lancement d'un calcul mathématique etc.
Mais la vie réelle, à 99%, c'est qu'on demande plusieurs choses en même temps à un même logiciel : quand tu utilises The Gimp, tu fais appel à l'Altivec du CPU pour le filtre, simultanément au GPU pour l'affichage, au bus mémoire, éventuellement au sous-système disque etc.
C'est tellement complexe, que c'est d'ailleurs pour ça qu'on peut faire les benchs qu'on veut. Il y a même des boîtes spécialisées là dedans ; elles disent en gros « dites nous les résultats que vous voulez, nous vous donneront le test à faire » (cela a été typiquement la démarche de Microsoft avec ses cartes gigabits).
Citation: |
prenons par exemple une compression dvd->divx. Tu as en plus de l'écriture sur disque du fichier nouvellement encodé, besoin de calcul "brut" du processeur pour la phase proprement dite d'encodage. Au quel cas, si ton appli de compression n'est pas multi-thread, tu n'as aucun bénefice sur ce temps là. Je me trompe? |
Oui, tu as raison, quasiment aucun bénéfice. Mais là le programmeur est quasiment un criminel, puisque le traitement d'image se prête tout particulièrement au multiprocess Mais bon, quand par exemple je code une application avec trolltech-QT, je ne me soucie pas du multithreading pour faire une transformation d'image : la lib-qt se charge de faire le calcul multithreadé...
Citation: |
Après, je n'ai pas la moindre idée du nombre de personnes qui codent aujourd'hui uniquement en monothread. Quitte à préciser, j'ai toujours été très mauvais en programmation, c'est bien un domaine de l'informatique avec lequel j'ai du mal.
|
Au delà des performances, le multithreading apporte des choses très basiques : comme par exemple pouvoir continuer à lire son courrier pendant qu'on télécharge le nouveau courrier...
Citation: |
Je ne cherche pas à être gratuitement polémique, mais bien à discerner ce qui est vrai, prouvé, de ce qui est une supposition, voire même de ce qui me semble faux. Ce qui m'a fait vraiment dresser les cheveux, c'est bien ceci:
Citation: |
avec un dual-core, la puissance de la machine est augmentée de 100%
|
Je n'aboutis toujours pas aux mêmes conclusions que toi... |
[/quote]
Fondamentalement si, tu est à 100% d'accord avec moi. Tu as juste oublié que cette phrase, tu l'as tirée de posts dans lesquels je ne faisais parler que des CPU... Il n'y a eu qu'un simple abus de langage dans la phrase qui n'a de conséquence que lorsqu'on la tire de son contexte. |
|
Revenir en haut de page |
|
|
lpascalon Administrateur
Inscrit le: 30 Nov 2002 Messages: 31865 Localisation: Toulouse
|
Posté le: Ven 13 Mai 2005 à 19:31 Sujet du message: Re: Multicore |
|
|
aegir a écrit: | Je ne comprends pas, j'ai posté la réponse, elle est apparue en double, j'ai voulu supprimer un des 2, j'ai eu le message "vous ne pouvez supprimer que vos messages", et en fait c'est le thread entier qui a disparu ! |
Etrange _________________ Ludovic
Evitez de m'envoyer des messages perso sur le forum. Je préfère les mails.
MBP M1 16", 16 Go, SSD 512 Go
iMac 27" 2,9 GHz, 16 Go, 3 To FusionDrive
iMac G4 24" 1,6 Ghz, 1 Go, SuperDrive
iPhone 12 mini 128 Go
iPad Pro 11", iPad mini Cellular...
|
|
Revenir en haut de page |
|
|
pro-liks Macintosh Portable
Inscrit le: 04 Nov 2004 Messages: 1031 Localisation: Grenoble
|
Posté le: Ven 13 Mai 2005 à 19:58 Sujet du message: |
|
|
merci aegir, lecture très instructive et claire.
Et donc le thread "à quand les nouveaux zibook" a disparu? _________________ Apple Macbook pro 15"4(mat) C2D 2,16GHz 2Go ram DD 7k200 inside dès qu'il est dispo
Desktop A64 3000+ @2200 Mhz /radeon x1950XT + ImageQuest 995
EOS 350D
iPod G3 @ 10Go
|
|
Revenir en haut de page |
|
|
lpascalon Administrateur
Inscrit le: 30 Nov 2002 Messages: 31865 Localisation: Toulouse
|
Posté le: Ven 13 Mai 2005 à 20:02 Sujet du message: |
|
|
En effet
aegir, tu as fait quoi pour l'effacer ?? _________________ Ludovic
Evitez de m'envoyer des messages perso sur le forum. Je préfère les mails.
MBP M1 16", 16 Go, SSD 512 Go
iMac 27" 2,9 GHz, 16 Go, 3 To FusionDrive
iMac G4 24" 1,6 Ghz, 1 Go, SuperDrive
iPhone 12 mini 128 Go
iPad Pro 11", iPad mini Cellular...
|
|
Revenir en haut de page |
|
|
blackjmac Modérateur
Inscrit le: 04 Jan 2005 Messages: 16711 Localisation: /Library/Scripts/
|
|
Revenir en haut de page |
|
|
aegir PowerBook de Corail
Inscrit le: 30 Juin 2004 Messages: 118
|
Posté le: Ven 13 Mai 2005 à 20:11 Sujet du message: |
|
|
lpascalon a écrit: | En effet
aegir, tu as fait quoi pour l'effacer ?? |
1) J'ai posté mon message, j'ai eu l'erruer ; « le serveur a interrompu la connexion ».
2) J'ai fait « back », et re-validé le message, j'ai eu la réponse du forum « session invalide ».
3) J'ai re-fait « back » pour faire un copier/coller de ma prose, je suis retourné sur le forum, j'ai fais « poster une réponse » (sans regarder si mon post était déjà passé) et j'ai fait « coller » de ma prose puis j'ai validé.
4) Je constate que le message est en double.
5) Je prends un des 2 et je clique sur la croix à coter du bouton "éditer" pour le supprimer.
6) Réponse du serveur : « vous ne pouvez supprimer que les messages qui vous appartiennent »
7) je reviens, je constate que le thread a disparu, je fais donc « nouveau sujet » je refais « coller » de ma prose, en ajoutant le truc en rouge au début. |
|
Revenir en haut de page |
|
|
blackjmac Modérateur
Inscrit le: 04 Jan 2005 Messages: 16711 Localisation: /Library/Scripts/
|
Posté le: Ven 13 Mai 2005 à 20:15 Sujet du message: |
|
|
tiens le sujet à quand les nouveaux ibooks est revenbu en dessous _________________ La mine d'or pour OS X - http://www.versiontracker.com/macosx/
|
|
Revenir en haut de page |
|
|
lpascalon Administrateur
Inscrit le: 30 Nov 2002 Messages: 31865 Localisation: Toulouse
|
Posté le: Ven 13 Mai 2005 à 20:38 Sujet du message: |
|
|
Il se passe un truc cuper louche, mais sans explication _________________ Ludovic
Evitez de m'envoyer des messages perso sur le forum. Je préfère les mails.
MBP M1 16", 16 Go, SSD 512 Go
iMac 27" 2,9 GHz, 16 Go, 3 To FusionDrive
iMac G4 24" 1,6 Ghz, 1 Go, SuperDrive
iPhone 12 mini 128 Go
iPad Pro 11", iPad mini Cellular...
|
|
Revenir en haut de page |
|
|
blackjmac Modérateur
Inscrit le: 04 Jan 2005 Messages: 16711 Localisation: /Library/Scripts/
|
Posté le: Ven 13 Mai 2005 à 21:00 Sujet du message: |
|
|
bon, je pense qu'on peut en refermer un. Je propse celui-ci _________________ La mine d'or pour OS X - http://www.versiontracker.com/macosx/
|
|
Revenir en haut de page |
|
|
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
|
|
|
|
|
|
Pour soutenir le développement
du site, passez par ici pour faire vos achats AppleStore
Powered by phpBB © 2001, 2002 phpBB Group Traduction par : phpBB-fr.com
|