Разное

Виртуальный процессор для пк: Сколько виртуальных процессоров (vCPUs) находится в Intel®…

19.05.1981

Содержание

Windows 11 по недосмотру разрешает установить себя на очень древний процессор

Бизнес Техника | Поделиться

Windows 11, как выяснилось, можно легально и без ограничений установить на процессор Intel Pentium 661 образца 2006 г. Система полностью поддерживает его, несмотря на то, что Microsoft говорит о возможности полноценной ее установки на ПК с процессорами Intel, вышедшими не раньше 2017 г.

Возвращение в 2006 год

Операционная система Windows 11 оказалась полностью совместима с процессором Intel Pentium 4 661, сообщает профильный портал Windows Latest. Это идет вразрез с первоначальной политикой Microsoft, согласно которой Windows 11 совместима с чипами Intel Core как минимум восьмого поколения.

В начале 2022 г. процессору Pentium 4 661 исполнится 15 лет. Он был выпущен в I квартале 2006 г. и производился по 65-нанометровому техпроцессу. К моменту релиза Windows 11 в начале октября 2021 г. Pentium 4 661 успел безнадежно морально устареть. Что до восьмого поколения чипов Core, то оно, известное как Coffee Lake, дебютировало в начале 2017 г.

Это невозможно, но, тем не менее, это факт — Windows 11 поддерживает чип из 2006 года

Неожиданную совместимость Windows 11 с Pentium 4 661 подтвердила фирменная утилита Microsoft для проверки способности компьютера работать под новой ОС. Программа PC Health Check показала, что этот процессор проходит по всем критериям, несмотря на то, что Windows 11 нужен как минимум двухъядерный CPU с поддержкой многопоточности, хотя в Pentium 4 661 есть лишь одно вычислительное ядро. Hyper Threading в нем, само собой, нет.

Доверяй, но проверяй

Причина, по которой древний одноядерный процессор удовлетворяет завышенным требованиям Windows 11 к «железной» части компьютера, в настоящее время покрыта тайной. Однако не все склонны доверять проверочной утилите Microsoft, тем более что на ранних этапах она уже демонстрировала свою неспособность к стабильной работе. После этого Microsoft модифицировала ее, но, видимо, забыла добавить Pentium 4 661 в ее базу данных в раздел несовместимых CPU.

Владелец YouTube-канала Carlos S. M. Computers оказался в числе тех, кто решил проверить возможность установки Windows 11 на ПК с древнейшим одноядерным процессором. Он собственноручно развернул образ свежей системы Microsoft на ПК с Pentium 4 661, не столкнувшись при этом с трудностями на этапе установки.

Можно было бы предположить, что создатель канала Carlos S. M. Computers всего лишь воспользовался официальной лазейкой – Microsoft позволяет устанавливать Windows 11 на древние ПК в обмен на отказ от получения обновлений системы. Однако эта функция оказалась вполне рабочей, что является подтверждением факта беспроблемной установки ОС из 2021 г. на компьютер с процессором из 2006 г.

Автор ролика смог обновить систему до версии 22000.282.

В чем секрет

По версии портала Windows Latest, феномен с возможностью установки Windows 11 на 15-летний компьютер без отказа от обновлений, кроется в механизме проверки совместимости. По всей видимости, система сверяется с одной лишь базой данных, где перечислены все несовместимые CPU, не учитывая реальные параметры чипа.

От конструктора VR-проектов до повышения цифровой грамотности: как в Москве тестируют инновации в образовании

Инновации и стартапы

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

Немного о Windows 11

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

Рабочий стол Windows 11

Система представляет собой модернизированную Windows 10 с нативной поддержкой Android-приложений, встроенным мессенджером Teams, новым меню «Пуск» и рядом других нововведений, включая меню виджетов прямиком из Windows Vista.

Поддерживая процессор Intel 15-летней давности, Windows 11 замедляет современные чипы AMD. Из-за бага в системе они теряют до 15% своей производительности в различных приложениях. Первый патч для Windows 11 усугубил эту проблему, но AMD и Microsoft уже работают над ее решением.



Технология виртуализации в процессоре | Технологии | Блог

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

Зачем нужна виртуализация на домашнем компьютере

Вот простой пример: вы используете для работы и игр Windows, но при этом хотите изучить, например, Linux. Значит, нужно, чтобы эта операционная система находилась под рукой. Или занимаетесь программированием под Android или iOS. В этом случае постоянно требуется проверка разработанного приложения в родной среде.

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

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

Виртуализация в бизнесе

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

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

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

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

Основные направления развития виртуализации

В целом виртуализация как технология сейчас развивается по трем основным направлениям:

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

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

Как работает виртуализация

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

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

Такая технология есть у обоих крупных производителей процессоров для ПК: у Intel она называется Intel VT, у AMD — AMD –V.

Особенности Intel VT

Впервые о разработке технологии виртуализации компания Intel объявила еще в 2005 году. И с тех пор Intel VT постоянно совершенствуется и расширяется.

Корпорация Intel описывает Intel VT как технологию, развивающую несколько основных направлений. На сегодня это:

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

  • виртуализация графических представлений через Intel Graphics Virtualization. Обеспечивает виртуальным машинам полный доступ или совместное использование графических процессоров и систем, отвечающих за работу с видео. Применяется для удаленных рабочих мест (несколько пользователей работают с удаленных терминалов на одном сервере) и онлайн-игр;
  • виртуализация ввода-вывода Intel Virtualization Technology for Directed I/O и прочие технологии работы с периферией обеспечивают передачу результатов обработки на сетевые и прочие устройства ввода-вывода информации. То есть, образно говоря, не дают виртуальным машинам «поссориться» при взаимодействии с сетью и не потерять в быстродействии. А также позволяют им получать доступ к любым устройствам, подключенным, например, к шине PCI-E. Отсюда следует и виртуализация сетевых функций, например, Intel QuickAssist.
Особенности AMD–V

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

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

Включение виртуализации на компьютере

Непосредственный запуск виртуальных машин выполняется с помощью специальных приложений:

  • менеджеров виртуальных машин. В качестве примера можно привести VMWare Workstation, Parallels Workstation. В этом случае одна операционная система запускается внутри другой;
  • программ-гипервизоров, позволяющих запускать на одном компьютере одновременно несколько операционных систем. Примеры таких приложений — Microsoft Hyper-V или Xen.

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

Дело в том, что по умолчанию в настройках BIOS большинства материнских плат виртуализация отключена. И ее необходимо включить в соответствующем разделе, который называется у каждого производителя по-своему, например, «Virtualization Technology» изменив значение опции с «Disabled» на «Enabled».

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

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

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

Современные процессоры Intel IA-32 в ПК

9.2 Виртуальный режим

Переключение в виртуальный режим

Виртуальный режим (V86) — это особое состояние задачи защищенного режима, в котором процессор использует модель реального адреса для формирования линейных адресов. Именно этот механизм используется для формирования адреса в реальном режиме. Однако, в отличие от реального режима, в этом состоянии процессор по-прежнему предоставляет средства многозадачности, страничной трансляции и использует дескрипторную таблицу для определения обработчиков прерываний и исключений. Благодаря многозадачности, в системе может одновременно находиться несколько задач в обычном состоянии и в состоянии V86.

Задача выполняется в состоянии V86, если бит VM в регистре EFLAGS установлен. Процессор проверяет этот флаг в следующих случаях:

Системное программное обеспечение не может непосредственно изменить состояние бита VM (например, при помощи POPFD). Вместо этого следует менять образ регистра EFLAGS в стеке (при IRET) или в TSS (при переключении задач).

Процессор начинает выполнять задачу в состоянии V86 в двух случаях:

  1. При переключении на новую задачу, когда регистр EFLAGS, загружаемый из нового TSS, содержит бит VM=1. Следует отметить, что задача в состоянии V86 может определяться только 32-битным TSS, т.к. 16-битный TSS содержит только младшее слово регистра EFLAGS, не включающее бит VM.
  2. При возврате из обработчика прерывания или исключения защищенного режима CPL=0 с помощью команды IRET без переключения задач (EFLAGS.NT=0), когда образ регистра EFLAGS в стеке содержит бит VM=1. (Если уровень привилегий обработчика отличен от нуля, процессор не изменит бит VM).

Процессор прекращает выполнять задачу в состоянии V86 только при возникновении прерывания или исключения в следующих случаях:

  • Если обработчик соответствующего прерывания / исключения представлен в IDT шлюзом задачи, при переключении на которую процессор покидает виртуальный режим (ее TSS содержит EFLAGS.VM=0).
  • Если обработчик прерывания / исключения находится в сегменте кода с PL=0.

Монитор V86

Для полноценного выполнения программы для МП 8086 задача в состоянии V86, описываемая 32-битным TSS, должна содержать, кроме программы МП 8086, сервисы операционной системы МП 8086 и монитор V86.

Монитор V86 — программный модуль, выполняемый в сегменте кода с PL=0 в защищенном режиме. Монитор V86 обеспечивает инициализацию, обработку прерываний и исключений, реализацию процедур ввода-вывода, эмулирующих аппаратную платформу компьютеров на основе МП 8086. Как правило, основная часть монитора V86 — это обработчик нарушения общей защиты. Именно оно позволяет эмулировать программно-аппаратную среду МП 8086 в многозадачной системе на основе микропроцессора архитектуры IA-32. Как и любая другая программа для защищенного режима, монитор V86 использует дескрипторы сегментов в GDT или локальной дескрипторной таблице задачи. Монитору могут также понадобиться дескрипторы сегментов данных, с помощью которых монитор получает доступ к IDT или другим частям программы МП 8086, находящимся в первом мегабайте линейного адресного пространства.

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

