Введение 3
1. Высокопроизводительные вычисления на графических
ускорителях. 6
1.1. Аппаратные средства 6
1.2. Программные средства. 14
1.3. Использование IDE и CUDA 23
1.4. Примерные варианты организации
проведения лабораторных работ 27
2. Организация терминального сервера для проведения
лабораторных работ 30
2.1. Требования к аппаратной части компьютера для проведения
лабораторных работ по параллельному программированию с использованием графического ускорителя. 30
2.2. Существующие технологии организации
терминального доступа. 31
2.3. Терминальный доступ с возможностью программирования с
использованием графического ускорителя 41
2.4. Приемы использования терминального сервера для выполнения
лабораторных работ по параллельному программированию с использованием графического ускорителя. 49
2.5. Рекомендации по созданию инфраструктуры для выполнения
лабораторных работ по параллельному программированию с использованием графического ускорителя. 50
Заключение 60
Список использованных источников 62
С развитием графических процессоров появилась возможность сократить нагрузку на центральный процессор, выполняя вычисления с большими объемами данных на графическом ускорителе. Такое распределение в разы увеличило производительность вычислений. Появилось новое направление в программировании - параллельное программирование, позволяющие выполнять высокопроизводительные вычисления в том числе и на графических ускорителях. Параллельное программирование сегодня используется во всех областях деятельности человека. Умение программировать, используя графический ускоритель, дает учащимся возможность реализовать себя в более обширной области, увеличивает конкурентоспособность на рынке труда, являясь несомненным плюсом при принятии на работу.
Для успешного обучения параллельному программированию с использованием графического ускорителя необходим доступ к его ресурсам всем учащимся. На текущий момент аппаратные средства, используемые в высокопроизводительных вычислениях, одна из самых затратных статей бюджета любой организации. Чтобы сократить издержки на их приобретение, обслуживание, настройку необходима технология, обеспечивающая полный доступ к ресурсам сервера, в том числе графического ускорителя, посредством перенаправления их от сервера к компьютеру пользователя. Проблема заключается в том, что различные виды терминального доступа в той или иной мере ограничивают использование ресурсов аппаратных средств терминального сервера.
Виртуализация рабочих станций позволяет решить эти вопросы.
Гипервизоры позволяют быстро создать или изменить виртуальные машины, что позволяет использовать их для построения тестовых стендов, а также для обучения новым продуктам и технологиям, обеспечивает разделение ресурсов сервера между виртуальными машинами, что повышает КПД использования ресурсов, а благодаря тому, что виртуальные машины состоят из стандартных виртуальных компонентов, проблемы совместимости с операционными системами и программным обеспечением отсутствуют.
Актуальность исследования обусловлено тем, что учебному учреждению в условиях ограниченного бюджета и отсутствия достаточного штата сотрудников для настройки и обслуживания компьютеров необходимо предоставить возможность учащимся полноценного обучения, в том числе и высокопроизводительным вычислениям. Использование терминального сервера для поддержки обучения позволяет сэкономить на покупке и обслуживании аппаратных и программных средств в долгосрочной перспективе.
Целью исследования является разработка рекомендаций для использования терминального сервера для поддержки обучения высокопроизводительным вычислениям.
Объектом исследования является техническое обеспечение учебного процесса в области информатики. Предмет исследования - терминальный сервер для выполнения лабораторных работ по высокопроизводительным вычислениям.
Для достижения поставленной цели были сформулированы следующие задачи:
1. Проанализировать требования к аппаратной части компьютера для выполнения лабораторных работ по высокопроизводительным вычислениям с использованием графического ускорителя.
2. Проанализировать возможность доступа к графическому ускорителю при различных видах виртуализации.
3. Определить наиболее эффективные способы программного доступа к графическому ускорителю из виртуальной среды.
4. Апробировать способы программного доступа к графическому ускорителю из виртуальной среды.
5. Разработать приёмы использования терминального сервера для выполнения лабораторных работ по высокопроизводительным вычислениям с использованием графического ускорителя.
В настоящее время мы наблюдаем за интересными процессами в области параллельных (высокопроизводительных) вычислений. Графические укорители прочно заняли эту нишу и пока никому не уступают, а только продолжают наращивать производительность. Технология CUDA развивается лавинообразно, от года в год набирая мощности и скорости вычислений, позволяя самым различным областям деятельности человека сократить время на обработку данных. Дизайн, производство, маркетинг, архитектура, медицина, космонавтика, область искусственного интеллекта и много-много других областей, где используются параллельные вычисления, и куда требуются квалифицированные программисты.
В тоже время гонка за уменьшением затрат на информационную структуру предприятий и учреждений заставляет разработчиков технологий виртуализации предлагать новые варианты, учитывая растущие потребности пользователей. Но даже сейчас уже имеющиеся и с успехом используемые технологии позволяют обеспечить необходимые аппаратные и программные ресурсы для выполнения поставленных задач при соразмерных затратах на внедрении, и экономии на обслуживании, содержании и модернизации IT-структуры организаций.
На сегодняшний день в большинстве учебных заведениях классы не укомплектованы для проведения лабораторных работ по программированию с использованием графического ускорителя. Сказывается ограничение бюджета, отсутствие знаний возможных альтернатив в виде применения сервера виртуализации. Что ограничивает учащихся в получении полных качественных знаний по параллельному программированию.
Учитывая эти обстоятельства было решено разработать общие рекомендации для организации инфраструктуры для выполнения
лабораторных работ по программированию с использованием графического ускорителя.
В результате реализации цели, были выполнены следующие задачи:
• изучена литература и информационные ресурсы с целью выявления и понимания сущности и особенностей параллельного программирования в целом, и с использованием графического ускорителя в частности, а также виртуализации - как разновидности терминального доступа;
• проанализированы требования к аппаратной части компьютера для выполнения лабораторных работ по высокопроизводительным вычислениям с использованием графического ускорителя,
• проанализирована возможность доступа к графическому ускорителю при различных видах виртуализации
• апробированы способы виртуализации и определен наиболее эффективный способ программного доступа к графическому ускорителю из виртуальной среды.
Результатом выполнения целей стала рекомендация по созданию инфраструктуры для выполнения лабораторных работ по программированию с использованием графического ускорителя.
Реализация виртуализации в учебном классе создает благоприятную среду для проведения лабораторных работ. Виртуализация рабочих станций предоставляет вариативность, безопасность, наглядность процессов и результатов проведения лабораторных работ. Работа в виртуальных машинах ничем не отличается от физических, и их можно использовать для исследования новых операционных систем, апробации нового программного обеспечения, проведения тестов производительности приложений на различных архитектурах и конфигурациях машин.
1. CUDA Toolkit документация [Электронный ресурс] URL: https://docs.nvidia.com/cuda/ (дата обращения 5.06.2018)
2. NVIDIA Developer. Портал для разработчиков. [Электронный ресурс] URL: https://developer.nvidia.com/ (дата обращения 7.06.2018)
3. NVIDIA VIRTUAL GPU RESOURCES [Электронный ресурс] URL: http://www.nvidia.com/object/grid-enterprise-resources.html (дата обращения 7.06.2018)
4. База знаний Citrix. [Электронный ресурс] URL: https://support.citrix.com/en/products/xenserver (дата обращения 7.06.2018)
5. База знаний VMware. [Электронный ресурс] URL: https://www.vmware.com/support/vsphere.html (дата обращения 7.06.2018)
6. Библиотека технической информации для Windows Server.
Виртуализация. [Электронный ресурс] URL:
https://docs.microsoft.com/ru-ru/windows-server/virtualization/virtualization (дата обращения 7.06.2018)
7. Богачёв К.Ю. Основы параллельного программирования. М.: Бином. Лаборатория знаний, 2003
8. Боресков А.В., Харламов А. А. Параллельные вычисления на GPU. Архитектура и программная модель CUDA: Учебное пособие. М.: Издательство Московского университета, 2012
9. Васильковский В.А., Котов А.Г., Марчук А.Г., Миренков Н.Н. Элементы параллельного программирования; Под ред. В.Е. Котова, М.:Радио и связь, 1983
10. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб.: БХВ-Петербург, 2002
11. Гультяев А.К. Виртуальные машины: несколько компьютеров в одном (+CD). СПб.: Питер, 2006
12. Диттнер Р. И др. Виртуализация и Microsoft Virtual Server 2005. Пер. с англ., М.: ООО «Бином-Пресс», 2008
13. Качко Е.Г. Параллельное программирование: Учебное пособие. Харьков: Форт, 2011
14. Краузе Дж. Windows Server 2016 Книга рецептов. [Электронный ресурс]
URL: http://onreader.mdl.ru/WindowsServer2016Cookbook/content/index.html (дата обращения 7.06.2018)
15. Кулагин К., Балдин Е. CUDA: Пустим. Часть 2. Статья. Linux Format, 2013. - Май. - С. 88-91.
... всего 30 источников