ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГОПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙГОСУДАРСТВЕННЫЙ
ИНЖЕНЕРНО-ЭКОНОМИЧЕСКИЙУНИВЕРСИТЕТ»
Кафедравычислительных систем и программирования
Курсоваяработа на тему:
«Кластерныеструктуры и их оптимизация»
Работу выполнил
студент 1-го курса
группы 3881
факультета ИСВЭУ
Рябков И.М.
Санкт-Петербург2009
Оглавление/>
Цели и задачи
Основные задачи:
Кластерная архитектура
Разделение на High Avalibility и High Performance системы
Проблематика High Performance кластеров
Проблематика High Availability кластерных систем
Смешанные архитектуры
Решение задач оптимизации
Решение задачи оптимизации попроизводительности
Решение задачи оптимизации понадежности
Решение задачи оптимизации помультипликативному критерию
Выводы
Список литературы
Цели и задачи
Целью курсовой работыявляется изучение принципов построения систем параллельной обработки данных, атакже ознакомление с методами расчета надежности и производительности кластерныхсистем и их оптимизации. Также, в процессе выполнения курсовой работы, будутполучены основы работы в математическом редакторе MathCad.Основные задачи:
1. Привести основыпостроения кластерных систем и их классификацию;
2. Рассчитатьрешение задачи оптимизации кластера по различным факторам:
a. Попроизводительности
b. По надежности
c. По мультипликативномукритерию (по времени обслуживания запросов и надежности)
Кластерная архитектура
Под кластернойсистемой понимают набор рабочих станций (или даже персональныхкомпьютеров) общего назначения, соединенных с помощью стандартных сетевыхтехнологий (Fast/Gigabit Ethernet, Myrinet) на базе шинной архитектуры иликоммутатора. Такие суперкомпьютерные системы являются самыми дешевыми,поскольку собираются на базе стандартных комплектующих элементов («off theshelf»), процессоров, коммутаторов, дисков и внешних устройств.
Кластер функционирует какединая система, то есть для пользователя или прикладной задачи вся совокупностьвычислительной техники выглядит как один компьютер. Именно это и является самымважным при построении кластерной системы.
К общим требованиям,предъявляемым к кластерным системам, относятся:
1. Высокаяготовность
2. Высокоебыстродействие
3. Масштабирование
4. Общий доступ кресурсам
5. Удобствообслуживания
Естественно, что причастных реализациях одни из требований ставятся во главу угла, а другие отходятна второй план. Так, например, при реализации кластера, для которого самымважным является быстродействие, для экономии ресурсов меньше внимания придаютвысокой готовности.
В общем случае кластерфункционирует как мультипроцессорная система, поэтому, важно пониматьклассификацию таких систем в рамках распределения программно-аппаратныхресурсов.Разделение на High Avalibility и High Performanceсистемы
В функциональнойклассификации кластеры можно разделить на «Высокоскоростные» (HighPerformance, HP), «Системы Высокой Готовности» (High Availability,HA), а также «Смешанные Системы».
Высокоскоростные кластерыиспользуются для задач, которые требуют значительной вычислительной мощности.Классическими областями, в которых используются подобные системы, являются:
· обработкаизображений: рендеринг, распознавание образов
· научныеисследования: физика, биоинформатика, биохимия, биофизика
· промышленность(геоинформационные задачи, математическое моделирование) и много других…
Кластеры, которыеотносятся к системам высокой готовности, используются везде, где стоимостьвозможного простоя превышает стоимость затрат, необходимых для построениякластерной системы, например:
· биллинговыесистемы
· банковскиеоперации
· электроннаякоммерция
· управлениепредприятием, и т.п.
Смешанные системыобъединяют в себе особенности как первых, так и вторых. Позиционируя их,следует отметить, что кластер, который обладает параметрами как HighPerformance, так и High Availability, обязательно проиграет в быстродействиисистеме, ориентированной на высокоскоростные вычисления, и в возможном временипростоя системе, ориентированной на работу в режиме высокой готовности.
/>ПроблематикаHigh Performance кластеров
/>
Рисунок 1.Высокоскоростной кластер
Почти в любойориентированной на параллельное вычисление задаче невозможно избегнутьнеобходимости передавать данные от одной подзадачи другой.
Таким образом,быстродействие High Performance кластерной системы определяется быстродействиемузлов и связей между ними. Причем влияние скоростных параметров этих связей наобщую производительность системы зависит от характера выполняемой задачи. Еслизадача требует частого обмена данными с подзадачами, тогда быстродействиюкоммуникационного интерфейса следует уделять максимум внимания. Естественно, чемменьше взаимодействуют части параллельной задачи между собою, тем меньшевремени потребуется для ее выполнения. Что диктует определенные требованиятакже и на программирование параллельных задач.
Основные проблемы принеобходимости обмена данными между подзадачами возникают в связи с тем, чтобыстродействие передачи данных между центральным процессором и оперативнойпамятью узла значительно превышает скоростные характеристики системмежкомпьютерного взаимодействия. Кроме того, сильно сказывается на изменениифункционирования системы, по сравнению с привычными нам SMP системами, разницав быстродействии кэш памяти процессоров и межузловых коммуникаций.
Быстродействиеинтерфейсов характеризуется двумя параметрами: пропускной способностьюнепрерывного потока данных и максимальным количеством самых маленьких пакетов,которые можно передать за единицу времени. Варианты реализаций коммуникационныхинтерфейсов мы рассмотрим в разделе «Средства реализации High Performanceкластеров»./> Проблематика High Availabilityкластерных систем
Сегодня в мирераспространены несколько типов систем высокой готовности. Среди них кластернаясистема является воплощением технологий, которые обеспечивают высокий уровеньотказоустойчивости при самой низкой стоимости. Отказоустойчивость кластераобеспечивается дублированием всех жизненно важных компонентов. Максимальноотказоустойчивая система должна не иметь ни единой точки, то есть активногоэлемента, отказ которого может привести к потере функциональности системы.Такую характеристику как правило называют – NSPF (No Single Point of Failure, — англ., отсутствие единой точки отказа).
/>
Рисунок 2. Кластерная система с отсутствием точек отказов
При построении системвысокой готовности, главная цель — обеспечить минимальное время простоя.
Для того, чтобы системаобладала высокими показатели готовности, необходимо:
· чтобы еекомпоненты были максимально надежными
· чтобы она былаотказоустойчивая, желательно, чтобы не имела точек отказов
· а также важно,чтобы она была удобна в обслуживании и разрешала проводить замену компонентовбез останова
Пренебрежение любым изуказанных параметров, может привести к потере функциональности системы.
Давайте коротко пройдемсяпо всем трём пунктам.
Что касается обеспечениямаксимальной надежности, то она осуществляется путем использования электронныхкомпонентов высокой и сверхвысокой интеграции, поддержания нормальных режимовработы, в том числе тепловых.
Отказоустойчивостьобеспечивается путем использования специализированных компонентов (ECC, ChipKill модули памяти, отказоустойчивые блоки питания, и т.п.), а также с помощьютехнологий кластеризации. Благодаря кластеризации достигается такая схемафункционирования, когда при отказе одного из компьютеров задачиперераспределяются между другими узлами кластера, которые функционируютисправно. Причем одной из важнейших задач производителей кластерногопрограммного обеспечения является обеспечение минимального временивосстановления системы в случае сбоя, так как отказоустойчивость системы нужнаименно для минимизации так называемого внепланового простоя.
Много кто забывает, чтоудобство в обслуживании, которое служит уменьшению плановых простоев (например,замены вышедшего из строя оборудования) является одним из важнейших параметровсистем высокой готовности. И если система не разрешает заменять компоненты безвыключения всего комплекса, то ее коэффициент готовности уменьшается./>Смешанные архитектуры
/>
Рисунок 3. Высокоскоростной отказоустойчивый кластер
Сегодня часто можновстретить смешанные кластерные архитектуры, которые одновременно являются каксистемами высокой готовности, так и высокоскоростными кластернымиархитектурами, в которых прикладные задачи распределяются по узлам системы.Наличие отказоустойчивого комплекса, увеличение быстродействия которогоосуществляется путем добавления нового узла, считается самым оптимальнымрешением при построении вычислительной системы. Но сама схема построения такихсмешанных кластерных архитектур приводит к необходимости объединения большогоколичества дорогих компонентов для обеспечения высокого быстродействия ирезервирования одновременно. И так как в High Performance кластерной системенаиболее дорогим компонентом является система высокоскоростных коммуникаций, еедублирование приведет к значительным финансовым затратам. Следует отметить, чтосистемы высокой готовности часто используются для OLTP задач, которые оптимальнофункционируют на симметричных мультипроцессорных системах. Реализации такихкластерных систем часто ограничиваются 2-х узловыми вариантами,ориентированными в первую очередь на обеспечение высокой готовности. Но впоследнее время использование недорогих систем количеством более двух вкачестве компонент для построения смешанных HA/HP кластерных систем становитсяпопулярным решением. Решение задач оптимизации
Для решения задачоптимизации кластерной структуры использованы инструментальные средстваматематического редактора MathCad.
Ниже приведены решениятрех задач: по производительности, по надежности и по мультипликативномукритерию (по надежности и времени обслуживания запросов).
В решении задач былииспользованы следующие переменные:
c – цена одного узла
p – надежность узлов
v – среднее время
λ – количество отказов в единицувремени
с0 – максимальнодопустимая сумма денежных средств
Решение задачи оптимизации по производительности
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
Решение задачи оптимизации по надежности
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
Решение задачи оптимизации по мультипликативномукритерию
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
Выводы
В результате проведеннойработы были рассмотрены основы построения кластерной архитектуры, ихклассификация и основные преимущества.
Были решены триоптимизационные задачи по расчету производительности, надежности и помультипликативному критерию при заданных параметрах.
Также были полученыосновы работы в математическом редакторе MathCad.
Список литературы
1. http://www.ixbt.com/cpu/clustering.shtml
2. http://www.csa.ru/analitik/distant/q_9.html
3. http://ru.wikipedia.org/wiki/HPC
4. http://www.interface.ru/fset.asp?Url=/misc/cod.htm
5. http://www.kcc.ru/about/partners/product8/cat19/prod107