Страничная трансляция и защита

Страничная трансляция, не являясь обязательным механизмом при выполнении одной задачи V86, тем не менее, позволяет реализовать дополнительные возможности:

  • перенаправлять или захватывать ссылки на устройства ввода-вывода, отображаемые в пространство памяти;
  • совместно использовать операционную систему МП 8086 или процедуры, записанные в ПЗУ, и общие для нескольких одновременно выполняемых задач в состоянии V86;
  • создавать множество задач V86, в котором каждая задача отображает нижний мегабайт линейных адресов на различные физические ячейки;
  • эмулировать «заворачивание» адресного пространства, присущее МП 8086, путем отображения страниц с линейными адресами 100000h-110000h на те же физические адреса, что и страницы с линейными адресами 00000h-10000h.

При выполнении программ МП 8086 процессор не обращается к дескрипторам и, следовательно, не использует реализуемый с помощью дескрипторов механизм защиты. В то же время, механизмы защиты, не связанные непосредственно с дескрипторами, продолжают действовать: контроль предела (все сегменты по 64Кбайт), контроль выравнивания, контроль привилегированных команд, защита на уровне страниц. Когда задача находится в состоянии V86, ей приписывается третий уровень привилегий.

В виртуальном режиме в число команд, чувствительных к уровню привилегий ввода-вывода, входят следующие команды: CLI, STI, PUSHF, POPF, INT n и IRET. В число этих команд не входят инструкции обращения к портам ввода-вывода (IN, INS, OUT, OUTS), т.к. в виртуальном режиме процессор вне зависимости от IOPL обращается к двоичной карте разрешения ввода-вывода.

Для защиты системных программ в задаче V86 от программ МП 8086 можно использовать два подхода. Разработчик программного обеспечения может использовать бит U/S элемента таблицы страниц для защиты монитора виртуальной машины и других системных программ, располагаемых в пространстве каждой задачи V86. Т.к. страницы монитора виртуальной машины имеют привилегии супервизора, они недоступны для программы МП 8086.

Другой способ защиты системы от прикладных программ МП 8086 заключается в резервировании в начале линейного пространства адресов каждой задачи 1 Мбайт+64 Кбайт для программ МП 8086. Задачи МП 8086 не могут генерировать адреса за пределами этого диапазона.

Обработка прерываний и исключений

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

Для виртуального режима прерывания и исключения можно разделить на три класса:

  1. Немаскируемые аппаратные прерывания (вход NMI#) и исключения процессора. Сюда же относятся маскируемые аппаратные прерывания, если выключено расширение VME (Pentium+).
  2. Маскируемые аппаратные прерывания, поступающие на вход процессора INTR# или по шине APIC (Pentium+), когда включено расширение VME.
  3. Программные прерывания, генерируемые инструкцией INT n.

Способ обработки прерывания/исключения зависит от:

  • VME (Virtual-8086 Mode Extensions, бит 0 регистра CR4, Pentium+) — расширения виртуального режима. Когда этот бит включен, есть возможность особой обработки аппаратных маскируемых прерываний (класс 2) с использованием виртуального флага прерываний (VIF и VIP в EFLAGS). У Intel386 и Intel486 эта возможность отсутствует, поэтому для них следует рассматривать только два класса прерываний и исключений (1 и 3).
  • IOPL (I/O Privilege Level, биты 12-13 регистра флагов) — уровень привилегий ввода-вывода. Это поле влияет на работу с виртуальным флагом прерываний (VIF) и программными прерываниями (класс 3).
  • Битовая карта перенаправления программных прерываний (Software interrupt redirection bit map, Pentium+) — опциональная структура в TSS, влияющая на обработку программных прерываний. Размещается по адресу на 32 байта меньше базового адреса битовой карты разрешения ввода-вывода и занимает 32 байта. Битовая карта перенаправления программных прерываний используется только, когда CR4.VME=1.
  • VIF и VIP (Virtual Interrupt Flag, Virtual Interrupt Pending flag — биты 19 и 20 регистра флагов, Pentium+) — виртуальный флаг прерывания и виртуальный флаг задержки прерывания. Когда включено расширение VME и IOPL<3, инструкции CLI, STI и POPF, не генерируя нарушение общей защиты, вместо бита IF меняют значение бита VIF.

В таблице IDT соответствующий обработчик прерывания / исключения может быть представлен шлюзом ловушки или прерывания, ссылаясь на неподчиняемый сегмент кода с PL=0. В таком случае процессор переключается в защищенный режим на нулевой уровень привилегий и сохраняет в стеке обработчика код ошибки (если есть), адрес возврата (CS:EIP), регистр флагов (EFLAGS), указатель стека в прерванной программе (ES:ESP) и значения сегментных регистров (ES, DS, FS, GS). При этом для обработчика очищаются значения сегментных регистров (т.к. они содержат селекторы задачи V86, которые нельзя использовать в защищенном режиме) и сбрасывается бит VM в регистре флагов. При возврате из обработчика по инструкции IRET процессор должен находиться на нулевом уровне привилегий, иначе он не сможет восстановить значение бита VM для прерванной программы. Монитор V86 получает управление именно таким образом (как обработчик исключения #13).

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

Обработчик прерывания или исключения может быть также вызван через шлюз задачи. Тогда обработчик выполняется в отдельной задаче. При переключении задач контекст процессора (в т.ч. бит EFLAGS.VM=1) сохраняется в TSS прерванной задачи. В поле «Связь TSS» вызванной задачи заносится селектор TSS прерванной задачи. Для новой задачи сбрасывается бит VM и устанавливается бит NT. При возврате из обработчика по IRET и обратном переключении задач процессор должен находиться на нулевом уровне привилегий, чтобы изменить бит VM.

При обработке прерываний класса 2 дополнительные возможности предоставляет механизм VME. Задача в состоянии V86 при помощи флага VIF, который она может менять при помощи обычных инструкций STI и CLI, сообщает монитору V86 о разрешении или запрещении прерывать программу для обработки маскируемых прерываний, не влияя на общесистемный флаг разрешения прерываний IF. Флаг VIP предоставляет монитору возможность фиксировать отложенные прерывания (возникшие, когда флаг VIF=0 и не обработанные).

При возникновении прерывания обработчик может проанализировать флаг VM в стеке и при необходимости передать управление монитору V86, который в зависимости от значения флага VIF решает, обрабатывать прерывание или нет. Если VIF=0, то прерывание следует отложить, тогда монитор выставляет бит VIP и возвращает управление прерванной программе. Если VIF=1, то монитор вызывает обработчик программы 8086 или обработчик защищенного режима.

Если в дальнейшем программа 8086 разрешает «виртуальные» прерывания при помощи инструкции STI, а при этом флаг VIP=1, то процессор генерирует нарушение общей защиты, так что монитор V86 получает возможность обработать отложенное прерывание.

Обработка программных прерываний (класс 3) зависит от возможности использования битовой карты перенаправления программных прерываний. Каждый бит в этой карте указывает на необходимость перенаправления того или иного программного прерывания (бит 0 соответствует прерыванию 0 и т.д.) Если бит выставлен, то соответствующее программное прерывание пененаправляется обработчику защищенного режима. Если бит сброшен, то процессор обрабатывает прерывание так, как если бы оно генерировалось в реальном режиме (или МП 8086), т.е. передает его обработчику в задаче V86, вычисляя адрес обработчика по таблице векторов по линейному адресу 0. Следует отметить, что битовая карта перенаправления прерываний не влияет на обработку исключений (0-32) и аппаратных прерываний.

Различные ситуации при выполнении инструкции INT n отражены в следующей таблице.

VMEIOPL Битовая
карта
Способ обработки
03XОбработчик защищенного режима
0<3XИсключение #13
1<31Исключение #13
131Обработчик защищенного режима
1Х0Обработчик для МП 8086

Для тех, кто хочет начать заниматься виртуализацией / Хабр

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

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

Условно уровень мощности рабочей станции можно разделить на три категории:

1) Базовая. В роли подобной рабочей станции выступает простенький стационарный ПК или ноутбук со следующими техническими характеристиками:

  • Процессор уровня Athlon 200ge, Celeron 4900 или слабее. В основном, это двух-четырех ядерные процессоры бюджетного сегмента.

  • Оперативная память объемом 4-8 Гб.

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

  • Один монитор с расширением HD или выше.

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

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

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

  • Процессор уровня Ryzen 1400-1600 или аналог от Intel. Главное, чтобы количество ядер было от 4 до 8. Конечно, производительность каждого отдельного ядра зависит от архитектуры процессора. На процессорах такого уровня одновременно запустить до 10 клиентских ВМ и 1-2 серверных можно.

  • Оперативная память объемом 16-32 Гб в двухканальном режиме, чем выше частота – тем лучше. Если использовать динамическую память для виртуальных машин и настроить приоритет её использования – то 16 Гб хватит впритык (для 10 ВМ без учета сторонних процессов).

  • SSD от 500 Гб иметь обязательно! Иначе ваша система встанет уже на третьей виртуальной машине. SSD помогает экономить время, так как виртуальных машин уже становится много. Чтобы сэкономить место на физическом диске, можно использовать динамически расширяемые виртуальные диски.

  • Один-два монитора с разрешением минимум Full HD.

  • Видеокарта с поддержкой нескольких мониторов, если они есть.

  • Желательно иметь скорость интернета 100 Мбит и выше, потому что придется реально много скачивать из глобальной сети.

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

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

3) Мощная. На такой системе уже можно создать свою маленькую виртуальную компанию с 30 и более виртуальными машинами.

  • Процессор уровня Ryzen 2700 или i7-8700 или их аналог с 8/16 или выше. Использовать функции Over Clock можно, но только если вы уверены в том, что делаете.

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

  • Оперативная память объемом 64 Гб или выше. Двухканальный режим, чем выше частота – тем лучше. Очень дорогую память я бы брать всё равно не советовал, потому что тут главное – объем.

  • Твердотельный накопитель объёмом от 1 Тб, также можно докупить жесткий диск для хранения резервных копий виртуальных машин или всей системы.

  • Очень качественный блок питания мощностью 500-600 Ватт.

  • Два или более мониторов с разрешением QHD или UHD.

  • Видеокарта для мониторов уровня RX 560, GTX 1050 или выше.

  • Скорость интернета 500 Мбит или выше. Но можно обойтись и стандартным 100 Мбит.

  • Удобное и оборудованное рабочее место.

