- •2. Основные характеристики эвм. Основные области применения эвм различных классов. Классификация вычислительных систем.
- •3. Определение процессора, системы команд. Структурная схема микропроцессора. Взаимодействие функциональных блоков процессора при выполнении команд.
- •4. Форматы команд. Адресация данных. Адресация команд.
- •6. Определение памяти. Основные параметры запоминающих устройств. Классификация запоминающих устройств
- •7. Иерархическая организация памяти в современных эвм.
- •8. Память с произвольным доступом.
- •9. Память, доступная только для чтения. Флэш-память.
- •10. Внешняя память
- •11. Понятие системы прерываний эвм.
- •12. Классификация прерываний. Маскирование сигналов прерывания.
- •13. Система прерываний ibm pc. Обработка прерывания в ibm pc.
- •14. Схемы подключения внешних устройств.
- •15. Основные режимы ввода-вывода.
- •16. Интерфейсы внешних устройств ввода-вывода.
- •17. Интерфейсы шин расширения и видеокарт персонального компьютера.
- •18. Интерфейсы внешней памяти.
- •21. Параллельная обработка данных на эвм. Основные классы современных параллельных систем
- •22. Использование параллельных вычислительных систем. Закон Амдала и его следствия. Производительность вычислительных систем.
- •23. История развития компьютерных сетей. Локальные и глобальные сети. Основные функции сетей. Сетевые службы
- •24. Принципы взаимодействия компьютеров в сети на примере связи двух компьютеров по интерфейсу rs-232. Проблемы физической передачи данных по линиям связи.
- •25. Топология сети. Проблема адресации узлов.
- •26. Обобщенная задача коммутации.
- •27. Способы коммутации (коммутация пакетов, каналов).
- •28. Структуризация сети
- •29. Модель взаимодействия открытых систем iso/osi.
- •30. Технология Ethernet.
- •31. Примеры сетей. Обобщенная структура телекоммуникационной сети. Структура Интернет
21. Параллельная обработка данных на эвм. Основные классы современных параллельных систем
Параллельная обработка данных на ЭВМ.
Параллельная обработка данных, воплощая идею одновременного выполнения нескольких действий, имеет две разновидности: конвейерность и собственно параллельность.
Параллельная обработка. Если некое устройство выполняет одну операцию за единицу времени, то тысячу операций оно выполнит за тысячу единиц. Если предположить, что есть N таких же независимых устройств, способных работать одновременно, то ту же тысячу операций система из N устройств может выполнить уже не за тысячу, а за 1000/N единиц времени. Подобные аналогии можно найти и в жизни: если один солдат вскопает огород за 10 часов, то рота солдат из пятидесяти человек с такими же способностями, работая одновременно, справятся с той же работой за 12 минут - принцип параллельности в действии!
Конвейерная обработка. Идея конвейерной обработки заключается в выделении отдельных этапов выполнения общей операции, причем каждый этап, выполнив свою работу, передавал бы результат следующему, одновременно принимая новую порцию входных данных. Получаем очевидный выигрыш в скорости обработки за счет совмещения прежде разнесенных во времени операций.
Казалось бы конвейерную обработку можно с успехом заменить обычным параллелизмом, для чего продублировать основное устройство столько раз, сколько ступеней конвейера предполагается выделить. Однако, увеличив в пять раз число устройств, мы значительно увеличиваем как объем аппаратуры, так и ее стоимость.
2. Основные классы современных параллельных систем.
Основным параметром классификации паралелльных компьютеров является наличие общей (SMP) или распределенной памяти (MPP). Нечто среднее между SMP и MPP представляют собой NUMA-архитектуры, где память физически распределена, но логически общедоступна. Кластерные системы являются более дешевым вариантом MPP. При поддержке команд обработки векторных данных говорят о векторно-конвейерных процессорах, которые, в свою очередь могут объединяться в PVP-системы с использованием общей или распределенной памяти. Все большую популярность приобретают идеи комбинирования различных архитектур в одной системе и построения неоднородных систем.
При организациях распределенных вычислений в глобальных сетях (Интернет) говорят о мета-компьютерах, которые, строго говоря, не представляют из себя параллельных архитектур.
Более подробно особенности всех перечисленных архитектур будут рассмотрены далее, а также в описаниях конкретных компьютеров - представителей этих классов. Для каждого класса приводится следующая информация:
краткое описание особенностей архитектуры,
примеры конкретных компьютеров,
перспективы масштабируемости,
1. Массивно-параллельные компьютеры с распределенной памятью (MPP). Идея построения компьютеров этого класса тривиальна: возьмем серийные микропроцессоры, снабдим каждый своей локальной памятью, соединим посредством некоторой коммуникационной среды - вот и все. Достоинств у такой архитектуры масса: если нужна высокая производительность, то можно добавить еще процессоров, если ограничены финансы или заранее известна требуемая вычислительная мощность, то легко подобрать оптимальную конфигурацию и т.п.
Однако есть и решающий "минус", сводящий многие "плюсы" на нет. Дело в том, что межпроцессорное взаимодействие в компьютерах этого класса идет намного медленнее, чем происходит локальная обработка данных самими процессорами. Именно поэтому написать эффективную программу для таких компьютеров очень сложно, а для некоторых алгоритмов иногда просто невозможно. К данному классу можно отнести компьютеры Intel Paragon, IBM SP1, Parsytec, в какой-то степени IBM SP2 и CRAY T3D/T3E, хотя в этих компьютерах влияние указанного минуса значительно ослаблено. К этому же классу можно отнести и сети компьютеров, которые все чаще рассматривают как дешевую альтернативу крайне дорогим суперкомпьютерам.
2. Симметричные мультипроцессорные системы (SMP). Вся оперативная память таких компьютеров разделяется несколькими одинаковыми процессорами. Это снимает проблемы предыдущего класса, но добавляет новые - число процессоров, имеющих доступ к общей памяти, по чисто техническим причинам нельзя сделать большим. В данное направление входят многие современные многопроцессорные SMP-компьютеры или, например, отдельные узлы компьютеров HP Exemplar и Sun StarFire.
3. Системы с неоднородным доступом к памяти (NUMA). Система состоит из однородных базовых модулей (плат), состоящих из небольшого числа процессоров и блока памяти. Модули объединены с помощью высокоскоростного коммутатора. Поддерживается единое адресное пространство, аппаратно поддерживается доступ к удаленной памяти, т.е. к памяти других модулей. При этом доступ к локальной памяти в несколько раз быстрее, чем к удаленной.
Примеры HP HP 9000 V-class в SCA-конфигурациях, SGI Origin2000, Sun HPC 10000, IBM/Sequent NUMA-Q 2000, SNI RM600.
Масштабируемость NUMA-систем ограничивается объемом адресного пространства, возможностями операционной системы по управлению большим числом процессоров. На настоящий момент, максимальное число процессоров в NUMA-системах составляет 256 (Origin2000).
Векторно-конвейерные компьютеры (PVP). Конвейерные функциональные устройства и набор векторных команд - это две особенности таких машин. В отличие от традиционного подхода, векторные команды оперируют целыми массивами независимых данных, что позволяет эффективно загружать доступные конвейеры, т.е. команда вида A=B+C может означать сложение двух массивов, а не двух чисел. Характерным представителем данного направления является семейство векторно-конвейерных компьютеров CRAY куда входят, например, CRAY EL, CRAY J90, CRAY T90.