Виртуализация ядер с поддержкой Hyper-Threading

Я ищу некоторые рекомендации, прежде чем тратить кучу времени на реорганизацию устаревшей программы. Если у меня есть ядра, которые являются частью виртуального кластера. У меня есть вычисление, которое разбито на множество частей и распределено между каждым членом кластера. Если каждое ядро ​​поддерживает технологию Hyper-Threading, что из следующего является наиболее эффективным:

  1. 2 виртуальные машины, по одной на каждое логическое ядро. Половина вычисления отправляется каждому
  2. 1 виртуальная машина, где ОС управляет использованием логических ядер.
  3. 1 виртуальная машина, где OpenMP используется для создания 2 потоков для разделения вычислений.

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


person user3076878    schedule 09.12.2013    source источник
comment
Можете ли вы даже настроить виртуальную машину на ядре с поддержкой Hyper-Threading? В любом случае, я бы выбрал 2, я ожидаю, что ОС с поддержкой HT будет работать лучше, чем виртуальная машина, при использовании виртуализации. Однако это только мое внутреннее ощущение, и, вероятно, это также зависит от рассматриваемой ОС (и, конечно, виртуальной машины).   -  person Luaan    schedule 06.01.2014


Ответы (1)


Вы можете получить некоторое представление из этого сообщения Intel Core i5 и Core i7: Мейнстрим Magnum Opus от Intel

person Reuben    schedule 06.01.2014