Параллельная обработка
Параллельная обработка
Различные приемы параллельной обработки позволяют базе данных полностью задействовать все аппаратные возможности. Выборка и анализ больших объемов информации может требовать очень больших ресурсов. По счастью, при обработке базы данных доступ к ней может осуществляться параллельно, после чего собранные данные можно анализировать независимо и также параллельно. Обработка баз данных — один из примеров практического использования массового параллелизма, который мы вкратце затронули в главе 2.
IBM несколько модифицировала AS/400 и DB2/400, что позволило применить массовый параллелизм при работе с базой данных. Впервые поддержка параллельной обработки ввода-вывода появилась в V3R1, что позволило воспользоваться возможностями аппаратной архитектуры AS/400, имеющей как основные процессоры, так и вспомогательные, и ввести параллельную обработку на уровне процессора ввода-вывода (IOP) для одного задания. Мы подробно рассмотрим IOP в главе 10, а сейчас, забегая вперед, скажу, что в мощной AS/400 их может быть установлено несколько сотен, причем к разным IOP подключают множество дисковых накопителей. Параллельный ввод-вывод позволяет обрабатывать пользовательский запрос к базе данных несколькими IOP одновременно. Таким образом, устраняется одна из самых серьезных проблем, мешающих многим системам достичь высокой производительности: задержки при выполнении ввода-вывода.
В главе 2 мы говорили о поддержке SMP в AS/400, когда все основные процессоры работают параллельно с общей памятью. При большинстве видов обработки отдельные задания выполняются на разных процессорах, при необходимости используя общие области памяти. При обработке запросов к базе данных каждый основной процессор может обрабатывать часть задачи. Именно так работает средство параллельной обработки DB2/400. Запрос разбивается на отдельные, независимые подзапросы, которые выполняются параллельно несколькими основными процессорами, что позволяет значительно сократить время обработки. Задать использование нескольких процессоров при обработке запроса можно с помощью соответствующей опции команды «CHGQRYA» (Change Query Attribute).
Данный метод повышает производительность таких запросов, как поиск в таблице, группирование (group-by), поиск в индексе и соединение (join). Поддержкой параллельной обработки базы данных на системах SMP пользуются также некоторые внутренние функции SLIC, например, построение индекса (подробно об этом мы поговорим в разделе «Машинный индекс»). Параллелизм присутствует на всех системах версий 3 и 4, но параллельное построение индекса — только на RISC-системах.
AS/400 также поддерживает конфигурации MPP. При этом несколько систем AS/ 400 с помощью высокоскоростных линий соединяются друг с другом в кластер. Один из способов такого соединения — через волоконно-оптический кабель с помощью продукта OptiConnect. Для объединения машин серии AS/400е подходит также соединение SAN, позволяющее достичь еще больших скоростей. Распределение базы данных по дискам всех систем кластера позволяет создавать очень большие базы, с которыми параллельно работают несколько сотен процессоров.
IBM называет такую конфигурацию MPP слабо связанной параллельной системой базы данных, в связи с отсутствием разделения памяти за пределами отдельной системы в кластере. Здесь используется подробно обсуждавшийся в главе 2 подход shared-nothing, похожий на тот, что применяется в SP2. Различие в том, что узлы кластера AS/400 находятся в разных физических корпусах, но, несмотря на это, для пользователя кластер выглядит как единая база данных.
Технология слабо связанной параллельной базы данных позволяет разбивать запросы на части, с которыми может справиться отдельный узел. В отличии от SMP-па-раллельной базы данных, у каждого узла — собственные память и дисковое пространство. Каждый узел кластера работает с порцией физического файла или таблицы, и запрос к нему выполняется для соответствующей порции файла. Каждый узел может содержать один или несколько процессоров, ведь узел — это просто AS/400.
Приложение, выполняющееся на любом компьютере кластера, может работать с базой так, как если бы она полностью размещалась на этом компьютере. Распределенность базы по узлам кластера делает DB2/400 прозрачной как для приложений, так и для конечного пользователя. Для задания имен системам в группе узлов в CL были введены новые команды, к некоторым командам были добавлены новые параметры для поддержки распределения файлов базы по узлам. После рассредоточения по узлам, файл при выполнении операций вставки, обновления и удаления выглядит как локальный.
Главное преимущество слабо связанных параллельных систем — отсутствие верхнего предела количества узлов, что означает практически неограниченный рост производительности и емкости. Возможности расширения концепции кластеров AS/400 в будущем мы рассмотрим в главе 12.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Параллельная сборка
Параллельная сборка Программа make(1) предоставляет возможность разбить процесс сборки на несколько заданий. Каждое из этих заданий выполняется отдельно от остальных и параллельно с остальными, существенно ускоряя процесс сборки на многопроцессорных системах. Это также
Параллельная загрузка "зеркал" с разных сервисов
Параллельная загрузка "зеркал" с разных сервисов Чуть выше описанный прием поиска веб-страниц со ссылками на файл на других файлообменных сервисах может быть полезен вот еще в чем. Допустим, вы нашли веб-сайт, на котором части архива с дистрибутивом Fedora 2010, кроме сервиса
7.5.4. Обработка на сервере
7.5.4. Обработка на сервере HTML-файлы могут обрабатываться прямо на сервере (так же, как выполняются файлы PHP). С одной стороны, это удобно, потому что код PHP можно будет вставлять в файлы с расширением htm, с другой стороны, HTML-файлы далеко небезопасны, и если хакер сможет их
Обработка событий
Обработка событий Теперь самое время рассмотреть один ключевой вопрос Web-программирования: события, их возникновение и обработка. Понятие события и его обработки Рассматривая примеры Web-сценариев, мы исходили из предположения, что они выполняются при загрузке
19.4. Обработка текста
19.4. Обработка текста bpe файлПрограмма bpe — это редактор двоичных файлов. Данная программа позволяет редактировать файл в двоичном или шестнадцатиричном режиме. После запуска программы вы можете использовать множество команд редактирования. Некоторые из них
6.18.1 Обработка в маршрутизаторе
6.18.1 Обработка в маршрутизаторе После получения датаграммы маршрутизатор проводит серию проверок, чтобы узнать, не нужно ли отбросить данную датаграмму. Вычисляется контрольная сумма заголовка и сравнивается со значением из поля контрольной суммы.Просматриваются поля
23.3.4. Обработка сигналов
23.3.4. Обработка сигналов Перед тем, как перейти к следующему пункту, нужно еще раз рассмотреть функцию gtk_signal_connect(). Данной функции нужно передать четыре параметра:? GtkObject *object — объект, которому может быть послан сигнал;? const gchar *name — имя сигнала, например, «destroy»;? GtkSignalFunc func
5. Обработка
5. Обработка «Причесывайте» кусочки, когда они уже записаны. Пока нет полной записи, нет смысла приступать к обработке. Начинайте резать, удалять шумы и неудачные моменты, только когда все
Параллельная RC-цепь
Параллельная RC-цепь На рис. 2.7 приведена схема с параллельной RC-цепью. Значения элементов этой схемы: I=100?0° мА; R=8,33 Ом; С=14,14 мкФ и f=500 Гц. Рис. 2.7. Схема с параллельной RC-цепьюПеред тем как провести моделирование на PSpice, рассчитайте полную проводимость RC-цепи. Она задается
Параллельная обратная связь по току в двухкаскадном усилителе с общим эмиттером
Параллельная обратная связь по току в двухкаскадном усилителе с общим эмиттером Для дальнейшей иллюстрации влияния обратной связи на диапазон частот на рис. 4.19 показана модель двухкаскадной схемы ОЭ с параллельной обратной связью по току. Мы снова выбрали упрощенную
R.16 Препроцессорная обработка
R.16 Препроцессорная обработка Реализация языка C++ включает препроцессор с возможностями макроподстановки, условной трансляции и включения указанных файлов.Для передачи заданий препроцессору служат строки, начинающиеся с символа # (перед ним могут идти пробелы и символы
2.2.5 Параллельная обработка запросов
2.2.5 Параллельная обработка запросов Параллельная обработка запросов (Parallel Data Query, PDQ) - это технология, которая позволяет распределить обработку одного сложного запроса на несколько процессоров, мобилизовать для его выполнения максимально доступные системные ресурсы,
Обработка исключений
Обработка исключений Код PSQL может перехватывать ошибки при их появлении и затем их обрабатывать в подпрограмме обработки исключений. Если исключение будет обработано в вашем коде- вы обеспечите исправление или обход ошибки и позволите продолжить выполнение, - то
АНАЛИЗЫ: Параллельная реальность Wal-Mart
АНАЛИЗЫ: Параллельная реальность Wal-Mart Автор: Киви БердОпубликованный в прошлом месяце список Fortune 500 (2007), регулярно ранжирующий полтысячи наиболее успешных американских компаний, возглавляет гигантская сеть магазинов розничной торговли Wal-Mart Stores Inc., по доходам (примерно
Параллельная работа с кодом
Параллельная работа с кодом При наличии нескольких команд, одновременно работающих над одним исходным кодом, нам неизбежно придется иметь дело с параллельными ветками кода в системе SCM (software configuration management). Есть много книг и статей, рассказывающих, как обеспечить
Обработка САС
Обработка САС Как только инициализация закончена, обрабатывается один или несколько списков САС. Обработка выполняется до тех пор, пока либо не выяснится, что сертификат аннулирован, либо не будут проверены все списки САС, указанные в дополнении проверяемого