Как узнать сколько потоков в процессоре windows 10: Как проверить количество ядер и потоков в моем процессоре?

Содержание

Как узнать сколько потоков у процессора

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

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

Таким образом, производственные способности просто нивелируются. Это явление получило название bottleneck, что в переводе значит «узкое место» или «узкая шея».

Прежде чем говорить о данной проблеме , стоит уточнить само определение этого термина. Сама технология носит название Hyper-threading, в источниках часто встречается аббревиатура HT.

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

Потоки условно принято считать теми же ядрами, только не физическими, а виртуальными. Почему так, а не иначе, подробно описано ниже.

Как узнать сколько потоков у процессора

Само ядро – это непосредственно тот элемент, который отвечает за математические вычисления, согласно принятому в нем алгоритму. Процессор можно назвать своего рода «коробкой» для ядер, он объединяет их и обеспечивает взаимодействие с остальными компонентами системы.

Коротко по сути и маленькая предыстория 

Технология Hyper-threading дает возможность хранения двух потоков одновременно. Поэтому при использовании операционной системы Windows, процессор на 2 ядра имеет в своем активе 4 потока. Такие вычислители еще часто называют процессорами, поддерживающими Hyper-treading (гипертрейдинг).

Дорогие и высокопроизводительные процессоры содержат ядра и потоки. Многие считают, что это смежные понятия, однако это не до конца верно. Впервые потоки появились еще в те времена, когда на рынке технологий царствовал Pentium 4.

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

Программ, которые могли корректно использовать данное преимущество было не много, если вообще были. Эта разработка находилась на стадии, своего рода, полевых исследований.

Система сама все о себе знает 

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

Чтобы узнать подробную информацию в операционной системе Windows существует «Диспетчер задач», который в том числе   покажет, сколько ресурсов компьютера используется в данное   время.

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

Ctrl+Alt+Delete.

Так это выглядит на Windows 10. Пользователи Mac OS найдут на своем компьютере утилиту «Принудительное завершение программ», которое легко вызвать при помощи клавиш cmd alt Esc. Она также дает возможность закрыть программу, которая перестала отвечать.
Еще одна популярная операционная система с открытым исходным кодом, Linux, тоже содержит   диспетчер задач, только называется он по-другому – «Системный монитор».

Добраться до него помогут 3 простых шага:

  1. Меню
  2. Системные утилиты
  3. Системный монитор

или можно воспользоваться командой

gnome-system-monitor.

Функционал «Системного монитора» полностью соответствуют таковым в «Диспетчере задач» Windows и «Принудительному завершению программ» в операционной системе от компании Apple.

Почему так быстрее

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

Количество потоков   всегда вдвое больше, нежели количество ядер (при наличии «на борту» технологии HT). 2 ядра равнозначно 4-ем потокам, 4 ядра равнозначно 8-и потокам. Алгоритм просчета не может бить иным. Авторство разработки принадлежит компании Intel, являющейся лидером в производстве процессоров на массовом потребительском рынке.

Таким образом, одно физическое реальное ядро состоит из двух виртуальных ядер. Не только ОС, но и программы, которые установлены   на устройстве, видят это и используют открытый перед ними потенциал возможностей. Если программа поддерживает многопоточность, то работать она будет намного быстрее.

Пошаговое руководство для новичков

Соответственно, чтобы узнать количество потоков, необходимо выяснить количество ядер, содержащихся в процессоре. Для это есть 3 (как минимум) способа:

1. Документация устройства, в которой подробно указаны   характеристики.
2. Интернет, где можно   ввести модель ноутбука и посмотреть, что находится у него «под капотом».
3. Или же в этом может помочь уже упомянутый ранее «Диспетчер задач», в котором нужно выбрать пункт меню «Производительность».

Так как узнать, сколько потоков у конкретного процессора подскажут полезные информационные поля под диаграммой, дополнительных программ устанавливать не требуется. Поле «Ядра» сообщает о количестве физических ядер, а поле «Логические процессы» подсказывает сколько логических или же виртуальных ядер содержит компьютер.

Проанализировав скриншот выше, становится очевидно, что данная электронно-вычислительная машина, то бишь компьютер, содержит 4 ядра и 8 логических процессов (считай – потоков). Когда значения двух параметров одинаковы, это означает, что данный компьютер не поддерживает технологию HT (Hyper-threading).

Как поставить все ядра.

Как включить все ядра

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

как проверить количество работающих ядер . А узнав, что в компьютере задействуются не все возможности процессора, они искали способ запустить CPU на все 100%.

В данный момент такой вопрос решается очень легко, однако не все пользователи ПК знают, как это сделать. Для выяснения данной информации нужно всего лишь запустить какую-нибудь сложную программу или игру, а после открыть диспетчер задач. В нём можно будет увидеть, все ли ядра загружены работой. И если ваш компьютер покажет, что он ленится и не использует все свои возможности, то в этой статье можно будет узнать.

Выясняем количество ядер процессора

Определить количество потоков, установленного на компьютере CPU, можно несколькими способами:

  • прочитав руководство, прилагаемое к процессору;
  • имеющихся в операционной системе утилит;
  • при помощи дополнительного программного обеспечения.

Документация к ЦП

Найдите инструкцию, прилагаемую к CPU, или его упаковку. Запишите точное наименование модели процессора, а после разыщите его описание в интернете. Среди параметров будет указано количество ядер, встроенных в ЦП .

Полезная информация! Узнать модель процессора можно в свойствах системы Windows: вызвать контекстное меню значка «Мой компьютер». Далее, нажать пункт «Свойства». В появившемся окне можно будет увидеть строку, где отображается название ЦП.

В операционной системе

С помощью поиска найдите утилиту «Диспетчер устройств» и откройте её. Здесь необходимо выбрать раздел «Процессоры», где можно будет увидеть, сколько ядер имеет CPU.

Дополнительные приложения

Существует множество программных продуктов , которые дают возможность узнать параметры центрального процессора. Самые распространённые ПО это:

AIDA64 . Приложение имеет условно-бесплатный период использования. У программы есть довольно большие возможности по диагностике персонального компьютера.

Чтобы узнать нужную вам информацию о количестве ядер, требуется: Открыть AIDA64 и выбрать пункт «Системная плата». Далее, перейти в раздел ЦП, в котором выбрать «Multi CPU».

Второй способ: перейти в пункт «Компьютер» и открыть в нём раздел «Суммарная информация». После выбрать подпункт «Системная плата» и там найти строку «Тип ЦП». Кликнув левой кнопкой на процессоре, выбрать функцию «Информация о продукте».

CPU-Z . Это лёгкая к системным требованиям и свободно распространяемая программа . Узнать в ней, сколько ядер у вашего процессора, можно так:

Откройте приложение CPU-Z и нажмите на закладку «ЦП». В имеющемся там пункте «Число активных ядер» будет отображено количество встроенных ядер в центральный процессор.

Работа процессора без дополнительных настроек

Важно знать! Многоядерные процессоры используют все имеющиеся у них ядра. Чаще всего они работают на разных частотах. Время от времени система может отключать некоторые потоки ЦП для экономии энергии. Такая функция называется парковка ядер процессора . Это зависит от того, как настроен BIOS или специализированные утилиты управляющие режимами CPU.

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

В случае применения нескольких кранов улучшается производительность. И так же получается во время эксплуатации множества ядер в центральном процессоре — он начинает быстрее и результативнее обрабатывать информацию, которая поступает.

Имеет значение! CPU функционирует в многоядерном состоянии только тогда, когда приложение, которое он обрабатывает, предназначено для такого режима. В том случае, когда разработчик программы не осуществил в нём функцию поддержки многопоточных процессоров, то будет использовано лишь одно ядро.

Существует один период во время работы О. С. Windows 10, когда в активном состоянии находится всего лишь один поток процессора. Это момент, когда компьютер загружает операционную систему. Хотя и в таком случае положение дел возможно исправить. Для этого необходимо знать, как включить 4 ядра на Windows 10, используя штатные средства операционной системы и настройки микропрограммы материнской платы (BIOS).

Встроенные утилиты Windows 10

  1. Для применения встроенных утилит требуется запустить в меню пуск команду «Выполнить» или употребить сочетание кнопок «Win + R». Далее, набрать слово без кавычек: «msconfig» и нажать на ENTER.
  2. Откроется инструмент системы со стандартными настройками O. S. Windows .
  3. Нужно выбрать закладку «Загрузка» и нажать на пункт «Дополнительные параметры». После этого отметить галочкой самый верхний левый пункт и указать в выпадающем списке максимальное число ядер. Если вы считаете, что 2 потоков будет достаточно, то можете выставить такое количество.
  4. С правой стороны тоже требуется активировать функцию «Максимум памяти», поставив галочку в этом пункте. Существенным требованием при этом будет то, что на отдельный поток процессора необходимо использовать как минимум 1 гб оперативной памяти. В связи с этим, если на компьютере, например, стоит 8-ядерный CPU, но только 2048 mb ОЗУ , то в параметре «Число процессоров» устанавливайте не выше двух ядер, чтобы не ухудшить ситуацию. Это требование нужно обязательно учитывать при использовании всех ядер процессора во время запуска системы.
  5. Птички в параметрах «Блокировка PCI» и «Отладка» должны отсутствовать.
  6. По окончании настроек и применении внесённых изменений ПК попросит перезагрузку, чтобы конфигурация начала работать выполните это требование. Сначала лучше загрузить Windows 10 в безопасном режиме для того, чтобы убедиться, что все функционирует нормально.

Настройки BIOS

Изменять параметры микропрограммы BIOS следует только в тот момент, когда они сбросились на стандартные установки по причине технического сбоя. Ещё подобная ситуация может произойти при падении заряда в батарейке стандарта CR2032, которая находится на материнской плате и отвечает за сохранение пользовательских настроек BIOS. В других ситуациях все ядра CPU в системе BIOS должны запускаться автоматически.

Для включения всех ядер перейдите в пункт «Advanced Clock Calibration» в меню микропрограммы BIOS. И настройте здесь характеристики «All Cores» либо «Auto».

Внимание! Пункт меню «Advanced Clock Calibration» в некоторых вариантах BIOS, возможно, будет именоваться по-другому. Тогда необходимо свериться с руководством, прилагаемым к материнской плате компьютера.

Изменения в производительности компьютера

Изменится ли после этого производительность компьютера? Скорее всего, не сильно. Что бы ни говорили многие люди по этому методу ускорения ПК, он не особо добавит скорости в работе системного блока. Описанный приём может дать прирост производительности лишь во время загрузки Windows из-за того, что при стандартных настройках для такой задачи задействуется только одно ядро процессора. Однако в то время, когда ОС уже полностью загрузилась, то в работу включаются все имеющиеся ядра. И далее, каждое начинает функционировать по-своему, на собственной частоте.

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

Иными словами, не стоит сильно увлекаться этим вопросом и тратить своё драгоценное время на такое незначительное улучшение. Эффективнее изменить другие, более существенные в компьютере параметры и компоненты, чтобы ваш системный блок мог надёжно справляться с современными приложениями и задачами.

Современные компьютеры имеют большие вычислительные возможности, поэтому удивить двух-, четырех- или даже шестиядерным процессором кого-то сложно. Но начинающий пользователь, не знакомый с особенностями технической «начинки» устройства, может заинтересоваться, как включить все ядра на Windows 10, чтобы увеличить производительность компьютера.

Как узнать количество ядер процессора?

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

В описании ЦП

Посмотрите в инструкции к устройству, какая модель установлена на вашем компьютере. После этого найдите описание процессора в интернете.

Полезно! Посмотреть модель можно и в описании ОС: ПКМ на меню Пуск → Система → в блоке «Система» указано наименование ЦП.

В Windows

Программами

Создано много программ, которые показывают характеристики устройства.

CPU-Z
AIDA64

Условно-бесплатная утилита AIDA64 содержит большой набор функций.

Запустите программу → Системная плата → ЦП → Multi CPU.

Альтернативный вариант: Компьютер → Суммарная информация → блок Системная плата → в строке «Тип ЦП» ЛКМ на процессоре → Информация о продукте .

Сколько ядер используется по умолчанию

Главное запомните! В многоядерном процессоре все ядра работают всегда и одновременно (прочитайте статью «Настройка максимальной производительности Windows 10 для ускорения работы компьютера »). В основном они функционируют на разной частоте (в зависимости от настроек BIOS или специальных утилит, которые поставляются вместе с материнскими платами).

Преимущества работы многоядерного ЦП можно представить следующим образом. Если человек наливает в ведро воду из одного крана, он сделает эту работу за один период времени. Если включить второй кран, наполнить ведро можно намного быстрее, но объем воды, который суммарно можно в него вместить, не увеличится.

При использовании двух кранов оптимизируется работа. То же происходит при использовании нескольких ядер в ЦП – он быстрее и продуктивнее обрабатывает данные, которые поступают для вычисления.

Важно! Процессор работает в многопоточном режиме только в случае, если программа, которую он выполняет, для этого оптимизирована. Если производитель софта не воплотил в нем поддержку многоядерных ЦП, будет задействовано только одно ядро.

Как задействовать все ядра?

В Windows 10


Важно! На каждое ядро должно приходиться не менее 1024 Мб оперативной памяти, иначе вы добьетесь обратного эффекта.

В BIOS

Вносить изменения в BIOS можно только в случае, если они «слетели» из-за сбоя в ОС (прочитайте статью «Загрузка компьютера Windows 10 в безопасном режиме », чтобы узнать, как запустить ПК, если он работает нестабильно). В остальных случаях все ядра процессора в BIOS включаются автоматически.

Чтобы включить все ядра, зайдите в раздел Advanced Clock Calibration в настройках BIOS. Установите в нем показатели «All Cores» или «Auto».

Важно! Раздел Advanced Clock Calibration в разных версиях BIOS может называться по-разному.

Вывод

Во время работы все ядра процессор задействованы, но они функционируют на разной частоте (в зависимости от сделанных настроек). Включить все ядра ЦП можно при загрузке ОС в настройках BIOS или в параметрах «Конфигурация системы». Это сократит время загрузки ПК.

В 2005 году, Intel выпустила первый 2-ядерный ЦП для персональных компьютеров – Intel Pentium D заложив основы многоядерных вычислений для домашних программ и приложений. Современные CPU обладают большим количеством ядер и вычислительных потоков, по сравнению с далёким 2005 годом. Например, Intel Core i7-8700 обладает 6 ядрами и 12 вычислительными потоками. В данном статье мы расскажем, как включить все ядра процессора на Windows 10.