Рабочая станция такого уровня приобретается, как правило, людьми в высоким уровнем заработка для каких-то конкретных рабочих задач, а не в учебных целях. Например, ведущими системными администраторами или системными архитекторами. Рабочие станции более высокого уровня, например, с 2 Тб ОЗУ, строятся на серверном оборудовании.

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

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

Где брать комплектующие?

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

  • Кража посылки, её повреждение. Не страшно, но обидно и нервозатратно.

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

  • Возврат по гарантии. Скорее всего, будет за ваш счет. Да и никто не гарантирует, что магазин, так скажем, не проводит политику минимальных возвратов по гарантии.

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

  • Продажа бракованного или уже ранее использованного товара. Узнать вы это сможете только распаковав посылку.

Брать комплектующие с Ali Express и прочих сомнительных магазинов крайне не рекомендую.  

Стоит ли покупать с рук?

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

Какую ОС использовать и ставить на физический диск нашего монстра?

Определенно ту, к которой вы привыкли и которая имеет больше возможностей. Лично для меня это Windows 10, которую я использую в качестве хоста, на котором запускаю виртуальные машины. Также прямо с неё я занимаюсь учебой и работой. Но вы можете поставить ОС на ядре Linux, однако я не уверен, что это хорошая идея для начинающего специалиста. Обычно Win10 более дружелюбна к пользователю (за исключением политики обновлений), и с неё все начинают. Давайте сделаем так: создайте две виртуальные машины с операционной системой Windows Server и любым Lin. Разверните на WS AD DS, DNS, DHCP, а затем повторите то же самое на Lin, используя, например, openLDAP. Разницу вы почувствуете. Так что новичкам я рекомендую ставить Win10 и установить на ней компоненты Hyper-V или ПО VMWare Workstation.

Hyper-V или VMWare?

Для начала я бы советовал изучить возможности именно HV, потому что этот гипервизор легко устанавливается через компоненты Windows и не имеет бессмысленных для новичков функций по типу распределения видеопамяти между ВМ как в VirtualBox. Также HV имеет простой и понятный интерфейс, который вписывается в интерфейс Win10.

Почему не VirtualBox?

Потому что VB – довольно ограниченный гипервизор, в котором нет многих полезных функций. Например, создания снапшотов во время работы ВМ или возможности использовать динамическую память, что является большим недостатком для начинающего специалиста с большим количеством возможных ошибок и ограниченными ресурсами. Да и все нормальные организации используют только Hyper-V или VMWare, иногда встречаются KVM и Xen. Так что я советую вам сразу привыкать к хорошему, как это сделал я с HV. Однако к достоинствам VB можно отнести кроссплатформенноть и большое количество обучающих материалов в интернете.

Вообще, каждый гипервизор имеет свои преимущества и недостатки, но большинство из них на домашней рабочей станции увидеть нельзя (нет оборудования и вычислительных мощностей), а только вычитать. Так что я бы советовал попробовать все доступные гипервизоры, а затем из них выбрать тот, с которым вам удобнее работать. Останавливаться на чем-то конкретном крайне не рекомендую. Так, я очень сильно пожалел, когда ни на чем, кроме HV, не работал. Казалось бы – всё ровно то же самое, но как провести миграцию ВМ из гипервизора HV в VMWvS я не знал, и в результате потерял много времени, чего можно было бы избежать.

Где искать учебные материалы?

Статьи, видеоуроки, выдержки из книг – всё это отличный вариант для новичка, которому разрешается совершать ошибки. Думайте, что вы делаете, почему и зачем, как оно работает и что будет если… Также, я бы не советовал вам воспринимать каждое слово за чистую монету (в том числе и то, что вы сейчас читаете). Потому что все люди совершают ошибки, переоценивают свои возможности, и поэтому иногда можно увидеть что-то на подобие этого:

VB — это аналог VMWW, всё правильно.Всем нужно раздать максимальное количество виртуальных процессоров, и тогда счастье наступит.

Центральный процессор (CPU), его основные производители, ядра процессора, виртуальные процессоры для облачных технологий

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

Процессор, что это?

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

  • Intel;
  • AMD;
  • Qualcomm;
  • NVIDIA;
  • Apple.

Производители Intel и AMD занимаются производством процессоров для стационарных компьютеров, ноутбуков и серверов. А Qualcomm, NVIDIA и Apple разрабатывают микропроцессоры для смартфонов, планшетов, умных часов и других подобных цифровых гаджетов.

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

Скорость работы процессора определяется по количеству процессов, обрабатываемых за секунду. Измеряется этот показатель в GHz (гигагерц). Например, если скорость работы процессора составляет 1 Hz, это значит, что за секунду обрабатывается только одна часть поступающих инструкций. А вот средний CPU со скоростью в 3.0 GHz может обрабатывать до 3 биллионов инструкций за одну секунду.

Ядра процессора

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

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

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

Виртуальные процессоры для облачных технологий

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

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

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

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

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


Зачем процессору несколько ядер?

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

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

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

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

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

Чем отличаются ядра и потоки

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

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

Стоит ли ожидать удвоения производительности?

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

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

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

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

Что выбирать: ядра или потоки?

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

Но и количество потоков также заслуживает внимания. Разберем на примере:

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

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

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

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

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

В заключении интересное видео от компании Intel о том, как они создают микрочипы.


Процессор (CPU) | ATLEX.Ru

Процессор

Процессор, он же микропроцессор, он же центральный процессор, он же центральное процессорное (обрабатывающее) устройство (ЦПУ), он же central processing unit (CPU) — как становится понятно из названия — основной элемент аппаратного обеспечения вычислительного устройства, с помощью которого происходит обработка информации. Именно на технические характеристики процессора обращают внимание при выборе компьютера или сервера, ведь чем выше требуется производительность, тем мощнее должен быть «камень». Да, такое название тоже используется, поскольку изготавливается процессор чаще всего из кристалла кремния.

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

Функции процессора

Чтобы лучше понять назначение процессора, обратимся к его устройству. Обязательные составляющие: ядро процессора, состоящее из арифметико-логического устройства, внутренней памяти (регистров) и быстрой памяти (кэш), а также шины — устройства управления всеми операциями и внешними компонентами. Через шины в ЦПУ попадает информация, которую затем обрабатывает ядро.

Таким образом, в основные функции процессора входит:

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

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

ТТХ процессора

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

Разрядность — количество битов (разрядов двоичного кода), обрабатываемое центральным процессором за единицу времени. Современные процессоры — 32- или 64-разрядные, то есть они обрабатывают 32 или 64 бита информации за один такт. Разрядность процессора также влияет на количество оперативной памяти, которое можно установить в компьютер. Только 64-разрядный процессор поддерживает более 4 ГБ ОЗУ.

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

Размер кэш-памяти — другой параметр, от которого зависит производительность процессора. Это быстродействующая память внутри процессора, служащая буфером между ядром процессора и оперативной памятью и обеспечивающая ускоренный доступ к блокам обрабатываемой в настоящий момент информации. Кэш-память гораздо быстрее оперативной памяти, поскольку ядра процессора взаимодействуют с ней напрямую. Современные процессоры имеют несколько уровней кэш-памяти (L1, L2, L3). Первый уровень — хоть и незначительный по объему (всего сотни килобайт), но самый быстродействующий (и дорогой), так как находится на самом кристалле процессора и работает на его тактовой частоте. С первым уровнем взаимодействует второй — он больше по объему, что особенно важно при ресурсоемкой работе, но имеет меньшую скорость. Многие процессоры имеют и третий, «медленный», но еще больший по объему уровень кэш-памяти, который все равно быстрее оперативной памяти системы.

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

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

Серверные процессоры

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

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

Важной особенностью серверного процессора является поддержка ECC-памяти (англ. error-correcting code — выявление и исправление ошибок). Ошибки памяти, накапливающиеся в круглосуточно работающих серверах, могут отрицательно влиять на стабильность работы. Технология коррекции «на лету» применяется в основном в серверных, а не десктопных процессорах.

Выбор процессора

Современный рынок ЦПУ представлен главным образом двумя крупными производителями — Intel и AMD. Процессоры Intel — дорогие, но имеют высокое качество и производительность. Серверная линейка представлена процессорами Xeon. В процессорах Intel реализована технология гиперпоточности (Hyper Threading, HT). Идея в том, что на каждое ядро направляется два виртуальных вычислительных потока и за счет этого возрастает производительность процессора.

Технологически процессоры AMD отстают от Intel, но стоят значительно дешевле. Часто в ЦПУ от AMD встроено видеоядро. Для серверов предлагается серия процессоров Opteron.

