Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
answers_all_last.doc
Скачиваний:
5
Добавлен:
19.04.2019
Размер:
308.74 Кб
Скачать

16. Аппаратная архитектура.

Для построения расширяемых многопроцессорных систем в принципиальном плане возможны 3 архитектурных решения:

  • Системы с совместно используемой памятью;

  • Системы с разделением дисков;

  • Системы без совместно используемых ресурсов.

Мультипроцессор с разделением памяти соединяет все процессоры с глобальной совместно используемой памятью, причём все процессоры имеют доступ как к общей оперативной памяти, так и ко всем дискам. Типичными примерами машин с разделением памяти являются многопроцессорные компьютеры IBM/370, VAX и Sequent.

Системы с разделением дисков отводят каждому процессору собственную память, но все процессоры могут непосредственно обращаться к любому диску. Примерами являются VAXcluster компании Digital и Sysplex компании IBM.

В системе без совместного использования ресурсов каждый процессор имеет свою собственную память и один или более дисков. Процессоры поддерживают связь через высокоскоростную соединительную сеть (Teradata, Tandem, nCUBE, VAXcluster).

Необходимой предпосылкой для достижения параллелизма является фрагментация данных. Разделение идёт от централизованных систем, которые вынуждены разделять файлы, поскольку файл слишком велик для одного диска и из-за невозможности обеспечения приемлемой скорости доступа к файлу на одном диске. Обобщённая модель фрагментации для параллельных систем баз данных:

Выделяют схемы фрагментирования по диапазонам, круговое фрагментирование и фрагментирование с хешированием.

17. Параллелизм внутри реляционных операторов.

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

Оператор слияния собирает данные в одном месте. Если требуется параллельно выполнить параллельную многофазную операцию, то единый поток данных должен быть расщеплён на несколько независимых потоков. Оператор расщепления используется для разделения или тиражирования потока кортежей, производимого реляционным оператором. Оператор расщепления определяет отображение одного или более значений атрибутов выходных кортежей на набор назначенных процессов.

Пример: предполагается, что 3 процессора используются для выполнения оператора соединения; 5 процессоров – для выполнения оператора просмотра (3 – для просмотра кортежей отношения А, 2 – для просмотра кортежей отношения В); 3 процессора выполняют вставку. Предполагается разделение данных на основе диапазона значений.

21

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]