Запустить все ядра процессора Windows 10

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

Для начала, проверим ЦП на «многоядерность».

Откройте «Диспетчер устройств» (Win+X) и раскройте список Процессоры.

Если у Вас не многопроцессорная система (когда материнская плата позволяет использовать больше одного CPU, встречается в серверном сегменте компьютеров), но будет отображаться количество всех вычислительных ядер процессора (и физические и логические потоки).

Вы также можете уточнить спецификацию Вашего ЦП на сайте производителя – Intel или AMD.
Еще проверить количество можно через редактор реестра Windows. Откройте редактор реестра (regedit) и пройдите по пути:

HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor

В данной ветке будет указана информация о версии, модели, ревизии, частоте и других параметрах ЦП.

Настроить количество ядер на Windows 10 можно в параметрах Конфигурации системы. Для этого откройте окно Выполнить (Win+R) и введите команду msconfig .

Перед нами появится окно настройки памяти и ядер процессора.

По умолчанию, все галочки должны быть сняты (количество ядер при этом указывается как 1) и данные параметры неактивны. Чтобы активировать все ядра процессора Windows 10, поставьте галочку «Число процессоров» и в выпадающем меню, выберите максимально доступное число (в нашем случае это 8).

Нажмите ОК и выполните перезагрузку для внесения изменений в систему.

Включить второе ядро процессора Windows 10 можно таким же образом, выставив значение 2 или сняв галочку с «Числа процессоров», в этом случае число будет определяться на основе данных UEFI (BIOS).

Подключить все ядра процессора Windows 10 через UEFI

Сменить количество ядер можно не только в параметрах системы, в этом также может помочь UEFI (BIOS) материнской платы.

В зависимости от параметров ЦП и производителя материнской платы, настройки могут значительно отличаться. Материнские платы выше бюджетного уровня позволяют тонко настраивать работу внутренних процессов системы, начиная от скорости оборотов кулеров, заканчивая разгоном CPU и памяти.

На примере материнской платы Asrock Z68, настройки Advanced (Расширенные) – CPU Configuration (Настройки ЦП) позволят настроить количество активных ядер и включить\выключить Hyper-Threading и выставить нужные настройки для CPU.

Hyper-Threading – технология многопоточности Intel. Позволяет использовать на одном физическом ядре — 2 логических потока вычислений. На четырех – 8 потоков и т.д.

Настройка Active Processor Cores отвечает за количество активных ядер ЦП. На изображении выбор между All (Все), 1, 2 и 3, так как i7 -2600 четырехядерный.

Выбрав значение All Вы сможете использовать все ядра процессора.

Если Вы задатесь вопросом, как включить 2 или 4 ядра на Windows 10 используя UEFI, то в дополнительных настройках CPU можно настраивать не только количество ядер, но и количество потоков.

Стоит обратить внимание, что функционал зависит от производителя версии BIOS.

Разблокировать ядра для приложений

Стоит обратить внимание, что приложения создаются на основе инструментов, предоставленных Microsoft. Поэтому приложение создаётся с необходимыми условиями использования многопоточности или одного ядра. Если приложение создано с учётом использования одного ядра, разблокировав их все, разницы в производительности Вы не заметите.

Но бывают разные случаи, когда их разблокировка помогала устранить некоторые проблемы производительности и лагов. Для этого откройте Диспетчер задач (Ctrl+Shift+Esc) и пройдите во вкладку Подробности . Среди большого количества приложений, найдите нужное и нажмите ПКМ. Затем, выберите задать сходство и в следующем окне выберите «Все процессоры» .

Как отключить ядро процессора в Windows 10?

Используя все методы, описанные выше, Вы можете отключить ядра ЦП. Это может помочь Вам в случае с перегревом, но лишь в крайних случаях. Мы не рекомендуем отключать или включать ядра, без должной на это необходимости, иначе Вы можете столкнуться со множественными ошибками и BSOD’ами системы.

Как разблокировать ядра на процессорах AMD?

ЦП семейства Phenom II, Athlon X2, Athlon II, Sempron обладают скрытым потенциалом в виде заблокированных ядер. Суть скрытых ядер заключается в отбраковке ЦП с бòльшим их количеством (показатели не вписываются в стандартные, ошибки, перегрев и т.д.). Например, Вы покупаете 2-ядерный ЦП, у которого их физически 4, но они не активны.

Разблокирование и активация зависит от нескольких факторов, например нужная модель ЦП, чипсета или северного моста материнской платы. Наиболее подробную информацию по данной теме, Вы найдете на форуме оверклокеров forums. overclockers.ru. Информации там предоставлено очень много и в случае возникновения вопросов или сложностей, Вы сможете уточнить сразу на форуме.

Отличного Вам дня!

Как включить все ядра на Windows 7? Таким вопросом часто задаются пользователи, и периодически зависают.

Даже на многоядерных устройствах могут появляться торможения. Рассмотрим детальнее, как эффективно ускорить работу ПК и «заставить» систему использовать все доступные ядра на полную.

Современные компьютеры – это многоядерные устройства. Однако, ни одна операционная система не использует все ядра на полную мощность.

Подобное ограничение необходимо для экономии ресурсов ПК и ноутбуков.

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

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

Способ 1 – Настройка многозадачности в режиме автозагрузки ОС

Этот вариант настройки является одним из самых простых и эффективных. Суть – разгон процессора происходит сразу .

Пользователь всегда может изменить настройки и вернуть первоначальные параметры.

Следуйте инструкции:

  • Откройте окно выполнения команд с помощью сочетания клавиш Win и R ;
  • В текстовом поле открывшегося окошка вбейте команду настройки системной конфигурации msconfig;

Рис. 1 – вызов окна конфигурации Windows

  • Теперь перейдите во кладку загрузок. Тут вы может просмотреть версию установленной ОС, настроить безопасный режим и другие параметры загрузки;
  • Нажмите на клавишу дополнительных параметров ;

Рис. 2 – окно конфигурации Виндовс

  • В открывшейся вкладке проставляется режим использования доступных вычислительных характеристика вашего ПК. Проставьте галочки напротив числа процессоров и максимального объема памяти. Эти строки раньше были неактивны, так как компьютер находился в режиме экономного потребления ресурсов;
  • Выберите наибольшее количество ядер и максимальное количество доступной памяти;

Рис. 3 – настройка параметров загрузки

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

Оптимальное число для быстрой работы – 5-6 ядер и по 1024 МБ памяти на каждый процессор.

Читайте также:

Способ 2 – настройка BIOS

Еще один вариант настройки скорости работы ОС – это проставление новых настроек в БИОСе.

Такой вариант позволяет не только увеличить эффективность выполнения задач, но и предотвращает возникшие в ОС сбои и регулярное появление синего экрана.

Программа позволяет провести комплексную настройку аппаратных и программных составляющих:

  • Процессора;
  • Кэша;
  • Материнской платы;
  • Памяти;
  • Параметров системного модуля (Serial Presence Detect).

Для включения всех ядер нам понадобится вкладка CPU. На рисунке ниже представлено окно отображения конфигурации в приложении CPU-Z.

Внизу есть поле Cores, его значение – это количество ядер ПК, которые функционируют на одной частоте. Пропишите в поле максимальное количество процессоров.

Поле Threads (потоки) должно быть равным Cores.

Рис. 5 – главное окно приложения CPU-Z

После внесения изменений следует нажать клавишу «ОК». Выключить программу и перезагрузить устройство.

Способ 4 – программа AIDA64

Еще одна хорошая программа для настройки количества используемых ядер – это AIDA64 . Особенности приложения:

  • Возможность просмотра аппаратных характеристик ПК или ноутбука;
  • Формирование отчетов о работе устройства;
  • Отображение характеристик установленной ОС;
  • Возможность изменения параметров использования процессора;
  • Функция тестирования скорости работы ПК.

Для начала посмотрите, сколько ядер доступно в вашем ПК. Информация находится во вкладке Multi CPU (в левой части окна выберите пункт «Системная плата» -«ЦП» ):

Рис. 6 – главное окно утилиты AIDA64

Включите каждое из ядер. Перезагрузите программу и проверьте, не сбилась ли активация процессоров. Такое может случаться из-за конфликта программы и аппаратных составляющих ПК.

Следует повторить настройку еще раз. Осталось только повторно и наслаждаться его быстрой работой.

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

Если ваш компьютер без задействования всех ядер работает слишком медленно – это может свидетельствовать о сбоях в ОС.

Следует провести комплекс действий для оптимизации работы операционной системы.

Обладатели мощных компьютерных систем на основе многоядерных процессоров, конечно же, пытаются «выжать» из них все возможное в плане увеличения производительности машин, работающих, например, под управлением ОС Windows 7 или ей подобных. Но вот далеко не все знают, как включить ядра на «компе». Windows 7, равно как и более новые системы, предлагает универсальное решение, которое и будет рассмотрено ниже.

Что дает включение всех ядер процессора

Многие пользователи насчет задействования системой всех ядер процессора имеют довольно искаженное мнение. Запомните, включить два или четыре ядра можно, но это не одно и то же, что использование двух или четырех процессоров! Прирост производительности будет не таким, как ожидается.

Передача или считывание данных будет производиться быстрее, но объем обрабатываемой информации останется тем же. Чтобы понять, для чего и как включить все ядра на Windows 7 (и, вообще, стоит ли это делать), проведем некую аналогию с приемом пищи. Само собой разумеется, что в рот пищу можно положить одной рукой, а можно и двумя. В данном случае руки — это ядра процессора. Понятно, что при использовании обеих рук процесс пойдет намного быстрее. Но вот беда: когда рот заполнится, никакие руки, будь их хоть четыре, хоть шесть, не помогут. Пищу будет просто некуда класть.

Точно то же самое творится и с вычислительными возможностями Здесь происходит только оптимизация количества операций, производимых в определенный промежуток времени каждым ядром, но суммарный объем остается прежним, и выше этого показателя, как говорится, не прыгнешь.

Как включить все на Windows 7 при изменении настроек BIOS

Итак, для начала рассмотрим самую нелицеприятную ситуацию, когда по каким-либо причинам в BIOS были внесены изменения параметров, происходил сброс настроек или система просто «слетела».

В данном случае, решая вопрос, как включить все ядра на Windows 7, нужно отталкиваться от специфичных настроек. Для этого используется раздел под названием «Advanced Clock Calibration», где должно быть установлено значение по умолчанию «Auto» или «All Cores» (в разных модификациях BIOS названия разделов могут отличаться или находиться во вкладках с другими параметрами).

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

Как включить все ядра на Windows 7 при помощи средств конфигурации системы

Впрочем, даже если настройки BIOS оказываются настроенными правильно, а ядра процессора все равно не задействованы, можно использовать и собственные средства самой «операционки».

Как включить все ядра на Windows 7 в этой ситуации? Тут необходимо вызвать меню «Выполнить» и прописать там команду «msconfig» для входа в параметры конфигурации. Здесь имеется нужная нам вкладка «Загрузка». Чуть ниже основного окошка расположена кнопка дополнительных параметров. Нажав на нее, мы попадаем в меню настройки.

Слева используем строку количества процессоров и выбираем количество, соответствующее количеству ядер Можно не переживать, больше, чем их есть на самом деле, система не отобразит. Например, нам нужно решить проблему, как включить 4 ядра на Windows 7. Как уже понятно, из списка выбираем именно это количество. После произведенных изменений сохраняем конфигурацию и перезагружаем компьютер.

Но тут есть свои подводные камни. С такими операциями нужно быть очень осторожным. Важно знать, что при задействовании на каждое ядро должно приходиться не менее 1 Гб (1024 Мб) оперативной памяти. Если показатель планок «оперативки» не соответствует необходимым значениям, нечего и пытаться. Так можно получить только обратный эффект. В данном случае речь идет о стационарных компьютерах ручной сборки. Ноутбукам (если оборудование не менялось) это не грозит, поскольку любой производитель учитывает возможность использования всех ядер процессорной системы. Обратите внимание, ведь для 2-ядерных процессоров, как правило, соответствует не менее 2 Гб «оперативки», для 4-ядерных — не менее 4 Гб и т.д.

В обязательном порядке должны быть отключены пункты отладки и блокировки PCI.

Вместо послесловия

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

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

Как подключить все ядра процессора windows 10. Как задействовать все ядра процессора

В 2005 году, Intel выпустила первый 2-ядерный ЦП для персональных компьютеров – Intel Pentium D заложив основы многоядерных вычислений для домашних программ и приложений. Современные CPU обладают большим количеством ядер и вычислительных потоков, по сравнению с далёким 2005 годом. Например, Intel Core i7-8700 обладает 6 ядрами и 12 вычислительными потоками. В данном статье мы расскажем, как включить все ядра процессора на Windows 10.

Запустить все ядра процессора Windows 10

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

Для начала, проверим ЦП на «многоядерность».

Откройте «Диспетчер устройств» (Win+X) и раскройте список Процессоры.

Если у Вас не многопроцессорная система (когда материнская плата позволяет использовать больше одного CPU, встречается в серверном сегменте компьютеров), но будет отображаться количество всех вычислительных ядер процессора (и физические и логические потоки).

Вы также можете уточнить спецификацию Вашего ЦП на сайте производителя – Intel или AMD.
Еще проверить количество можно через редактор реестра Windows. Откройте редактор реестра (regedit) и пройдите по пути:

HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor

В данной ветке будет указана информация о версии, модели, ревизии, частоте и других параметрах ЦП.

Настроить количество ядер на Windows 10 можно в параметрах Конфигурации системы. Для этого откройте окно Выполнить (Win+R) и введите команду msconfig .

Перед нами появится окно настройки памяти и ядер процессора.

По умолчанию, все галочки должны быть сняты (количество ядер при этом указывается как 1) и данные параметры неактивны. Чтобы активировать все ядра процессора Windows 10, поставьте галочку «Число процессоров» и в выпадающем меню, выберите максимально доступное число (в нашем случае это 8).

Нажмите ОК и выполните перезагрузку для внесения изменений в систему.

Включить второе ядро процессора Windows 10 можно таким же образом, выставив значение 2 или сняв галочку с «Числа процессоров», в этом случае число будет определяться на основе данных UEFI (BIOS).