ATLEX.Ru предлагает в аренду в России или в Европе выделенные серверы с процессорами Intel Xeon Quad Core. Надеемся, что после данного материала вы без труда разберетесь с параметрами процессоров и выберете оптимальный сервер под свои задачи.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Что такое виртуальный процессор или vCPU? — Блог о хостинге Windows VPS

Сразу после обращения к нашей странице плана VPS наши потенциальные клиенты начали поднимать продажи в чате. В 85% случаев первый вопрос, который нам задают: Что такое vCPU? Это побудило меня написать статью на эту тему.

Хотя математику vCPU немного сложно понять, мы собрали воедино всю возможную информацию и попытались объяснить вам ее самыми простыми словами.

В HyperVisor физический процессор полностью контролируется самим гипервизором. Этот физический ЦП разделен на физические ядра ЦП. Каждое ядро ​​очень безопасно поддерживает 8 виртуальных процессоров (vCPU). vCPU не представляет собой выделение один к одному. Он представляет время в физическом пуле ресурсов ЦП. Теперь давайте сначала рассмотрим некоторые технические термины:

Socket

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

Физический ЦП

Физический ЦП — это фактический аппаратный блок, установленный в разъем материнской платы.

Физическое ядро ​​/ ядро ​​

Это реальный физический процессор / ядро ​​в наборе микросхем физического ЦП (многоядерные процессоры). Каждое физическое ядро ​​действует как отдельный процессор, поскольку имеет свою собственную схему и кэш L1, L2.

Логический ЦП / Логический процессор (Немного хитрости)

Логические процессоры — это абстракции времени в стеке физических процессоров. Логические процессоры по-разному действуют на физической машине (автономной) и в гипервизоре. В контексте гипервизоров логический процессор равен vCPU, но логический процессор не равен физическому ядру в любом программном обеспечении виртуализации.

Виртуальный процессор / vCPU

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

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

CPU, который мы принимаем во внимание, это Intel Xeon CPU E5-2650 v2

  • Intel Xeon CPU E5-2650 v2, вмещающий 8 ядер x8 = 64 виртуальных ЦП.
  • 4 виртуальных ЦП на каждую ВМ… 64 виртуальных ЦП / 4 виртуальных ЦП на ВМ = 16 ВМ
  • 2 виртуальных ЦП на каждую ВМ… 64 виртуальных ЦП / 2 виртуальных ЦП на ВМ = 32 ВМ
  • 1 виртуальный ЦП на каждую ВМ… 64 виртуальных ЦП / 1 виртуальный ЦП на ВМ = 64 ВМ

Если у вас нет виртуальных машин с полной загрузкой ЦП, вы можете выйти за рамки этого числа 8. Количество виртуальных ядер, которые можно назначить виртуальной машине, ограничено.Windows Server 2008 R2 ограничивает количество виртуальных ЦП до 4 на виртуальную машину, которое расширено до 64 в Windows server 2012.

(69 678 посещений, сегодня 16 посещений)

Что такое виртуальный ЦП и как рассчитать виртуальный ЦП по отношению к ЦП?

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

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

Что такое виртуальный ЦП?

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

Связанные термины, которые вы должны знать

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

Гипервизор

Что такое гипервизор? Думайте о гипервизоре как о контроллере. Иногда его называют монитором виртуальных машин (VMM). Проще говоря, гипервизор — это программное обеспечение, используемое для создания и запуска виртуальных машин (ВМ). Он позволяет одному хост-компьютеру поддерживать несколько гостевых виртуальных машин, виртуально разделяя его ресурсы, такие как память и обработка.Гипервизоры достаточно умен, чтобы распределять ресурсы, будь то один виртуальный ЦП или несколько виртуальных ЦП.

Розетка

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

Различия в сокетах зависят от поддерживаемого ЦП.

Резьба

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

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

Физическое ядро ​​

Что такое физическое ядро? Физическое ядро, также называемое процессорами, в ЦП. Одно физическое ядро ​​может соответствовать одному или нескольким логическим ядрам. Мы узнаем, что такое логическое ядро, в следующем абзаце.

Логическое ядро ​​

Что такое логическое ядро? Логическое ядро ​​позволяет одному физическому ядру одновременно выполнять два или более действий.Логические ядра появились на заре серверных процессоров Intel Xeon и процессоров Pentium 4 для настольных ПК, выпущенных в 2002 году.

Логические ядра сделали возможной концепцию гиперпоточности (HTT). Гиперпоточность — это запатентованная Intel реализация одновременной многопоточности, которая использовалась для улучшения распараллеливания вычислений, выполняемых на микропроцессорах x86.

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

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

Как работает виртуальный ЦП?

Как работает виртуальный ЦП? Виртуальные серверы и их распределение ресурсов контролируются так называемым гипервизором.Более подробно мы определили гипервизор выше.

Гипервизор использует часть вычислительных ресурсов физического ЦП и выделяет их виртуальному ЦП, который назначается конкретной виртуальной машине. Некоторые ИТ-эксперты рассматривают концепцию виртуальных ЦП как долю времени, затрачиваемого на ядро ​​процессора. Системные администраторы могут использовать гипервизоры для настройки различного распределения ресурсов, когда определенные виртуальные машины настроены с определенными возможностями vCPU.

Как рассчитать виртуальный ЦП?

Как рассчитать виртуальный ЦП? Сколько виртуальных ЦП в ЦП? Что такое ядра? Эти вопросы могут быть неясными для тех, кто не знаком с виртуализированными серверами.Не волнуйся. Мы подробно рассмотрим математику, и вы получите четкое представление о том, как рассчитать количество виртуальных ЦП, необходимых для ваших облачных серверов. Во многом это будет зависеть от ваших конкретных требований и производителя.

Математика вычисления vCPU

Раньше существовало практическое правило, согласно которому на ядро ​​приходилось восемь vCPU. Сегодня количество виртуальных ЦП во многом определяется производителем. Он рассчитывается путем умножения количества потоков обработки, которые набор микросхем на одно ядро, на количество занятых сокетов.Вот как это выглядит:

(количество потоков x ядра) x физический процессор = число виртуальных ЦП

Пример расчета виртуальных ЦП и ядер

Лучший способ научиться рассчитывать виртуальные ЦП и количество ядер — продемонстрировать на примере.

Во-первых, нам нужно выбрать виртуальный сервер и процессор. В этом примере мы выберем Intel Xeon E-2288G в качестве базового процессора. Основные характеристики Intel Xeon E-2288G включают 8 ядер / 16 потоков с базовой тактовой частотой 3,7 ГГц и 5.Turbo Boost 0 ГГц. Имеется 16 МБ встроенной кеш-памяти.

(16 потоков x 8 ядер) x 1 ЦП = 128 виртуальных ЦП

Определите вашу рабочую нагрузку и использование

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

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

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

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

4 виртуальных ЦП на ВМ
128 виртуальных ЦП / 4 виртуальных ЦП на ВМ = 32 ВМ

2 виртуальных ЦП на ВМ
128 виртуальных ЦП / 2 виртуальных ЦП на ВМ = 64 ВМ

1 виртуальных ЦП
на ВМ 1 виртуальный ЦП на виртуальную машину = 128 виртуальных машин

Исчерпание ресурсов ЦП и низкая производительность

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

Например, Windows Server 2008 R2 ограничивает количество виртуальных ЦП до 4 на виртуальную машину, а в Windows server 2012 — до 64.

Нужна помощь в выборе и настройке виртуальных машин?

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

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

Лучший процессор для виртуализации в 2021 году

Виртуализация — это продвинутый процесс, который помогает нам создавать виртуальные сети, серверы, емкости хранения, а не иметь физические. Кроме того, это один из самых рентабельных процессов в сфере ИТ. Виртуализация ЦП — более надежный способ одновременной обработки нескольких виртуальных ресурсов.И выбор правильного ЦП для виртуализации зависит от функций, которые требуются в вашей инфраструктуре виртуализации. Одной из этих функций является отключение выполнения (XD) и запрет выполнения (NX), которые не позволяют ЦП запускать код в областях, где больше шансов атак вредоносного ПО.

Процессоры Intel и AMD оснащены этими исполнительными битами вместе с командами LAHF и SAHF для лучшего распределения ресурсов. Intel использует VT, а AMD использует технологию виртуализации AMD-V для обслуживания нескольких виртуальных хостов, подключенных к одной машине.В этом руководстве мы собрали некоторые из лучших процессоров для виртуализации, которые справляются с огромными рабочими нагрузками и совместимы с таким программным обеспечением, как VirtualBox, VMWare и Parallels.

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

Список лучших процессоров для виртуализации

Вот некоторые из лучших процессоров виртуализации от Intel и AMD, на которые стоит обратить внимание:

Intel Core i9-9900K — лучший процессор для виртуальной машины

Причины выбрать

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

Технические характеристики

  • 8 ядер и 16 потоков
  • Совместимость с LGA 1151
  • Базовая тактовая частота 3,6 ГГц
  • Повышенная тактовая частота 5,0 ГГц
  • 95 Вт TDP
Источник изображения: Intel

Несомненно, Intel Core i9 9900K по-прежнему остается лучшим процессором для решения таких корпоративных задач, как виртуализация. И причина тому — более высокая тактовая частота и количество ядер.Даже при базовой тактовой частоте 3,6 ГГц этот процессор не имеет аналогов по производительности.

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

