Набор компиляторов GNU ( ) доступен бесплатно для всех
основных аппаратных платформ, на которых строятся кластеры. Однако по
производительности эти компиляторы нередко отстают от коммерческих
вариантов - Intel C/Fortran Compiler, PGI Compiler, PathScale EcoPath,
Absoft и других. Все эти продукты можно запросить у производителей и
протестировать бесплатно на своей конкретной задаче и платформе, а
после чего уже решать, стоит ли покупать и переходить на один из них.
Если кластер строится на основе многоядерных процессоров, то обратите
внимание, поддерживается ли многоядерность в выбранном компиляторе, в
частности, есть ли поддержка технологии
Если принято решение установить коммерческий компилятор, то перед заказом внимательно изучите условия лицензирования. Одни лицензии позволяют запустить не более, чем оговоренное в лицензии число процессов компиляции одновременно, другие варианты ограничивают круг пользователей, которым разрешена компиляция.
Компилятор достаточно установить только на головном узле и покупать
лицензии на все узлы не нужно. Если компилятор использует свои
динамические библиотеки (так это делает, например, компилятор компании
Intel), то их надо скопировать на вычислительные узлы и прописать к
ним пути в файле /etc/ld.so.conf, после чего запустить на узлах
команду ldconfig. Заметим, что это надо сделать обязательно, так как
при запуске /etc/profile или ~/.bash_profile, а значит и не будут прописаны
пути к библиотекам через переменную LD_LIBRARY_PATH, как это делается
в штатных скриптах, поставляемых с большинством компиляторов.
Вопрос с лицензиями на программное обеспечение нужно изучить очень аккуратно, поскольку он тесно связан с планированием бюджета всего проекта. Существует несколько видов лицензий для программ и программных пакетов для кластеров, причем нередко один и тот же пакет может поставляться с различными вариантами лицензий, учитывающих:
Как мы уже обсуждали, для компилятора не нужно покупать лицензии на все узлы кластера. Если людей, занимающихся разработкой программ, немного и их круг не будет меняться ближайший год-два, то можно купить лицензию с фиксированным числом пользователей. Если такой уверенности нет, то подумайте о варианте лицензии на одновременную компиляцию одним-двумя пользователями. Такой вариант на практике используется достаточно часто.
Для специализированных параллельных вычислительных пакетов или
библиотек может потребоваться лицензия, в которой нужно будет явно
указать максимальное число процессоров, доступных для работы пакета.
Стоимость лицензии для больших конфигураций может оказаться
внушительной: десятки и сотни тысяч долларов, поэтому еще раз советуем
внимательно изучить условия
Если говорить о средах
Проведя установку параллельной среды, убедитесь в том, что она
работоспособна. Для этого воспользуйтесь стандартными тестами,
поставляемыми практически со всеми дистрибутивами make простейшую программу, которой обычно является программа mpirun -np N ./, где N - это число процессоров, на которых будет
запускаться задача.
Если все прошло успешно, нужно провести более серьезную проверку -
Скорость передачи данных и , доступным по адресу:
http://parallel.ru/ftp/tests/mpi-bench-suite.zip
Распакуйте архив, исправьте файл конфигурации config/make.def, если
это нужно, и соберите исполняемые файлы командой make. В каталоге bin
появятся файлы отдельных тестов transf1, ..., transf5, mpitest,
nfstest и nettest. Сейчас для нас наиболее интересны transfl
(блокирующая передача данных) и mpitest (тестирование основных
операций
Для тестирования скорости передачи воспользуйтесь transfl на двух
узлах. Используйте параметры запуска "ml M1024000 T5".
Параметр ml предписывает начать замеры с сообщения длиной в 1 байт, M1024000 - остановиться на длине сообщений в 1024000 байт, T5 -
повторить каждую передачу 5 раз (для набора статистики и повышения
точности измерения). Более подробно все параметры описаны в
документации к данному пакету.
Результаты будут выданы на экран, где будет показана скорость
передачи данных по
transfl с параметрами "m0 M0 T10".
Хорошим вариантом тестирования производительности системы является
использование пакета Intel
Некоторое представление о работе кластера в целом даст измерение
производительности его работы на тесте
Более подробное описание процесса сборки и запуска теста
Неплохим показателем работы кластера на множестве разных приложений
могут служить данные, полученные на тестах пакета НРС
Если планируется использовать специализированные прикладные пакеты и программы, то имеет смысл провести серию дополнительных тестовых испытаний. Практически каждый пакет содержит в своем дистрибутиве набор тестовых задач, проверяющих и правильность его установки, и эффективность его работы в конкретной программно-аппаратной среде. Запустите тесты и сравните с эталонными результатами. Если обнаружилось неожиданное расхождение, то необходимо провести дополнительное исследование и выяснить причину, прежде чем отдавать инструментарий в эксплуатацию в штатном режиме.
Кстати, отметим интересный и немаловажный факт: всю работу по
тестированию
Если
Хорошую инфраструктуру для поддержки разработки ПО можно создать на основе программных инструментов Intel, многие из которых доступны как под ОС семейства Linux, так и под ОС MS Windows:
Компиляторы Intel (языки C/C++, Fortran77/Fortran90) поддерживают и
различные уровни оптимизации для 32-х и 64-х разрядных приложений в
одном пакете, и технологию
Анализатор Intel VTune позволяет находить и устранять узкие места,
препятствующие повышению производительности программы, за счет сбора,
анализа и отображения данных вплоть до отдельных функций, модулей и
команд.
Библиотека Intel Integrated Performance
Библиотека Intel Math Kernel Library широко используется для
решения вычислительно сложных задач, где от платформ Intel требуется
максимальная производительность. К функциональным возможностям этой
библиотеки можно отнести модули линейной алгебры (BLAS,
Анализатор Intel Thread
Инструменты для программирования кластеров объединены в пакет Intel
Не обязательно использовать все указанные выше технологии
разработки параллельного программного обеспечения, создавая
самостоятельно весь параллельный код. Часто на практике прикладные
программисты вообще не используют никаких явных параллельных
конструкций, обращаясь в критических по времени счета фрагментах к
подпрограммам и функциям параллельных предметных библиотек. Весь
параллелизм и вся оптимизация спрятаны в вызовах, а пользователю
остается лишь написать внешнюю часть своей программы и грамотно
воспользоваться стандартными блоками. Примерами подобных библиотек
являются Lapack, ScaLapack, Cray
И, наконец, одно из самых важных направлений - это использование
специализированных пакетов и программных комплексов из конкретных
прикладных областей. Как правило, в этом случае пользователю вообще не
приходится программировать. Основная задача -это правильно указать все
необходимые входные данные и правильно воспользоваться
Проведите исследование потребностей пользователей, определитесь с набором необходимого прикладного ПО, выберите оптимальную форму оформления лицензий, установите и проверьте эффективность работы прикладных библиотек и пакетов, подготовьте и распространите информацию о доступном наборе программных средств на кластере среди пользователей.
Если пользователей кластера будет больше одного или надо будет запускать целые серии расчетов, то запуск задач вручную станет непростым делом. Задачи начнут конкурировать друг с другом за процессоры, память и другие общие ресурсы, и об эффективности выполнения программ нужно будет забыть.
В такой ситуации необходима система управления заданиями, распределяющая множество задач по процессорам. В настоящее время наиболее распространены следующие системы: Torque/OpenPBS, LSF (коммерческая), OpenPBS PRO (коммерческая), LoadLeveler (на серверах IBM), Sun Grid Engine, Cleo (описана в Приложении 4). Распределяя программы пользователей по узлам кластера, система управления заданиями должна поддерживать согласованную работу с некоторой системой квотирования и бюджетирования кластерных ресурсов.
На практике, это относится, в первую очередь, к контролю за использованием выделенного объема процессорного времени и занимаемого места на дисках. Вроде бы рутина и текучка, однако вопросы эффективной организации коллективной работы пользователей исключительно важны. Если это не предписано соображениями приоритетности, то не должно складываться ситуации, когда одна или несколько задач пользователя надолго занимают все ресурсы кластера, не позволяя более никому выполнить даже небольшой тестовый расчет. На практике, кластер часто разбивается на несколько независимых логических разделов, в каждом из которых устанавливаются свои ограничения и политики: максимальное время выполнения программ, число занимаемых процессоров работающими приложениями пользователя, число одновременно запущенных программ пользователей и другие.
В такой структуре легко предусмотреть отдельный раздел для программ с небольшим временем работы, что помогает ускорить процесс отладки кластерных приложений. Разбиение на разделы, во многих случаях, можно сделать с помощью самих систем управления заданиями.
Убедившись в успешном прохождении всех этапов, описанных в предыдущих главах книги, администратор заканчивает стартовый период своей деятельности и открывает пользователям доступ на кластер. Начинается их работа.
Набор компиляторов GNU ( ) доступен бесплатно для всех
основных аппаратных платформ, на которых строятся кластеры. Однако по
производительности эти компиляторы нередко отстают от коммерческих
вариантов - Intel C/Fortran Compiler, PGI Compiler, PathScale EcoPath,
Absoft и других. Все эти продукты можно запросить у производителей и
протестировать бесплатно на своей конкретной задаче и платформе, а
после чего уже решать, стоит ли покупать и переходить на один из них.
Если кластер строится на основе многоядерных процессоров, то обратите
внимание, поддерживается ли многоядерность в выбранном компиляторе, в
частности, есть ли поддержка технологии
Если принято решение установить коммерческий компилятор, то перед заказом внимательно изучите условия лицензирования. Одни лицензии позволяют запустить не более, чем оговоренное в лицензии число процессов компиляции одновременно, другие варианты ограничивают круг пользователей, которым разрешена компиляция.
Компилятор достаточно установить только на головном узле и покупать
лицензии на все узлы не нужно. Если компилятор использует свои
динамические библиотеки (так это делает, например, компилятор компании
Intel), то их надо скопировать на вычислительные узлы и прописать к
ним пути в файле /etc/ld.so.conf, после чего запустить на узлах
команду ldconfig. Заметим, что это надо сделать обязательно, так как
при запуске /etc/profile или ~/.bash_profile, а значит и не будут прописаны
пути к библиотекам через переменную LD_LIBRARY_PATH, как это делается
в штатных скриптах, поставляемых с большинством компиляторов.
Вопрос с лицензиями на программное обеспечение нужно изучить очень аккуратно, поскольку он тесно связан с планированием бюджета всего проекта. Существует несколько видов лицензий для программ и программных пакетов для кластеров, причем нередко один и тот же пакет может поставляться с различными вариантами лицензий, учитывающих:
Как мы уже обсуждали, для компилятора не нужно покупать лицензии на все узлы кластера. Если людей, занимающихся разработкой программ, немного и их круг не будет меняться ближайший год-два, то можно купить лицензию с фиксированным числом пользователей. Если такой уверенности нет, то подумайте о варианте лицензии на одновременную компиляцию одним-двумя пользователями. Такой вариант на практике используется достаточно часто.
Для специализированных параллельных вычислительных пакетов или
библиотек может потребоваться лицензия, в которой нужно будет явно
указать максимальное число процессоров, доступных для работы пакета.
Стоимость лицензии для больших конфигураций может оказаться
внушительной: десятки и сотни тысяч долларов, поэтому еще раз советуем
внимательно изучить условия
Если говорить о средах
Проведя установку параллельной среды, убедитесь в том, что она
работоспособна. Для этого воспользуйтесь стандартными тестами,
поставляемыми практически со всеми дистрибутивами make простейшую программу, которой обычно является программа mpirun -np N ./, где N - это число процессоров, на которых будет
запускаться задача.
Если все прошло успешно, нужно провести более серьезную проверку -
Скорость передачи данных и , доступным по адресу:
http://parallel.ru/ftp/tests/mpi-bench-suite.zip
Распакуйте архив, исправьте файл конфигурации config/make.def, если
это нужно, и соберите исполняемые файлы командой make. В каталоге bin
появятся файлы отдельных тестов transf1, ..., transf5, mpitest,
nfstest и nettest. Сейчас для нас наиболее интересны transfl
(блокирующая передача данных) и mpitest (тестирование основных
операций
Для тестирования скорости передачи воспользуйтесь transfl на двух
узлах. Используйте параметры запуска "ml M1024000 T5".
Параметр ml предписывает начать замеры с сообщения длиной в 1 байт, M1024000 - остановиться на длине сообщений в 1024000 байт, T5 -
повторить каждую передачу 5 раз (для набора статистики и повышения
точности измерения). Более подробно все параметры описаны в
документации к данному пакету.
Результаты будут выданы на экран, где будет показана скорость
передачи данных по
transfl с параметрами "m0 M0 T10".
Хорошим вариантом тестирования производительности системы является
использование пакета Intel
Некоторое представление о работе кластера в целом даст измерение
производительности его работы на тесте
Более подробное описание процесса сборки и запуска теста
Неплохим показателем работы кластера на множестве разных приложений
могут служить данные, полученные на тестах пакета НРС
Если планируется использовать специализированные прикладные пакеты и программы, то имеет смысл провести серию дополнительных тестовых испытаний. Практически каждый пакет содержит в своем дистрибутиве набор тестовых задач, проверяющих и правильность его установки, и эффективность его работы в конкретной программно-аппаратной среде. Запустите тесты и сравните с эталонными результатами. Если обнаружилось неожиданное расхождение, то необходимо провести дополнительное исследование и выяснить причину, прежде чем отдавать инструментарий в эксплуатацию в штатном режиме.
Кстати, отметим интересный и немаловажный факт: всю работу по
тестированию
Если
Хорошую инфраструктуру для поддержки разработки ПО можно создать на основе программных инструментов Intel, многие из которых доступны как под ОС семейства Linux, так и под ОС MS Windows:
Компиляторы Intel (языки C/C++, Fortran77/Fortran90) поддерживают и
различные уровни оптимизации для 32-х и 64-х разрядных приложений в
одном пакете, и технологию
Анализатор Intel VTune позволяет находить и устранять узкие места,
препятствующие повышению производительности программы, за счет сбора,
анализа и отображения данных вплоть до отдельных функций, модулей и
команд.
Библиотека Intel Integrated Performance
Библиотека Intel Math Kernel Library широко используется для
решения вычислительно сложных задач, где от платформ Intel требуется
максимальная производительность. К функциональным возможностям этой
библиотеки можно отнести модули линейной алгебры (BLAS,
Анализатор Intel Thread
Инструменты для программирования кластеров объединены в пакет Intel
Не обязательно использовать все указанные выше технологии
разработки параллельного программного обеспечения, создавая
самостоятельно весь параллельный код. Часто на практике прикладные
программисты вообще не используют никаких явных параллельных
конструкций, обращаясь в критических по времени счета фрагментах к
подпрограммам и функциям параллельных предметных библиотек. Весь
параллелизм и вся оптимизация спрятаны в вызовах, а пользователю
остается лишь написать внешнюю часть своей программы и грамотно
воспользоваться стандартными блоками. Примерами подобных библиотек
являются Lapack, ScaLapack, Cray
И, наконец, одно из самых важных направлений - это использование
специализированных пакетов и программных комплексов из конкретных
прикладных областей. Как правило, в этом случае пользователю вообще не
приходится программировать. Основная задача -это правильно указать все
необходимые входные данные и правильно воспользоваться
Проведите исследование потребностей пользователей, определитесь с набором необходимого прикладного ПО, выберите оптимальную форму оформления лицензий, установите и проверьте эффективность работы прикладных библиотек и пакетов, подготовьте и распространите информацию о доступном наборе программных средств на кластере среди пользователей.
Если пользователей кластера будет больше одного или надо будет запускать целые серии расчетов, то запуск задач вручную станет непростым делом. Задачи начнут конкурировать друг с другом за процессоры, память и другие общие ресурсы, и об эффективности выполнения программ нужно будет забыть.
В такой ситуации необходима система управления заданиями, распределяющая множество задач по процессорам. В настоящее время наиболее распространены следующие системы: Torque/OpenPBS, LSF (коммерческая), OpenPBS PRO (коммерческая), LoadLeveler (на серверах IBM), Sun Grid Engine, Cleo (описана в Приложении 4). Распределяя программы пользователей по узлам кластера, система управления заданиями должна поддерживать согласованную работу с некоторой системой квотирования и бюджетирования кластерных ресурсов.
На практике, это относится, в первую очередь, к контролю за использованием выделенного объема процессорного времени и занимаемого места на дисках. Вроде бы рутина и текучка, однако вопросы эффективной организации коллективной работы пользователей исключительно важны. Если это не предписано соображениями приоритетности, то не должно складываться ситуации, когда одна или несколько задач пользователя надолго занимают все ресурсы кластера, не позволяя более никому выполнить даже небольшой тестовый расчет. На практике, кластер часто разбивается на несколько независимых логических разделов, в каждом из которых устанавливаются свои ограничения и политики: максимальное время выполнения программ, число занимаемых процессоров работающими приложениями пользователя, число одновременно запущенных программ пользователей и другие.
В такой структуре легко предусмотреть отдельный раздел для программ с небольшим временем работы, что помогает ускорить процесс отладки кластерных приложений. Разбиение на разделы, во многих случаях, можно сделать с помощью самих систем управления заданиями.
Убедившись в успешном прохождении всех этапов, описанных в предыдущих главах книги, администратор заканчивает стартовый период своей деятельности и открывает пользователям доступ на кластер. Начинается их работа.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.