Оптимизирована ли Ubuntu для многоядерных процессоров?


33

Использует ли Ubuntu многоядерные процессоры (как говорят, в Windows 7)?

Другими словами, оптимизирована ли многозадачность, чтобы пользователи могли использовать преимущества 4+ ядерных процессоров?


7
Слово «оптимизированный» в этом случае не имеет никакого смысла. Ядро Linux поддерживает многоядерные процессоры, поэтому Ubuntu тоже. «Оптимизация» определяется уровнем качества этой «поддержки».
gd1

2
Если вам нужна максимальная производительность, вы можете запустить 64-битную версию Ubuntu, которая может быть быстрее в некоторых задачах.
Аноним

@ Аноним Не будет ли это потому, что он может использовать больше оперативной памяти? 32-битная может использовать только столько ГБ ОЗУ (включая все видеокарты и т. Д.), Но требует специальных процессоров и операционных систем.
Анонимный Пингвин

Ответы:


45

Да, Ubuntu оптимизирован для многоядерных процессоров и используется уже много лет.

Немного предыстории :

«Версия 2.0 (ядра Linux) была выпущена 9 июня 1996 года. В серии было 41 выпуск. Основной особенностью 2.0 была поддержка SMP (то есть симметричная многопроцессорная обработка в одной системе) и поддержка большего количества типов процессоров. «.


4
В основном у Linux был SMP до Abacus. Он даже поддерживает SSMP2, но мы никогда не узнаем, что это такое, пока технология не догонит Linux.
Луис Альварадо

Конечно лучше, чем окна! ;)
Пол

2
@ Майкл К, для протокола: ядро ​​Windows NT уже давно имеет хорошую поддержку SMP. Являются ли приложения достаточно умными, чтобы правильно использовать преимущества нескольких процессоров или ядер - это совсем другой вопрос.
Мирча Chirea

25

Ubuntu - это операционная система, дистрибутив Linux. Операционная система состоит из нескольких программных компонентов, таких как ядро, библиотеки , службы / демоны, приложения и т. Д.

Ubuntu использует ядро Linux, которое использует симметричную многопроцессорность (SMP) и несколько ядер. Он очень хорошо масштабируется от одноядерных систем с низким уровнем производительности до суперкомпьютерных кластеров высокого класса с тысячами многоядерных процессоров.

Ubuntu поставляется с сотнями библиотек, некоторые из которых являются многопоточными и поточно-ориентированными, а некоторые - нет. В некоторых случаях имеет смысл быть многопоточным, в других это не применимо, обычно возможно или не имеет особого смысла.

Ubuntu поставляется с сотнями приложений, некоторые из которых написаны для использования многоядерных процессоров, а некоторые нет. В некоторых случаях имеет смысл кодировать приложение как таковое, в других случаях это невозможно. Не все приложения, которые могут или должны использовать несколько ядер, делают это.

Например, для игры имеет смысл использовать многоядерный режим для графики, аудио, сети, физики и т. Д. Но для калькулятора, инструмента для создания снимков экрана, suduko или редактора меню не имеет смысла быть осведомленными о многоядерности.


«торгово-сейф»? Вы имели в виду потокобезопасность?
Flimm

10

Ядро Ubuntu долгое время поддерживает несколько процессоров, не имеет значения, если его многоядерные или несколько процессоров в одной системе, они будут обрабатываться отлично.

Однако следует помнить одну вещь: только то, что система поддерживает несколько процессоров / ядер и те, которые присутствуют в системе, не означает, что ваши приложения будут автоматически работать быстрее. В наши дни вы много говорите об обратном, это маркетинговая вещь.

Чтобы приложение могло одновременно использовать несколько процессоров / ядер, оно должно быть построено так, чтобы распределять нагрузку по процессам на эти процессоры / ядра.

Т.е.: допустим, вы запускаете что-то такое же простое, как wordpadв Windows, и открываете с ним огромный текстовый файл, время загрузки будет таким же, как у вас 1 ЦП, так и 1 ЦП (для процессоров с одинаковой скоростью шины и схожей архитектурой). OFC).

То же самое относится к ядру Linux и дистрибутиву Ubuntu: если приложение создается для одного потока, то больше ничего делать не будет.

Одна вещь, которую операционные системы сейчас делают несколько дней, чтобы оптимизировать загрузку приложений для нескольких процессоров / ядер, - это способность запускать процесс на ядре, которое загружено не так, как другие, таким образом, балансируя нагрузку и следя за тем, чтобы ваши несколько ядер использование является оптимальным. Практически, использование этой техники приносит небольшие улучшения скорости.

Если вы действительно хотите, чтобы ваши ядра сияли, вам необходимо интенсивно использовать процессор с программами, поддерживающими симметричную многопроцессорность , такими как редактирование видео и т. Д.


1

Да, он отлично работает для меня, и у меня есть несколько процессоров и гиперпоточность, что я забыл, что это значит, но я уверен, что это означает, что каждый процессор может выполнять несколько потоков, что в сочетании с тем, что каждый процессор имеет 2 ядра, казалось бы, проблема. Единственная проблема, с которой я столкнулся на данный момент, заключается в том, что программы в Ubuntu обычно замораживают ее. Я сделал это реже, уменьшив перестановку, так как у меня 6 ГБ ОЗУ.


Ваш комментарий о зависании программ может быть лучше задан в вопросе об этом. Если вы не можете найти подходящие вопросы о висящих программах, вы можете задать их самостоятельно, а затем ответить на них - это совершенно нормально в askubuntu. Я не предлагаю, чтобы вы удалили комментарии здесь, просто чтобы вы поделились знаниями, которые вы узнали где-то, где их легче найти.
Джон С. Грубер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.