Кроме того, Intel представила VT-d (Virtual Technology for Directed) для повышения безопасности и надежности вашей виртуальной машины. VT-d также улучшает производительность устройств ввода-вывода, подключенных в виртуальной среде.

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

В общем, Core i9 9900K — один из тех процессоров, которые легко повышают производительность вашей виртуальной машины. Благодаря Intel Boot Guard и Secure Keys вы получите больше спокойствия при установке этого процессора на свой сетевой компьютер.

AMD Ryzen 5 2600X — лучший процессор AMD для виртуализации

Причины выбрать

AMD Ryzen 5 2600X — один из процессоров с самым высоким рейтингом, когда дело доходит до обработки нескольких приложений в виртуальной сети. У него достаточно ядер, тактовой частоты и функций, чтобы быть частью частной виртуальной инфраструктуры.

Технические характеристики

  • 6 ядер и 12 потоков
  • Socket AM4
  • Базовая тактовая частота 3,6 ГГц
  • 4.Тактовая частота с ускорением до 2 ГГц
  • 95 Вт TDP
Источник: AMD

AMD Ryzen 5 2600X — это мощный многопоточный процессор с тактовой частотой, достаточной для обработки виртуальных хостов в сети виртуальных машин. Если вы хотите запускать программное обеспечение, такое как Oracle VM VirtualBox, то это один из наиболее совместимых процессоров для установки на вашем компьютере. Однако не забудьте включить режим SVM в BIOS, чтобы в полной мере использовать преимущества технологии AMD-V.

Помимо повышения производительности в виртуальном мире, этот ЦП предлагает более надежные функции, такие как AMD SenseMI и AMD Store MI Technology, для более быстрого доступа к данным.Процессоры Ryzen — настоящий зверь, когда дело доходит до виртуализации.

Процессоры Ryzen

также отлично работают с VirtualBox и KVM. Мы не тестировали никакие другие виртуальные приложения, такие как Parallel и VMware, но для этого ЦП не будет проблем с их обработкой.

Intel Core i5-8600K — самый доступный процессор для виртуальной инфраструктуры

Причины выбрать

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

Технические характеристики

  • 6 ядер и 12 потоков
  • Базовая тактовая частота 3,60 ГГц
  • Повышенная тактовая частота 4,3 ГГц
  • LGA 1151
  • 95 Вт TDP
Источник: Intel

Core i5 8600K — один из тех процессоров, о которых много говорят на онлайн-форумах. Этот процессор обеспечивает непревзойденную производительность не только в играх, но и при решении корпоративных задач. Если вы собираетесь настроить виртуальную машину среднего уровня, Core i5 8600K определенно сэкономит вам несколько долларов без ущерба для производительности.

Как и Core i9 9900K, 8600K также имеет такие функции безопасности, как Secure Keys и Boot Guard. Однако оба процессора отлично справляются с функциями виртуализации, но Core i9 9900K на 42% быстрее, чем Core i5 8600 в виртуализации.

, если вы хотите иметь дело с виртуальными машинами Linux, то этот процессор отлично справится с этим без каких-либо проблем. Технология Intel Virtualization наверху позволяет этому процессору обрабатывать несколько рабочих нагрузок в виртуальных инфраструктурах.Этот ЦП имеет несколько ядер, которые могут без проблем запускать несколько VMS. Просто убедитесь, что вы установили правильный кулер для процессора с i5 8600K, чтобы поддерживать минимальную температуру.

Intel Core i7-7820X — высокопроизводительный процессор для функций виртуализации

Причины выбрать

Core i7-7820X — это высокопроизводительный процессор с восемью ядрами и 16 потоками. Хотя этот процессор стоит дорого по сравнению с другими в списке, он делает вашу виртуальную машину перспективной в плане производительности.

Технические характеристики

  • 8 ядер и 16 потоков
  • Базовая тактовая частота 3,6 ГГц
  • Тактовая частота в ускоренном режиме 4,3 ГГц
  • Совместима только с материнскими платами серии Intel X299
Источник: Intel

Хотя процессоры серии X отлично подходят для редактирования видео, они также демонстрируют идеальную производительность при виртуализации. И Intel Core i7-7820X — один из тех процессоров, который отлично справляется с обработкой виртуальных нагрузок.Действительно, это один из лучших процессоров для программного обеспечения VMware и параллельной виртуализации.

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

Кроме того, функции Intel Turbo Boost, Hyper-threading и защиты, такие как AES, делают этот процессор отличным решением для корпоративных виртуальных сетей.Как и Intel Core i9 9900K, i7-7280X оснащен VT-d для повышения производительности виртуально подключенных устройств ввода-вывода.

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

Intel Pentium G4560 — ЦП для малобюджетной сети виртуализации

Причины выбрать

Удобный для кошелька процессор с технологией гиперпоточности и тактовой частотой 3.50 ГГц. Он имеет всего 2 ядра и потребляет меньше энергии по сравнению с другими высокопроизводительными процессорами.

Технические характеристики

  • 2 ядра и 4 потока
  • LGA 1151 Socket
  • 54 Вт TDP
  • Тактовая частота 3,5 ГГц
  • Технология виртуализации Intel
Источник: Intel

G4560 — это двухъядерный процессор для виртуальных машин начального уровня в небольшом офисе или дома. Этот ЦП обладает всеми необходимыми функциями для включения в экономичную виртуализированную среду, такими как более высокая тактовая частота, VT и VT-d.

С этим процессором можно разместить до 64 ГБ оперативной памяти DDR4. Если вы создаете виртуальную машину с ограниченным бюджетом, мы рекомендуем вам выбрать этот процессор, который находится в ценовом диапазоне до 60 долларов. Intel G4560 может легко обрабатывать до 3 активных виртуальных машин без каких-либо проблем.

Убедитесь, что у вас достаточно оперативной памяти, если вы используете двухъядерный ЦП для виртуализации. В этом случае лучше, если вы выберете хотя бы 16 ГБ оперативной памяти DDR4. Если вы используете более 3 виртуальных машин одновременно, мы рекомендуем вам ЦП с большим количеством ядер, например AMD Ryzen 5 2600X или Core i9 9900K.

Как выбрать лучший ЦП для виртуализации

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

AMD или Intel

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

Intel предлагает функции виртуализации, такие как VT-x и VT-d, тогда как AMD поставляется с AMD-V и AMD-Vi для работы с виртуальной средой. Однако Intel и AMD предлагают одни и те же функции битов NX / XD, которые не позволяют процессору выполнять код в ограниченных областях. В зависимости от предпочтений ваших виртуальных сетей вам придется выбирать между процессорами Intel и AMD.

Не упустите возможность Hyper-Threading

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

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

Сворачивание с помощью SLAT

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

Соотношение рабочих нагрузок между виртуальными ЦП и ВМ

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

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

Как настроить количество ядер на ЦП для виртуальных машин в VMware vSphere

Блог NAKIVO> Администрирование и резервное копирование VMware> Настройка VMware> Установка количества ядер на процессор в виртуальной машине: практическое руководство

26 апреля 2021 г.

по Майкл Бозе

При создании виртуальных машин необходимо настроить для них параметры процессора.С помощью аппаратной виртуализации вы можете выбрать количество виртуальных процессоров для виртуальной машины и установить количество сокетов и ядер процессора. Сколько ядер на процессор следует выбрать для оптимальной производительности? Какая конфигурация лучше: установка меньшего количества процессоров с большим количеством ядер ЦП или установка большего количества процессоров с меньшим количеством ядер ЦП? В этом сообщении блога объясняются основные принципы настройки процессора для виртуальных машин VMware.

Терминология

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

Разъем ЦП — это физический разъем на материнской плате, к которому подключен один физический ЦП. На материнской плате есть хотя бы один сокет ЦП. Серверные материнские платы обычно имеют несколько сокетов ЦП, которые поддерживают несколько многоядерных процессоров. Разъемы ЦП стандартизированы для разных серий процессоров. Intel и AMD используют разные сокеты ЦП для своих семейств процессоров.

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

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

Hyper-threading — это технология, разработанная инженерами Intel для обеспечения параллельных вычислений процессорам, имеющим одно ядро ​​процессора.Дебют гиперпоточности произошел в 2002 году, когда был выпущен процессор Pentium 4 HT, предназначенный для настольных компьютеров. Операционная система определяет одноядерный процессор с гиперпоточностью как процессор с двумя логическими ядрами (а не физическими ядрами). Точно так же четырехъядерный процессор с гиперпоточностью представляется ОС как процессор с 8 ядрами. Чем больше потоков выполняется на каждом ядре, тем больше задач можно выполнять параллельно. Современные процессоры Intel имеют как многоядерность, так и гиперпоточность.Гиперпоточность обычно включена по умолчанию и может быть включена или отключена в BIOS. Одновременная многопоточность AMD (SMT) — это аналог гиперпоточности для процессоров AMD.

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

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

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

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

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

Пример. Хост ESXi имеет два разъема (два процессора) и 256 ГБ оперативной памяти. Каждый ЦП имеет 6 процессорных ядер. Этот сервер содержит два узла NUMA. Каждый узел NUMA имеет 1 сокет ЦП (один ЦП), 6 ядер и 128 ГБ ОЗУ.

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