Подключить все ядра процессора Windows 10 через UEFI

Сменить количество ядер можно не только в параметрах системы, в этом также может помочь UEFI (BIOS) материнской платы.

В зависимости от параметров ЦП и производителя материнской платы, настройки могут значительно отличаться. Материнские платы выше бюджетного уровня позволяют тонко настраивать работу внутренних процессов системы, начиная от скорости оборотов кулеров, заканчивая разгоном CPU и памяти.

На примере материнской платы Asrock Z68, настройки Advanced (Расширенные) – CPU Configuration (Настройки ЦП) позволят настроить количество активных ядер и включить\выключить Hyper-Threading и выставить нужные настройки для CPU.

Hyper-Threading – технология многопоточности Intel. Позволяет использовать на одном физическом ядре — 2 логических потока вычислений. На четырех – 8 потоков и т.д.

Настройка Active Processor Cores отвечает за количество активных ядер ЦП. На изображении выбор между All (Все), 1, 2 и 3, так как i7 -2600 четырехядерный.

Выбрав значение All Вы сможете использовать все ядра процессора.

Если Вы задатесь вопросом, как включить 2 или 4 ядра на Windows 10 используя UEFI, то в дополнительных настройках CPU можно настраивать не только количество ядер, но и количество потоков.

Стоит обратить внимание, что функционал зависит от производителя версии BIOS.

Разблокировать ядра для приложений

Стоит обратить внимание, что приложения создаются на основе инструментов, предоставленных Microsoft. Поэтому приложение создаётся с необходимыми условиями использования многопоточности или одного ядра. Если приложение создано с учётом использования одного ядра, разблокировав их все, разницы в производительности Вы не заметите.

Но бывают разные случаи, когда их разблокировка помогала устранить некоторые проблемы производительности и лагов. Для этого откройте Диспетчер задач (Ctrl+Shift+Esc) и пройдите во вкладку Подробности . Среди большого количества приложений, найдите нужное и нажмите ПКМ. Затем, выберите задать сходство и в следующем окне выберите «Все процессоры» .

Как отключить ядро процессора в Windows 10?

Используя все методы, описанные выше, Вы можете отключить ядра ЦП. Это может помочь Вам в случае с перегревом, но лишь в крайних случаях. Мы не рекомендуем отключать или включать ядра, без должной на это необходимости, иначе Вы можете столкнуться со множественными ошибками и BSOD’ами системы.

Как разблокировать ядра на процессорах AMD?

ЦП семейства Phenom II, Athlon X2, Athlon II, Sempron обладают скрытым потенциалом в виде заблокированных ядер. Суть скрытых ядер заключается в отбраковке ЦП с бòльшим их количеством (показатели не вписываются в стандартные, ошибки, перегрев и т.д.). Например, Вы покупаете 2-ядерный ЦП, у которого их физически 4, но они не активны.

Разблокирование и активация зависит от нескольких факторов, например нужная модель ЦП, чипсета или северного моста материнской платы. Наиболее подробную информацию по данной теме, Вы найдете на форуме оверклокеров forums. overclockers.ru. Информации там предоставлено очень много и в случае возникновения вопросов или сложностей, Вы сможете уточнить сразу на форуме.

Отличного Вам дня!

Здравствуйте, уважаемые читатели! Сегодня мы с Вами поговорим о том, как задействовать все ядра процессора всего за пару шагов. Увеличение количества работающих ядер прямым образом сказывается на увеличении производительности работы компьютера. Многие пользователи, купив новенький компьютер с многоядерным процессором, даже и понятия не имеют, как заставить процессор работать на полную мощь. А ведь за все деньги плачены. В данной статье мы подробно Вам расскажем, как можно повысить скорость работы компьютера путем нехитрых манипуляций с процессором. Это НЕ повышение частоты процессора, в результате чего он у Вас может сгореть или перегреться (это, конечно же, в том случае, если делать все неправильно).

Все нижеизложенные действия применимы как для операционной системы Windows 7, так и для Windows 8. Ну, начнем. На рабочем столе открываем командную строку: Win+R . Для начала вводим следующую команду: msconfig. После чего нажимаем «Ок»

Перед Вами откроется меню управления Конфигурацией системы. Здесь Вы переходите на вкладку .

И в разделе выбираем максимальное число. Это безопасный способ повышения производительности, который никаким образом не навредит Вашему компьютеру. Нажимаем кнопку «Ок» и перезагружаем компьютер.

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

Не забывайте комментировать статьи нашего сайта, оставлять пол\желания и предложения. Ваше мнение Важно для нас!

Даже на многоядерном компьютере в Windows 7 при включении системы по умолчанию используется всего одно ядро. Это существенно снижает скорость загрузки ПК. Давайте разберемся, каким образом можно включить все указанные объекты для ускорения работы.

К сожалению, в Windows 7 существует только один способ активации ядер. Он выполняется через оболочку «Конфигурация системы» . Его мы подробно рассмотрим ниже.

«Конфигурация системы»

Вначале нам требуется произвести активацию средства «Конфигурация системы» .

  1. Щелкаем «Пуск» . Заходим в «Панель управления» .
  2. Переходим в директорию «Система и безопасность» .
  3. Щелкаем «Администрирование» .
  4. В перечне элементов отобразившегося окна выбираем «Конфигурация системы» .

    Существует также более быстрый способ активации указанного инструмента. Но он менее интуитивен, так как требует запомнить одну команду. Набираем Win+R и вбиваем в открывшуюся область:

    Нажимаем «OK» .

  5. Открывается оболочка нужного для наших целей средства. Переходим в раздел .
  6. В открывшейся области кликаем по элементу «Дополнительные параметры…» .
  7. Откроется окошко дополнительных опций. Именно здесь и выполняются интересующие нас настройки.
  8. Установите отметку около параметра «Число процессоров» .
  9. После этого выпадающий список ниже становится активным. В нем следует выбрать вариант с максимальным числом. Именно оно отражает количество ядер на данном ПК, то есть если вы выберите самую большую цифру, то все ядра будут задействованы. Затем жмите «OK» .
  10. Возвратившись в основное окно, нажмите «Применить» и «OK» .
  11. Откроется диалоговое окошко, в котором будет предложено перезапустить ПК. Дело в том, что изменения, которые были введены в оболочке «Конфигурации системы» , станут актуальными только после перезагрузки ОС. Поэтому сохраняйте все открытые документы и закрывайте активные программы, во избежание потери данных. Затем щелкайте .
  12. Компьютер перезагрузится, после чего все его ядра будут включены.

Как можно судить из вышеприведенной инструкции, активировать все ядра на ПК довольно просто. Но в Windows 7 это можно сделать только одним способом – через окно «Конфигурации системы».

Когда пользователь хочет увеличить производительность своего устройства, скорее всего, он решит включить все доступные ядра процессора. Существует несколько решений, которые помогут в данной ситуации на ОС Windows 10.

Все ядра процессора работают с разной частотой (одновременно), и задействуются в полную мощь тогда, когда это требуется. Например, для тяжелых игр, видеомонтажа и т.п. В повседневных задачах они работают в обычном режиме. Это даёт возможность достижения баланса производительности, а значит, ваше устройство или его компоненты не выйдут из строя раньше времени.

Стоит учитывать и то, что не все производители программ могут принять решение о разблокировке всех ядер и поддержки многопоточности. Это значит, что одно ядро может взять на себя всю нагрузку, а остальные будут работать в нормальном режиме. Так как поддержка нескольких ядер определённой программой зависит от её разработчиков, то возможность включения всех ядер доступна лишь для запуска системы.

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

  1. Запустите приложение.
  2. Во вкладке «CPU» («ЦП» ) найдите «cores» («число активных ядер» ). Указанное число и есть количество ядер.

Можно также применить стандартный способ.

Способ 1: Стандартные средства системы

При запуске системы используется лишь одно ядро. Поэтому далее будет описан способ добавления ещё нескольких ядер при включении компьютера.

