Увидим ли мы ожидаемое ускорение в часовне, если будут работать "внутри" виртуальных машин?

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

У кого-нибудь есть опыт с этим? Есть ли шанс, что я смогу использовать виртуальную машину вместо физического устройства?

1 ответ

У нас был успех с виртуальной машиной! ВМ, которую мы использовали для всего класса, имеет:

  • 16 процессоров
  • жесткий диск 60 ГБ
  • 4 ГБ ОЗУ
  • 3 хоста ESXI

Система также имеет неограниченное количество IOP. (Вход / выход в секунду.)

Я рекомендую это решение другим учителям.

Да, но любое ускорение - это вопрос не просто синтаксического конструктора, а достижимой проблемы. ( [SEQ], [PAR] ) повторное рецептуре:


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

Современная критика и переформулировка оригинального аргумента д-ра Джина AMDAHL учли два основных расширения:

  • строгая формулировка (не забывать, что происходит от [SEQ] в [PAR] Выполнение кода происходит за счет затрат, всегда дополнительных расходов, которые в значительной степени идут вразрез с любым ожидаемым (фактическое увеличение расходов на дополнительные расходы).

  • основной предел любого [PAR] - гранулярность выполнения на конечном уровне атомарных транзакций, когда любой доступный ресурс, даже в бесконечной емкости, не приведет к дальнейшему улучшению общего права на скорость из-за дальнейшего неделимого планирования "атомарности"

Обе эти проблемы будут доминировать в ваших образовательных усилиях в большей степени, чем ваши фактические абстракции ВМ, и было бы действительно здорово обсудить более подробно все эти воздействия, связанные с планированием "блокирующих" ресурсов, а не только с ядром (ями) процессора и аппаратными средствами. потоки (на которые расписано O/S), будь то физические или абстрагированные VM-гипервизором.

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


Виртуальные машины:

Лучше проверить созданную VM-гипервизором топологию VM-NUMA (hwloc / lstopo), чтобы лучше декодировать архитектуру VM-CPU-Cache, ваши песочницы VM будут наслаждаться любым аппаратно-ориентированным низким уровнем { C | сборка}-кода, и можно представить себе множество "дурацких" эффектов, если виртуальная машина утверждает, что у vCPU есть 8 независимых vCPU-сокетов, каждое из которых имеет 4 независимых ядра vCPU, каждое из которых имеет полностью отдельную и автономную иерархию неразделенного vCPU-CACHE(s), ни один уровень которых не является общим (несмотря на факты, что физические процессоры (ы) хоста (ов) в основном совместно используют L3_CACHE(s)).

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


(Можно также использовать платформу Live chapel https://tio.run/ создания прототипов)


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