Попов И.И., Матвеев А.А., Максимов Н.В. Архитектура электронно-вычислительных машин и систем (2004) (1186255), страница 27
Текст из файла (страница 27)
Для получения болеекомпактной конфигурации необходимо решить задачу о нахождениифигуры, имеющей максимальный объем при минимальной площадиповерхности. В трехмерном пространстве таким свойством обладаетшар. Но поскольку нам необходимо построить узловую систему, товместо шара приходится использовать куб (если число процессоровравно 8) или гиперкуб, если число процессоров больше 8. Размерностьгиперкуба будет определяться в зависимости от числа процессоров,которые необходимо соединить. Так, для соединения 16 процессоровпотребуется 4-х мерный гиперкуб. Для его построения следует взятьобычный 3-х мерный куб, сдвинуть в еще одном направлении и,соединив вершины, получить гиперкуб размером 4.Примеры гиперкубовАрхитектура гиперкуба является второй по эффективности, носамой наглядной.
Используются и другие топологии сетей связи:трехмерный тор, "кольцо", "звезда" и другие.Архитектура кольца с полной связью по хордам (Chordal Ring)156Наиболее эффективной cчитается архитектура с топологией"толстого дерева" (fat-tree). Архитектура "fat-tree" (hypertree)предложена Лейзерсоном (Charles E. Leiserson) в 1985 году. Процессорылокализованы в листьях дерева, в то время как внутренние узлы дереваскомпонованы во внутреннюю сеть.
Поддеревья могут общаться междусобой, не затрагивая более высоких уровней сети.Кластерная архитектура "Fat-tree"Кластерная архитектура "Fat-tree" (вид сверху на предыдущуюсхему)Поскольку способ соединения процессоров друг с другом большевлияет на производительность кластера, чем тип используемых в ней157процессоров, то может оказаться более рентабельным создать системуиз большего числа дешевых компьютеров, чем из меньшего числадорогих. В кластерах, как правило, используются операционныесистемы, стандартные для рабочих станций, чаще всего, свободнораспространяемые - Linux, FreeBSD, вместе со специальнымисредствамиподдержкипараллельногопрограммированияибалансировки нагрузки. При работе с кластерами, также как и с MPPсистемами, используют так называемую Massive Passing ProgrammingParadigm - парадигму программирования с передачей данных (чащевсего - MPI).
Дешевизна подобных систем оборачивается большиминакладными расходами на взаимодействие параллельных процессовмежду собой, что сильно сужает потенциальный класс решаемых задач.158Обобщенные представления об архитектуре вычислительныхмашин, систем и сетейРассматривая архитектуру ЭВМ, вычислительных систем,суперкомпьютеров и информационно-вычислительных сетей с общихпозиций и абстрагируясь от деталей, можно воспользоваться следующейсхемой (рис. 13)Процессоры (вычислительная среда)...⇑⇓⇑⇓⇑⇓⇑⇓⇑⇓Коммутационная среда (среды)Коммуникационная среда (среды)Коммутационная среда (среды)⇑⇓⇑⇓⇑⇓⇑⇓...⇑⇓Блоки памяти (запоминающая среда)Рис.
13. Абстрактное представление об архитектурахТребования к архитектурным компонентам МВСЭти аспекты имеют более широкий смысл, чем просто требованияк техническим характеристикам компонент вычислительной системы:процессору, дисковым массивам, памяти, коммутаторам и т.п.аппаратным средствам. Гораздо более важное значение имеюттребования, предъявляемые к вычислительной системе, которуюсобираются построить для реализации конкретных целей — решениязадач определённого круга (научных, экономических, информационныхсистем и т.п.), модель программирования.Разработчикам необходимо, прежде всего, проанализироватьследующие связанные между собой вопросы:• Отношение стоимость/производительность• Надежность и отказоустойчивость159• Масштабируемость• Совместимость программного обеспечения• Отношение стоимость/производительностьДобиться дополнительного повышения производительности вМВС тяжелее, чем произвести масштабирование внутри узла.
Основнымбарьером является трудность организации эффективных межузловыхсвязей. Коммуникации, которые происходят между узлами, должныбыть устойчивы к большим задержкам программно поддерживаемойкогерентности.Приложениясбольшимколичествомвзаимодействующих процессов работают лучше на основе SMP-узлов, вкоторых коммуникационные связи более быстрые. В кластерах, как и вМРР системах, масштабирование приложений более эффективно приуменьшении объема коммуникаций между процессами, работающими вразных узлах. Это обычно достигается путем разбиения данных.Именно такой подход используется в наиболее известномприложении на основе кластеров OPS (Oracle Parallel Server).Появление любого нового направления в вычислительной техникеопределяется требованиями компьютерного рынка.
Поэтому уразработчиков компьютеров нет одной единственной цели. Большаяуниверсальнаявычислительнаямашина(мейнфрейм)илисуперкомпьютер стоят дорого. Для достижения поставленных целей припроектировании высокопроизводительных конструкций приходитсяигнорировать стоимостные характеристики.СуперкомпьютерыфирмыCrayResearchивысокопроизводительные мейнфреймы компании IBM относятся именнок этой категории компьютеров. Другим крайним примером можетслужить конструкция, где производительность принесена в жертву длядостижения низкой стоимости.
К этому направлению относятсяперсональные компьютеры различных клонов IBM PC. Между этимидвумя крайними направлениями находятся конструкции, основанные наотношении стоимость/производительность, в которых разработчикинаходятбалансмеждустоимостнымипараметрамиипроизводительностью. Типичными примерами такого рода компьютеровявляются миникомпьютеры и рабочие станции.Для сравнения различных компьютеров между собой обычноиспользуются стандартные методики измерения производительности.Эти методики позволяют разработчикам и пользователям использоватьполученные в результате испытаний количественные показатели дляоценки тех или иных технических решений, и, в конце концов, именнопроизводительность и стоимость дают пользователю рациональнуюоснову для решения вопроса, какой компьютер выбрать.160МасштабируемостьМасштабируемостьпредставляетсобойвозможностьнаращивания числа и мощности процессоров, объемов оперативной ивнешней памяти и других ресурсов вычислительной системы.Масштабируемостьдолжнаобеспечиватьсяархитектуройиконструкцией компьютера, а также соответствующими средствамипрограммного обеспечения.Так, например, возможность масштабирования кластераограничена значением отношения скорости процессора к скорости связи,которое не должно быть слишком большим (реально это отношение длябольших систем не может быть более 3-4, в противном случае не удаетсядаже реализовать режим единого образа операционной системы).
Сдругой стороны, последние 10 лет истории развития процессоров икоммуникаторов показывают, что разрыв по скорости между ними всеувеличивается.Добавление каждого нового процессора в действительномасштабируемой системе должно давать прогнозируемое увеличениепроизводительности и пропускной способности при приемлемыхзатратах. Одной из основных задач при построении масштабируемыхсистем является минимизация стоимости расширения компьютера иупрощение планирования. В идеале добавление процессоров к системедолжно приводить к линейному росту ее производительности. Однакоэто не всегда так. Потери производительности могут возникать,например, при недостаточной пропускной способности шин из-завозрастания трафика между процессорами и основной памятью, а такжемежду памятью и устройствами ввода/вывода.
В действительностиреальное увеличение производительности трудно оценить заранее,поскольку оно в значительной степени зависит от динамики поведенияприкладных задач.Возможность масштабирования системы определяется не толькоархитектурой аппаратных средств, но зависит от заложенных свойствпрограммногообеспечения.Масштабируемостьпрограммногообеспечения затрагивает все его уровни от простых механизмовпередачи сообщений до работы с такими сложными объектами какмониторы транзакций и вся среда прикладной системы. В частности,программноеобеспечениедолжноминимизироватьтрафикмежпроцессорного обмена, который может препятствовать линейномуросту производительности системы.
Аппаратные средства (процессоры,шины и устройства ввода/вывода) являются только частьюмасштабируемой архитектуры, на которой программное обеспечениеможет обеспечить предсказуемый рост производительности. Важнопонимать, что простой переход, например, на более мощный процессорможет привести к перегрузке других компонентов системы. Это161означает, что действительно масштабируемая система должна бытьсбалансирована по всем параметрам.Совместимость и мобильность программного обеспеченияКонцепция программной совместимости впервые в широкихмасштабах была применена разработчиками системы IBM/360. Основнаязадача при проектировании всего ряда моделей этой системызаключалась в создании такой архитектуры, которая была быодинаковой с точки зрения пользователя для всех моделей системынезависимо от цены и производительности каждой из них. Огромныепреимущества такого подхода, позволяющего сохранять существующийзадел программного обеспечения при переходе на новые (как правило,более производительные) модели, были быстро оценены какпроизводителями компьютеров, так и пользователями и, начиная с этоговремени, практически все фирмы-поставщики компьютерногооборудования взяли на вооружение эти принципы, поставляя сериисовместимых компьютеров.