Помните, что на одно ядро должно приходиться 1024 Мб RAM. В противном случае ничего не выйдет. Если у вас 32-х разрядная система, то есть вероятность того, что система не станет использовать больше трёх гигабайт ОЗУ.

  • Уберите отметки с «Блокировка PCI» и «Отладка» .
  • Сохраните изменения. А после вновь проверьте настройки. Если всё в порядке и в поле «Максимум памяти» всё осталось именно так, как вы задавали, можете перезагрузить компьютер. Вы также можете проверить работоспособность, запустив компьютер в безопасном режиме.
  • Если вы выставили верные настройки, но количество памяти всё равно сбивается, то:

    Если ничего не изменилось, то нужно настраивать загрузку нескольких ядер с помощью БИОС.

    Способ 2: Использование BIOS

    Данный метод используется, если из-за сбоя операционной системы сбросились определённые настройки. Этот способ актуален и для тех, кто неудачно настроил «Конфигурацию системы» и ОС не хочет запускаться. В остальных случаях использовать BIOS для включения всех ядер при запуске системы не имеет смысла.


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

    Всем привет, мои дорогие друзья и гости моего блога. Сегодня я вам расскажу, как включить все ядра в windows 10 на вашем компьютере, дабы немного улучшить скорость запуска вашего компьютера. Кстати, сразу вам вопрос: А вы знаете, сколько ядер использует процессор вашего ПК, когда вы работаете за ним? Два? Четыре? Восемь?. Ответ вас ждет в статье.

    Наверное, никого из вас не удивишь таким словосочетанием, как ядро процессора. И это правильно, ведь сейчас уже не то время. Поэтому в этой статье я не буду рассказывать, что это такое, для чего они нужны и т.д. Хочу лишь у вас поинтересоваться, знаете ли вы сколько ядер стоит конкретно у вас? Если нет, то я расскажу вам несколько способов.

    Внутренние средства Windows

    AIDA64

    Точно также можно обратиться к сторонней программе, например AIDA64 . Скачав и запустив ее, зайдите в пункт «Системная плата» — «ЦП» — «MultiCPU» . Посчитайте количество позиций в данном пункте, и вы узнаете общее количество ядер.

    Speecy

    Еще одна замечательная и бесплатная программа — Speecy . Я ее уже рассматривал, когда мы проверяли . Здесь вам нужно будет идти в раздел CPU, после чего обратить внимание на пункт «Threads» . Именно это и есть то, что мы ищем

    Включаем все ядра

    Для того, чтобы задействовать все имеющиеся у вас ядра на загрузку системы, вам необходимо будет вызвать (Win+R ) и написать там msconfig. После этого ищем вкладку , где жмем на кнопку «Дополнительные параметры» .

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

    Изменится ли скорость ПК после этой манипуляции?

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

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

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

    На этом у меня в принципе всё. Надеюсь, что статья вам понравилась и вы не забудете подписаться на обновления моего блога, если не сделали этого до сих пор. Удачи вам. Пока-пока!

    С уважением, Дмитрий Костин.

    

    © 2021, leally.ru — Твой гид в мире компьютера и интернета

    Авторы статьи: Гвинджилия Григорий и Пащенко Сергей

    Процессы и потоки. Операционные системы

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

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

    Таким образом, производственные способности просто нивелируются. Это явление получило название bottleneck, что в переводе значит «узкое место» или «узкая шея».

    Прежде чем говорить о данной проблеме, стоит уточнить само определение этого термина. Сама технология носит название Hyper-threading, в источниках часто встречается аббревиатура HT.

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

    Как узнать сколько потоков у процессора

    Само ядро – это непосредственно тот элемент, который отвечает за математические вычисления, согласно принятому в нем алгоритму. Процессор можно назвать своего рода «коробкой» для ядер, он объединяет их и обеспечивает взаимодействие с остальными компонентами системы.

    Коротко по сути и маленькая предыстория

    Технология Hyper-threading дает возможность хранения двух потоков одновременно. Поэтому при использовании операционной системы Windows, процессор на 2 ядра имеет в своем активе 4 потока. Такие вычислители еще часто называют процессорами, поддерживающими Hyper-treading (гипертрейдинг).

    Дорогие и высокопроизводительные процессоры содержат ядра и потоки. Многие считают, что это смежные понятия, однако это не до конца верно. Впервые потоки появились еще в те времена, когда на рынке технологий царствовал Pentium 4.

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

    Программ, которые могли корректно использовать данное преимущество было не много, если вообще были. Эта разработка находилась на стадии, своего рода, полевых исследований.

    Система сама все о себе знает

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

    Чтобы узнать подробную информацию в операционной системе Windows существует «Диспетчер задач», который в том числе покажет, сколько ресурсов компьютера используется в данное время.

    Этот инструмент удобен, часто бывает полезен и обладает интуитивно понятным интерфейсом. Для того, чтобы открыть это приложение, нужно одновременно зажать клавиши Ctrl+Alt+Delete .

    Так это выглядит на Windows 10 . Пользователи Mac OS найдут на своем компьютере утилиту «Принудительное завершение программ», которое легко вызвать при помощи клавиш cmd alt Esc . Она также дает возможность закрыть программу, которая перестала отвечать.
    Еще одна популярная операционная система с открытым исходным кодом, Linux, тоже содержит диспетчер задач, только называется он по-другому – «Системный монитор».

    Добраться до него помогут 3 простых шага:

    1. Системные утилиты
    2. Системный монитор

    или можно воспользоваться командой

    gnome-system-monitor .

    Функционал «Системного монитора» полностью соответствуют таковым в «Диспетчере задач» Windows и «Принудительному завершению программ» в операционной системе от компании Apple.

    Почему так быстрее

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

    Количество потоков всегда вдвое больше, нежели количество ядер (при наличии «на борту» технологии HT). 2 ядра равнозначно 4-ем потокам, 4 ядра равнозначно 8-и потокам. Алгоритм просчета не может бить иным. Авторство разработки принадлежит компании Intel, являющейся лидером в производстве процессоров на массовом потребительском рынке.

    Таким образом, одно физическое реальное ядро состоит из двух виртуальных ядер. Не только ОС, но и программы, которые установлены на устройстве, видят это и используют открытый перед ними потенциал возможностей. Если программа поддерживает многопоточность, то работать она будет намного быстрее.

    Пошаговое руководство для новичков

    Соответственно, чтобы узнать количество потоков, необходимо выяснить количество ядер, содержащихся в процессоре. Для это есть 3 (как минимум) способа:

    1. Документация устройства, в которой подробно указаны характеристики.
    2. Интернет, где можно ввести модель ноутбука и посмотреть, что находится у него «под капотом».
    3. Или же в этом может помочь уже упомянутый ранее «Диспетчер задач», в котором нужно выбрать пункт меню «Производительность».

    Так как узнать, сколько потоков у конкретного процессора подскажут полезные информационные поля под диаграммой, дополнительных программ устанавливать не требуется. Поле «Ядра» сообщает о количестве физических ядер, а поле «Логические процессы » подсказывает сколько логических или же виртуальных ядер содержит компьютер.

    Проанализировав скриншот выше, становится очевидно, что данная электронно-вычислительная машина, то бишь компьютер, содержит 4 ядра и 8 логических процессов (считай – потоков). Когда значения двух параметров одинаковы, это означает, что данный компьютер не поддерживает технологию HT (Hyper-threading).

    Во многих процессорах топового уровня есть потоки, как и ядра. Я постараюсь объяснить в чем отличие потока от ядра, и в чем преимущество этих потоков. Потоки появились достаточно давно, а именно еще во времена правления Pentium 4 (до них она был в Ксеонах как суперпоточность).

    В то время потоки еще носили сомнительную пользу, некоторые пользователи считали что они только ухудшают производительность.

    Но на самом деле, производительность не падала, просто на то время программ, которые могли грамотно работать с двумя потоками — вообще не было. Поэтому, потоки это скорее всего была экспериментальная технология в то время, кстати почти все Pentium D также не имели ее за исключением топовых моделе D955, D965 (это двухядерники с четырьмя потоками).

    Теперь немного разберемся с тем, что это вообще такое. Технология потоков называется Hyper-threading и отображается сокращенно: HT (как правило указывается на коробках сбоку). На одно ядро допустим один поток. Если вы задавались иногда вопросом «как увеличить количество потоков процессора», то я вас разочарую — это невозможно, и даже не думайте об этом, это глупости =).

    Hyper-threading позволяет хранить состояние сразу двух потоков, поэтому в из под Windows такие потоки выглядят как ядра. То есть, если у вас имеет процессор 2 ядра, то это 4 потока. Соответственно я имею ввиду процессор, который поддерживает гипертрейдинг.

    Как работает Hyper-threading? Чтобы вы понимали, то процессор выполняет не только ваши задачи, но и другие, и в том числе служебные. Так вот, обрабатывая данные, поток потом их отправляет, или ждет новых данных из оперативной памяти. В это время, пока он ждет, он может помогать другому потоку. То есть гипертрейдинг призван увеличить производительность процессора, уменьшая время бездействия.

    То есть, можно сделать вывод, что количество потоков всегда равно количеству ядер умноженное на два. Никак иначе. Эту технологию разработала Intel, соответственно в AMD-процессорах ее нет, но есть мнение, что у них есть подобная технология, именно поэтому многие считают что в восьми-ядерных процессорах AMD восемь не ядре, а потоков.

    В любом случае, эта технология полезна, хоть это и виртуальные ядра — лучше с HT, чем без нее.

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

    Теперь вас наверно заинтересует — как узнать количество потоков процессора? Это очень просто. Вам нужно открыть диспетчер задач (по панели задач нажмите правой кнопкой), и перейти на вкладку производительность. Там будет поле ядра, а под ним — количество потоков, вам нужно последнее:


    Как видите, число потоков равно числу ядер, потому что мой Pentium G3220 к сожалению не поддерживает технологию HT.

    Современные процессоры Intel Core i3, i7 ее поддерживают, а вот i5 — нет (вроде бы только в ноутбуках есть i5 с двумя ядрами и HT, и некоторые процессоры на 1156 сокет, там тоже два ядра и HT). Думаю что маркетинговый ход, чтобы было равно-мерное увеличение производительности моделей серии i.

    Если вы думаете, какой процессор лучше — с потоками или нет, то конечно с ними. Иногда (не буду углубляться) цена с поддержкой HT и без невелика, поэтому стоит доплатить и взять тот, что поддерживает HT. Это я так, в общих чертах вам на будущее.

    7 ответов

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

    Кроме того, даже если вы можете запустить 5000+ потоков, в зависимости от вашего оборудования, которые могут работать намного медленнее, чем 10-нить-эквивалентная программа. Я думаю, вы должны взглянуть на объединение потоков .

    Как правило, количество потоков, которые запускаются одновременно, определяется количеством процессоров и ядер ЦП (включая гиперпоточность), которые у вас есть. То есть, в любой момент времени количество потоков, работающих (в операционной системе), равно числу «ядер».

    Сколько потоков, которые вы можете запускать одновременно в вашем приложении, зависит от большого количества факторов. Наилучшим номером (легким человеком) было бы количество ядер на машине, но, конечно же, как будто никто не притворяется (ни одно другое приложение):).

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

    В.NET 3.5/4.0 вы должны смотреть на Задачи (Task Parallel Library), поскольку библиотека намного лучше определяет, как много нитей (если вообще) икру. С TPL threadpool получает капитальный ремонт, и он намного умнее в вопросе о размножении потоков и краже задач и т.д. Но вы обычно работаете с задачами, а не с потоками.

    Это сложная область, и в результате платформа.NET ввела Задачи, чтобы отвлечь программистов от потоков и, таким образом, позволить времени выполнения быть умным об этом, в то время как программист просто скажет, что она хочет, и не столько о том, как для этого.

    Каждый поток потребляет больше памяти (стек ядра, блок среды потока, thread-local, stack….). AFAIK в Windows нет явного ограничения, поэтому ограничение будет памятью (вероятно, стек для каждого потока).

    В потоках Linux больше похожие процессы (с разделяемой памятью), и вы ограничены:

    Cat /proc/sys/kernel/threads-max

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

    Да, вы можете запускать больше задач, но они будут ждать ресурсов (или потоков в пуле потоков), и ваш ящик, независимо от размера, не может полностью распределить все основные ресурсы процессора в 100% случаев поток из-за фона/других процессов. Таким образом, чем больше задач вы создаете, тем больше потоков вы создаете, поскольку они превосходят фактические возможные параллельные потоки (1 на ядро), тем больше будет выполняться управление ресурсами, очередность и свопинг.

    Тест, который мы выполнили, теперь, когда я работаю с использованием вирусного шаблона, чтобы запустить дополнительные задачи, показал, что оптимальный уровень близок к счету процессора как кепку. Задачи, запущенные при соотношении «один к одному» с физическим числом ядер, выполнялись примерно на 1 минуту за каждую задачу. Устанавливается в два раза по счетчику процессора, время задачи перешло с 1 минуты в среднем до 5 минут среднего времени для завершения. Он становится геометрически медленнее, чем больше задач, инициированных за счет ядра.

    Так, например, если у вас есть 8 физических ядер, то должны быть самыми быстрыми 8 задач (и использование TPL, по существу 8 одновременных потоков в активном процессе). Существует ваш основной поток или процесс, который создает другие задачи и другие фоновые процессы, но если ящик довольно изолирован для удовольствия от использования ресурсов, они будут довольно минимальными.

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

    Чтобы определить это программно, мы используем

    var CoreCount = System.Environment.ProcessorCount / 2;

    Зачем делиться на две, спросите вы? Потому что почти все современные процессоры используют логические ядра или гиперпотоки. Вы должны найти со своим собственным тестированием, что, если вы используете логический счет, ваша общая скорость на одну задачу и, следовательно, весь процесс значительно снизится. Физические ядра — это ключ. Мы не могли видеть быстрый способ найти физическое против логического, но быстрый обзор наших ящиков показал, что это последовательно верно. YMMV, но это может стать довольно быстрым.

    Мне удалось запустить 4 потока одновременно на моем текущем старом процессоре (2005). Использование EVGA CPU burner до того, как прозвучал мой зуммер процессора. (Запрограммировано в меню BIOS). Значение я превысило 90 * c. Имейте в виду, что мы говорим о потоках данных, работающих одновременно. хорошим примером может быть одновременное открытие нескольких программ. Но в целом это зависит от того, насколько хорош ваш процессор с многозадачностью. (другими словами, можно обрабатывать многие активные потоки). Безопасным способом тестирования является загрузка «ocscanner (By EVGA)» и «CPU Thermometer» с использованием центрального процессора в OC Scanner. Во время тестирования убедитесь, что ваша температура не превышает 90 * c (или любую температуру, в которой вы чувствуете себя в безопасности) и посмотрите на текущее количество потоков, которые вы запускаете, бросили ваш процессор. начните с 2 потоков, подождите 3-5 минут, наблюдая температуру процессора, добавьте еще один поток, повторите. (НЕ ПРИНИМАЙТЕ СВОЮ УДАЧУ!!!) (НЕ ПОПЫТАЙТЕ, ЕСЛИ ТЕРМОМЕТР ЦП НЕ МОЖЕТ СДЕЛАТЬ ВАШУ ТЕМПЕРАТУРУ!!!)

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

    Цель функции заключается в том, что на 1 ядро может одновременно обрабатывать несколько потоков данных. Пока первый поток простаивает, а второй занимается вычислением, запущенное приложение может воспользоваться вакантной логической мощью для своих целей. В результате, прерывания случаются гораздо реже, а вы не ощущаете тормозов и прочих неудобств при работе.

    Недостаток технологии заключается в следующем:

    • оба потока обращаются к единой кэш-памяти 2 и 3 уровней;
    • тяжелые вычислительные процессы могут вызвать конфликт в системе.

    Если очень грубо, то все кирпичи с одного места на другое можно перенести в одной руке (1 поток), либо в двух (2 потока), но человек при этом один (1 ядро) и устает одинаково при любых условиях, хоть его производительность фактически увеличивается вдвое. Иными словами, мы упираемся в производительность ЦП, а конкретней в его частоту.

    У многих процессоров Intel есть поддержка технологии под названием Hyper-threading. Данная технология позволяет выполнять сразу 2 потока команд на одном ядре процессора. Таким образом удается более эффективно использовать вычислительную мощность ядра. Но, технология Hyper-threading используется далеко не во всех процессорах Intel. Технология Hyper-threading присутствует в , а также в некоторых новых Pentium и мобильных Core i5.

    У процессоров AMD с архитектурой Zen также есть технология, создающая по два потока вычислений на ядро. И у AMD также не все процессоры получают поддержку данной технологии.

    Из-за такого разброса в характеристиках процессоров создается путаница и пользователи часто не могут разобраться, в каких процессорах сколько потоков используется. В данной статье речь пойдет о том, как узнать сколько потоков на вашем процессоре.

    Способ № 1. Диспетчер задач.

    Самый простой способ узнать сколько потоков , это посмотреть в «Диспетчере задач». Для можно воспользоваться классической комбинацией клавиш CTRL-SHIFT-DELETE. Если у вас операционная система Windows 7 или более новая, то это можно сделать еще и с помощью CTRL-SHIFT-ESC.

    После открытия «Диспетчера задач» нужно перейти на вкладку «Быстродействие».

    Здесь будет отображаться загруженность процессора и оперативной памяти компьютера. В правой верхней части окна будет отображаться хронология загрузки ЦП. Особенностью данного графика является, то что нагрузка отображается отдельно для каждого из потоков процессора. Поэтому подсчитав количество окошек с графиками можно узнать сколько потоков в процессоре. Например, на скриншоте внизу, отображается 8 графиков с хронологией загрузки процессора, следовательно, на компьютере используется процессор с 8 потоками.

    Если у вас Windows 8 или Windows 10, то хронология нагрузки на процессор может отображаться одним графиком. В этом случае вам нужно сначала переключиться на отображение хронологии по логическим процессорам (потокам). Для этого нужно кликнуть правой кнопкой мышки и выбрать «Изменить график – Логические процессоры».

    После этого в «Диспетчере задач» появятся отдельные графики для каждого потока вашего процессора. Например, на скриншоте внизу отображается 4 графика, следовательно, в используемом процессоре 4 потока.

    Кроме этого, в «Диспетчере задач» Windows 8/10 прямым текстом указывается сколько потоков в процессоре. Сразу под графиками есть блок с информацией. Там в строке «Логические процессоры» указано количество потоков процессора.

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

    Способ № 2. Программы.

    Пожалуй, самой известной программой для получения информации о характеристиках процессора является программа CPU-Z. Данная программа является бесплатной, и вы можете . Если вы хотите узнать сколько потоков в процессоре, то вам нужно запустить CPU-Z на своем компьютере и посмотреть значение «Threads», которое находится в правом нижнем углу программы на вкладке «CPU». На скриншоте внизу видно, что у процессора 4 потока.

    Кроме CPU-Z можно использовать и другие программы. Например, вы можете прибегнуть . Данная программа отображает массу технической информации о вашем компьютере.

    Среди прочего с ее помощью можно узнать и количество потоков процессора. Для этого нужно перейти в раздел «CPU» и посмотреть значение «Threads».

    Как узнать сколько ядер в процессоре? Да тут все просто, ребята!

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

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

    РЕКЛАМА

    Так, хватит говорить, переходим к делу. Значит сперва покажу как посмотреть ядра/потоки в Windows 7. Первый способ, это вообще без программ, только при помощи штатных средств. Способ рабочий и необычный, в общем смотрите, создаете на рабочем столе любой файл с расширением .nfo, например CPU.nfo (вообще имя можно любое задать):

    РЕКЛАМА

    Кстати, а у вас расширения файлов показываются? Проверьте, без них вы не сможете создать файл с указанным расширением! Для этого открываете Панель управления (в меню Пуск есть пункт) и в ней находите значок Параметры папок, вот там на вкладке Вид, внизу будет галочка по поводу расширений, ее нужно снять:

    РЕКЛАМА

    Вернемся к файлу, вот создали вы файл с расширением .nfo, теперь нажимаете по нему два раза мышкой, ну то есть запускаете его, появится вот такая ошибка:

    На эту ошибку вы внимания не обращайте, нажимаете ОК и потом появляется вот такое окно:

    РЕКЛАМА

    В этом окне Сведения о системе, справа будет список характеристик, вот там будет и строка Процессор, в ней как раз и указывается сколько у вас ядер и сколько логических процессоров (колонку значение советую растянуть чтобы было лучше видно):

    РЕКЛАМА

    Логические процессоры это имеется ввиду потоки. Тут также указана модель и частота, что тоже хорошо. Можно также посмотреть и в диспетчере, но тут проблема в том, что винда показывает и ядра и потоки в кучу, поэтому понять сколько ядре на самом деле невозможно. Посмотреть можно на вкладке Быстродействие:

    Забыл сказать, что если вы не знаете как запустить диспетчер задач, то нажимаете правой кнопкой по панели задач (внизу) и там есть пункт Диспетчер задач, вот его и выбираете. Ну это так, на заметку вам так бы сказать..

    Но конечно самый лучший способ узнать инфу о проце, это использовать специальную программу. Я советую CPU-Z: она простая, не глючит и не тормозит комп, показывает всю актуальную инфу о процессоре и о памяти (ОЗУ), при этом еще и бесплатная! Ну как такой можно не пользоваться? Никакой рекламы или подобной ерунды в ней нет! Так что поищите CPU-Z в поисковике (а вообще это вроде официальный сайт: cpuid.com/softwares/cpu-z.html) и установите ее себе на комп, это просто вот мой такой совет вам, ибо прога просто шикардос

    После установки CPU-Z у вас появится вот такой ярлык на рабочем столе:

    РЕКЛАМА

    Нажимаем по нему два раза и вот такое окно появится:

    Вот видите там внизу есть такое как Cores и Threads? Вот это и есть ядра и потоки, но так как у меня стоит Pentium G3220, то увы, у меня два ядра или два потока и все..

    Эта прога CPU-Z подходит как для Windows 7 так и для Windows 10, то есть будет работать без приколах в любой винде.

    Но тем не менее, я еще должен вот что показать. В Windows 10 также можно посмотреть сколько ядер/потоков без программ. И для этого даже не нужно создавать файл nfo, все намного проще, вам нужно зайти в диспетчер задач, для этого нажимаете правой кнопкой по панели задач (внизу) и там выберите этот пункт:

    РЕКЛАМА

    Потом переходите на вкладку Производительность, там выбираете ЦП и вот там будет всякая инфа, а внизу в правом уголку будет показано сколько у вас ядер и сколько потоков (это логические процессоры):

    Как видите, в случае с Windows 10 вы можете прямо в диспетчере узнать количество ядер/потоков, да, это быстро, просто и легко. Но я все равно советую вам поставить CPU-Z, а вдруг вам еще какая-то инфа о проце понадобится? Вот тут то и пригодится програмулька CPU-Z, ибо там все удобно собрано, все самое необходимое.

    Ну все ребята, этом уже все, надеюсь что все вам тут было понятно и что мне получилось вам немного помочь. Удачи вам в жизни и чтобы все у вас было хорошо

    На главную! процессор 16.11.2016

    Процессы и потоки, диспетчер задач windows, синхронизация потоков.

    В этой статье мы поговорим на такие темы, как процессы и потокидискрипторы процесса, поговорим о синзронизации потоков и затронем всеми любимый диспетчер задач windows.

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

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

    Дескриптор – специальная информационная структура, которая заводится на каждый процесс (описатель задачи, блок управления задачей).

    В общем случае дескриптор содержит следующую информацию:

    1. Идентификатор процесса.
    2. Тип (или класс) процесса, который определяет для супервизора некоторые правила предоставления ресурсов.
    3. Приоритет процесса.
    4. Переменную состояния, которая определяет, в каком состоянии находится процесс (готов к работе, в состоянии выполнения, ожидание устройства ввода-вывода и т.д.)
    5. Защищенную область памяти (или адрес такой зоны), в которой хранятся текущие значения регистров процессора, если процесс прерывается, не закончив работы. Эта информация называется контекстом задачи.
    6. Информацию о ресурсах, которыми процесс владеет и/или имеет право пользоваться (указатели на открытые файлы, информация о незавершенных операциях ввода/вывода и т.п.).
    7. Место (или его адрес) для организации общения с другими процессами.
    8. Параметры времени запуска (момент времени, когда процесс должен активизироваться, и периодичность этой процедуры).
    9. В случае отсутствия системы управления файлами – адрес задачи на диске в ее исходном состоянии и адрес на диске, куда она выгружается из оперативной памяти, если ее вытесняет другая.

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

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

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

    Например, состояний ожидания завершения операции ввода/вывода может быть столько, сколько устройств ввода/вывода содержится в системе.

    Процессы и потоки

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

    • Процесс (более крупная единица работы).
    • Поток (нить или тред) – более мелкая единица работы, которую требует для своего выполнения процесс.
    • Когда говорят о процессах, то тем самым хотят отметить, что ОС поддерживает их обособленность: у каждого процесса имеется свое виртуальное адресное пространство, каждому процессу назначаются свои ресурсы – файлы, окна и др. Такая обособленность нужна для того, чтобы защитить один процесс от другого, поскольку они, совместно используя все ресурсы вычислительной системы, конкурируют друг с другом.

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

    Для повышения быстродействия процессов есть возможность задействовать внутренний параллелизм в самих процессах.

    Например, некоторые операции, выполняемые приложением, могут требовать для своего исполнения достаточно длительного использования ЦП. В этом случае при интерактивной работе с приложением пользователь вынужден долго ожидать завершения заказанной операции и не может управлять приложением до тех пор, пока операция не выполнится до самого конца. Такие ситуации встречаются достаточно часто, например, при обработке больших изображений в графических редакторах. Если же программные модули, исполняющие такие длительные операции, оформлять в виде самостоятельных «подпроцессов» (потоков), которые будут выполняться параллельно с другими «подпроцессами», то у пользователя появляется возможность параллельно выполнять несколько операций в рамках одного приложения (процесса).

    Можно выделить следующие отличия потоков от процессов:

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

    Главное, что обеспечивает многопоточность, — это возможность параллельно выполнять несколько видов операций в одной прикладной программе. За счет чего реализуется эффективное использование ресурсов ЦП, а суммарное время выполнения задач становится меньше.

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

    Диспетчер задач WINDOWS

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

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

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

    На вкладке Процессы отображаются сведения о выполняющихся на компьютере процессах: сведения об использовании ЦП и памяти, счетчике процессов и некоторые другие параметры:

    На вкладке Быстродействие, отображаются сведения о счетчике дескрипторов и потоках, параметры памяти: Потребность в синхронизации потоков возникает только в мультипрограммной ОС и связана с совместным использованием аппаратных и информационных ресурсов компьютера. Синхронизация необходима для исключения гонок (см. далее) и тупиков при обмене данными между потоками, разделении данных, при доступе к процессору и устройствам ввода-вывода.

    Синхронизация потоков и процессов заключается в согласовании их скоростей путем приостановки потока до наступления некоторого события и последующей его активизации при наступлении этого события.

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

    Пример. Задача ведения базы данных клиентов некоторого предприятия.

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

    • Поток А, который заносит в базу данных информацию о заказах, поступивших от клиентов.
    • Поток В, который фиксирует в базе данных сведения об оплате клиентами выставленных счетов.

    Оба эти потока совместно работают над общим файлом базы данных, используя однотипные алгоритмы:

    1. Считать из файла БД в буфер запись и клиенте с заданным идентификатором.
    2. Ввести новое значение в поле Заказ (для потока А) или оплата (для потока В).
    3. Вернуть модифицированную запись в файл БД.

    Обозначим шаги 1-3 для потока А как А1-А3, а для потока В как В1-В3. Предположим, что в некоторый момент поток А обновляет поле Заказ записи о клиенте N. Для этого он считывает эту запись в свой буфер (шаг А1), модифицирует значение поля Заказ (шаг А2), но внести запись в базу данных не успевает, так как его выполнение прерывается, например, вследствие истечение кванта времени.

    Предположим, что потоку В также потребовалось внести сведения об оплате относительно того же клиента N. Когда подходит очередь потока В, он успевает считать запись в свой буфер (шаг В1) и выполнить обновление поля Оплата (шаг В2), а затем прерывается. Заметим, что в буфере у потока В находится запись о клиенте N, в которой поле Заказ имеет прежнее, не измененное значение.

    Важным понятием синхронизации процессов является понятие «критическая секция» программы. Критическая секция — это часть программы, в которой осуществляется доступ к разделяемым данным. Чтобы исключить эффект гонок по отношению к некоторому ресурсу, необходимо обеспечить, чтобы в каждый момент в критической секции, связанной с этим ресурсом, находился максимум один процесс. Этот прием называют взаимным исключением.

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

    Другим способом является использование блокирующих переменных. С каждым разделяемым ресурсом связывается двоичная переменная, которая принимает значение 1, если ресурс свободен (то есть ни один процесс не находится в данный момент в критической секции, связанной с данным процессом), и значение 0, если ресурс занят. На рисунке ниже показан фрагмент алгоритма процесса, использующего для реализации взаимного исключения доступа к разделяемому ресурсу D блокирующую переменную F(D). Перед входом в критическую секцию процесс проверяет, свободен ли ресурс D. Если он занят, то проверка циклически повторяется, если свободен, то значение переменной F(D) устанавливается в 0, и процесс входит в критическую секцию. После того, как процесс выполнит все действия с разделяемым ресурсом D, значение переменной F(D) снова устанавливается равным 1.

    Если все процессы написаны с использованием вышеописанных соглашений, то взаимное исключение гарантируется. Следует заметить, что операция проверки и установки блокирующей переменной должна быть неделимой. Поясняется это следующим образом. Пусть в результате проверки переменной процесс определил, что ресурс свободен, но сразу после этого, не успев установить переменную в 0, был прерван. За время его приостановки другой процесс занял ресурс, вошел в свою критическую секцию, но также был прерван, не завершив работы с разделяемым ресурсом. Когда управление было возвращено первому процессу, он, считая ресурс свободным, установил признак занятости и начал выполнять свою критическую секцию. Таким образом, был нарушен принцип взаимного исключения, что потенциально может привести к нежелаемым последствиям. Во избежание таких ситуаций в системе команд машины желательно иметь единую команду «проверка-установка», или же реализовывать системными средствами соответствующие программные примитивы, которые бы запрещали прерывания на протяжении всей операции проверки и установки.

    Реализация критических секций с использованием блокирующих переменных имеет существенный недостаток: в течение времени, когда один процесс находится в критической секции, другой процесс, которому требуется тот же ресурс, будет выполнять рутинные действия по опросу блокирующей переменной, бесполезно тратя процессорное время. Для устранения таких ситуаций может быть использован так называемый аппарат событий. С помощью этого средства могут решаться не только проблемы взаимного исключения, но и более общие задачи синхронизации процессов. В разных операционных системах аппарат событий реализуется по-своему, но в любом случае используются системные функции аналогичного назначения, которые условно называются WAIT(x) и POST(x), где x — идентификатор некоторого события.

    Если ресурс занят, то процесс не выполняет циклический опрос, а вызывает системную функцию WAIT(D), здесь D обозначает событие, заключающееся в освобождении ресурса D. Функция WAIT(D) переводит активный процесс в состояние ОЖИДАНИЕ и делает отметку в его дескрипторе о том, что процесс ожидает события D. Процесс, который в это время использует ресурс D, после выхода из критической секции выполняет системную функцию POST(D), в результате чего операционная система просматривает очередь ожидающих процессов и переводит процесс, ожидающий события D, в состояние ГОТОВНОСТЬ.

    Обобщающее средство синхронизации процессов предложил Дейкстра, который ввел два новых примитива. В абстрактной форме эти примитивы, обозначаемые P и V, оперируют над целыми неотрицательными переменными, называемыми семафорами. Пусть S такой семафор. Операции определяются следующим образом:

    V(S): переменная S увеличивается на 1 одним неделимым действием; выборка, инкремент и запоминание не могут быть прерваны, и к S нет доступа другим процессам во время выполнения этой операции.

    P(S): уменьшение S на 1, если это возможно. Если S=0, то невозможно уменьшить S и остаться в области целых неотрицательных значений, в этом случае процесс, вызывающий P-операцию, ждет, пока это уменьшение станет возможным. Успешная проверка и уменьшение также является неделимой операцией.

    В частном случае, когда семафор S может принимать только значения 0 и 1, он превращается в блокирующую переменную. Операция P заключает в себе потенциальную возможность перехода процесса, который ее выполняет, в состояние ожидания, в то время как V-операция может при некоторых обстоятельствах активизировать другой процесс, приостановленный операцией P.

    Взаимоблокировка процессов

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

    При параллельном исполнении процессов могут возникать ситуации, при которых два или более процесса все время находятся в заблокированном состоянии. Самый простой случай – когда каждый из двух процессов ожидает ресурс, занятый другим процессом. Из-за такого ожидания ни один из процессов не может продолжить исполнение и освободить в конечном итоге ресурс, необходимый другому процессу. Эта тупиковая ситуация называется дедлоком (dead lock), тупикомклинчем или взаимоблокировкой.

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

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

    Проблема тупиков включает в себя следующие задачи:

    1. предотвращение тупиков.
    2. распознавание тупиков.
    3. восстановление системы после тупиков.

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

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

    Если же тупиковая ситуация возникла, то не обязательно снимать с выполнения все заблокированные процессы. Можно снять только часть из них, при этом освобождаются ресурсы, ожидаемые остальными процессами, можно вернуть некоторые процессы в область свопинга, можно совершить «откат» некоторых процессов до так называемой контрольной точки, в которой запоминается вся информация, необходимая для восстановления выполнения программы с данного места. Контрольные точки расставляются в программе в местах, после которых возможно возникновение тупика.

    Объяснение виртуальных процессоров Hyper-V

    Ваш поставщик программного обеспечения указал, что вы можете виртуализировать его приложение, но только если вы выделите ему одно или несколько ядер ЦП? Непонятно, что происходит, когда вы назначаете процессоры виртуальной машине? Вы далеко не одиноки.

    Примечание. Эта статья была первоначально опубликована в феврале 2014 года. Она была полностью обновлена ​​и актуальна по состоянию на ноябрь 2019 года.

    Введение в виртуальные процессоры

    Как и все остальное «оборудование» виртуальных машин, виртуальных процессоров не существует .Гипервизор использует реальные ЦП физического хоста для создания виртуальных конструкций для представления виртуальным машинам. Гипервизор контролирует доступ к реальным процессорам так же, как он контролирует доступ ко всему остальному оборудованию.

    Hyper-V никогда не назначает физические процессоры конкретным виртуальным машинам

    Убедитесь, что вы понимаете этот раздел, прежде чем двигаться дальше. Назначение 2 виртуальных ЦП системе не означает, что Hyper-V извлекает два ядра из физического пула и навсегда связывает их с вашей виртуальной машиной.Вы вообще не можете назначить физическое ядро ​​виртуальной машине. Итак, означает ли это, что вы просто не можете удовлетворить просьбу поставщика о выделении одного или двух ядер? Не совсем так. Подробнее об этом ближе к концу.

    Общие сведения о планировании процессора операционной системы

    Давайте начнем с того, что посмотрим, как процессоры используются в обычной Windows. Вот снимок экрана моего диспетчера задач:

    Диспетчер задач

    Ничего особенного, правда? Знакомо, не правда ли?

    Теперь, когда компьютеры никогда или почти никогда не поставлялись в виде многопроцессорных многоядерных устройств, мы все знали, что компьютеры на самом деле не могут выполнять многозадачность.У них был один ЦП и одно ядро, поэтому был только один возможный активный поток выполнения. Но если не считать модных графических обновлений, Диспетчер задач тогда выглядел во многом как Диспетчер задач. У вас был длинный список запущенных процессов, каждый с метрикой, показывающей, какой процент времени ЦП он использовал.

    Затем, как и сейчас, каждый элемент строки, который вы видите, представляет собой процесс (или, новое в последних версиях диспетчера задач, группу процессов). Процесс состоит из одного или нескольких потоков .Поток — это не что иное, как последовательность инструкций ЦП (ключевое слово: последовательность).

    Что происходит, так это то, что (в Windows это началось в 95 и NT) операционная система останавливает запущенный поток, сохраняет его состояние, а затем запускает другой поток. Через некоторое время эти операции повторяются для следующего потока. Мы называем это упреждающим , что означает, что операционная система решает, когда приостановить текущий поток и переключиться на другой. Вы можете установить приоритеты, которые влияют на скорость процесса, но за планирование потоков отвечает ОС.

    Сегодня почти все компьютеры имеют несколько ядер, поэтому Windows действительно может выполнять несколько задач.

    Внедрение этих концепций в гипервизор

    Из-за своей роли диспетчера потоков Windows можно назвать «супервизором» (очень старая терминология, которую вы больше никогда не увидите): система, которая управляет процессами, состоящими из потоков. Hyper-V — это гипервизор: система, которая управляет супервизорами, которые управляют процессами, состоящими из потоков.

    Диспетчер задач

    не работает так же для Hyper-V, но происходит то же самое.Есть список разделов, внутри которых находятся процессы и потоки. Планировщик потоков работает примерно так же, примерно так:

    Планирование потоков гипервизора

    Конечно, в реальной системе всегда будет запущено более девяти потоков. Планировщик потоков поместит их все в очередь.

    А как насчет соответствия процессора?

    Вы, наверное, знаете, что в Windows можно связать потоки, чтобы они всегда выполнялись на определенном ядре или наборе ядер.Вы не можете этого сделать в Hyper-V. В любом случае это имело бы сомнительную ценность; выделение потока ядру — это не то же самое, что выделение ядра потоку, что многие люди действительно хотят попытаться сделать. Вы не можете запретить ядру запускать другие потоки в мире Windows или Hyper-V.

    Как работает планирование потоков?

    Самый простой ответ — Hyper-V принимает решение на уровне гипервизора. Это действительно не позволяет гостям вносить свой вклад.Гостевые операционные системы планируют потоки из процессов, которыми они владеют. Когда они выбирают поток для запуска, они отправляют его виртуальному процессору. Hyper-V берет это оттуда.

    Изображение, которое я представил выше, обязательно является чрезмерным упрощением, поскольку это не просто принцип «первым пришел — первым обслужен». NUMA играет роль, например. Настоящее понимание этой темы требует довольно глубокого погружения в некоторые сложные идеи. Мало кто из администраторов требует такого уровня глубины, и изучение его здесь уведет эту статью далеко за пределы.

    Первое, что имеет значение: не говоря уже о близости, вы никогда не знаете, где будет выполняться какой-либо конкретный поток. Поток, который был приостановлен для передачи процессорного времени другому потоку, вполне может быть назначен другому ядру при его возобновлении. Вы когда-нибудь задумывались, почему приложение потребляет ровно 50% от двухъядерной системы, а каждое ядро ​​выглядит так, как будто оно работает на 50%? Такое поведение указывает на однопоточное приложение. Каждый раз, когда планировщик выполняет его, он потребляет 100% ядра, на которое он попадает.При следующем запуске он останется на том же ядре или перейдет к другому ядру. Какое бы ядро ​​ни назначил планировщик, оно потребляет 100%. Когда диспетчер задач суммирует свою производительность для отображения, это составляет даже 50% использования — приложение использует 100% из 50% емкости системы. Поскольку ядро, на котором не запущено приложение, остается в основном бездействующим, в то время как другое ядро ​​выходит из строя, они в совокупности составляют 50% использования за измеренный период времени. Благодаря возможностям более новых версий диспетчера задач теперь вы можете указать ему показывать отдельные ядра по отдельности, что делает такое поведение более очевидным.

    Теперь мы можем перейти к рассмотрению количества виртуальных ЦП, назначенных системе, и приоритета.

    Что на самом деле означает количество виртуальных ЦП, назначенных виртуальной машине?

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

    Неверное количество ЦП

    Итак, количество виртуальных ЦП виртуальной машины означает следующее: максимальное количество потоков, которые виртуальная машина может запускать в любой момент времени. Я не могу настроить виртуальную машину, показанную на снимке экрана, на более двух виртуальных ЦП, потому что на хосте всего два логических процессора.Следовательно, планировать третий поток некуда. Но если бы у меня была 24-ядерная система и я оставил бы эту виртуальную машину на 2 виртуальных ЦП, тогда она бы отправляла в Hyper-V не более двух потоков для планирования. Планировщик потоков виртуальной машины (супервизор) будет держать другие потоки в очереди, ожидая своей очереди.

    Но нельзя ли назначить для всех виртуальных машин больше общего количества виртуальных ЦП, чем физических ядер?

    Да, общее количество виртуальных ЦП на всех виртуальных машинах может превышать количество физических ядер на хосте.Это ничем не отличается от того факта, что у меня сейчас «работает» более 40 процессов на моем двухъядерном ноутбуке. Я могу запускать только два потока одновременно, но я всегда буду запускать гораздо больше, чем два потока по расписанию. Windows делает это уже очень давно, и Windows настолько хороша в этом (обычно), что большинство людей никогда не видят необходимости обдумывать происходящее. Ваши виртуальные машины (супервизоры) будут создавать потоки для запуска, а Hyper-V (гипервизор) будет планировать их так (в основном), как Windows планировала их с тех пор, как переросла совместное планирование в Windows 3.Икс.

    Каково правильное соотношение виртуальных ЦП к количеству пЦП / ядер?

    Это вопрос, который волнует всех. Скажу прямо: в общем смысле на этот вопрос нет ответа.

    Конечно, когда-то люди говорили 1: 1. Некоторые люди до сих пор так говорят. И вы знаете, вы можете это сделать. Это расточительно, но вы можете это сделать. Я мог бы запустить свою текущую конфигурацию настольного компьютера на четырехъядерном сервере с 16 ядрами, и у меня не было бы никаких конфликтов. Но, вероятно, я не заметил бы большой разницы в производительности.Почему? Потому что почти все мои темы почти все время простаивают. Если чему-то требуется 0% процессорного времени, что дает ему собственное ядро? Ничего, вот что.

    Позже ответ был увеличен до 8 виртуальных ЦП на 1 физическое ядро. Хорошо, конечно, хорошо.

    Потом стало 12.

    И тут рекомендации ушли.

    Они ушли, потому что на самом деле никто не имеет ни малейшего представления. Планировщик равномерно распределяет потоки по доступным ядрам. Таким образом, количество необходимых физических процессоров не зависит от количества виртуальных процессоров.Это полностью зависит от того, что нужно рабочим потокам. И даже если у вас запущена куча тяжелых потоков, это не значит, что их системы умрут, поскольку они будут вытеснены другими тяжелыми потоками. Необходимое соотношение vCPU / pCPU полностью зависит от профиля нагрузки ЦП и допустимой задержки. Множественные тяжелые нагрузки требуют низкого отношения. Несколько тяжелых грузов хорошо работают со средним соотношением. Легкие нагрузки могут работать в системе с высоким передаточным числом.

    Я собираюсь открыть вам маленький грязный секрет о процессорах: каждый раз, когда поток запускается, независимо от того, что это такое, он нагружает процессор на 100% (регулирование мощности изменяет тактовую частоту, а не насыщение рабочей нагрузки) .ЦП — это двоичное устройство; это либо обработка, либо нет. Когда ваши инструменты измерения производительности показывают вам это 100%, 20% или 50% или любое другое число, они рассчитывают его на основе измерения времени. Если вы видите 100%, это означает, что ЦП выполнял обработку в течение всего измеренного промежутка времени. 20% означает, что процесс выполнялся в 1/5 случаев и в 4/5 случаев простоя. Это означает, что один поток не потребляет 100% ресурсов ЦП, потому что Windows / Hyper-V упреждает его, когда он хочет запустить другой поток.В одной системе может выполняться несколько «100%» потоков ЦП. Даже в этом случае система может реагировать только тогда, когда у нее есть время простоя, а это означает, что большинство потоков просто пропускают свой временной отрезок. Это позволяет другим потокам быстрее получать доступ к ядрам. Когда у вас есть несколько потоков, всегда стоящих в очереди для активного процессорного времени, система в целом становится менее отзывчивой, потому что потоки должны ждать. Использование дополнительных ядер решит эту проблему, поскольку распределяет рабочую нагрузку.

    Итог: если вы хотите знать, сколько физических ядер вам нужно, то вам необходимо знать профиль производительности вашей фактической рабочей нагрузки.Если вы не знаете, начните с более ранних рекомендаций 8: 1 или 12: 1.

    [thrive_leads id = ’17165 ′]

    А как насчет резерва и веса (приоритета)?

    Я не рекомендую вам возиться с настройками ЦП, если у вас нет проблемы с конфликтом ЦП, которую необходимо решить. Позвольте планировщику потоков делать свою работу. Точно так же, как установка приоритетов ЦП для потоков в Windows может вызвать больше проблем, чем решить, возня с настройками виртуального ЦП гипервизора может все ухудшить.

    Давайте посмотрим на экран конфигурации:

    Настройки виртуального ЦП

    Первая группа ящиков — это резерв.Первое поле представляет собой процент от разрешенного количества виртуальных ЦП, которые нужно отложить. Его фактическое значение зависит от количества виртуальных ЦП, назначенных виртуальной машине. Второе поле, затененное серым, показывает общий процент ресурсов хоста, которые Hyper-V выделит для этой виртуальной машины. В этом случае у меня есть система с двумя виртуальными ЦП на двухъядерном хосте, поэтому два блока будут одинаковыми. Если я установлю 10-процентный резерв, это будет 10 процентов от общих физических ресурсов. Если я уменьшу выделение до 1 виртуального ЦП, то 10-процентный резерв станет 5-процентным физическим.Второе поле будет рассчитано автоматически, когда вы настроите первое поле.

    Запас жесткий минимум… вроде. Если сумма всех резервных настроек всех виртуальных машин на данном хосте превышает 100%, то хотя бы одна виртуальная машина не запустится. Но если резерв виртуальной машины равен 0%, то он вообще не учитывается при расчете 100% (кажется довольно очевидным, но вы никогда не знаете). Но если виртуальная машина с резервом 20% простаивает, то другим процессам разрешается использовать до 100% доступной мощности процессора … до тех пор, пока виртуальная машина с резервом не запустится.Затем, , когда будет доступна емкость ЦП , зарезервированная виртуальная машина сможет доминировать до 20% от общей вычислительной мощности. Поскольку интервалы времени такие короткие, фактически, у него всегда есть 20% доступных, но он должен ждать, как и все остальные.

    Итак, тот поставщик, которому нужен выделенный процессор? Если вы действительно хотите выполнить их пожелания, сделайте это следующим образом. Вы вводите любое число в верхнем поле, которое заставляет второе поле показывать эквивалентную мощность процессора того количества процессоров / ядер, которое, по мнению поставщика, им необходимо.Если им нужен один ЦП, а у вас четырехъядерный хост, сделайте так, чтобы во втором поле отображалось 25%. Вам действительно нужно? Ну не знаю. Их программное обеспечение, вероятно, не нуждается в такой мощности, но если они могут запретить вам поддержку за то, что вы их не слушаете, что ж … не поймите меня посреди этого. Настоящая причина, по которой плотность виртуализации никогда не достигает того, что производители гипервизоров заявляют, что они могут сделать, заключается в произвольных правилах поставщиков программного обеспечения, но это будет разглагольствовать на другой день.

    Следующие два поля — это предел.Теперь, когда вы понимаете резерв, вы можете понять предел. Это ограничение ресурсов. Он защищает жадную виртуальную машину от доступа к банке с печеньем. Эти два ящика работают вместе так же, как и резервные ящики.

    Последнее поле — это приоритетный вес. Как указано, это относительно. Каждая виртуальная машина, для которой установлено значение 100 (по умолчанию), имеет одинаковое значение с планировщиком, но все они находятся под всеми виртуальными машинами, у которых есть 200, и, прежде всего, с виртуальными машинами, у которых есть 50, и так далее и так далее. Если вы собираетесь возиться, вес безопаснее, чем возиться с резервами, потому что вы никогда не сможете предотвратить запуск виртуальной машины, изменив относительный вес.Вес означает, что когда группа виртуальных машин одновременно представляет потоки планировщику потоков гипервизора, сначала идут виртуальные машины с более высоким весом.

    Но как насчет Hyper-Threading?

    Hyper-Threading позволяет одному ядру работать с двумя потоками одновременно — вроде как. Ядро может активно запускать только один из потоков за раз, но если этот поток останавливается в ожидании внешнего ресурса, то ядро ​​управляет другим потоком. Вы можете прочитать более подробное объяснение ниже в разделе комментариев от автора Джордана.AMD недавно добавила аналогичную технологию.

    Чтобы избавиться от одного крупного заблуждения: Hyper-Threading не увеличивает производительность ядра в два раза. Синтетические тесты показывают наивысшую отметку в 25% улучшения. Более реалистичные измерения показывают увеличение примерно на 10%. 8-ядерная система с Hyper-Threading не работает так же хорошо, как 16-ядерная система без Hyper-Threading. Он может работать почти так же хорошо, как 9-ядерная система.

    При использовании так называемого «классического» планировщика Hyper-V размещает потоки на следующем доступном ядре, как описано выше.Благодаря планировщику ядра, представленному в Hyper-V 2016, Hyper-V теперь предотвращает параллельное выполнение потоков, принадлежащих разным виртуальным машинам, на одном ядре. Тем не менее, он будет по-прежнему вытеснять потоки одной виртуальной машины в пользу потоков другой. У нас есть статья, посвященная основному планировщику.

    Разбираясь во всем

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

    Лично я назначаю 2 виртуальных ЦП на каждую виртуальную машину для запуска. Это дает ему как минимум два места для запуска потоков, что придает ему отзывчивость. В двухпроцессорной системе это также гарантирует, что виртуальная машина автоматически присутствует на обоих узлах NUMA. Я не назначаю виртуальной машине больше виртуальных ЦП, пока не узнаю, что она ей нужна (или это требует поставщик приложения).

    Что касается соотношения vCPU к pCPU, это работает в основном так же. Не существует формулы или магических знаний, которые можно было бы просто применить. Если вы планируете виртуализировать существующие рабочие нагрузки, измерьте их текущую загрузку ЦП и подсчитайте их; это расскажет вам то, что вам нужно знать.Вам может помочь набор средств Microsoft Assessment and Planning Toolkit. В противном случае вы просто добавляете ресурсы и отслеживаете их использование. Если ваше оборудование не может справиться с вашей рабочей нагрузкой, вам необходимо выполнить горизонтальное масштабирование.

    Хотите стать членом Алтаро Додзё?

    Как включить гиперпоточность в Windows 10 и нужно ли это?

    Вам нужно, чтобы ваш компьютер стал быстрее, не прибегая к модернизации оборудования? Затем подумайте о гиперпоточности ядер вашего центрального процессора (ЦП).

    Вы можете спросить: «Что такое гиперпоточность и как она работает?» Что ж, продолжайте читать, чтобы узнать.

    Для чего используется Hyper-Threading?

    Intel называет одновременную многопоточность (SMT) гиперпоточностью. Это означает разделение каждого физического ядра ЦП на виртуальные ядра, известные как потоки.

    Допустим, у ЦП два ядра (т. Е. Двухъядерный). В этом случае включение гиперпоточности создает четыре потока, позволяя каждому ядру выполнять две задачи одновременно.

    Этот процесс повышает эффективность и производительность вашего процессора. После этого вы можете запускать несколько требовательных программ одновременно без каких-либо задержек.

    Однако он требует больших затрат энергии и, как следствие, может вызвать нагрев вашего ПК.

    Нужна ли мне Hyper-Threading?

    Если вы обычно запускаете такие приложения, как браузеры и Microsoft Office, гиперпоточность (HT) вам не понадобится. Но большинство видеоигр, которые сейчас выпускаются, обычно хорошо работают на гиперпоточных процессорах.

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

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

    Например, если у вас есть возможность использовать четырехъядерный (четыре ядра) ЦП без включения гиперпоточности, предпочтительнее выбрать его, а не двухъядерный (два ядра) гиперпоточный ЦП.

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

    Как включить Hyper-Threading

    Для включения HT необходимо войти в настройки BIOS вашей системы. Вы можете узнать, как это сделать для своего устройства.

    Как только вы войдете в BIOS, вам нужно сделать следующее:

    1. Выберите «Процессор» и затем щелкните «Свойства» в открывшемся меню.
    2. Включите Hyper-Threading.
    3. Выберите «Выход и сохранить изменения» в меню «Выход».

    Имейте в виду, что не все процессоры поддерживают гиперпоточность. Однако некоторые ядра ЦП по умолчанию являются гиперпоточными, поэтому вам не нужно беспокоиться о включении этой функции вручную.

    Чтобы узнать, включен ли он уже, выполните следующие действия:

    1. Нажмите сочетание клавиш с логотипом Windows + R на клавиатуре, чтобы открыть диалоговое окно «Выполнить».
    2. Введите «CMD» в текстовое поле и нажмите Enter или нажмите OK, чтобы открыть окно командной строки.
    3. Введите «wmic» (без кавычек) и нажмите Enter.
    4. Введите «CPU Get NumberOfCores, NumberOfLogicalProcessors / Format: List» и нажмите Enter.

    Результаты покажут записи «Количество ядер» и «Количество логических процессоров». Если они оба имеют одинаковое значение, это означает, что ядра вашего процессора не являются гиперпоточными. Но если количество логических процессоров в два раза больше количества ядер, тогда включена гиперпоточность.

    Мы надеемся, что эти советы по технологии Hyper-Threading были для вас полезны.

    РЕКОМЕНДУЕТСЯ

    Решение проблем с ПК с помощью Auslogics BoostSpeed ​​

    Помимо очистки и оптимизации вашего ПК, BoostSpeed ​​защищает конфиденциальность, диагностирует проблемы с оборудованием, предлагает советы по увеличению скорости и предоставляет более 20 инструментов для удовлетворения большинства потребностей в обслуживании и обслуживании ПК.

    БЕСПЛАТНАЯ ЗАГРУЗКА
    Совет от профессионалов: Если ваша система и приложения часто зависают или дают сбой, мы рекомендуем вам запустить сканирование с помощью Auslogics BoostSpeed.Этот инструмент решает проблемы, связанные со снижением скорости, и другие проблемы, которые не позволяют вашему компьютеру работать оптимально.

    Нравится ли вам этот пост? 🙂

    Пожалуйста, оцените, поделитесь им и подпишитесь на нашу рассылку!

    18 голосов, в среднем: 4.22 из 5

    Загрузка … Руководство по показателям ЦП

    для Windows — долгота

    18 октября 2017 г. | Кен Леони

    Использование ЦП в Windows часто сосредоточено на заголовке «Используемый% ЦП» в качестве общей меры производительности ЦП, но есть и другие показатели ЦП, которые могут предоставить более подробную картину общего состояния системы.В сегодняшнем блоге мы рассмотрим эти дополнительные показатели.

    Сначала немного основной терминологии:

    • Резьба

      Приложения состоят из одного или нескольких процессов, а сами процессы состоят из одного или нескольких потоков. Потоки — это основные компоненты, которые можно поставить в очередь и выделить процессорное время.

    • Приоритет

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

      По умолчанию для приоритета установлено значение «Обычный», но пользователи могут настраивать приоритеты выше или ниже. Обратите внимание, что обычно не рекомендуется устанавливать для процессов уровень приоритета «В реальном времени».

      Представление диспетчера задач установки приоритета для процесса
    • Логические процессоры

      Физический процессор в системе может иметь одно или несколько ядер, при этом каждое ядро ​​функционирует как отдельный процессор. Каждое ядро ​​выполняет по одному потоку за раз, однако, если поток должен ждать (например,г. для ввода-вывода), то ядро ​​простаивает. Это время ожидания простоя можно минимизировать, позволив ядру запустить другой поток, который выполняется, когда первый поток простаивает. Это называется гиперпоточностью, и ядра, использующие гиперпоточность, рассматриваются как имеющие 2 логических процессора .

      Вид диспетчера задач гиперпоточного четырехъядерного процессора

      На приведенном выше снимке экрана на материнской плате системы есть один физический процессор. Один процессор имеет 4 ядра ЦП, и ядра являются гиперпоточными.Система отображает это как 8 логических процессоров, но имейте в виду, что гиперпоточность не удваивает производительность процессора, а только использует циклы процессора, которые в противном случае были бы потеряны из-за простоя. На практике прирост производительности приближается к 30%.
      Мы будем рассматривать общие показатели процессора (экземпляр _Total), которые будут находиться в диапазоне от 0 до 100, независимо от количества логических процессоров в системе.

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

    Этот технический документ помогает ИТ-отделам добиться успешного долгосрочного мониторинга серверов за счет упрощенного, эффективного, отказоустойчивого и автоматизированного подхода.

    Показатели ЦП

    • Длина очереди процессора

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

    • % привилегированное время

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

      Как правило, % привилегированного времени должно составлять <30% от общей загрузки ЦП, но это значение следует скорректировать в зависимости от базовой рабочей нагрузки. Если % Privileged Time постоянно высокий, вы можете продолжить исследование, посмотрев на следующие счетчики:

      • % Время прерывания

        Прерывания — это потоки с более высоким приоритетом, используемые ОС для обработки аппаратных запросов, и если % времени прерывания> 20% , это может указывать на проблему с оборудованием или драйвером.

      • % времени DPC

        DPC — это «отложенный вызов процедуры», который представляет собой аппаратное прерывание, которое выполняется с более низким приоритетом. Как и в случае % времени прерывания , если % времени DPC > 20%, проблема, скорее всего, связана с аппаратным обеспечением или драйвером.

      • переключений контекста / сек

        Переключение контекста происходит, когда ЦП переключает выполнение с одного потока на другой либо потому, что задача потока завершена, либо потому, что поток с более высоким приоритетом прерывает поток с более низким приоритетом.На процессоре всегда будет переключение контекста, но если слишком много потоков с высоким приоритетом проталкиваются в начало очереди, производительность процессора снизится. Установите базовое значение Context Switches / Sec для вашей системы и найдите всплески, которые могут указывать на прерывания из-за неисправного оборудования или плохо написанных драйверов или программного обеспечения.

    • % загруженности процессора

      % загруженности процессора — это метрика, которая в большинстве случаев используется для определения% времени процессора. Технически % рабочего времени процессора рассчитывается как «100 — % времени простоя », где % времени простоя — это процент времени, в течение которого процессоры не обрабатывают потоки.Однако почти во всех случаях это оказывается таким же, как % привилегированного времени + % времени процессора . Наблюдайте за % загруженности процессора и предупреждайте, если оно постоянно превышает 80%.

    Сводный отчет ЦП по долготе

    Сводка

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

    Метрическая Порог Обнаружена проблема
    Длина очереди процессора Превышает базовый уровень Запросы ЦП превышают емкость или слишком много потоков с высоким приоритетом
    % Привилегированный ЦП 30% Система использует слишком много ЦП
    % Время прерывания 20% Проблема с оборудованием или драйвером
    % Время DPC 20% Проблема с оборудованием или драйвером
    переключений контекста / сек Превышает базовый уровень Проблема с оборудованием, драйвером или программным обеспечением
    % Время процессора 80% запросов ЦП превышают емкость.

    Хотите узнать больше?

    Как получить потоки процессов в Windows 10 с исходным кодом C / C ++.

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

    В этом руководстве мы сосредоточимся на следующем:

    • Количество глобальных потоков в диспетчере задач.
    • Количество потоков на процесс с использованием диспетчера задач.
    • Небольшой инструмент командной строки с именем ThreadsInfo с исходным кодом C / C ++.

    Если вы спрашиваете себя , как проверить количество потоков в Windows , вы можете сделать следующее, в Windows 10:

    1. Открыть диспетчер задач.
    2. Перейдите на вкладку «Производительность».
    3. Убедитесь, что выбран ЦП

    Вы можете увидеть количество потоков, запущенных в настоящее время в вашей системе.

    Вот скрин для этого:

    Диспетчер задач Показать количество потоков

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

    Нет проблем, вы также можете сделать это из диспетчера задач. Вот как:

    1. Открыть диспетчер задач.
    2. Перейдите на вкладку «Подробности».

    Количество потоков на процесс

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

    Добавление количества потоков на процесс в диспетчере задач:

    Если вы не видите количество потоков, вы можете добавить столбец потоков к элементам, которые вы видите.

    1. Щелкните правой кнопкой мыши по одному из элементов заголовка — цифре 1 на изображении.
    2. Нажмите на вариант выбора столбца.
    3. В открывшемся списке прокрутите вниз до цепочек — цифра 2 на изображении.
    4. Отметьте темы и нажмите ОК.
    5. Теперь вы можете увидеть количество потоков на процесс.

    Добавить количество потоков на процесс

    Но что, если вам нужна дополнительная информация о потоках.

    Инструмент получения технологической резьбы:

    Получить выходные данные инструмента технологической резьбы — инструмент ThreadsInfo.

    Код основан на обходе Microsoft кода списка потоков.

    Инструмент командной строки

    ThreadsInfo:

    Используя код и функцию API, мы можем «путешествовать» по списку потоков, которые выполняются в системе. Но не только то, что мы можем запрашивать поток и получать из него информацию. В этой версии мы — только идентификатор потока, приоритет и родительское имя процесса потока. EXE-файл.

    Вы можете загрузить исходный код инструмента (C / C +) по адресу:

    Исходный код ThreadsInfo (518 загрузок)

    Код был создан в Visual Studio 2015, но может использоваться в любой другой версии.Создайте проект командной строки C / C ++ для запуска этого инструмента.

    Надеюсь, эта статья — Как получить потоки процессов в Windows 10 была полезной, если у вас есть вопросы, комментарии или вы хотите, чтобы мы загрузили скомпилированную (exe) версию инструмента. Пожалуйста, свяжитесь с нами, используя страницу контактов или прокомментируйте эту статью.

    Просмотр информации о потоках процесса В Windows

    ProcessThreadsView v1.29
    Copyright (c) 2011-2018 Нир Софер
    Описание
    ProcessThreadsView — это небольшая утилита, отображающая обширную информацию обо всех потоках выбранного вами процесса.Информация о потоках включает идентификатор потока, количество переключений контекста, приоритет, время создания, Время пользователя / ядра, количество окон, заголовок окна, начальный адрес и т. Д.
    При выборе потока на верхней панели нижняя панель отображает следующую информацию: Строки, найденные в стеке, адресах модулей стека, стеке вызовов и регистрах процессора.
    ProcessThreadsView также позволяет приостанавливать и возобновлять один или несколько потоков.

    Системные требования и ограничения
    • Эта утилита работает с любой версией Windows, начиная с Windows 2000 и заканчивая Windows 10.
    • Для просмотра информации о потоках приложений x64 необходимо использовать версию ProcessThreadsView для x64. Для просмотра информации о потоках 32-разрядных приложений следует использовать 32-разрядную версию ProcessThreadsView.
    • В Windows 7/2008 / Vista — если вы хотите просмотреть потоки процесса, запущенного с правами администратора и UAC включен, вы также должны выполнить ProcessThreadsView с помощью «Запуск от имени администратора».
    • Для приложений x64 информация стека вызовов не отображается.
    История версий
    • Версия 1.29:
      • В нижней панели исправлено использование соответствующего размера шрифта в режиме высокого разрешения.
    • Версия 1.28:
      • Исправлена ​​нижняя панель для переключения фокуса при нажатии клавиши табуляции.
    • Версия 1.27:
      • Исправлен столбец «Время создания» в окне «Выбор процесса» для отображения даты / времени по местному времени (вместо GMT).
      • Добавлен параметр «Выровнять числовые столбцы по правому краю».
    • Версия 1.26:
      • Добавлен пункт меню «Сохранить все элементы».
    • Версия 1.25:
      • Добавлен «Новый экземпляр» (Ctrl + N), который открывает новое окно ProcessThreadsView.
    • Версия 1.21:
      • Добавлены новые столбцы в окно «Выбор процесса»: «Время создания» и «Имя пользователя».
    • Версия 1.20:
      • Исправлено отображение системных процессов, когда ProcessThreadsView выполняется от имени администратора.
    • Версия 1.15:
      • Добавлен параметр «Запуск от имени администратора».
    • Версия 1.11:
      • Добавлена ​​опция «Всегда сверху».
    • Версия 1.10:
      • Добавлена ​​опция «Сортировать при каждом обновлении».
    • Версия 1.07:
      • Исправлено мерцание при просмотре списка тем.
    • Версия 1.06:
      • Добавлен параметр «Автоматический размер столбцов + заголовки», который позволяет автоматически изменять размер столбцов в соответствии со значениями строк и заголовками столбцов.
      • Исправленная проблема: диалоговое окно свойств и другие окна открывались не на том мониторе в системе с несколькими мониторами.
      • Добавлена ​​опция «Пометить четные / нечетные строки» в меню «Просмотр». Когда он включен, четные и нечетные строки отображаются разным цветом, чтобы было легче читать одну строку.
    • Версия 1.05:
      • Добавлена ​​опция «Поместить значок в лоток».
    • Версия 1.00 — Первый выпуск.
    Использование ProcessThreadsView
    ProcessThreadsView не требует никакого процесса установки или дополнительных файлов DLL.Для того, чтобы начать им пользоваться, просто запустите исполняемый файл — ProcessThreadsView.exe.

    После запуска ProcessThreadsView вы должны выбрать процесс, который хотите проверить.
    После выбора желаемого процесса список всех потоков отображается в главном окне и автоматически обновляется при каждом изменении потока. Когда вы выбираете ветку на верхней панели, на нижней панели отображается расширенная информацию о выбранной цепочке в соответствии с параметрами, которые вы выбираете в меню «Параметры».
    По умолчанию выбран только параметр «Показать строки стека», но вы также можете выбрать отображение двоичные значения стека, адреса модулей стека, другие значения стека, стек вызовов и регистраторы процессора.
    Имейте в виду, что если включить все доступные параметры, процесс загрузки нижней панели может быть довольно медленно.

    Перевод ProcessThreadsView на другие языки
    Чтобы перевести ProcessThreadsView на другой язык, следуйте инструкциям ниже:
    1. Запустить ProcessThreadsView с параметром / savelangfile:
      ProcessThreadsView.exe / savelangfile
      В папке утилиты ProcessThreadsView будет создан файл с именем ProcessThreadsView_lng.ini.
    2. Откройте созданный языковой файл в Блокноте или в любом другом текстовом редакторе.
    3. Перевести все строковые записи на нужный язык. При желании вы также можете добавить свое имя и / или ссылку на свой веб-сайт. (Значения TranslatorName и TranslatorURL) Если вы добавите эту информацию, она будет используется в окне «О программе».
    4. После завершения перевода запустите ProcessThreadsView и все переведены строки будут загружены из языкового файла.
      Если вы хотите запустить ProcessThreadsView без перевода, просто переименуйте языковой файл или переместите его в другую папку.
    Лицензия
    Эта утилита выпущена как бесплатное ПО. Вы можете свободно распространять эту утилиту через дискеты, CD-ROM, Интернет или любым другим способом, если вы ничего за это не берете и не продавать или распространять как часть коммерческого продукта. Если вы распространяете эту утилиту, вы должны включить все файлы в дистрибутив, без каких-либо модификаций!
    Заявление об ограничении ответственности
    Программное обеспечение предоставляется «КАК ЕСТЬ» без каких-либо явных или подразумеваемых гарантий, включая, но не ограничиваясь, подразумеваемые гарантии товарной пригодности и пригодности для определенной цели.Автор не несет ответственности за какие-либо особые, случайные, косвенный или косвенный ущерб из-за потери данных или по любой другой причине.
    Обратная связь
    Если у вас есть какие-либо проблемы, предложения, комментарии или вы обнаружили ошибку в моей утилите, вы можете отправить сообщение на [email protected]

    ProcessThreadsView также доступен на других языках. Чтобы изменить язык ProcessThreadsView, загрузите zip-файл на соответствующем языке, извлеките файл «processsthreadsview_lng.ini», и поместите его в ту же папку, в которой вы установили утилиту ProcessThreadsView.

    Windows 10 Pro не может обрабатывать 128 потоков AMD Threadripper 3990X

    Недавно AMD выпустила чудовищный Threadripper 3990X. Это 128-поточный процессор с максимальной тактовой частотой 4,3 ГГц. Это чрезвычайно мощный чип, но чтобы получить максимальную отдачу от него, вам необходимо перейти на что-то выше Windows 10 Pro. В обзоре Threadripper 3990X, проведенном Anandtech, они заметили, что системы под управлением Windows 10 Pro разделяют ЦП на две группы по 64 потока.

    При разделении на две группы ПК по-прежнему может использовать все 128 потоков, но одна программа не может. Когда программа запускается, она попадает в одну из групп процессоров. Система помещает программу в менее загруженную группу, чтобы избежать перегрузки. Программа может использовать потоки только внутри той группы, в которую она помещена, что означает, что она ограничена 64 потоками. Разработчики могут информировать группу процессоров программ, что позволяет обойти эту проблему, но если программа не создана для такого типа настройки, она может получить доступ только к 64 потокам.

    Эту проблему можно также несколько обойти, отключив одновременную многопоточность. В результате в вашей системе будет только одна группа процессоров с 64 ядрами. Обратной стороной этого является потеря производительности, согласно тестам Anandtech.

    Реальный способ обойти это — запустить операционную систему, созданную для обработки такого количества потоков. Microsoft не создавала Windows 10 Home или Windows 10 Pro для обработки 128 потоков. Это разумно, учитывая, что подавляющее большинство систем, на которых работают эти две версии Windows, никогда не увидят около 128 потоков.

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

    Однако есть шанс, что проблема исчезнет. Согласно комментариям на Ars Technica (через TechRader), в Windows 10 Pro есть обновление, которое позволяет правильно видеть 128 потоков 3990x.

    Мы можем получать комиссию за покупки, используя наши ссылки. Выучить больше.

    +1 хрустальный шар

    Забегая вперед: чего ожидать от Xbox в 2022 году

    По мере того, как 2021 год (наконец) подходит к концу, каким может быть 2022 год для игрового подразделения Microsoft, Xbox? Мы смотрим в наши хрустальные шары в форме нексуса и пытаемся предсказать будущее.

    групп процессоров Microsoft предлагают путь для масштабирования за пределами ограничений 64 потоков — Techgage

    Представьте себе альпиниста, поднимающегося в пределах 100 футов от вершины, и ему говорят, что он не может идти дальше без специального прохода. Или повар, которому сообщили, что превосходный ингредиент в ее фирменном блюде не может быть получен из-за карательного торгового соглашения. Или Стеф Карри, которому тренер сказал, что он не должен стрелять дальше 23 футов от корзины.

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

    К счастью, около двух лет назад Microsoft разработала концепцию под названием процессорных групп , которая позволяет разработчикам многопоточных приложений преодолевать предыдущие ограничения. Функциональность доступна в 64-битных версиях Windows 7, Windows Server 2008 R2 и новее, а также Windows 10.

    Более 64 потоков

    Итак, с чего начать ограничение в 64 потока и почему до недавнего времени потребовалось реализовать масштабирование для более чем 64 логических процессоров?

    «Давным-давно считалось, что ни одна система не будет иметь более 64 потоков», потому что тогда в каждой системе было очень мало ядер », — говорит Алекс Шоу, председатель подкомитета SPEC Workstation Performance Characterization (SPECwpc), разработчик Тест SPECworkstation.«Поскольку размер транзисторов уменьшался с каждым поколением оборудования, стало возможным объединить все больше и больше процессоров в единую систему».

    Microsoft определяет группы процессоров как «статический набор до 64 логических процессоров, который рассматривается как единый объект планирования». Когда группы процессоров реализованы в рамках многопоточного кода, системы с более чем 64 логическими процессорами будут видеть лучшее масштабирование благодаря улучшенному разделению и аффинитизации . Привязка к процессору позволяет связывать и отменять привязку процесса или потока к ЦП или диапазону ЦП, так что процесс или поток будет выполняться только на назначенном ЦП или ЦП.

    Аншу Арья, заместитель председателя и директор по вычислительным исследованиям подкомитета SPECwpc, объясняет, как работают группы процессоров.

    «Для любой системы с более чем 64 логическими потоками Windows равномерно разделит потоки на группы процессоров, так что ни одна группа не имеет более 64 потоков. Например, в двухпроцессорной системе с двумя 28-ядерными процессорами и 112 потоками Windows создаст две группы процессоров по 56 потоков в каждой. В однопроцессорной системе с 64 ядрами и 128 потоками будут созданы две группы процессоров, каждая с 64 потоками.”


    Требовательные профессиональные приложения, такие как генератор трехмерного контента с открытым исходным кодом Blender, были одними из первых, кто реализовал группы процессоров.

    Разработан для требовательных приложений

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

    «Некоторые из наиболее требовательных профессиональных приложений, такие как Blender, уже поддерживают группы процессоров, потому что некоторым из их пользователей требовалась производительность на высокопроизводительных двухпроцессорных рабочих станциях.Приложения, использующие MPI или другие многопроцессорные API-интерфейсы, естественно, обходят ограничения группы процессоров, в то время как другие быстро их догоняют, особенно если приложение уже является многопоточным ».

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

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

    Группы процессоров в SPECworkstation

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

    В преддверии этого движения подкомитет SPECwpc реализовал поддержку групп процессоров для большинства рабочих нагрузок ЦП в версии 3.0.4 своего стандартного теста производительности SPECworkstation. Обновление доступно в двух формах: в качестве исправления минорной версии для тех, кто уже использует SPECworkstation 3.0.3, и в качестве полной тестовой установки для новых пользователей или тех, кто использует версию до 3.0.3. Независимо от того, загружают ли пользователи полную версию теста V3.0.4 или только патч, они сохранят сопоставимость между версиями 3.0.4 и все предыдущие версии 3.0.

    Результаты тестирования

    SPECworkstation 3 на веб-сайте SPEC будут включать информацию о младшей версии, чтобы заранее узнать, какая версия использовалась для получения опубликованного результата.

    Тесты подтверждают лучшее масштабирование

    Тесты ЦП

    на рабочих нагрузках с использованием групп процессоров в SPECworkstation 3.0.4 показывают широкий спектр улучшений масштабирования по сравнению с результатами из предыдущих версий. Результаты для этой статьи основаны на четырехканальной системе DDR4-3200 объемом 64 ГБ с 64-ядерным 128-поточным процессором, работающим в операционной системе Windows 10 Pro 1909.Оценка рассчитывается на основе времени выполнения каждого теста, которое затем составляется на основе эталонной машины, давая результат «больше — лучше».

    При тестировании, используемом для этой статьи, рабочие нагрузки SPECworkstation 3.0.4, содержащие алгоритмы с почти идеальным масштабированием ЦП, обычно удваивают производительность при работе с группами процессоров. Для других рабочих нагрузок ЦП прирост составляет от менее одного процента для рабочих нагрузок с легкими потоками до более 90 процентов для рабочих нагрузок с большим числом потоков.Общий средний прирост составляет более 64 процентов для 14 рабочих нагрузок, в которых была реализована поддержка групп процессоров.

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

    • Convolution — рабочая нагрузка, имитирующая математический метод объединения двух сигналов для формирования третьего сигнала — была изменена с OpenMP на библиотеку параллельных шаблонов Microsoft для поддержки групп процессоров.Производительность увеличилась с 9,79 до 17,67, т.е. более чем на 80 процентов.
    • Handbrake — кодировщик мультимедиа с открытым исходным кодом — был модифицирован для запуска дополнительных процессов (по одному на группу процессоров) при необходимости. Производительность увеличилась с 4,70 до 8,58, т.е. более чем на 83 процента.
    • Kirchoff — волновое уравнение, используемое для расчета обратного распространения поля сейсмических волн для нефтегазовой промышленности — было изменено для правильного определения сродства между несколькими группами процессоров.Производительность увеличилась с 8,32 до 14,16, т.е. более чем на 70 процентов.

    Достаточно ли 4 миллионов?

    Хотя может показаться, что группы процессоров обещают бесконечное масштабирование, количество логических процессоров ограничено: 4 194 304, если быть точным.

    «Windows определяет структуру данных для групп процессоров как номер процессора , и в этой структуре находится значение данных, называемое группой », — говорит Шоу. «Группа — это тип данных word , который определяется как 16-битовое целое число без знака.Это означает, что можно иметь максимум 65 536 групп процессоров, каждая из которых содержит 64 потока.

    «Со всей мудростью мы говорим:« Конечно, ни одна система не будет иметь более 4 194 304 процессоров! »Но вечность — это долгий срок, и если 4 миллионов недостаточно, нам нужно будет изменить тип данных в будущем. чтобы учесть больше групп ».

    ###

    Боб Крамблитт — директор по коммуникациям SPEC. Он часто пишет о проблемах производительности и цифровых технологиях проектирования, проектирования и производства.

    Хотите получать информацию о производительности графики и рабочих станций? Посетите веб-сайт SPEC / GWPG , подпишитесь на информационный бюллетень SPEC / GWPG или присоединитесь к группе LinkedIn по сравнительному анализу графики и рабочих станций: https://www.

    Leave a comment