Технологии построения и использования кластерных систем
Покупка
Новинка
Тематика:
Стратегический менеджмент
Издательство:
ИНТУИТ
Автор:
Гергель Виктор Павлович
Год издания: 2016
Кол-во страниц: 395
Дополнительно
Курс направлен на представление обзора технологий построения и эффективного использования одного из наиболее широкого распространенного класса параллельных систем - кластеров.
В рамках курса осуществляется комплексное рассмотрение темы начиная с выбора наиболее подходящих архитектурных решений и заканчивая оценкой эффективности кластерных систем. Особое внимание уделяется системам эффективного управления ресурсами кластера - изложение данного вопроса проводится на основе имеющегося опыта разработки системы управления кластера Нижегородского университета. Получаемый в результате изучения данного курса набор знаний и умений является достаточным для того, чтобы слушатели смогли самостоятельно спроектировать, построить, настроить и использовать кластер в рамках организации малого и среднего размера.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 38.03.01: Экономика
- 38.03.04: Государственное и муниципальное управление
- ВО - Магистратура
- 38.04.01: Экономика
- 38.04.04: Государственное и муниципальное управление
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Технологии построения и использования кластерных систем 2-е издание, исправленное Гергель В.П. Национальный Открытый Университет “ИНТУИТ” 2016 2
Технологии построения и использования кластерных систем/ В.П. Гергель - М.: Национальный Открытый Университет “ИНТУИТ”, 2016 Курс направлен на представление обзора технологий построения и эффективного использования одного из наиболее широкого распространенного класса параллельных систем – кластеров. В рамках курса осуществляется комплексное рассмотрение темы начиная с выбора наиболее подходящих архитектурных решений и заканчивая оценкой эффективности кластерных систем. Особое внимание уделяется системам эффективного управления ресурсами кластера – изложение данного вопроса проводится на основе имеющегося опыта разработки системы управления кластера Нижегородского университета. Получаемый в результате изучения данного курса набор знаний и умений является достаточным для того, чтобы слушатели смогли самостоятельно спроектировать, построить, настроить и использовать кластер в рамках организации малого и среднего размера. (c) ООО “ИНТУИТ.РУ”, 2009-2016 (c) Гергель В.П., 2009-2016 3
Обзор архитектуры персональных мини-кластеров В лекции приводятся примеры персональных мини-кластеров. Рассказывается об используемых процессорах, организации сети и показателях производительности. За несколько тысячелетий развития цивилизации, более-менее известных нам благодаря историкам, человек научился с удивительной легкостью оперировать весьма большими и практически непредставимыми числами – благодаря переписям населения мы, по крайней мере совместно, способны “сосчитать” до сотен миллионов, но вот что такое 9,1 * 10-31 килограмма или 6,022 * 1023 моль-1 вряд ли кто может оценить, если только не напомнить, что это масса электрона и число Авогадро соответственно. Более того, человек не только сам научился считать, но и создал себе неутомимого помощника, на которого переложил подавляющее большинство расчетных и перекладывает все больше остальных задач. Сегодня “вычислительные устройства” сопровождают нас повсеместно: от сотовых телефонов до стиральных машин с программным управлением; от электронных книг до автоматических пылесосов, самостоятельно убирающих квартиру в отсутствие хозяина. Однако на фоне этого неудержимого процесса “компьютеризации” человечества долгое время нетронутой оставалась область, в которой звучат такие внушающие уважение далеким от компьютеров людям, как “суперкомпьютер“, “терафлоп”, “высокопроизводительные вычисления”. В последнее время и здесь ситуация изменилась 1.1. От суперкомпьютера к мини-кластеру “Citius, Altius, Fortius”1) – девиз Олимпийских игр современности, как ни к какой другой области, применим к вычислительной технике. Воплощение в жизнь не раз видоизменявшего свою исходную формулировку, но до сих пор действующего эмпирического закона сформулированного в 1965 году Гордоном Муром, похоже, стало “делом чести” производителей аппаратного обеспечения. Из всех известных формулировок этого закона точку зрения потребителя/пользователя наилучшим образом отражает вариант: “производительность вычислительных систем удваивается каждый 18 месяцев”. Мы сознательно не использовали термин “процессор”, поскольку конечного пользователя вовсе не интересует, кто обеспечивает ему повышение мощности: процессор, ускоритель, видеокарта, – ему важен лишь сам факт роста возможностей “за те же деньги”. Правда, в последние несколько лет возможности увеличения мощности процессоров на основе повышения тактовой частоты оказались фактически исчерпаны, и производители, выбрав в качестве магистрального пути развития увеличение числа ядер на кристалле, были вынуждены призвать на помощь разработчиков программного обеспечения. Старые последовательные программы, способные использовать лишь одно ядро, теперь уже не будут работать быстрее на новом поколении процессоров “задаром” – требуется практически повсеместное внедрение программирования параллельного. Помимо представленной выше известна и другая формулировка закона Мура: “доступная (человечеству) вычислительная мощность удваивается каждые 18 месяцев”. 4
Зримое свидетельство этого варианта формулировки – список Top500 [1] самых высокопроизводительных вычислительных систем мира, обновляемый дважды в год. В 31-м списке Top500 (июнь 2008) впервые в истории был преодолен петафлопный порог производительности – суперкомпьютер “Roadrunner” [2] производства компании IBM показал на тесте LINPACK 1,026 петафлопс (предыдущий “психологический” барьер в один терафлопс был преодолен системой ASCI Red [3] производства компании Intel в 1997 году – как видим, всего за 11 лет пик мощности вырос на три порядка). А суммарная мощность систем, представленных в 31-м списке Top500, составила 11,7 петафлопс. Много это или мало? Если взять за основу, что реальная производительность хорошей “персоналки” на четырехъядерном процессоре составляет порядка 20 гигафлопс, то весь список Top500 будет эквивалентен половине миллиона таких персоналок. Очевидно, что это лишь вершина айсберга. По данным аналитической компании Gartner общее число используемых в мире компьютеров превысило в 2008 году 1 миллиард. Представленные в списке Top500 данные позволяют проследить характерные тенденции развития индустрии в сфере суперкомпьютерных вычислений. Первый список Top500 датирован июнем 1993 года и содержит 249 систем класса SMP и 97, построенных на основе единственного процессора; более 40% всех решений в нем были созданы на платформе, разработанной компанией Cray, еще в 1976 выпустившей первую векторную систему Cray1, с которой связывают само возникновение термина “суперкомпьютер“. Уже четырьмя годами позже в Top500 не осталось ни одной системы на основе единственного процессора, а взамен появилась первая система с производительностью всего в 10 гигафлопс (в 100 раз меньше, чем у лидера списка системы ASCI Red), относящаяся к довольно новому тогда классу, который сегодня занимает в Top500 80% списка и является, по факту, основным способом построения суперкомпьютеров. Думается, многие догадались, что речь идет о кластерах. Основным преимуществом кластеров, предопределившим их повсеместное распространение, было и остается построение из стандартных массово выпускающихся компонент, как аппаратных, так и программных. Сегодня 75% систем в списке построены на основе процессоров компании Intel, чуть больше 13% – на процессорах компании IBM и 11% – компании AMD (на двух оставшихся производителей NEC и Cray приходится по одной системе соответственно); 81% систем используют всего два типа интерконнекта: Gigabit Ethernet или Infiniband; 85% систем работают под управлением операционной системы из семейства Linux. Как видим, разнообразием список не блещет, что является несомненным плюсом с точки зрения пользователей. Однако для пользователя массового еще большим плюсом была бы возможность иметь персональный суперкомпьютер у себя на столе или, на худой конец, стоящий под столом. И кластера, принесшие в индустрию высокопроизводительных вычислений идею “собери суперкомпьютер своими руками”, как нельзя лучше отвечают этой потребности. Сейчас трудно достоверно установить, какая система может быть названа первым в мире “персональным кластером”, во всяком случае уже в начале 2001 года компания RenderCube [4] представила одноименный мини-кластер из 4-х двухпроцессорных систем, заключенных в кубический корпус со стороной всего в 42 см. 5
Мини-кластер “RenderCube” Рис. 1.1. Мини-кластер “RenderCube” Тенденция “персонализации” супервычислений в последнее время развивается все активнее и недавно была подхвачена в том числе и производителями видеокарт, мощности которых возросли настолько, что возникло естественное желание использовать их не только в графических расчетах, но и в качестве ускорителей вычислений общего назначения. Соответствующие решения представлены в настоящее время компанией NVIDIA (семейство NVIDIA Tesla™) и компанией AMD (семейство ATI FireStream™) и демонстрируют в силу специфики внутреннего устройства потрясающую (в сравнении с универсальными процессорами) пиковую производительность, превышающую 1 терафлопс. 1.2. Многоядерность – два, четыре, восемь – кто больше? Несколько лет назад в моде были казавшиеся вполне обоснованными прогнозы, когда именно будет преодолен тот или иной порог по тактовой частоте процессоров. Четырепять гигагерц виделись практически свершившимся фактом, десять маячили где-то недалеко впереди. Однако прогнозы эти на долгое время так и остались прогнозами. В 6
некоторый момент оказалось, что тепло, выделяемое процессором, становится настолько большим, что о стабильной работе на частотах выше четырех гигагерц в условиях, характерных для обычных персональных компьютеров, и говорить не приходится2). Энтузиасты, используя дополнительное охлаждение, вплоть до жидкого азота, научились разгонять процессоры производства Intel выше 6 гигагерц, в отдельных случаях до 7 и даже 8, но о стабильной продолжительной работе на таких частотах речь не идет, лишь о прохождении ряда общепринятых сообществом “оверклокеров” тестов. Очевидно, что индустрия по этому пути пойти не могла. Вместе с тем, закон Мура усилиями инженеров продолжал свое победное шествие, и вновь появляющиеся транзисторы при очередном улучшении технологических норм нужно было как-то употребить в дело. Решение было найдено в многоядерности, и сегодня это фактически основной путь развития процессоров3), который тем или иным способом реализуют все основные игроки на этом рынке. 1.2.1. Процессоры Intel Core и Intel Xeon Как просто было когда-то сравнивать процессоры компании Intel между собой. Все знали, есть Pentium, есть его “урезанный” вариант Celeron, а в остальном, чем выше частота, тем лучше. Эта простота была следствием того факта, что в формуле, определяющей производительность вычислительной системы “тактовая частота процессора ? число инструкций, выполняемых за один такт (Instructions Per Cycle, IPC)” переменной величиной была только частота. Необходимо, конечно, отметить, что получаемая по этой формуле величина, дает только так называемую “пиковую производительность“, приблизиться к которой на практике можно лишь на отдельных специально подобранных задачах. Именно поэтому сравнение вычислительных систем, в том числе в списке Top500 и аналогичных, выполняется на основе производительности, показанной на стандартном тесте, в качестве которого повсеместно используется LINPACK [5]. Как только наращивание тактовой частоты прекратилось, компании Intel понадобился другой способ описания и градации выпускаемых процессоров. Сегодня все процессоры производства Intel делятся, прежде всего, по назначению: для настольных систем, ноутбуков, серверов и рабочих станций и т.д. Затем в каждом классе выделяют серии процессоров, отличающиеся между собой по некоторым ключевым характеристикам. В классе настольных и мобильных систем сегодня “царствуют” представители семейства Intel Core™2, в серверном сегменте – процессоры Intel Xeon , при этом и те и другие построены на микроархитектуре Intel Core™, пришедшей в 2006 году на смену архитектуре Intel NetBurst™. 7
Рис. 1.2. Архитектура Intel Core™ Особенностям микроархитектуры Intel Core™, позволившей компании Intel существенно потеснить своего основного конкурента компанию AMD, посвящено множество материалов и публикаций. Не ставя перед собой задачу подробного ее обсуждения, кратко отметим лишь ключевые моменты, выделяемые самими разработчиками. 1. Wide Dynamic Execution. Если основой повышения производительности процессоров архитектуры NetBurst была тактовая частота, то в архитектуре Core на первое место вышло число инструкций за такт (с учетом увеличения этого показателя за счет наращивания числа ядер): IPC каждого ядра в этой архитектуре равно 4, таким образом пиковая производительность четырехъядерных процессоров равна “16 ? на тактовую частоту”. 2. Advanced Smart Cache. Кэш второго уровня в архитектуре Core является общим на каждую пару ядер (четырехъядерные процессоры Intel сегодня фактически представляют собой два двухъядерных, размещенных на одном кристалле), что позволяет как динамически менять его “емкость” для каждого ядра из пары, так и использовать преимущества совместного использования ядрами данных, находящихся в кэше. Кроме того, в случае активного использования всего одного ядра, оно “задаром” получает кэш вдвое большего размера, чем было бы в случае отдельного кэша второго уровня на каждое ядро. 3. Advanced Digital Media Boost. По сравнению с NetBurst в архитектуре Core была значительно улучшена работа с векторными расширениями SSE. С точки зрения конечного пользователя основным из этих улучшений, помимо добавления новых команд, стала способность процессоров выполнять SSE-инструкции за один такт вместо двух в NetBurst. 4. Intelligent Power Capacity. Процессоры на архитектуре Core получили возможность как интерактивного отключения незадействованных в данный момент подсистем, так и “динамического” понижения частоты ядер, что дало возможность 8
существенно снизить тепловыделение (Thermal Design Power, TDP), что особенно положительно сказалось на процессорах для настольных и мобильных систем. Так двухъядерный Pentium D с частотой 2,8 ГГц имел TDP 130 Вт, тогда как четырехъядерный Core 2 Quad Q9300 с частотой 2,5 ГГц – всего 95 Вт. Кроме того необходимо отметить существенно уменьшившийся по сравнению с 31стадийным в последних процессорах архитектуры NetBurst конвейер – его длина в архитектуре Core составляет 14 стадий, плюс “честную” 64-разрядность, плюс в очередной раз доработанное предсказание ветвлений, плюс многое, оставшееся за кадром Приведем технические данные текущих лидеров в классе настольных и серверных процессоров. Процессор Intel-> Core™2 Quad Q9650 Тактовая частота: 3 ГГц. Число ядер: 4. Кэш второго уровня: 12 Мб (по 6 Мб на каждую пару ядер). Частота системной шины: 1333 МГц. Технологический процесс: 45 нанометров. Процессор Intel-> Xeon-> X7460 Тактовая частота: 2,66 ГГц. Число ядер: 6. Кэш второго уровня: 9 Мб (по 3 Мб на каждую пару ядер). Кэш третьего уровня: 16 Мб. Частота системной шины: 1066 МГц. Технологический процесс: 45 нанометров. В заключение отметим еще один весьма важный факт – помимо пиковой производительности той или иной архитектуры и соответственно процессоров, построенных на ее основе, значимым обстоятельством для конечного потребителя является процент мощности, который можно “отжать от пика”. Для систем в Top500, построенных на процессорах компании Intel, этот показатель составляет в 31-м списке 61%, при этом “удельная мощность” в расчете на один процессор/ядро равна 6,23 гигафлопс (необходимо заметить, конечно, что значительная часть этих систем введена в строй уже несколько лет назад и построена не на новейших процессорах). 9
1.2.2. Процессоры AMD Phenom™ и AMD Opteron™ Компания AMD основана в 1969 году (всего на год позже, чем Intel) и в сознании рядового пользователя прочно занимает место главного конкурента Intel на рынке процессоров для настольных систем и отчасти на рынке серверных, практически всегда при этом выступая в роли догоняющего. Если принимать во внимание только “внешние” факторы, вроде рыночной доли, то ситуация, действительно, может быть воспринята именно так. И в этом свете основной успех компании за последнее десятилетие связан с выпуском в 2003 году 64-битных процессоров AMD Opteron™, быстро завоевавших популярность и позволивших AMD значительно упрочить свое положение, в том числе в сегменте высокопроизводительных решений. Достаточно отметить, что в 28-м списке Top500 (ноябрь 2006) доля систем, построенных на основе процессоров AMD, достигла своего исторического максимума и составила 22,6%, против 52,6% у компании Intel и 18% у компании IBM. Однако кроме такого чисто количественного сравнения, в котором AMD неизменно проигрывает своим конкурентам, есть еще показатели качественные, и тут компания нередко за прошедшие годы бывала первопроходцем и реализовывала действительно интересные архитектурные решения. Среди прочего это и интеграция в процессор северного моста, что дает более быстрый доступ к оперативной памяти и использование Direct Connect Architecture для взаимодействия процессоров между собой посредством высокоскоростной шины HyperTransport™, позволяющей без существенных потерь в производительности объединять в рамках одной системы до 8 процессоров Opteron. Кроме того нужно отметить, что в процессорах Opteron реализована “честная” четырехъядерность (Native Quad-Core Design), двухпотоковое управление 128-битными SSE-инструкциями, выполнение до четырех операций с плавающей точкой двойной точности за такт, расширенная технология оптимизации энергопотребления (Enhanced AMD PowerNow!) и многое другое. Последними серверными процессорами компании AMD являются четырехъядерные модели Opteron 3G на ядре Barcelona. На рынке настольных систем основное оружие компании AMD сегодня – процессоры AMD Phenom™. Процессоры Phenom построены на той же микроархитектуре (AMD K10), что и серверные Opteron. Помимо уже отмеченных особенностей можно упомянуть наличие в процессорах Phenom кэша третьего уровня, пиковую пропускную способность шины HyperTransport до 16 Гб/с, поддержку 128-битных операций SSE, работу кэша второго уровня на частоте ядра, технологию улучшенной защиты от вирусов (NX бит / Enhanced Virus Protection). Текущее поколение процессоров Phenom выпускается по технологии 65 нм. 10