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

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

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

4 ответа

Решение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам