Файл: Мультипроцессоры (Конвейерная и векторная обработка).pdf
Добавлен: 26.05.2023
Просмотров: 572
Скачиваний: 8
СОДЕРЖАНИЕ
Глава 1. МУЛЬТИПРОЦЕССОРЫ И МУЛЬТИМАШИНЫ
Конвейерная и векторная обработка
Глава 2. РАСПРЕДЕЛЕННАЯ ОБРАБОТКА ДАННЫХ
Что называют распределенной обработкой данных
Формы взаимодействия между программами
Системы с массовым параллелизмом
Цели распределенной обработки данных
ГЛАВА 3. ПРОГРАМНОЕ ОБЕСПЕЧЕНИЕ И АППАРАТНЫЕ СРЕДСТВА МУЛЬТИПРОЦЕССОРНЫХ СИСТЕМ
Тематика высокопроизводительных вычислений и мультипроцессорных систем
Основные результаты суперкомпьютерной программы «СКИФ»
Перспективы развития суперкомпьютерного направления работ в ИЦМС ИПС РАН
Глава 4. ОДНОКРИСТАЛЬНЫЕ МУЛЬТИПРОЦЕССОРЫ
Гомогенные однокристальные мультипроцессоры
Рассмотрим для примера портативный DVD-плеер. Внутри его компьютер, который выполняет несколько функций:
1) управление дешевым и ненадежным сервоприводом, регулирующим положение головки;
- преобразования аналогового сигнала в цифровую форму;
- коррекция ошибок;
- дешифрирование и управление правами;
- декомпрессия данных видеоформата MPEG-2;
- декомпрессия звуковых данных;
- кодирование выходных данных для воспроизведения в телевизионных системах NTSC, PAL или SECAM.
Все эти функции должны выполняться в реальном времени с соблюдением жестких требований по качеству обслуживания, энергопотреблению, отводу тепла, размерам, весу и стоимости.
Данные на DVD-носителях хранятся в виде длинной спирали. Головка воспроизведения должна следовать по спирали вращающегося диска. Цена таких устройств остается невысокой благодаря относительно простой механической конструкции и жесткому программному контролю положения головки. С головки поступает аналоговый сигнал, который перед обработкой необходимо преобразовать в цифровой формат. После оцифровки проводится интенсивная программная коррекция ошибок, которые возникают при прессовке дисков. Видеоданные сохраняются на носителе в формате MPEG-2, для декомпрессии которого требуются сложные вычисления типа преобразований Фурье. Аудиоданные сжимаются по психоакустической модели, которая не менее сложна в части декомпрессии. Наконец, аудио- и видеоданные должны быть приведены в форму, подходящую для вывода сигнала в телевизорах системы NTS С, PAL или SECAM - в зависимости от страны, в которой используется DVD-плеер.
Конечно же программно решить все эти задачи в реальном времени на дешевом универсальном процессоре невозможно. Поэтому нужен гетерогенный мультипроцессор с несколькими специализированными ядрами.
Ядра различаются по функциональной специализации. Каждое из них спроектировано с расчетом на достижение максимального результата при минимально возможной цене. При сжатии каждый кадр разделяется на несколько блоков и в отношении каждого из них выполняются сложные преобразования. Кадр может полностью состоять из измененных блоков или из блоков, присутствующих в предыдущем кадре с указанием от текущего положения и измеренных пикселей. Программно подобные вычисления выполняются очень медленно, но при наличии процессора декодирования MPEG-2 этот процесс значительно ускоряется.
Таким же образом, декодирование и повторное кодирование композитного аудио-видеосигнала в соответствии с одним из стандартных телевизионных стандартов эффективнее проводить с помощью специализированного аппаратного процессора. И тут понятно, что в DVD-плеерах и им подобных устройствах применяются гетерогенные мультипроцессоры с несколькими ядрами.
Гетерогенные мультипроцессоры также устанавливаются в моделях сотовых телефонов, укомплектованных фото- и видеокамерами, игровыми приложениями, браузерами, клиентами электронной почты, приемниками цифрового спутникового сигнала и средствами беспроводного подключения к интернету. В настоящее время не все телефоны оснащены этими функциями, но в будущем скорей всего все изменится.
Скоро обычным явлением станут микросхемы из 500 миллионов транзисторов. Проектировать столь громоздкие устройства в цельном варианте очень сложно. К моменту завершения работ они имеют все шансы устареть.
Разумнее, наверное, разместить несколько ядер с относительно большим числом транзисторов на одной микросхеме и объединить их. При этом разработчики должны принять решение о том, какой процессор будет управляющим, а какие - специализированными. Ведь увеличение нагрузки на программную часть управляющего процессора замедляет работу системы, но с другой стороны удешевляет и уменьшает размер микросхемы.
Наличие нескольких специализированных процессоров для обработки звуковых и видеоданных требует увеличения площади микросхемы и повышает ее стоимость, но, с другой стороны, обеспечивает высокую производительность при относительно низкой тактовой частоте. В связи с этим снижаются энергопотребление и теплоотдача.
Программы обработки звуковых и видеоданных работают с огромными объемами информации. Поскольку все эти данные требуется обрабатывать быстро, от 50 до 75 % площади микросхемы отводится под размещение того или иного типа памяти.
Помимо процессоров и памяти, необходимо разработать схему взаимодействия ядер друг с другом. В небольших системах для этой цели вполне подойдет единственная шина, но в более крупных системах такое решение может привести к тому, что схема взаимодействия ядер окажется узким местом всей системы. Во многих случаях проблема решается установкой нескольких шин или организацией кольцевой топологии. В последнем случае арбитраж осуществляется путем отправки по кольцу небольшого пакета – маркера. Перед передачей данных ядро должно удержать полученный маркер. Завершив передачу, ядро пускает маркер далее по кругу. Таким образом, исключаются конфликты при передаче данных.
Архитектура CoreConnect состоит из трех шин. Шина процессора представляет собой высокоскоростную синхронную конвейеризированную шину с 32, 64 или 128 информационными линиями, работающими на тактовой частоте 66, 133 или 183 МГц. Ее максимальная пропускная способность равна 23,4 Гбит/с (для сравнения, у шины PCI этот показатель составляет 4,2 Гбит/с). Конвейеризация позволяет ядрам запрашивать шину в процессе передачи данных. Кроме того, как и в шине PCI, ядра могут одновременно передавать данные по разным линиям. Шина процессора оптимизирована для передачи коротких блоков данных и призвана обеспечивать взаимодействие между быстрыми ядрами - процессорами, декодерами MPEG-2, высокоскоростными сетями и тому подобными устройствами.
Из-за того, что одной шины процессора на всю микросхему недостаточно, для передачи данных между низкоскоростными устройствами ввода-вывода, предусмотрена вторая, периферийная, шина. Она упрощает взаимодействие между 8-, 16- и 32-разрядными периферийными устройствами, используя для этой цели всего несколько сотен вентилей. Периферийная шина также является синхронной, а ее максимальная пропускная способность достигает 300 Мбит/с. Эти две шины соединяются с помощью моста, напоминающего мосты, которыми до недавнего времени соединялись шины PCI и ISA, пока некоторое время назад шина ISA не была вытеснена окончательно.
В архитектуре CoreConnect есть также шина регистров устройств. Это крайне медленная асинхронная шина квитирования, позволяющая процессорам обращаться к регистрам периферийных устройств с целью управления этими устройствами. Передачи по ней проводятся нерегулярно, по несколько байтов.
Сочетание стандартной шины на микросхеме, интерфейса и подобающей инфраструктуры позволяет рассматривать CoreConnect как миниатюрную версию архитектуры PCI, для которой в перспективе можно наладить производство совместимых процессоров и контроллеров. Разница только в том, что в мире PCI производители разрабатывают и продают платы продавцам и конечным пользователям. А с CoreConnect разработчики ядер предоставляют лицензии на их производство изготовителям бытовой электроники и другим компаниям, которые затем разрабатывают гетерогенные мультипроцессоры на основе собственных и лицензированных ядер. Для производства больших и сложных микросхем требуются масштабные инвестиции в производственные мощности, в большинстве случаев изготовители бытовой электроники готовят проекты в расчете на заказ микросхем в специализированных компаниях. Сейчас существуют ядра для процессоров различных типов (ARM, MIPS, PowerPC и т. д.), декодеров MPEG, цифровых процессоров сигналов и всех стандартных контроллеров ввода-вывода.
Помимо CoreConnect, существуют и другие архитектуры встраиваемых в микросхему шин.
ЗАКЛЮЧЕНИЕ
В процессе выполнения моей курсовой работы были изучены и описаны общие требования, предъявляемые к многопроцессорным системам. Не оставила без внимания классификацию систем параллельной обработки. Также рассмотрела модели связи и архитектуру памяти. И не забыла обсудить мультипроцессорные системы с общей и локальной памятью. А еще уделила внимание однокристальным мультипроцессорам.
Ниже подведем небольшой итог, проделанной работы.
Количество процессоров в UMA-мультипроцессорах с одной шиной обычно ограничивается несколькими десятками, а для мультипроцессоров с перекрестной или многоступенчатой коммутацией требуется дорогое оборудование.
Чтобы объединить в одном мультипроцессоре более 100 процессоров, необходимо какое-то другое решение!
Когда-то предполагалось, что все модули памяти имеют одинаковое время доступа. Если не зацикливаться на этом моменте, можно прийти к мультипроцессорам с неоднородным доступом к памяти. Как и UMA-мультипроцессоры. Они предоставляют единое адресное пространство для всех процессоров, но, в отличие от UMA-машин, доступ к локальным модулям памяти происходит быстрее, чем к удаленным.
Можно отметить, что все UMA-программы смогут без изменений работать на NUMA-машинах, но производительность будет хуже, чем на UMA-машине с той же тактовой частотой.
NUMA-машины имеют три заключающих характеристики, которые отличают их от других мультипроцессоров:
1) существует единое адресное пространство, видимое всеми процессорами;
2) доступ к удаленной памяти производится командами LOAD и STORE;
3) доступ к удаленной памяти выполняется медленнее, чем доступ к локальной.
Если время доступа к удаленной памяти не замаскировано КЭШированием, т.е. КЭШ отсутствует, такая система называется NC-NUMA. Если присутствуют согласованные КЭШи, то система называется CC-NUMA.
Программисты часто называют такую систему аппаратной распределенной общей памятью, поскольку она аналогична распределенной общей памяти (DSM), реализованной программно, однако поддерживается аппаратно с использованием страниц маленького размера.
Подойдя к концу написания курсовой работы, хотелось бы отметить и выделить главные задачи исследования моей темы:
-
- Проведена дальнейшая детализация класса многопроцессорных вычислительных систем.
- Даны ключевые определения мультипроцессора, мультикомпьютера и мультимашины.
- Проведена общая характеристика проблем, возникающих при параллельных вычислениях для систем с общей памятью.
- Рассмотрены основные характеристики сетей передачи данных в многопроцессорных ВС.
- Рассмотрена общая схема передачи сообщений для ВС с распределенной памятью.
- Рассмотрены однокристальные мультипроцессоры.
БИБЛИОГРАФИЯ
1. Воеводин В.В. Математические проблемы параллельных вычислений. Москва, 2005 год, Труды Всероссийской научной конференции "Научный сервис в сети Интернет: технологии распределенных вычислений", с. 3-8.