Многопроцессорные системы

Автор работы: Пользователь скрыл имя, 03 Декабря 2012 в 20:50, контрольная работа

Описание работы

Потребность решения сложных прикладных задач с большим объемом вычислений и принципиальная ограниченность максимального быстродействия "классических" – по схеме фон Неймана - ЭВМ привели к появлению многопроцессорных вычислительных систем (МВС). Использование таких средств вычислительной техники позволяет существенно увеличивать производительность ЭВМ при любом существующем уровне развития компьютерного оборудования.

Содержание работы

Введение 3
1. Многопроцессорные системы 4
2. Архитектура многопроцессорных вычислительных систем 5
2.1. Классификация архитектур по параллельной обработке данных 5
2.2. SMP архитектура 7
2.3. MPP архитектура 9
2.4. Гибридная архитектура (NUMA) Организация когерентности многоуровневой иерархической памяти. 11
2.5. PVP архитектура 13
2.6. Кластерная архитектура 15
3. Требования к компонентам МВС 18
3.1. Отношение стоимость/производительность 18
3.2. Масштабируемость 19
3.3. Совместимость и мобильность программного обеспечения 20
4. Надежность и отказоустойчивость МВС 22
5. Назначение, область применения многопроцессорных вычислительных систем 25
Заключение 27
Список использованных источников 28

Файлы: 1 файл

ККр-ос.docx

— 98.83 Кб (Скачать файл)

В 1994 году Томас Стерлинг (Sterling) и Дон Беккер (Becker) создали 16-и узловой кластер из процессоров Intel DX4, соединенных сетью 10Мбит/с Ethernet с дублированием каналов. Они  назвали его «Beowulf» по названию старинной эпической поэмы. Кластер возник в центре NASA Goddard Space Flight Center для поддержки необходимыми вычислительными ресурсами проекта Earth and Space Sciences. Проектно-конструкторские работы над кластером быстро превратились в то, что известно сейчас под названием проект Beowulf. Проект стал основой общего подхода к построению параллельных кластерных компьютеров и описывает многопроцессорную архитектуру, которая может с успехом использоваться для параллельных вычислений1.

__________________________________________________________________

1. Богданов А.В. Архитектура и топологии многопроцессорных вычислительных систем, Учебное издание. Интернет-Университет Информационных Технологий: 2005. – С. 15-16.

Beowulf-кластер, как правило,  является системой, состоящей из  одного серверного узла (который  обычно называется головным узлом), а также одного или нескольких  подчинённых узлов (вычислительных  узлов), соединённых посредством  стандартной компьютерной сети. Система строится с использованием  стандартных аппаратных компонент,  таких как ПК, запускаемых под  Linux, стандартных сетевых адаптеров  (например, Ethernet) и коммутаторов. Нет  особого программного пакета, называемого  «Beowulf». Вместо этого имеется  несколько кусков программного  обеспечения, которые многие пользователи  нашли пригодными для построения  кластеров Beowulf. Beowulf использует такие  программные продукты как операционную  систему Linux, системы передачи  сообщений PVM, MPI, системы управления  очередями заданий и другие  стандартные продукты. Серверный  узел контролирует весь кластер  и обслуживает файлы, направляемые  к клиентским узлам1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

__________________________________________________________________

1. Богданов А.В. Архитектура и топологии многопроцессорных вычислительных систем, Учебное издание. Интернет-Университет Информационных Технологий: 2005. – С. 16.

  1. Требования к компонентам МВС

    1. Отношение стоимость/производительность

 

Добиться дополнительного  повышения производительности в  МВС тяжелее, чем произвести масштабирование  внутри узла. Основным барьером является трудность организации эффективных  межузловых связей. Коммуникации, которые  происходят между узлами, должны быть устойчивы к большим задержкам  программно поддерживаемой когерентности. Приложения с большим количеством  взаимодействующих процессов работают лучше на основе SMP-узлов, в которых  коммуникационные связи более быстрые. В кластерах, как и в МРР  системах, масштабирование приложений более эффективно при уменьшении объема коммуникаций между процессами, работающими в разных узлах. Это  обычно достигается путем разбиения  данных. 

