Самая простая схема соединения п процессоров с k блоками памяти это перекрестная коммутация

 

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

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

Недостатком является то, что число узлов растет как п2. Для средних по размеру систем перекрестная коммутация является хорошим решением. Однако для 1000 процессо­ров и 1000 модулей памяти понадобится миллион узлов. Для современного уровня развития электронных технологий это неприемлемо.

Недостатки мультипроцессоров:

1. Плохое масштабирование (спец. коммутатор).

2. Снижение производительности с ростом количества процессоров из-за конкуренция за доступ к памяти.

Многомашинные ВС

Многомашинная ВС (мультикомпьютер) состоит из множества связанных между собой отдельных самостоятельных ЭВМ. (Рис.)

Строгой классификации многомашинных ВС не существует. Однако выделяют два основных «стиля» — это процессоры с массовым па­раллелизмом и кластеры.

Системы с массовым параллелизмом

Massive Parallel Processing (МРР)

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

 


Каждый узел в мультикомпьютере состоит из одного или нескольких процессоров, ОЗУ (общего для процессоров только данного узла), дисковода и устройств ввода-вывода, а также коммуникационного процессора.

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

При этом у всех мультикомпьютеров, при выполнении в некотором узле программы, обрабатывающей данных размещенных на ЭВМ другого узла, коммуникационные процессоры (К Пр-р) соответствующих узлов выполняет прием/передачу необходимых данных.

 


Топология коммуникационной сети определяет схему размещения линий связи и коммутаторов. Топологию сетей принято изображать в виде графов, в которых дуги соответствуют линиям связи, а узлы — коммутаторам (рис. 8.31).

Такой подход обеспечивает возможность практически неограниченного наращивания числа процессоров в системе, увеличивая тем самым ее производительность. Успешно функционируют MPP системы с сотнями и тысячами процессоров (ASCI White - 8192, Blue Mountain - 6144). Производительность наиболее мощных систем достигает 10 триллионов оп/сек (10 Tflops).

Достоинством MPP систем является:

·

 


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

· возможность параллельного выполнения независимых программ, поскольку при этом каждая программа выполняется на своем узле и никаким образом не влияет на выполнение других программ.

Недостатки МРР систем:

· значительное усложнение программирования. Для использования данных, расположенных в других узлах, эти данные должны быть предварительно переданы в тот узел, который в данный момент в них нуждается.

· низкая скорость обмена данными. Поэтому написание эффективных параллельных программ для таких компьютеров представляет собой более сложную задачу, чем для SMP систем.

Кластерные системы

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

По существу VAX кластер (Virtual Address eXtension - расширенная виртуальная адресация)- представляет собой слабосвязанную многомашинную систему с общей внешней памятью, обеспечивающую единый механизм управления и администрирования.

Физически связи внутри кластера реализуются с помощью трех различных шинных технологий с различными характеристиками производительности. (Рис.)

1. Шина связи компьютеров CI (Computer Interconnect) работает со скоростью 70 Мбит/с и используется для соединения компьютеров VAX и контроллеров НМН (накопитель на магнитном носителе) с помощью звездного коммутатора Star Coupler.(сцепщик)

Каждая связь CI имеет двойные избыточные линии, две для передачи и две для приема . CI - Коммутатор может поддерживать подключение до 32 шин CI, каждая из которых предназначена для подсоединения компьютера VAX или контроллера НМД.

2. Отдельная шина DSSI(Digital Storage System Interconnect – коммутация систем цифрового хранения0 ) работает со скоростью 4 Мбайт/с (32 Мбит/с) и допускает подсоединение до 8 устройств на расстоянии 25 метрорв.

3. Компьютеры VAX могут объединяться в кластер также посредством локальной сети Ethernet. Однако производительность таких систем сравнительно низкая из-за необходимости делить пропускную способность локальной сети между компьютерами кластера и другими клиентами сети.

