«Мы рассчитываем создать более гибкую среду для пользователей суперкомпьютера за счет применения механизмов виртуализации, — пояснил Кевин Педретти, возглавляющий работы по проекту. — Наша конечная цель — предоставить пользователям более гибкую среду без ущерба для производительности и масштабируемости».
Педретти отметил, что, насколько ему известно, это первая систематизированная попытка протестировать возможность применения виртуализации на высокопроизводительных вычислительных платформах. Ранее виртуализация не применялась на суперкомпьютерах сколь-нибудь широко. (Справедливости ради следует отметить, что летом прошлого года два сотрудника лаборатории применили гипервизор Lguest Linux для моделирования запуска миллиона процессоров. Это было проделано в исследовательских целях для имитации действия крупномасштабной бот-сети.)
«В суперкомпьютерной отрасли бытует мнение, что виртуализация суперкомпьютеров требует слишком много ресурсов, чтобы быть целесообразной, — напомнил Педретти. — Мы рассчитываем опровергнуть это мнение и показать, как можно свести нагрузку к разумному минимуму даже для крупномасштабных сильно связанных научных приложений, предполагающих большой объем коммуникаций при их выполнении на виртуальной машине».
Между тем виртуализация высокопроизводительных систем может оказаться очень востребованной, поскольку исследователи, использующие в своей работе системы крупномасштабного моделирования или программы, предполагающие большой объем вычислений, не хотят больше быть привязанными к соответствующим приложениям только для суперкомпьютерных операционных систем.
При выполнении тестов в лаборатории в Сандии удалось на виртуальной машине добиться скорости, составляющей 95% скорости «голого железа«. Для проведения тестирования исследователи получили в свое распоряжение все ресурсы суперкомпьютера Red Storm на 12 часов. Было задействовано 6240 четырехъядерных процессоров.
Приложения выполнялись в двух режимах — при работе на реальной машине и на виртуальной. В качестве базовых показателей были выбраны результаты приложений, выполнявшихся во встроенной среде Red Storm на базе облегченной операционной системы Catamount Lightweight Kernel (LWK).
В качестве виртуальной машины исследователи загрузили разработанную ими оригинальную версию LWK, названную Kitten. Интеграция этой системы производилась с использованием монитора виртуальной машины Palacios, разработанного специалистами университетов штатов Нью-Мексико и Иллинойс.
Виртуальные машины загружались через Catamount как гостевые операционные системы. Тестовые приложения запускались при помощи встроенного инструментария для запуска Red Storm по стандартному протоколу. «С точки зрения пользователя, работа на виртуальной машине ничем не отличается от работы в стандартном режиме», — подчеркнул Педретти.
Для тестирования был выбран целый ряд программ, в том числе стандартные процедуры определения производительности, а также два реальных приложения: разработанная в Сандии программа моделирования воздействия ударной волны и приложение моделирования гидродинамических явлений SAIC Adaptive. Обработка программ распределялась на несколько процессоров, от двух до 6240, в зависимости от конкретной программы.
Исследователи ограничились тестированием только программного обеспечения виртуализации для высокопроизводительных сред, поскольку широко распространенные средства виртуализации, например Xen, в большей степени ориентированы на консолидацию массовых серверов, нежели на высокопроизводительные системы. Кроме того, использование программных средств для высокопроизводительных сред позволило задать параметры систем с точностью, которая не обеспечивается стандартными гипервизорами.
Red Storm принадлежит 17-е место в списке наиболее мощных суперкомпьютеров по недавней версии рейтинга Top 500. Эта машина, созданная на платформе Cray XT и работающая под управлением операционной системы Linux, оснащена 12 960 процессорами AMD Opteron (6720 двухъядерных процессоров и 6240 четырехъядерных, в общей сложности 38 400 ядер) и развивает производительность в 204 TFLOPS.