Ubuntu est-il optimisé pour les processeurs multicœurs?

33

Ubuntu utilise-t-il des processeurs multicœurs (comme Windows 7 est censé le faire)?

En d’autres termes, est-il multitâche optimisé pour que les utilisateurs profitent de plus de 4 processeurs principaux?

Paul
la source
7
Le mot "optimisé" n'a pas de sens ou peu de sens dans ce cas. Le noyau Linux supporte les processeurs multicœurs, donc Ubuntu aussi. L '"optimisation" est donnée par le niveau de qualité de ce "support".
Gd1
2
Si vous voulez plus de performances, vous pouvez exécuter la version 64 bits d’Ubuntu, qui peut parfois être plus rapide dans certaines tâches.
Anonyme
@Anonymous Ne serait-ce pas parce qu'il peut utiliser plus de RAM? 32 bits ne peuvent utiliser qu'un nombre limité de Go de RAM (y compris toutes les cartes vidéo, etc.), mais nécessitent des processeurs et des systèmes d'exploitation spéciaux.
Anonyme Penguin

Réponses:

45

Oui, Ubuntu est optimisé pour les processeurs multicœurs depuis de nombreuses années.

Quelques antécédents :

"La version 2.0 (du noyau Linux) a été publiée le 9 juin 1996. La série comptait 41 versions. La principale caractéristique de la version 2.0 était le support SMP (c'est-à-dire le multitraitement symétrique dans un seul système) et le support de plusieurs types de processeurs. . "

imbaer
la source
4
Fondamentalement, Linux avait SMP avant l’abaque. Il prend même en charge SSMP2 mais nous ne le saurons jamais tant que la technologie n’aura pas rattrapé Linux.
Luis Alvarado
Bien sûr, mieux que Windows! ;)
Paul
2
@ Michael K, pour mémoire, le noyau Windows NT supporte depuis longtemps très bien le protocole SMP. Que les applications soient suffisamment intelligentes pour tirer parti de plusieurs processeurs ou cœurs est un tout autre problème.
Mircea Chirea
25

Ubuntu est un système d'exploitation, une distribution Linux. Un système d'exploitation est composé de plusieurs composants logiciels tels qu'un noyau, des bibliothèques , des services / démons, des applications, etc.

Ubuntu utilise le noyau Linux qui utilise le multitraitement symétrique (SMP) et plusieurs cœurs. Il évolue très bien, des systèmes mono-cœur mono-processeur bas de gamme aux grappes de superordinateurs haut de gamme avec des milliers de processeurs multicœurs.

Ubuntu est livré avec des centaines de bibliothèques, certaines multi-threadées et thread-safe, d'autres non. Dans certains cas, il est logique qu’ils soient multi-threadés, dans d’autres, cela n’est pas applicable, généralement possible ou n’a pas grand sens.

Ubuntu est livré avec des centaines d’applications, certaines sont codées pour utiliser des processeurs multicœurs, d’autres pas. Dans certains cas, il est judicieux de coder l'application en tant que telle, dans d'autres cas, cela n'est pas possible. Toutes les applications pouvant ou devant utiliser plusieurs cœurs ne le font pas.

Exemple, il est judicieux pour un jeu d’utiliser plusieurs cœurs pour les graphiques, l’audio, le réseau, la physique, etc. Mais cela n’a aucun sens pour une calculatrice, un outil de capture d’écran, un suduko ou un éditeur de menus d’être conscient des cœurs.

Anonyme
la source
"sans danger pour le commerce"? Voulez-vous dire thread-safe?
Flimm
10

Le noyau d'Ubuntu supporte plusieurs processeurs depuis longtemps, peu importe si ses processeurs multicœurs ou multiples dans un système, ils seront parfaitement gérés.

Il faut cependant être conscient du fait qu’un système prend en charge plusieurs processeurs / cœurs et que ceux-ci sont présents dans un système, cela ne signifie pas que vos applications seront automatiquement exécutées plus rapidement. On vous dit souvent le contraire aujourd'hui, c'est un truc marketing.

Pour qu'une application puisse tirer parti de plusieurs processeurs / cœurs en même temps, elle doit être construite pour partager la charge du processus sur ces cœurs / processeurs.

Par exemple, disons que vous exécutez quelque chose d'aussi simple que wordpadWindows et que vous ouvrez un fichier texte énorme avec ce dernier, le temps de chargement sera le même que vous disposiez d'un processeur ou de 1 zillion de processeurs (pour les processeurs ayant la même vitesse de bus et une architecture similaire). ofc).

Il en va de même avec le noyau Linux et la distribution Ubuntu. Si une application est construite pour un seul thread, il n'y a plus rien de processeur à faire.

Une des choses que les systèmes opérationnels font maintenant plusieurs jours pour optimiser la charge des applications sur plusieurs processeurs / cœurs est la possibilité d'exécuter un processus sur un cœur moins chargé que l'autre, équilibrant ainsi la charge et garantissant la l'utilisation est optimale. En pratique, l’utilisation de cette technique n’apporte que peu d’améliorations de la vitesse.

Si vous voulez vraiment voir briller vos cœurs, vous devez utiliser beaucoup le processeur avec des programmes prenant en charge le multitraitement symétrique , comme le montage vidéo, etc.

Bruno Pereira
la source
1

Oui, cela fonctionne parfaitement pour moi et j'ai plusieurs processeurs et hyper-threading, ce que j'ai oublié ce que cela signifie, mais je suis sûr que cela signifie quelque chose à propos du fait que chaque processeur peut exécuter plusieurs threads, ce qui, combiné avec le fait que chaque processeur a 2 noyaux, semble être un problème. Le seul problème que j'ai rencontré jusqu'à présent est que les programmes sur Ubuntu ont tendance à geler. J'ai fait que cela se produise moins souvent en diminuant le swappiness puisque j'ai 6 Go de RAM.

pieds nus138
la source
Le commentaire que vous faites sur les programmes suspendus pourrait être mieux placé dans une question à ce sujet. Si vous ne trouvez pas de questions appropriées sur les programmes de suspension, posez-les vous-même et répondez-y, c'est parfaitement bien chez askubuntu. Je ne suggère pas que vous supprimiez les commentaires ici, mais simplement que vous partagiez les connaissances que vous avez apprises quelque part où elles pourraient être plus facilement trouvées.
John S Gruber