ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.04.2025
Просмотров: 5788
Скачиваний: 2
СОДЕРЖАНИЕ
Часть 2. Вычислительные системы. Лекция 23. Классификация систем параллельной обработки данных.
Лекция 24. Классификация мультипроцессорных систем по способу организации основной памяти.
Лекция 25. Обзор архитектур многопроцессорных вычислительных систем.
Лекция 26. Направление развития в высокопроизводительных вычислительных системах.
Универсальные системы с фиксированной структурой
Направления развития микропроцессоров
Системы с фиксированной структурой из серийных микропроцессоров
Специализированные системы с фиксированной структурой
Специализированные системы с программируемой структурой
Технологическая база развития современных архитектур
Архитектуры многопотоковых процессоров
Программируемый микропроцессор
Однородные вычислительные среды
Однокристальный ассоциативный процессор сам2000
Однокристальный векторно-конвейерный процессор sx-6
Лекция 27. Принципы построения телекоммуникационных вычислительных систем.
2.Компоненты телекоммуникационной системы
3. Типы телекоммуникационных сетей.
4. Топологии вычислительной сети.
Часть 3. Вычислительные сети. Лекция 28. Эталонная модель взаимодействия открытых систем.
Лекция 29. Локальные вычислительные сети.
2.2.3. Проводная сеть в умном доме(LexCom Home)
Лекция 30. Беспроводные сети на основе службы gprs.
Чем привлекательна эта технология?
Что дает абоненту технология gprs?
Принципы построения системы gprs
Терминальное оборудование gprs
Скорости передачи в системе gprs
Перспективы развития услуг на базе gprs
Перспективы пакетной передачи данных
Gprs модемы существуют в нескольких исполнениях:
Лекция 31. Беспроводные сети Radio-Ethernet.
Лекция 32. Беспроводные локальные сети на основе Wi-Fi - технологии. Введение.
Архитектура, компоненты сети и стандарты
Физический уровень ieee 802.11
Типы и разновидности соединений
Специализированные системы с программируемой структурой
Обладая способностью реализовать любую схему, ПЛИС имеют, по сравнению с жесткой логикой, большую площадь в пересчете на используемый вентиль. Комбинацией, сохраняющей программируемость при уменьшении, по сравнению с ПЛИС, затрат оборудования, служит создание однородных вычислительных сред из одного типа ячеек с учетом проблемной ориентации некоторой специфичной ячейки при ее реализации на жесткой логике и программируемости связей между множеством таких ячеек.
Идея однородных вычислительных сред была сформулирована в начале 60-х годов сотрудником Института математики СО АН СССР Э.В. Евреиновым [1]. Была показана возможность снятия ограничения на рост тактовой частоты в однородных средах за счет коротких связей между соседними ячейками среды и реализации взаимодействия между удаленными ячейками по принципу близкодействия через цепочку ячеек, расположенных между ними. В силу возможности различного направления специализации ячеек и установления различной пропорции между реализацией на жесткой логике и программируемостью, сегодня предложено много вариантов построения специализированных систем с программируемой структурой [12-16]. К этому классу вычислительных систем относятся также систолические и волновые процессоры [17], программируемые (raw) процессоры [15], ассоциативные процессоры с SIMD-архитектурой, примером которых может служить проект CAM2000 [16], и др.
Технологическая база развития современных архитектур
Развитие САПР микроэлектроники, с одной стороны, и стандартизация микроэлектронных производств, с другой, создали предпосылки для появления предприятий, не имеющих собственных фабрик по производству микросхем, но разрабатывающих микросхемы или их блоки, являющиеся интеллектуальной собственностью. Это создает предпосылки вовлечения в производство высокопроизводительных вычислительных систем разработчиков, результаты труда которых могут быть получены ими непосредственно без отторжения от них проекта для передачи исполнителям технологического профиля. Это новый этап в развитии вычислительных технологий, дающий уникальный шанс, в том числе, для России.
В качестве соответствующих примеров можно предложить проект по созданию однокристальной системы из многопотоковых процессоров для построения из этих кристаллов мощных суперкомпьютеров на основе опыта, полученного при создании МВС-1000М [18], микропроцессоры «Квант» [19], изготовленные на фабрике AMD в Дрездене, а также ряд других отечественных проектов, реализация которых осуществлялась на зарубежных производствах.
Архитектуры многопотоковых процессоров
Каждый набор регистров Tera MTA обслуживает один вычислительный процесс, называемый потоком (thread). Всего в процессоре имеется n наборов регистров, а поэтому запрос, выданный в основную память процессом, может обслуживаться в течение n-1 тактов, вплоть до момента, когда процессор снова переключится на тот же набор регистров. Тем самым по отношению к одному потоку исполнение его команд замедляется в n раз. Значение n выбирается исходя из того, чтобы время доступа в память было меньше, чем длительность n-1 такта процессора. Задача формирования n потоков целиком возлагается на компилятор.
При всем различии подходов к созданию многопотоковых (multithread) микропроцессоров, общим в них является введение множества процессорных элементов, содержащих устройство выборки команд, которое организует окно исполнения для одного потока. В рамках потока может выполняться предсказание переходов, переименование регистров, динамическая подготовка команд к исполнению. Тем самым, общее количество команд, находящихся в обработке, значительно превышает размер одного окна исполнения суперскалярного процессора, с одной стороны, и тактовая частота не лимитируется размером окна исполнения, — с другой стороны. Выявление потоков может выполняться компилятором при анализе исходного кода на языке высокого уровня или исполняемого кода программы. Однако компиляторы не всегда могут разрешить проблемы зависимостей при использовании регистров и ячеек памяти между потоками, что требует разрешения этих зависимостей уже в ходе исполнения потоков. Для этого в микропроцессор вводится специальная аппаратура условного исполнения потоков, предусматривающая возврат с отбрасыванием наработанных результатов в случае обнаружения нарушения зависимостей между потоками. Нарушением зависимости, например, может служить запись по вычисляемому адресу в одном потоке в ту же ячейку памяти, из которой выполняется чтение, которое должно следовать за этой записью, в другом потоке. В этом случае, если адреса записи и чтения не совпадают, нарушение отсутствует. При совпадении адресов фиксируется нарушение, которое должно вернуть исполнение потока к команде чтения правильного значения.
Интерфейс между аппаратурой многопотокового процессора, поддерживающей протекание каждого отдельного потока и аппаратурой, общей для исполнения всех потоков, может быть установлен как сразу после устройств выборки команд потока, так и на уровне доступа к разделяемой памяти. В первом случае все потоки используют один набор функциональных устройств. Тесная связь по ресурсам позволяет эффективно исполнять последовательные программы с сильной зависимостью между потоками. В этом случае имеет место реализация SMT-процессора (simultaneous multithreading). Во втором случае для исполнения каждого потока, фактически, выделяется функционально законченный процессор. В целом, эта структура ориентирована на исполнение независимых и слабо связанных потоков, порождаемых либо одной программой, либо их совокупностью. В этом случае скорее надо говорить не о процессоре, а о CMP-системе (chip multiprocessing).
Возможно также промежуточное расположение интерфейса, при котором часть функциональных устройств, например, с плавающей точкой разделяется всеми потоками, а остальные устройства дублируются в каждом потоке. Количество и типы устройств, разделяемых всеми потоками, равно как и устройств дублированных во всех потоках, определяется исходя из представления о возможности их эффективной загрузки.
Многопотоковый процессор может исполнять потоки, принадлежащие одной или нескольким программам. Если процессор исполняет одну программу, то говорят о его производительности, если несколько — о пропускной способности.
Intel использовала 2-потоковую архитектуру в процессорах Pentium 4 и Xeon, однако еще предстоят значительные исследования по многопотоковым архитектурам. Компания Tera объявила о разработке проекта многопотокового микропроцессора Torrent, реализующего процессор МТА (www.tera.com). Компания Level One, образованная Intel, выпустила сетевой микропроцессор IXP1200 (www.level1.com), содержащий 6 четырехпотоковых процессоров.IBM анонсировала проект компьютера Blue Gene (D. Clark. Blue Gene and the race toward petaflops capacity. IEEE Concurrency, January-March 2000) с производительностью 1015 FLOPS, кристалл микропроцессора которого включает 32 восьмипотоковых процессора. В кристалл встроена память DRAM, реализованная как 32 блока. Каждый блок соответствует одному из 32 процессоров и имеет шину доступа 256 разрядов. Так как DRAM имеет высокую пропускную способность и малую задержку, то при восьмипотоковой структуре процессора становится возможным отказаться от кэш-памяти, вместо которой между процессором и памятью используется небольшая буферная память. IBM, Sony, Toshiba ведут совместный проект по разработке многопотокового процессора Cell («ячейка»), само название которого красноречиво свидетельствует о его предназначении.
Кластер Green Destiny
В Лос-Аламоской лаборатории в рамках реализации проекта малообъемных суперкомпьютеров построен кластер Green Destiny (M. Warren, E. Weigle, W. Feng. High-Density Computing: A 240-Processor Beowulf in One Cubic Meter, Proc. of SC-2002). Авторы проекта поставили целью создать 240-процессорный кластер в объеме 1 кубический метр. В качестве базового выбран конструктив RLX System 324 — 3U-блоки (высота — 5,25 дюйма, ширина — дюйма 17,25, глубина — 25,2 дюймов), вмещающие 24 серверов-лезвий. В блоке имеется два допускающих горячую замену источника питания мощностью 450 Вт и интерфейсы для доступа к вычислительным модулям.
Вычислительный модуль включает микропроцессор Transmeta TM5600/667 МГц, 128 Mбайт памяти DDR SDRAM, 512 Mбайт SDRAM, 20-гигабайтный диск и интерфейс Fast Ethernet. Имеется еще один порт Ethernet, позволяющий удвоить пропускную способность за счет агрегирования двух портов. Каждый из 24 вычислительных модулей одного блока подключен к коммутатору Fast Ethernet. Все 10 таких коммутаторов подключены, в свою очередь, к коммутатору Gigabit Ethernet, образуя одноуровневое дерево.
Кластер скомпонован в стандартную стойку размером 84x24x36 дюймов, использует систему питания APC Smart-UPS, управляемую ОС Linux. В ненагруженном состоянии кластер рассеивает 7 Вт. Под нагрузкой TM5600 выделяет приблизительно 15 Вт тепла, а кластер в целом с учетом всего оборудования — 5200 Вт, что в пересчете на один вычислительный модуль составляет 22 Вт.
Программируемый микропроцессор
Схемы для выполнения арифметических операций над 64-разрядными операндами с плавающей точкой, сформированные в однородной вычислительной среде с однобитными ячейками, используют значительно больший объем оборудования и уступают по быстродействию устройствам обработки операндов с плавающей точкой микропроцессоров с традиционной архитектурой. Проект программируемого (raw) микропроцессора преследует цель устранить этот недостаток, сохранив преимущества программируемости структуры вычислительных систем. Программируемый микропроцессор строится на кристалле как ячейка однородной решетки nxn (M. Taylor, J. Kim, J. Miller at al. The Raw Microprocessor: A Computational Fabric for Software Circuits and General-Purpose Programs. IEEE Micro, 2002, Vol. 22, No. 2). Авторы проекта используют термин tile. Ячейка содержит процессор и программируемый коммутатор, предназначенный для передачи и приема данных между соседними ячейками.
Процессор выполнен по 8-стадийной конвейерной схеме с промежуточной фиксацией результатов между стадиями конвейера в очереди с дисциплиной обслуживания FIFO. В процессоре реализовано много обходных путей (bypass), позволяющих использовать промежуточные результаты сразу после их получения на каждой стадии конвейера, в том числе, для передачи в другие ячейки. Предусматриваются также кэш-память данных (32 Кбайт) и кэш-память команд (96 Кбайт).
Для того чтобы ускорить межячеечные передачи данных, применен следующий подход. Регистры r24-r27 отображены на входные очереди межячеечных каналов с дисциплиной обслуживания FIFO. Обращение к регистру rj, j {24, ..., 27}, по чтению, в том числе при выборе этого регистра как операнда, влечет выборку элемента данных из соответствующей входной очереди. Если элемент в очереди отсутствует, то завершение выполнения обращения к регистру rj, j {24, ..., 27}, задерживается вплоть до поступления данных во входную очередь. При обращении к регистру rj, j {24, ..., 27}, по записи, реальная запись производится в выходную очередь межячеечных каналов. Если очередь заполнена, то завершение выполнения записи задерживается, вплоть до освобождения элемента очереди.
Решения по организации межячеечных связей и связей между обрабатывающими устройствами в конвейере идентичны и базируются на промежуточных FIFO-очередях, передающих данные по готовности приемника. Важным следствием такой организации является то, что протекание вычислений определяется событиями, в качестве которых выступают размещение данных в очередях. На ход вычислений не оказывают влияния прерывания, происходящие в процессорах, промахи в кэш-памяти и иные асинхронно наступающие события, непосредственно не связанные с вычислительным процессом.
Программируемый коммутатор ячейки содержит 2 интерфейсных процессора. Статический интерфейсный процессор управляет передачами слов данных по устанавливаемым при компиляции программы маршрутам. Для пересылки слова между двумя ячейками статические интерфейсные процессоры на маршруте между этими ячейками обязательно должны исполнить соответствующие команды, задающие путь передачи слова. Компилятор выполняет потактное совмещение преобразований в процессоре и статическом интерфейсном процессоре. Динамический интерфейсный процессор управляет передачей пакетов слов. Первое слово пакета содержит идентификатор ячейки-адресата, поле пользователя и количество слов в пакете (не более 31). Пакет передается по методу коммутации канала на время передачи. Динамический интерфейсный процессор служит для передач данных, выполнение которых нельзя предсказать во время компиляции, например, промахи в кэш-памяти, прерывания, передачи данных, выполнение которых зависит от значений предикатов.
Ячейки, находящиеся на границе поля ячеек, имеют свободные каналы, к которым подключаются контроллеры памяти, периферийных внешних устройств. Прерывания от контроллеров передаются в виде специальных однословных сообщений, в которых указывается, какая ячейка должна обрабатывать это прерывание