Именно такой подход используется в наиболее известном приложении на основе кластеров OPS (Oracle Parallel Server). 
 
     Появление любого нового направления в вычислительной технике определяется требованиями компьютерного рынка. Поэтому у разработчиков компьютеров нет одной единственной цели. Большая универсальная вычислительная машина (мейнфрейм) или суперкомпьютер стоят дорого. Для достижения поставленных целей при проектировании высокопроизводительных конструкций приходится игнорировать стоимостные характеристики. 

     Суперкомпьютеры фирмы Cray Research и высокопроизводительные мейнфреймы компании IBM относятся именно к этой категории компьютеров. Другим крайним примером может служить низкостоимостная конструкция, где производительность принесена в жертву для достижения низкой стоимости. К этому направлению относятся персональные компьютеры различных клонов IBM PC. Между этими двумя крайними направлениями находятся конструкции, основанные на отношении стоимость/производительность, в которых разработчики находят баланс между стоимостными параметрами и производительностью. Типичными примерами такого рода компьютеров являются миникомпьютеры и рабочие станции1

__________________________________________________________________

1. Богданов А.В. Архитектура и топологии многопроцессорных вычислительных систем, Учебное издание. Интернет-Университет Информационных Технологий: 2005. – С. 53-54.

     Для сравнения различных компьютеров между собой обычно используются стандартные методики измерения производительности. Эти методики позволяют разработчикам и пользователям использовать полученные в результате испытаний количественные показатели для оценки тех или иных технических решений, и, в конце концов, именно производительность и стоимость дают пользователю рациональную основу для решения вопроса, какой компьютер выбрать. 

    1. Масштабируемость

Масштабируемость представляет собой возможность наращивания  числа и мощности процессоров, объемов  оперативной и внешней памяти и других ресурсов вычислительной системы. Масштабируемость должна обеспечиваться архитектурой и конструкцией компьютера, а также соответствующими средствами программного обеспечения.

Так, например, возможность  масштабирования кластера ограничена значением отношения скорости процессора к скорости связи, которое не должно быть слишком большим (реально это  отношение для больших систем не может быть более 3-4, в противном  случае не удается даже реализовать  режим единого образа операционной системы). С другой стороны, последние 10 лет истории развития процессоров  и коммуникаторов показывают, что  разрыв по скорости между ними все  увеличивается.  
Добавление каждого нового процессора в действительно масштабируемой системе должно давать прогнозируемое увеличение производительности и пропускной способности при приемлемых затратах. Одной из основных задач при построении масштабируемых систем является минимизация стоимости расширения компьютера и упрощение планирования. В идеале добавление процессоров к системе должно приводить к линейному росту ее производительности. Однако это не всегда так. Потери производительности могут возникать, например, при недостаточной пропускной способности шин из-за возрастания трафика между процессорами и основной памятью, а также между памятью и устройствами ввода/вывода. В действительности реальное увеличение производительности трудно оценить заранее, поскольку оно в значительной степени зависит от динамики поведения прикладных задач1.

 

 

__________________________________________________________________

1. Богданов А.В. Архитектура и топологии многопроцессорных вычислительных систем, Учебное издание. Интернет-Университет Информационных Технологий: 2005. – С. 54.

Возможность масштабирования  системы определяется не только архитектурой аппаратных средств, но зависит от заложенных свойств программного обеспечения. Масштабируемость программного обеспечения затрагивает все его уровни от простых механизмов передачи сообщений до работы с такими сложными объектами как мониторы транзакций и вся среда прикладной системы. В частности, программное обеспечение должно минимизировать трафик межпроцессорного обмена, который может препятствовать линейному росту производительности системы. Аппаратные средства (процессоры, шины и устройства ввода/вывода) являются только частью масштабируемой архитектуры, на которой программное обеспечение может обеспечить предсказуемый рост производительности. Важно понимать, что простой переход, например, на более мощный процессор может привести к перегрузке других компонентов системы. Это означает, что действительно масштабируемая система должна быть сбалансирована по всем параметрам.

    1. Совместимость и мобильность программного обеспечения

 

