Начальная страница
Леонид
Борисович
Соколинский

Биографическая справка

Область научных интересов

Научные достижения

Гранты

Публикации

Выступления на конференциях

Читаемые учебные курсы

Методические разработки

Проект Омега

Персональная электронная библиотека

Полезные
WWW-ссылки 

 

English version

Rambler's Top100

Главная страница  Биографическая справка Проект Омега  Полезные WWW-ссылки

Методы организации параллельных систем баз данных на вычислительных системах с массовым параллелизмом

Соколинский Л.Б.

Диссертация на соискание ученой степени 
доктора физико-математических наук

[Автореферат диссертации в формате PDF (833 КБ)]

[Полный текст диссертации в формате PDF (2.31 МБ)]

[Презентация в формате PowerPoint (zip 635 КБ)]

Аннотация

Диссертация посвящена разработке и исследованию моделей, методов и алгоритмов параллельной обработки запросов для многопроцессорных систем с массовым параллелизмом. Предложена новая иерархическая (гибридная) архитектура CD2 для построения высокоэффективных, масштабируемых, отказоустойчивых параллельных систем баз данных. Выполнен сравнительный анализ CD2 архитектуры с ранее известными архитектурами параллельных систем баз данных, показывающий потенциальное превосходство CD2 архитектуры по сумме следующих показателей: производительность, масштабируемость, доступность данных, баланс загрузки и простота реализации. Построена конкретная реализация CD2 архитектуры в виде прототипа параллельной системы баз данных Омега на базе отечественного многопроцессорного комплекса МВС.
Разработаны методы создания эффективного операционного окружения для систем баз данных с CD2 архитектурой. В частности, предложена новая модель организации легковесных процессов, базирующаяся на парадигме "производитель-потребитель" и использующая механизм "управление посредством потоков данных". Данная модель обеспечивает автоматическую диспетчеризацию и синхронизацию легковесных процессов и позволяет использовать их в качестве базового средства структуризации программы. Разработана оригинальная архитектура менеджера буферного пула, базирующаяся на использовании избыточного индекса буферного пула и новом методе вычисления рейтингов страниц. Описанный подход позволяет использовать комбинированные стратегии замещения, обеспечивая, в то же время, быстрый поиск страниц в буферном пуле и поддержку избирательного вытеснения страниц. Кроме этого, предложен оригинальный метод двухуровневой организации межпроцессорных коммуникаций, позволяющий существенно сократить накладные расходы на передачу сообщений внутри процессорных кластеров системы с CD2 архитектурой. Описанные модели и методы реализованы в операционном ядре прототипа параллельной СУБД Омега для МВС, включающим в себя систему хранения, менеджер легковесных процессов и систему передачи сообщений.
Предложен новый алгоритм замещения страниц в буферном пуле, получивший название LFU-K. Проведен сравнительный анализ алгоритма LFU-K и известных алгоритмов замещения, показывающий, что LFU-K в большей мере удовлетворяет требованиям, предъявляемым параллельными системами баз данных без совместного использования ресурсов, чем другие алгоритмы. Построена теоретико-вероятностная модель, на основе которой получены аналитические оценки для базового параметра алгоритма LFU-K. Остальные параметры алгоритма исследованы в вычислительных экспериментах, на основе которых даны конкретные рекомендации для оптимального выбора этих параметров. Предложена эффективная реализация алгоритма LFU-2, которая может быть на практике использована для управления буферным пулом в системах баз данных. На искусственных и реальных трассах обращений к страницам базы данных проведены вычислительные эксперименты, сравнивающие эффективность алгоритма LFU-2 с алгоритмами LFU, LRU, LRU-2, 2Q, OPT и A0. Данные эксперименты подтверждают высокую эффективность алгоритма LFU-2. При этом на трассах, характерных для параллельных систем баз данных без совместного использования ресурсов, эффективность алгоритма LFU-2 значительно превышает эффективность известных алгоритмов замещения.
Предложена новая модель параллелизации запросов, названная потоковой моделью. Данная модель является развитием скобочной и операторной моделей и объединяет в себе их лучшие свойства. По сравнению с операторной моделью, потоковая модель позволяет достичь в контексте архитектуры без совместного использования ресурсов лучшего баланса загрузки при меньших накладных расходах на межпроцессорные коммуникации. По сравнению со скобочной моделью, потоковая модель лучше приспособлена к расширению системы путем добавления новых пользовательских типов данных. Это достигается введением специального оператора обмена, инкапсулирующего в себе все механизмы, необходимые для реализации внутриоперационного параллелизма. Отличительной особенностью потоковой модели является автоматическая диспетчеризация и синхронизация процессов выполнения операций в дереве плана запроса и использование специальных промежуточных буферов для передачи порций данных от операции-производителя к операции-потребителю. Также предложен оригинальный алгоритм балансировки загрузки на уровне процессорного кластера для систем с CD2 архитектурой. В основе этого алгоритма лежит механизм репликации данных, названный внутрикластерным дублированием. Описанные алгоритмы и модели были реализованы в исполнителе запросов прототипа параллельной СУБД Омега для МВС. С использованием этого прототипа были проведены вычислительные эксперименты, подтверждающие высокую эффективность предложенных подходов.
Предложена технология коллективной разработки больших программных систем для многопроцессорного вычислительного комплекса МВС, включающая в себя комплекс концептуальных, организационных и программных средств. Данная технология была применена при разработке прототипа параллельной СУБД Омега для МВС. Общий объем отлаженного кода составил около 60 тысяч строк на языке Си (в том числе лично автором диссертации разработано более 30 тысяч строк).

Ключевые слова: параллельные системы баз данных, CD2 архитектура, управление процессами, управление буферным пулом, алгоритмы замещения страниц, LFU-K, балансировка загрузки, модели параллелизации запросов, потоковая модель, операторный фрейм, коллективная разработка программ


Изменено: 23 мая 2017 г.

© Л.Б. Соколинский