Virtual NUMA (vNUMA) — аналог NUMA для виртуальных машин VMware. VNUMA потребляет аппаратные ресурсы более чем одного физического узла NUMA для обеспечения оптимальной производительности. Технология vNUMA предоставляет топологию NUMA гостевой операционной системе. В результате гостевая ОС знает о базовой топологии NUMA для наиболее эффективного использования. Версия виртуального оборудования виртуальной машины должна быть 8 или выше, чтобы использовать vNUMA.Обработка vNUMA была значительно улучшена в VMware vSphere 6.5, и эта функция больше не контролируется значением количества ядер ЦП на сокет в конфигурации виртуальной машины. По умолчанию vNUMA включен для виртуальных машин с более чем 8 логическими процессорами (vCPU). Вы можете включить vNUMA для виртуальной машины вручную, отредактировав файл конфигурации VMX виртуальной машины и добавив строку numa.vcpu.min = X , где X — количество виртуальных ЦП для виртуальной машины.

Расчеты

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

Общее количество физических ядер ЦП на хост-машине рассчитывается по формуле:

(количество процессорных сокетов) x (количество ядер / процессор) = количество физических процессорных ядер

* Сокеты процессора должны рассматриваться только с установленными процессорами.

Если поддерживается гиперпоточность, рассчитайте количество ядер логического процессора по формуле:

(количество ядер физического процессора) x (2 потока / физический процессор) = количество логических процессоров

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

(сокеты ЦП) x (ядра ЦП) x (потоки)

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

2 (ЦП) x 4 (ядра) x 2 (HT) = 16 логических процессоров

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

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

Общее количество тактовых циклов , доступных для виртуальной машины, рассчитывается как:

(количество логических сокетов) x (тактовая частота ЦП)

Например, если вы настраиваете виртуальную машину для использования 2 виртуальных ЦП с 2 ядрами, если у вас есть физический процессор с тактовой частотой 3.0 ГГц, то общая тактовая частота составляет 2x2x3 = 12 ГГц. Если на узле ESXi используется чрезмерная загрузка ЦП, доступная частота для виртуальной машины может быть меньше рассчитанной, если виртуальные машины выполняют задачи, интенсивно использующие ЦП.

Ограничения

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

Максимальное количество ядер процессора, которое может быть назначено одной виртуальной машине, составляет 768 в vSphere 7.0 Обновление 1. Виртуальная машина не может использовать больше ядер ЦП, чем количество ядер логического процессора на физической машине.

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

Ограничения ЦП ОС . Если операционная система имеет ограничение на количество процессоров, и вы назначаете больше виртуальных процессоров для виртуальной машины, дополнительные процессоры не идентифицируются и не используются гостевой ОС.Ограничения могут быть вызваны техническим дизайном ОС и лицензионными ограничениями ОС. Обратите внимание, что есть операционные системы, которые лицензируются на сокет и на ядро ​​ЦП (например, Windows Server 2019).

Предел поддержки ЦП для некоторых операционных систем:

  • Windows 10 Pro — 2 ЦП
  • Windows 10 Домашняя — 1 ЦП
  • Рабочая станция Windows 10 — 4 ЦП
  • Windows Server 2019 Standard / Datacenter — 64 ЦП
  • Windows XP Pro x64 — 2 процессора
  • Windows 7 Pro / Ultimate / Enterprise — 2 процессора
  • Windows Server 2003 Datacenter — 64 процессора

Рекомендации по настройке

Для более старых версий vSphere я рекомендую использовать сокеты вместо ядер в конфигурации виртуальной машины.Сначала вы можете не увидеть значительной разницы в разъемах ЦП или ядрах ЦП в конфигурации виртуальной машины для производительности виртуальной машины. Помните о некоторых особенностях конфигурации. Помните о NUMA и vNUMA, когда рассматриваете возможность настройки нескольких виртуальных процессоров (сокетов) для виртуальной машины для обеспечения оптимальной производительности.

Если vNUMA не настроен автоматически, зеркалируйте топологию NUMA физического сервера. Вот несколько рекомендаций для виртуальных машин в VMware vSphere 6.5 и более поздних версиях:

  • Когда вы определяете количество логических процессоров (vCPU) для виртуальной машины, отдайте предпочтение конфигурации ядер на сокет.Продолжайте, пока счетчик не превысит количество ядер ЦП на одном узле NUMA на сервере ESXi. Используйте ту же логику, пока не превысите объем памяти, доступный на одном узле NUMA вашего физического сервера ESXi.
  • Иногда количество логических процессоров для вашей конфигурации виртуальной машины больше, чем количество физических ядер ЦП на одном узле NUMA, или объем ОЗУ превышает общий объем памяти, доступный для одного узла NUMA. Для оптимальной производительности рекомендуется разделить количество логических процессоров (vCPU) на минимальное количество узлов NUMA.
  • Не устанавливайте нечетное количество виртуальных ЦП, если количество ЦП или объем памяти превышает количество ядер ЦП. То же самое применимо в случае, если объем памяти превышает объем памяти для одного узла NUMA на физическом сервере.
  • Не создавайте виртуальную машину с количеством виртуальных ЦП, превышающим количество ядер физических процессоров на вашем физическом хосте.
  • Если вы не можете отключить vNUMA из-за ваших требований, не включайте функцию горячего добавления vCPU.

Если vNUMA включен в vSphere до версии 6.5, и вы определили количество логических процессоров (vCPU) для виртуальной машины, выберите количество виртуальных сокетов для виртуальной машины, сохраняя количество ядер на сокет равным 1 (это значение по умолчанию). Это связано с тем, что конфигурация «одно ядро ​​на сокет» позволяет vNUMA автоматически выбирать лучшую топологию vNUMA для гостевой ОС. Эта автоматическая конфигурация оптимальна для базовой физической топологии сервера. Если vNUMA включен, и вы используете такое же количество логических процессоров (vCPU), но увеличиваете количество виртуальных ядер ЦП и уменьшаете количество виртуальных сокетов на такое же количество, то vNUMA не может установить лучшую конфигурацию NUMA для виртуальной машины. .В результате производительность виртуальной машины снижается и может снизиться.

Если гостевая операционная система и другое программное обеспечение, установленное на виртуальной машине, лицензируются для каждого процессора, настройте виртуальную машину на использование меньшего числа процессоров с большим количеством ядер ЦП. Например, Windows Server 2012 R2 лицензируется по количеству сокетов, а Windows Server 2016 лицензируется по количеству ядер.

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

  • от 1: 1 до 3: 1 — не должно быть проблем с запуском виртуальных машин
  • 3: 1 до 5: 1 — Наблюдается снижение производительности
  • 6: 1 — Подготовка к проблемам, вызванным значительным снижением производительности

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

Конфигурация виртуальных машин на хостах ESXi

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

Если вам нужно назначить более 8 логических процессоров для виртуальной машины, логика остается той же. Чтобы рассчитать количество логических процессоров в vSphere Client, умножьте количество сокетов на количество ядер. Например, если вам нужно настроить виртуальную машину для использования двухпроцессорных сокетов, каждая из которых имеет 2 ядра ЦП, то общее количество логических ЦП будет 2 * 2 = 4. Это означает, что вы должны выбрать 4 ЦП в параметрах виртуального оборудования виртуальной машины в vSphere Client, чтобы применить эту конфигурацию.

Позвольте мне объяснить, как настроить параметры ЦП для виртуальной машины в VMware vSphere Client. Введите IP-адрес вашего vCenter Server в веб-браузере и откройте VMware vSphere Client. В навигаторе откройте Hosts and Clusters и выберите необходимую виртуальную машину, которую вы хотите настроить. Убедитесь, что виртуальная машина выключена, чтобы иметь возможность изменять конфигурацию ЦП.

Щелкните правой кнопкой мыши виртуальную машину и в контекстном меню нажмите Edit Settings , чтобы открыть настройки виртуальной машины.

Разверните раздел CPU на вкладке Virtual Hardware окна Edit Settings .

ЦП . Щелкните раскрывающееся меню в строке ЦП и выберите общее количество необходимых логических процессоров для этой виртуальной машины. В этом примере я выбираю 4 логических процессора для виртуальной машины Ubuntu (блог-Ubuntu1).

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

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

Резервирование. Выберите гарантированное минимальное выделение тактовой частоты ЦП (частота, МГц или ГГц) для виртуальной машины на узле ESXi или кластере.

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

Акции . Этот параметр определяет приоритет потребления ресурсов виртуальными машинами (Низкий, Нормальный, Высокий, Пользовательский) на хосте ESXi или пуле ресурсов. В отличие от параметров Reservation и Limit , параметр Shares применяется для виртуальной машины, только если не хватает ресурсов ЦП в узле ESXi, пуле ресурсов или кластере DRS.

Доступные параметры для параметра Shares :

Low — 500 долей на виртуальный процессор

Нормальное — 1000 долей на виртуальный процессор

High — 2000 долей на виртуальный процессор

Пользовательский — установите пользовательское значение

Чем выше значение Shares , тем выше объем ресурсов ЦП, выделенных для виртуальной машины на узле ESXi или в пуле ресурсов.

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

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

Сходство планирования. Этот параметр используется для назначения виртуальной машины определенному процессору.Введенное значение может быть таким: «0, 2, 4-7» .

MMU ввода / вывода. Эта функция позволяет виртуальным машинам иметь прямой доступ к аппаратным устройствам ввода / вывода, таким как контроллеры хранения, сетевые карты, графические карты (вместо использования эмулированных или паравиртуализированных устройств). MMU ввода-вывода также называют технологией виртуализации Intel для направленного ввода-вывода (Intel VT-d) и виртуализацией ввода-вывода AMD (AMD-V). MMU ввода-вывода по умолчанию отключен. Использование этой опции не рекомендуется в vSphere 7.0. Если MMU ввода-вывода включен для виртуальной машины, виртуальная машина не может быть перенесена с помощью vMotion и несовместима со снимками состояния, избыточным выделением памяти, приостановленным состоянием виртуальной машины, общим доступом к физическому сетевому адаптеру и виртуализацией сети NSX.