Концепция программной  совместимости впервые в широких  масштабах была применена разработчиками системы IBM/360. Основная задача при проектировании всего ряда моделей этой системы  заключалась в создании такой  архитектуры, которая была бы одинаковой с точки зрения пользователя для  всех моделей системы независимо от цены и производительности каждой из них. Огромные преимущества такого подхода, позволяющего сохранять существующий задел программного обеспечения  при переходе на новые (как правило, более производительные) модели, были быстро оценены как производителями  компьютеров, так и пользователями и, начиная с этого времени, практически  все фирмы-поставщики компьютерного  оборудования взяли на вооружение эти  принципы, поставляя серии совместимых  компьютеров. Следует заметить, однако, что со временем даже самая передовая  архитектура неизбежно устаревает и возникает потребность внесения радикальных изменений архитектуру  и способы организации вычислительных систем. 
 
      В настоящее время одним из наиболее важных факторов, определяющих современные тенденции в развитии информационных технологий, является ориентация компаний-поставщиков компьютерного оборудования на рынок прикладных программных средств. Это объясняется, прежде всего, тем, что для конечного пользователя, в конце концов, важно программное обеспечение, позволяющее решить его задачи, а не выбор той или иной аппаратной платформы1.

__________________________________________________________________

1. Богданов А.В. Архитектура и топологии многопроцессорных вычислительных систем, Учебное издание. Интернет-Университет Информационных Технологий: 2005. – С. 55.

Переход от однородных сетей программно совместимых компьютеров  к построению неоднородных сетей, включающих компьютеры разных фирм-производителей, в корне изменил и точку  зрения на саму сеть: из сравнительно простого средства обмена информацией она  превратилась в средство интеграции отдельных ресурсов — мощную распределенную вычислительную систему, каждый элемент  которой (сервер или рабочая станция) лучше всего соответствует требованиям  конкретной прикладной задачи. 
 
       Этот переход выдвинул ряд новых требований. Прежде всего, такая вычислительная среда должна позволять гибко менять количество и состав аппаратных средств и программного обеспечения в соответствии с меняющимися требованиями решаемых задач. Во-вторых, она должна обеспечивать возможность запуска одних и тех же программных систем на различных аппаратных платформах, т.е. обеспечивать мобильность программного обеспечения. В третьих, эта среда должна гарантировать возможность применения одних и тех же человеко-машинных интерфейсов на всех компьютерах, входящих в неоднородную сеть. В условиях жесткой конкуренции производителей аппаратных платформ и программного обеспечения сформировалась концепция открытых систем, представляющая собой совокупность стандартов на различные компоненты вычислительной среды, предназначенных для обеспечения мобильности программных средств в рамках неоднородной, распределенной вычислительной системы. 
 
      Одним из вариантов моделей открытой среды является модель OSE (Open System Environment), предложенная комитетом IEEE POSIX. На основе этой модели национальный институт стандартов и технологии США выпустил документ «Application Portability Profile (APP). The U.S. Government's Open System Environment Profile OSE/1 Version 2.0», который определяет рекомендуемые для федеральных учреждений США спецификации в области информационных технологий, обеспечивающие мобильность системного и прикладного программного обеспечения. Все ведущие производители компьютеров и программного обеспечения в США в настоящее время придерживаются требований этого документа1.

 

 

 

 

 

 

 

__________________________________________________________________

1. Богданов А.В. Архитектура и топологии многопроцессорных вычислительных систем, Учебное издание. Интернет-Университет Информационных Технологий: 2005. – С. 55-56.

  1. Надежность и отказоустойчивость МВС

 