VAX-кластер обладает следующими свойствами:

1. Разделение ресурсов. Компьютеры VAX в кластере могут разделять доступ к общим ленточным и дисковым накопителям. Все компьютеры VAX в кластере могут обращаться к отдельным файлам данных как к локальным.

2. Высокая готовность. Если происходит отказ одного из VAX-компьютеров, задания его пользователей автоматически могут быть перенесены на другой компьютер кластера. Если в системе имеется несколько контроллеров внешних накопителей и один из них отказывает, другие контроллеры автоматически подхватывают его работу.

3. Высокая пропускная способность. . Ряд прикладных систем могут пользоваться возможностью параллельного выполнения заданий на нескольких компьютерах кластера.

4. Удобство обслуживания системы. . Общие базы данных могут обслуживаться с единственного места. Прикладные программы могут инсталлироваться только однажды на общих дисках кластера и разделяться между всеми компьютерами кластера.

5. Расширяемость. Увеличение вычислительной мощности кластера достигается подключением к нему дополнительных VAX-компьютеров. Дополнительные накопители на магнитных дисках и магнитных лентах становятся доступными для всех компьютеров, входящих в кластер.

6. Стоимость систем высокой готовности на много превышает стоимость обычных систем.

Таким образом, работа любой кластерной системы определяется двумя главными компонентами:

1)высокоскоростным механизмом связи процессоров между собой

2) системным программным обеспечением, которое обеспечивает клиентам прозрачный доступ к системному сервису.

Многоядерная архитектура (Multicore)

Благодаря развитию технологии СБИС (сверхбольшая интегральная схема), в настоящее время на один кристалл можно установить два или более мощных процессоров.

При этом в микросхеме существуют два не­зависимых ядра, каждое из которых содержит полноценный процессор.

 


Ядром называется большая микросхема, реализующая функции процессора, контроллера ввода-выво­да или кэш-памяти, которая размещается на микросхеме в виде модуля, как правило, вместе с несколькими другими ядрами.

В 2007 году началась эра многоядерного процессоростроения.

До этого вычислительная техника развивалась согласно известным трендам, называемыми законами Мура [1]:

– удвоение плотности элементов процессорных СБИС каждые два года,

– удвоение частоты процессорных СБИС каждые два года,

– удвоение количества элементов запоминающих СБИС каждые полтора года,

– двукратное уменьшение времени доступа запоминающих СБИС каждые десять лет,

– удвоение ёмкости внешней памяти каждый год,

– двукратное уменьшение времени доступа во внешней памяти каждые десять лет,

– удвоение скорости передачи данных в глобальных сетях каждый год.

Период экспоненциального роста тактовой частоты закончились. Теперь работает новый закон Мура: число ядер удваивается каждые 18 месяцев (вместо удвоения частоты).

То есть, по сути, процессор стал новым транзистором!

 

Проблемы Multicore

1. Во-первых, обеспечение баланса системы. Традиционная проблема SMP систем – доступ к RAM. Полоса пропускания RAM – ключевой ограничивающий фактор числа ядер в SMP серверах. Эффективность же массивно-параллельных и кластерных систем ограничена пропускной способностью сети передачи данных.

2. Во-вторых, обеспечение надёжности системы. Чем больше ядер, тем больше вероятность отказов (надёжность пропорциональна числу чипов в системе).

3. В-третьих, обеспечение программной поддержки. Программное обеспечение отстало от аппаратных средств. В настоящее время для системы с миллионом ядер нет ни эффективных операционных систем, ни эффективных языков программирования. Прикладного программного обеспечения крайне мало.

Для решении я этих проблем необходимо создать ОС нового типа:

· не с временным, а с пространственным мультиплексированием;

· с симметричным доступом не только к памяти, но и к устройствам ввода/вывода;

· с новым многоядерным механизмом прерываний;

· с новым механизмом обеспечения отказоустойчивости по ядрам.