
- •Тема 9. Организация памяти вычислительных систем
- •1. Системы с общей и распределенной памятью
- •2. Многоуровневая организация общей памяти
- •3. Память с чередованием адресов
- •4. Симметричные (smp) многопроцессорные вс. Архитектура типа uma, coma, numa
- •5. Мультипроцессор Sun Enterprise 10000
- •Тема 10. Векторные и векторно-конвейерные вычислительные системы
- •1. Понятие вектора и размещение данных в памяти
- •2. Понятие векторного процессора
- •4. Структура векторного процессора
- •5. Структуры типа «память-память» и «регистр-регистр»
- •6. Обработка длинных векторов и матриц
- •Тема 11. Матричные вычислительные системы
- •1. Обобщенная модель матричной вс
- •2. Интерфейсная вм
- •3. Контроллер массива процессоров
- •4. Массив процессоров
- •5. Структура процессорного элемента
- •6. Подключение и отключение процессорных элементов
- •7. Сети взаимосвязей процессорных элементов
- •9. Ассоциативная память
- •10. Ассоциативные вс
- •11. Систолические структуры
- •Тема 12. Кластерные и mpp-системы
- •1. Понятие кластера. Преимущества и виды
- •2. Топологии кластеров
- •3. Примеры кластеров
- •4. Системы с массовым параллелизмом (mpp-системы)
- •Тема 13. Информационные технологии конечного пользователя
- •1. Общая классификация информационных технологий
- •2. Автоматизированное рабочее место – средство автоматизации работы конечного пользователя
- •3. Характеристика информационных технологий в экономике
- •3.1. Информационная технология поддержки принятия решений
- •3.2. Информационная технология экспертных систем
- •3.3. Информационные технологии управления
- •3.4. Автоматизация офиса
- •3.5. Аудио- и видеоконференции в автоматизации офиса
- •3.6. Технологии баз данных
- •Контрольные вопросы
Тема 9. Организация памяти вычислительных систем
1. Системы с общей и распределенной памятью
2. Многоуровневая организация общей памяти
3. Память с чередованием адресов
4. Симметричные (SMP) многопроцессорные ВС. Архитектура типа UMA, COMA, NUMA
5. Мультипроцессор Sun Enterprise 10000
1. Системы с общей и распределенной памятью
Особенность ВС – множество параллельно работающих процессоров. Важная задача – задача организации памяти.
Две проблемы: 1) Различие между быстродействием процессора и памяти (как и в однопроцессорных системах); 2) Одновременный доступ к памяти нескольких процессоров.
В зависимости от организации памяти различают:
- ВС с общей памятью (shared memory, мультипроцессоры, сильно связанные, closely coupled systems);
- ВС с распределенной памятью (distributed memory, слабо связанные, loosely coupled systems, мультикомпьютеры).
Различие между общей и распределенной памятью - это разница в структуре виртуальной памяти, то есть в том, как память выгладит со стороны процессора. Физически почти каждая система памяти разделена на автономные компоненты, доступ к которым может производиться независимо. Общую память от распределенной отличает то, каким образом подсистема памяти интерпретирует поступивший от процессора адрес ячейки. Для примера положим, что процессор выполняет команду LoadR0,i, означающую «Загрузить регистр R0 содержимым ячейки i». В случае общей памяти i- это глобальный адрес, и для любого процессора указывает на одну и ту же ячейку. В распределенной системе памяти i - это локальный адрес. Если два процессора выполняют команду LoadR0,i, то каждый из них обращается к i-й ячейке в своей локальной памяти, то есть к разным ячейкам, и в регистры R0 могут быть загружены неодинаковые значения.
Различие между двумя системами памяти должно учитываться программистом, поскольку оно определяет способ взаимодействия частей распараллеленной программы.
Мультипроцессоры сложно строить, но легко программировать. Мультикомпьютеры легко строить, но сложно программировать.
Поэтому стали предприниматься попытки создания гибридных систем, которые относительно легко конструировать и относительно легко программировать. Это привело к осознанию того, что совместную память можно реализовывать по-разному, и в каждом случае будут какие-то преимущества и недостатки.
Практически все исследования в области архитектур с параллельной обработкой направлены на создание гибридных форм, которые сочетают в себе преимущества обеих архитектур. Здесь важно получить такую систему, которая расширяема, то есть которая будет продолжать исправно работать при добавлении все новых и новых процессоров. Рассмотрим многоуровневую организацию общей памяти.
2. Многоуровневая организация общей памяти
Современные компьютерные системы не монолитны, а состоят из ряда уровней. Это дает возможность реализовать общую память на любом из нескольких уровней.
1) Общая память реализована на аппаратном обеспечении.
Одна копия операционной системы с одной таблицей распределения памяти. Для ОС память монолитна.
2) Общая память реализована на основе ОС и аппаратного обеспечения.
Такой подход называется DSM (Distributed Shared Memory — распределенная совместно используемая память). Каждая машина содержит свою собственную виртуальную память и собственные таблицы страниц. По существу, операционная система просто вызывает недостающие страницы не с диска, а из памяти. Но у пользователя создается впечатление, что машина содержит общую разделенную память.
3) Реализация общей разделенной памяти на уровне программного обеспечения.
При таком подходе абстракцию разделенной памяти создает язык программирования, и эта абстракция реализуется компилятором. Например, модель Linda основана на абстракции разделенного пространства кортежей (записей данных, содержащих наборы полей).