Если вы используете автономный хост ESXi и используете VMware Host Client для настройки виртуальных машин в веб-браузере, принцип настройки такой же, как и для VMware vSphere Client.

Если вы подключаетесь к vCenter Server или хосту ESXi в VMware Workstation и открываете настройки виртуальной машины vSphere VM, вы можете редактировать базовую конфигурацию виртуальных процессоров. Щелкните VM> Settings , выберите вкладку Hardware и щелкните Processors. На следующем снимке экрана вы видите конфигурацию процессора для той же виртуальной машины Ubuntu, которая была настроена ранее в vSphere Client.В графическом интерфейсе пользователя (GUI) VMware Workstation следует выбрать количество виртуальных процессоров (сокетов) и количество ядер на процессор. Общее количество ядер процессора (логических ядер физических процессоров на хосте ESXi или кластере) рассчитывается и отображается ниже автоматически. В интерфейсе vSphere Client вы устанавливаете общее количество ядер процессора (параметр CPUs), выбираете количество ядер на процессор, а затем рассчитывается и отображается количество виртуальных сокетов.

Настройка процессоров виртуальных машин в PowerCLI

Если вы предпочитаете использовать интерфейс командной строки для настройки компонентов VMware vSphere, используйте Power CLI для редактирования конфигурации ЦП виртуальных машин. Давайте узнаем, как изменить конфигурацию ЦП виртуальной машины для виртуальной машины с именем Ubuntu 19 в Power CLI. Команды используются для выключенных виртуальных машин.

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

get-VM -name Ubuntu19 | set-VM -NumCpu 2

Введите другое число, если вы хотите установить другое количество процессоров (сокетов) для виртуальной машины.

В следующем примере вы видите, как настроить виртуальную машину для использования двух двухъядерных виртуальных процессоров (используются 2 сокета):

$ VM = Get-VM -Name Ubuntu19

$ VMSpec = New- Объект -Type VMware.Vim.VirtualMachineConfigSpec -Property @ {«NumCoresPerSocket» = 2}

$ VM.ExtensionData.ReconfigVM_Task ($ VMSpec)

$ VM | Set-VM -NumCPU 2

После применения новой конфигурации ЦП к виртуальной машине эта конфигурация сохраняется в файле конфигурации VMX виртуальной машины.В моем случае я проверяю файл Ubuntu19.vmx , расположенный в каталоге виртуальной машины в хранилище данных ( / vmfs / volume / datastore2 / Ubuntu19 / ). Строки с новой конфигурацией ЦП расположены в конце файла VMX.

numvcpus = «2»

cpuid.coresPerSocket = «2»

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

get-VM -name Ubuntu19 | set-VM -NumCpu 1

Основным преимуществом использования Power CLI является возможность групповой настройки нескольких виртуальных машин.Автоматизация задач важна и удобна, если количество настраиваемых виртуальных машин велико. Используйте командлеты VMware и синтаксис Microsoft PowerShell для создания скриптов.

Заключение

В этом сообщении в блоге рассматривается конфигурация виртуальных процессоров для виртуальных машин VMware vSphere. Виртуальные процессоры для виртуальных машин настраиваются в VMware vSphere Client и в Power CLI. Производительность приложений, работающих на виртуальной машине, зависит от правильной конфигурации ЦП и памяти.В VMware vSphere 6.5 и более поздних версиях установите больше ядер в ЦП для виртуальных машин и используйте подход «количество ядер ЦП на сокет». Если вы используете версии vSphere более ранние, чем vSphere 6.5, настройте количество сокетов, не увеличивая количество ядер ЦП для виртуальной машины из-за различного поведения vNUMA в более новых и старых версиях vSphere. Примите во внимание модель лицензирования программного обеспечения, которое необходимо установить на виртуальную машину. Если программное обеспечение лицензировано на использование модели для каждого ЦП, настройте больше ядер на ЦП в настройках виртуальной машины.

При использовании виртуальных машин в VMware vSphere не забывайте о резервном копировании VMware. Используйте NAKIVO Backup & Replication для резервного копирования виртуальных машин, в том числе виртуальных машин с несколькими ядрами на процессор. Регулярное резервное копирование помогает защитить ваши данные и восстановить их в случае аварии.

Установка количества ядер на процессор в виртуальной машине: практическое руководство

5 (100%) 3 голоса

Виртуальный процессор — обзор

IV Скомпилированное моделирование программируемых архитектур

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

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

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

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

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

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

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

Рисунок 1. Два подхода к двоичному преобразованию.

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

Понимание и использование типов планировщика гипервизора Hyper-V

  • 10 минут на чтение

В этой статье

Применимо к: Windows Server 2022, Windows 10, Windows Server 2016, Windows Server, версия 1709, Windows Server, версия 1803, Windows Server 2019

В этой статье описаны новые режимы логики планирования виртуального процессора, впервые представленные в Windows Server 2016.Эти режимы или типы планировщиков определяют, как гипервизор Hyper-V распределяет и управляет работой между гостевыми виртуальными процессорами. Администратор узла Hyper-V может выбрать типы планировщика гипервизора, которые лучше всего подходят для гостевых виртуальных машин (ВМ), и настроить виртуальные машины, чтобы воспользоваться преимуществами логики планирования.

Примечание

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

Фон

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

Понимание SMT

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

Для целей этой статьи описания SMT и того, как он используется Hyper-V, одинаково применимы как к системам Intel, так и к AMD.

Понимание того, как Hyper-V виртуализирует процессоры

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

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

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

  • Каждый виртуальный процессор (VP) корневого раздела сопоставляется 1: 1 с нижележащим логическим процессором (LP). Host VP всегда работает на одном и том же нижележащем LP — миграции VP корневого раздела не происходит.

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

  • Гипервизор может запланировать запуск гостевого VP на любом доступном логическом процессоре. Хотя планировщик гипервизора учитывает временную локальность кэша, топологию NUMA и многие другие факторы при планировании гостевого VP, в конечном итоге VP может быть запланирован на любом LP хоста.

Типы планировщика гипервизора

Начиная с Windows Server 2016, гипервизор Hyper-V поддерживает несколько режимов логики планировщика, которые определяют, как гипервизор планирует виртуальные процессоры на базовых логических процессорах.Эти типы планировщика:

Классический планировщик

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

Классический тип планировщика является наиболее подходящим для подавляющего большинства традиционных применений Hyper-V — для частных облаков, провайдеров хостинга и т. Д.Характеристики производительности хорошо изучены и лучше всего оптимизированы для поддержки широкого спектра сценариев виртуализации, таких как избыточная подписка VP на LP, одновременное выполнение множества разнородных виртуальных машин и рабочих нагрузок, запуск крупномасштабных высокопроизводительных виртуальных машин, поддержка полного набора функций Hyper-V без ограничений и многое другое.

Основной планировщик

Планировщик ядра гипервизора — это новая альтернатива классической логике планировщика, представленная в Windows Server 2016 и Windows 10 версии 1607.Планировщик ядра обеспечивает надежную границу безопасности для изоляции гостевых рабочих нагрузок и снижает изменчивость производительности для рабочих нагрузок внутри виртуальных машин, работающих на узле виртуализации с поддержкой SMT. Планировщик ядра позволяет одновременно запускать виртуальные машины SMT и не-SMT на одном хосте виртуализации с поддержкой SMT.

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

Общий результат основного планировщика таков:

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

  • Значительно снижена изменчивость пропускной способности.

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

  • ОС и приложения, работающие на гостевой виртуальной машине, могут использовать поведение SMT и программные интерфейсы (API) для управления и распределения работы между потоками SMT, как если бы они работали без виртуализации.

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

Основной планировщик используется по умолчанию, начиная с Windows Server 2019. В Windows Server 2016 основной планировщик является необязательным и должен быть явно включен администратором узла Hyper-V, а классический планировщик используется по умолчанию.

Поведение основного планировщика при отключенном SMT хоста

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

Корневой планировщик

Корневой планировщик был представлен в Windows 10 версии 1803. Когда корневой планировщик включен, гипервизор передает управление планированием работы корневому разделу. Планировщик NT в экземпляре ОС корневого раздела управляет всеми аспектами планирования работы системных LP.

Корневой планировщик отвечает уникальным требованиям, присущим поддержке служебного раздела для обеспечения надежной изоляции рабочей нагрузки, как это используется с Application Guard в Защитнике Windows (WDAG).В этом случае передача ответственности за планирование корневой ОС дает несколько преимуществ. Например, элементы управления ресурсами ЦП, применимые к сценариям контейнера, могут использоваться с служебным разделом, упрощая управление и развертывание. Кроме того, планировщик корневой ОС может легко собирать метрики об использовании ЦП рабочей нагрузкой внутри контейнера и использовать эти данные в качестве входных данных для той же политики планирования, которая применима ко всем другим рабочим нагрузкам в системе. Эти же показатели также помогают четко отнести работу, выполненную в контейнере приложения, к хост-системе.Отслеживание этих показателей сложнее с традиционными рабочими нагрузками виртуальных машин, где некоторая работа от имени всех работающих виртуальных машин выполняется в корневом разделе.

Использование корневого планировщика в клиентских системах

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

Управление ресурсами ЦП виртуальной машины и корневой планировщик

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

Использование корневого планировщика в серверных системах

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

Включение SMT в гостевых виртуальных машинах