Одной из основных проблем построения вычислительных систем остаётся задача обеспечения их продолжительного функционирования. 

     Важнейшей характеристикой вычислительных систем является надежность. Повышение надежности основано на принципе предотвращения неисправностей путем снижения интенсивности отказов и сбоев за счет применения электронных схем и компонентов с высокой и сверхвысокой степенью интеграции, снижения уровня помех, облегченных режимов работы схем, обеспечение тепловых режимов их работы, а также за счет совершенствования методов сборки аппаратуры. Понятие надежности включает не только аппаратные средства, но и программное обеспечение. Главной целью повышения надежности систем является целостность хранимых в них данных. Единицей измерения надежности является среднее время наработки на отказ (MTBF — Mean Time Between Failure). 
 
     Кластеры являются идеальной схемой для повышения надёжности информационно-вычислительной системы. Благодаря единому представлению, отдельные узлы или компоненты кластера могут незаметно для пользователя подменить неисправные элементы, обеспечивая непрерывность и безотказную работу даже таких сложных приложений, как базы данных. 
 
     Основа надёжности кластера — это некоторое избыточное количество отказоустойчивых серверов (узел) от 2 до N в зависимости от конфигурации кластера и его задач. 
 
     Во многих случаях кластер, как типичный представитель МВС, представляется пользователю и администратору как одна единая система. Наблюдение за системой включает сбор, хранение и извлечение таких показателей системы как использование центрального процессора и памяти, температура системы и процессора, скорость вращения вентиляторов; эти и другие параметры помогают пользователям и администраторам понимать общее состояние системы и эффективность её использования. 
 
     Системы хранения должны быть представлены RAID-системами высокой готовности. Избыточные соединения должны обеспечивать доступность данных даже в случае выхода из строя узлов, контроллеров или кабелей1.

 
    ________________________________________________________________

1. Богданов А.В. Архитектура и топологии многопроцессорных вычислительных систем, Учебное издание. Интернет-Университет Информационных Технологий: 2005. – С. 57.

Соединение с системами  хранения данных в кластере может  быть реализовано как с использованием SCSI интерфейсов, так и на основе Fibre Channel технологии.

Программное обеспечение  позволяет организовать эффективную  службу сопровождения и мониторинга  решения, позволяя собирать метрики  на уровне узла, используя плату  управления. Важным направлением является совершенствование и развитие библиотеки MPI и развитие системы отладки  параллельных программ, работающих на МВС. К ней относятся отладчики, профилировщики, обеспечивающие контроль за прохождением задач.  
 
     Для синхронизации и совместной работы серверов в качестве кластера необходимы избыточные соединения между серверами, называемые «системным соединением» (private interconnect). Системное соединение используется для передачи сигналов о состоянии серверов, а также используется параллельными базами данных для передачи данных. 
 
     Катастрофоустойчивые решения создаются на основе разнесения узлов кластерной системы на сотни километров и обеспечения механизмов глобальной синхронизации данных между такими узлами. 
 
     Отказоустойчивость — это такое свойство вычислительной системы, которое обеспечивает ей, как логической машине, возможность продолжения действий, заданных программой, после возникновения неисправностей. Введение отказоустойчивости требует избыточного аппаратного и программного обеспечения. Направления, связанные с предотвращением неисправностей и с отказоустойчивостью, — основные в проблеме надежности. Концепции параллельности и отказоустойчивости вычислительных систем естественным образом связаны между собой, поскольку в обоих случаях требуются дополнительные функциональные компоненты. Поэтому, собственно, на параллельных вычислительных системах достигается как наиболее высокая производительность, так и, во многих случаях, очень высокая надежность. Имеющиеся ресурсы избыточности в параллельных системах могут гибко использоваться как для повышения производительности, так и для повышения надежности. Структура многопроцессорных и многомашинных систем приспособлена к автоматической реконфигурации и обеспечивает возможность продолжения работы системы после возникновения неисправностей1
 
    

Информация о работе Многопроцессорные системы