После того, как гипервизор хоста виртуализации настроен на использование основного типа планировщика, гостевые виртуальные машины могут быть настроены для использования SMT, если это необходимо. Раскрытие того факта, что виртуальные машины имеют гиперпоточность для гостевой виртуальной машины, позволяет планировщику в гостевой операционной системе и рабочим нагрузкам, выполняющимся в виртуальной машине, обнаруживать и использовать топологию SMT в своем собственном расписании работы. В Windows Server 2016 гостевой SMT не настроен по умолчанию и должен быть явно включен администратором узла Hyper-V.Начиная с Windows Server 2019, новые виртуальные машины, созданные на узле, по умолчанию наследуют топологию SMT узла. То есть виртуальная машина версии 9.0, созданная на хосте с 2 потоками SMT на ядро, также будет видеть 2 потока SMT на ядро.

Для включения SMT на гостевой виртуальной машине необходимо использовать

PowerShell; в Hyper-V Manager нет пользовательского интерфейса. Чтобы включить SMT на гостевой виртуальной машине, откройте окно PowerShell с достаточными разрешениями и введите:

  Set-VMProcessor -VMName  -HwThreadCountPerCore 
  

Где — количество потоков SMT на ядро, которое видит гостевая виртуальная машина.Обратите внимание, что = 0 устанавливает значение HwThreadCountPerCore в соответствии с количеством потоков SMT хоста для каждого значения ядра.

Примечание

Настройка HwThreadCountPerCore = 0 поддерживается, начиная с Windows Server 2019.

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

Настройка типа планировщика гипервизора в Windows Server 2016 Hyper-V

Windows Server 2016 Hyper-V по умолчанию использует классическую модель планировщика гипервизора.Гипервизор может быть дополнительно настроен для использования основного планировщика, для повышения безопасности путем ограничения работы гостевых виртуальных машин на соответствующих физических парах SMT и для поддержки использования виртуальных машин с планированием SMT для их гостевых виртуальных машин.

Примечание

Microsoft рекомендует всем клиентам, использующим Windows Server 2016 Hyper-V, выбрать основной планировщик, чтобы обеспечить оптимальную защиту их узлов виртуализации от потенциально вредоносных гостевых виртуальных машин.

Windows Server 2019 Hyper-V по умолчанию использует основной планировщик

Чтобы обеспечить развертывание узлов Hyper-V в оптимальной конфигурации безопасности, Windows Server 2019 Hyper-V теперь по умолчанию использует модель планировщика основного гипервизора.Администратор хоста может дополнительно настроить хост для использования устаревшего классического планировщика. Администраторы должны внимательно прочитать, понять и рассмотреть влияние каждого типа планировщика на безопасность и производительность узлов виртуализации, прежде чем отменять настройки типа планировщика по умолчанию. Дополнительные сведения см. В разделе «Выбор типа планировщика гипервизора Hyper-V».

Необходимые обновления

Примечание

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

Версия Выпуск Требуется обновление KB Статья
Windows Server 2016 1607 2018.07 С КБ4338822
Windows Server 2016 1703 2018.07 С КБ4338827
Windows Server 2016 1709 2018.07 C КБ4338817
Windows Server 2019 1804 Нет Нет

Выбор типа планировщика гипервизора в Windows Server

Конфигурация планировщика гипервизора управляется с помощью записи BCD hypervisorschedulertype.

Чтобы выбрать тип планировщика, откройте командную строку с правами администратора:

  bcdedit / set тип гипервизора
  

Где тип — одно из:

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

Примечание

Корневой планировщик гипервизора в настоящее время не поддерживается в Windows Server Hyper-V. Администраторы Hyper-V не должны пытаться настроить корневой планировщик для использования в сценариях виртуализации серверов.

Определение текущего типа планировщика

Вы можете определить текущий тип планировщика гипервизора, который используется, проверив системный журнал в средстве просмотра событий на предмет самого последнего события запуска гипервизора с идентификатором 2, который сообщает о типе планировщика гипервизора, настроенном при запуске гипервизора.События запуска гипервизора можно получить из средства просмотра событий Windows или через PowerShell.

Идентификатор события запуска гипервизора 2 обозначает тип планировщика гипервизора, где:

Запрос события запуска типа планировщика гипервизора Hyper-V с помощью PowerShell

Чтобы запросить событие гипервизора с идентификатором 2 с помощью PowerShell, введите следующие команды в командной строке PowerShell.

  Get-WinEvent -FilterHashTable @ {ProviderName = "Microsoft-Windows-Hyper-V-Hypervisor"; ID = 2} -MaxEvents 1
  

Размер виртуальной машины | Документы Microsoft

  • 4 минуты на чтение

В этой статье

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

Рекомендации для нескольких сессий

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

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

Тип рабочей нагрузки Максимальное количество пользователей на виртуальный ЦП vCPU / RAM / OS хранилище минимум Пример экземпляров Azure Профильный контейнер для хранения минимум
Свет 4 4 виртуальных ЦП, 16 ГБ ОЗУ, 32 ГБ памяти D4s_v4, F4s_v2, D4as_v4 30 ГБ
Средний 2 4 виртуальных ЦП, 16 ГБ ОЗУ, 32 ГБ памяти D4s_v4, F4s_v2, D4as_v4 30 ГБ
Тяжелый 2 8 виртуальных ЦП, 32 ГБ ОЗУ, 64 ГБ памяти D8s_v4, F8s_v2, D8as_v4, D16s_v4, F16s_v2, D16as_v4 30 ГБ
Мощность 1 6 виртуальных ЦП, 56 ГБ ОЗУ, 340 ГБ памяти D4s_v4, F4s_v2, D4as_v4, NV12, NVv4 30 ГБ

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

Тип рабочей нагрузки Максимальное количество пользователей на виртуальный ЦП vCPU / RAM / OS хранилище минимум Пример экземпляров Azure Профильный контейнер для хранения минимум
Свет 6 8 виртуальных ЦП, 16 ГБ ОЗУ, 16 ГБ памяти D8s_v4, F8s_v2, D8as_v4, D16s_v4, F16s_v2, D16as_v4 30 ГБ
Средний 4 8 виртуальных ЦП, 16 ГБ ОЗУ, 32 ГБ памяти D8s_v4, F8s_v2, D8as_v4, D16s_v4, F16s_v2, D16as_v4 30 ГБ
Тяжелый 2 8 виртуальных ЦП, 16 ГБ ОЗУ, 32 ГБ памяти D8s_v4, F8s_v2, D8as_v4, D16s_v4, F16s_v2, D16as_v4 30 ГБ
Мощность 1 6 виртуальных ЦП, 56 ГБ ОЗУ, 340 ГБ памяти D8s_v4, F8s_v2, D8as_v4, D16s_v4, F16s_v2, D16as_v4, NV12, NVv4 30 ГБ

Рекомендуемые размеры виртуальных машин для стандартных или больших сред

Мы рекомендуем ограничить размер ВМ от 4 до 24 виртуальных ЦП.Мы не рекомендуем использовать 2 ядра или 32 или более ядер для стандартных и более крупных сред. Это почему?

Все виртуальные машины должны иметь более двух ядер

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

ВМ не должно иметь более 32 ядер

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

Рекомендуемый диапазон от 4 до 24 ядер, как правило, обеспечивает лучшую отдачу от емкости для ваших пользователей при увеличении количества ядер.Например, предположим, что у вас 12 пользователей одновременно входят в виртуальную машину с четырьмя ядрами. Соотношение — три пользователя на ядро. Между тем, на виртуальной машине с восемью ядрами и 14 пользователями соотношение составляет 1,75 пользователя на ядро. Сценарий с коэффициентом 1,75 предлагает большую пакетную мощность для ваших приложений, которым требуется кратковременная нагрузка на ЦП.

Для сценариев с 20 или более подключениями к одной виртуальной машине несколько небольших виртуальных машин будут работать лучше, чем одна или две большие виртуальные машины. Например, если вы ожидаете, что 30 или более пользователей одновременно войдут в систему на одном узле сеанса в течение 10 минут, две восьмиъядерные виртуальные машины справятся с рабочей нагрузкой лучше, чем одна 16-ядерная виртуальная машина.Вы также можете использовать балансировку нагрузки по ширине для равномерного распределения пользователей по разным виртуальным машинам.

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

Рекомендации для одного сеанса

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

Общие рекомендации по виртуальным машинам

Требования к виртуальной машине для запуска операционной системы см. В разделе «Технические характеристики компьютера с Windows 10 и системные требования».

Мы рекомендуем использовать SSD-накопитель премиум-класса на диске ОС для производственных рабочих нагрузок, для которых требуется соглашение об уровне обслуживания (SLA). Дополнительные сведения см. В соглашении об уровне обслуживания для виртуальных машин.

Графические процессоры (GPU)

— хороший выбор для пользователей, которые регулярно используют программы с интенсивным использованием графики для рендеринга видео, 3D-дизайна и моделирования.Дополнительные сведения об ускорении графики см. В разделе Выбор технологии визуализации графики. В Azure есть несколько вариантов развертывания с ускорением графики и несколько доступных размеров виртуальных машин с графическим процессором. Узнайте больше о размерах виртуальных машин, оптимизированных для графического процессора.

Виртуальные машины с пакетной загрузкой серии

B — хороший выбор для пользователей, которым не всегда требуется максимальная производительность ЦП. Дополнительные сведения о типах и размерах виртуальных машин см. В разделе Размеры виртуальных машин Windows в Azure и информацию о ценах на нашей странице серии виртуальных машин.

Проверьте свою рабочую нагрузку

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *