Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Методы и средства решения задач поиска и защищенного хранения данных с применением гибридных вычислительных технологий Ровнягин Михаил Михайлович

Методы и средства решения задач поиска и защищенного хранения данных с применением гибридных вычислительных технологий
<
Методы и средства решения задач поиска и защищенного хранения данных с применением гибридных вычислительных технологий Методы и средства решения задач поиска и защищенного хранения данных с применением гибридных вычислительных технологий Методы и средства решения задач поиска и защищенного хранения данных с применением гибридных вычислительных технологий Методы и средства решения задач поиска и защищенного хранения данных с применением гибридных вычислительных технологий Методы и средства решения задач поиска и защищенного хранения данных с применением гибридных вычислительных технологий Методы и средства решения задач поиска и защищенного хранения данных с применением гибридных вычислительных технологий Методы и средства решения задач поиска и защищенного хранения данных с применением гибридных вычислительных технологий Методы и средства решения задач поиска и защищенного хранения данных с применением гибридных вычислительных технологий Методы и средства решения задач поиска и защищенного хранения данных с применением гибридных вычислительных технологий Методы и средства решения задач поиска и защищенного хранения данных с применением гибридных вычислительных технологий Методы и средства решения задач поиска и защищенного хранения данных с применением гибридных вычислительных технологий Методы и средства решения задач поиска и защищенного хранения данных с применением гибридных вычислительных технологий Методы и средства решения задач поиска и защищенного хранения данных с применением гибридных вычислительных технологий Методы и средства решения задач поиска и защищенного хранения данных с применением гибридных вычислительных технологий Методы и средства решения задач поиска и защищенного хранения данных с применением гибридных вычислительных технологий
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Ровнягин Михаил Михайлович. Методы и средства решения задач поиска и защищенного хранения данных с применением гибридных вычислительных технологий: диссертация ... кандидата технических наук: 05.13.11 / Ровнягин Михаил Михайлович;[Место защиты: Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский ядерный университет "МИФИ"].- Москва, 2015.- 182 с.

Содержание к диссертации

Введение

Глава 1. Анализ современных методов и средств повышения производительности операций поиска данных в распределенных системах хранения 11

1.1 Классификация современных систем хранения и поиска данных 11

1.1.1 Программные решения для высокопроизводительного поиска и хранения данных 14

1.1.2 Программно-аппаратные решения для высокопроизводительного поиска и хранения данных 28

1.2 Классификация современных гибридных вычислительных систем 30

1.2.2 Классификация современных ГВС по назначению 32

1.2.3 Классификация современных ГВС по типу сопроцессора 33

1.2.4 Классификация современных ГВС по виду взаимодействия между сопроцессорами. 37

1.3 Современные подходы к применению гибридных суперкомпьютерных технологий в задачах

поиска и защиты данных 40

1.3.1 Вычислительные алгоритмы для гибридных систем 40

1.3.2 Алгоритмы криптографической защиты информации и особенности их реализации для ГВС 42

1.3.3 Алгоритмы поиска в структурах данных, поддерживающих параллельные операции 44

1.3.4 Алгоритмы сжатия данных 47

1.4 Выводы 49

Глава 2. Разработка методов повышения производительности операций поиска данных в высокопроизводительных гибридных системах 50

2.1 Структура и принцип работы современных ВСПиХД 51

2.2 Построение модели современных ВСПиХД в виде СеМО 56

2.3 Математическое описание характеристик ВСПиХД на основе модели СеМО 67

2.4 Повышение производительности ВСПиХД за счет уменьшения интенсивности потока поступающих в СеМО заявок 74

2.5 Повышение производительности защищенной ВСПиХД за счет уменьшения времени обработки заявок 78

2.6 Создание статической модели ВСПиХД 85

2.7 Создание динамической модели ВСПиХД 89

2.8 Выводы 93

Глава 3. Создание высокопроизводительных средств поиска и защищенного хранения данных на основе разработанных методов 94

3.1 Архитектура прототипа ВСПиХД 94

3.2 Протокол взаимодействия с ВСПиХД 97

3.3 Структуры данных, используемые прототипом ВСПиХД 100

3.4 Технологии и инструментальные средства разработки

3.4.1 Технологии сетевого взаимодействия 103

3.4.2 Инструментальные средства разработки CUDA-модулей 107

3.5 Реализация программного кода прототипа ВСПиХД 109

3.5.1 Реализация сетевого взаимодействия 109

3.5.2 Реализация алгоритмов шифрования 111

3.5.3 Реализация стохастического бинарного дерева 116

3.5.4 Реализация модифицированного фильтра Блума 118

3.5.5 Реализация внутреннего протокола работы прототипа

3.6 Процесс сборки и запуска прототипа ВСПиХД 120

3.7 Тестирование и отладка прототипа ВСПиХД 122

3.8 Выводы 127

Глава 4. Исследование эффективности методов и средств повышения производительности поиска данных в гибридных высокопроизводительных системах 128

4.1 Критерии эффективности ВСПиХД 128

4.2 Методика оценки результатов 131

4.3 Оценка количества экспериментов 135

4.4 Проведение экспериментальных исследований

4.4.1 Конфигурация и настройка стенда для проведения экспериментальных исследований 138

4.4.2 Методика проведения экспериментов 144

4.4.3 Выполнение экспериментальных исследований 149

4.5 Оценка результатов экспериментальных исследований 155

4.5.1 Оценка адекватности модели 156

4.5.2 Анализ результатов экспериментов 161

4.6 Выводы 168

Заключение 169

Список использованной литературы 172

Список терминов и сокращений 182

Введение к работе

Актуальность темы исследований. Поиск данных является
одной из важнейших проблем в области информатики и
вычислительной техники. Как пишет Д. Кнут в своем

фундаментальном труде «Искусство программирования»: «Поиск обычно является наиболее «времяемкой» частью многих программ, и замена плохого метода поиска хорошим может значительно увеличить скорость работы программы».

Производительность работы любых систем поиска данных напрямую зависит от объема самих данных, а в настоящее время происходит бурный, лавинообразный рост этих объемов. В силу практически полной компьютеризации всех сфер человеческой деятельности – от научной и до развлекательной – генерация данных, в которых необходимо выполнять поиск, происходит повсеместно и очень высокими темпами. За последние два года человечество накопило больше данных, чем за всю предыдущую историю. Количество пользователей Интернет и других компьютерных сетей к 2016 году втрое превысит население Земли. Сбербанк России за сутки осуществляет более 10 млн транзакций. В социальной сети Twitter каждый месяц выполняется более 30 млрд операций поиска.

В последние годы для обозначения больших и постоянно растущих объемов данных даже возник специальный термин: «Big Data (Большие Данные)». Четкого определения данного термина нет; под этим понимают такие объемы данных, при обработке которых может произойти переход количества в качество.

Классические реляционные СУБД (РСУБД), малопригодны в
качестве систем хранения Больших Данных. Поэтому большое
распространение в настоящее время получила концепция NoSQL (not
only SQL) систем, в которых данные хранятся в формате «ключ-
значение». Подобные системы хоть и не обладают всей полнотой
функциональности РСУБД, позволяют существенно увеличить
производительность работы приложений с большими объемами
слабоструктурированных данных. Общей чертой подобных систем
является высокий показатель пропускной способности,

масштабируемый (в большинстве случаев линейно) в зависимости от количества используемых серверов хранения.

Множество компаний по всему миру используют в настоящее время распределенные высокопроизводительные NoSQL-решения. Сервисы таких корпораций как IBM, Amazon, Facebook, Twitter, Google, Oracle и др. напрямую зависят от того, насколько эффективно функционируют системы хранения и поиска данных. Среди важнейших критериев эффективности NoSQL-решений выделяются следующие показатели: пропускная способность, масштабируемость, энергоэффективность, затраты на обслуживание. Как можно заметить, данные показатели перекликаются с требованиями, предъявляемыми к современным суперкомпьютерам.

В настоящее время ведущие позиции в суперкомпьютерных
рейтингах занимают гибридные решения, когда в состав

вычислительной системы (ВС) входят как обычные CPU, так и специализированные вычислители или дискретные сопроцессоры (GPU, MIC, ПЛИС и др.). Данные устройства позволяют существенно ускорить ряд операций и повысить энергоэффективность ВС. С точки зрения задач хранения и поиска данных, сопроцессоры могут быть полезными для ускорения операций поиска, проверки членства в множестве, выполнения операций дополнительной обработки (шифрование, обработка мультимедиа и др.).

Проблемой поиска информации, в том числе и задачами высокопроизводительного поиска информации в специализированных структурах данных, занимались такие известные ученые, как Воеводин В.В., Т. Кормен, Р. Седжвик и др. Таким образом, представляется целесообразным применить ряд суперкомпьютерных технологий, предназначенных для ускорения вычислений, именно к задаче поиска.

Существующие на данный момент NoSQL-решения не

предназначены для использования в гибридных ВС, так как все операции выполняются только центральными процессорами. Кроме того, в них отсутствуют встроенные механизмы защиты хранимых данных от несанкционированного доступа (НСД), в силу чего похищение носителя с данными, например, жесткого диска с сервера хранения, неизбежно приведет к утечке информации. Таким образом, разработка методов и средств решения задач поиска и защищенного хранения данных с применением гибридных вычислительных технологий является актуальной научной и инженерной задачей.

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

Целью диссертационной работы является повышение

производительности систем хранения и поиска данных за счет использования гибридных суперкомпьютерных технологий.

Методы исследования. В настоящей работе используются методы теории вероятностей и математической статистики, методы теории массового обслуживания, элементы теории алгоритмов, методы проектирования структурных и функциональных моделей распределенных систем (в нотациях IDEF и UML), метод анализа иерархий, методы теории планирования эксперимента.

Научная новизна.

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

  2. Впервые построена математическая модель распределенной системы хранения и поиска данных, использующей гибридные суперкомпьютерные технологии.

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

  4. Разработаны новые методы повышения производительности поиска данных, основывающиеся на применении новых алгоритмов поиска данных, предназначенных для использования в гибридных вычислительных системах.

  5. Предложены новые методы организации дополнительной обработки данных в высокопроизводительных системах хранения и поиска данных с использованием гибридных суперкомпьютерных технологий.

Обоснованность и достоверность результатов работы

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

Практическая значимость работы:

  1. Для описания структурных и функциональных моделей систем, построенных на основе предлагаемых методов, а также представленных классификаций, используются стандартные нотации IDEF и UML. Подобная унификация упрощает процесс проектирования систем на основе предлагаемых методов.

  2. Создан прототип распределенной системы хранения и поиска данных на основе разработанных методов. Экспериментальные исследования прототипа подтверждают эффективность его работы, что делает целесообразным построение промышленных систем хранения данных на базе предложенного подхода.

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

  4. Разработанная методика оценки эффективности гибридной распределенной системы хранения и поиска данных может быть использована для анализа других подобных решений. Реализация результатов исследования. Результаты

исследований использовались при выполнении НИР по анализу защищенности ВК Эльбрус, выполненной по заказу ЗАО МЦСТ и НИР, выполненной в рамках ФЦП «Кадры». Разработанная система и ее программные модули внедрены в учебный процесс кафедры «Компьютерные системы и технологии» НИЯУ МИФИ и производственный процесс ООО «Голден Интернет».

Апробация. Основные результаты исследований, проводимых в
рамках данной работы, представлены на следующих конференциях:
1-й, 2-й и 3-й Национальный Суперкомпьютерный Форум
(г. Переславль-Залесский, 2012-2014), 16-я, 17-я, и 18-я

Международная телекоммуникационная конференция молодых

ученых и студентов «Молодежь и наука» (г. Москва, 2013-2015), International Conference «The Radio-Electronic Devices and Systems for The Infocommunication Technologies» RES-2013 (Moscow, 2013), Научная сессия НИЯУ МИФИ 2012,2014, 2015 (г. Москва, 2014-2015), 2015 IEEE NW Russia Young Researchers in Electrical and Electronic Engineering Conference ElConRusNW-2015, (St. Petersburg, 2015).

Публикация результатов. По теме диссертации автор имеет 18 печатных работ в том числе: 4 статьи в журналах и сборниках трудов из списка рекомендованных Высшей аттестационной комиссией, 5 работ, индексируемых базой Scopus, одна из которых индексируется также Web of Science.

Основными положениями, выносимыми на защиту,

являются:

  1. Две классификации: современных высокопроизводительных систем хранения и поиска данных и гибридных вычислительных систем.

  2. Математическая модель высокопроизводительной распределенной системы хранения и поиска данных, ориентированной на использование в гибридных вычислительных системах.

  3. Структурная и функциональная модели распределенной системы хранения и поиска данных.

  4. Методы повышения производительности операций поиска и хранения данных в гибридных вычислительных системах.

  5. Способ стохастического преобразования данных, ориентированный на реализацию в гибридных вычислительных системах.

  6. Результаты исследований эффективности разработанной системы распределенного хранения и поиска данных.

Структура и объем диссертационной работы.

Программно-аппаратные решения для высокопроизводительного поиска и хранения данных

Тип используемой подсистемы хранения данных зависит от вида приложения, которое этими данными манипулирует. Конкретные объекты доступа к данным приложения (Data Access Object, DAO) взаимодействуют с системами хранения с определенной организацией, которые можно разделить на три большие категории: реляционные СУБД, NoSQL и файловые системы.

Большинство задач, связанных с хранением данных прикладных программных пакетов решаются при помощи классических реляционных систем управления базами данных (РСУБД) [15]. При этом, сами данные в рамках реляционной модели представляются в виде связанных отношений, состоящих из кортежей. Работа с данными происходит при помощи стандартного языка запросов (SQL). Операции SQL получают и возвращают отношения, благодаря чему процесс может быть формализован с использованием аппарата реляционной алгебры. Любая современная реляционная СУБД имеет встроенные средства защиты информации. Помимо классических механизмов [16] аутентификации и разграничения прав доступа к ресурсам, РСУБД часто поддерживают и шифрование данных. Можно выделить следующие средства обеспечения безопасности при работе с СУБД:

1) Хеширование паролей пользователей СУБД. Используется в случае, если авторизация пользователя информационной системы происходит при помощи встроенных средств аутентификации РСУБД;

2) Хеширование паролей, передаваемых по сети. При передаче пароля по сети происходит его многократное хеширование. На определенных этапах в хешировании может участвовать имя пользователя или «соль», представляющая собой серверную сеансовую переменную;

3) Использование зашифрованного соединения. Современные механизмы конфигурирования позволяют настроить SSL 15 шифрование, указав как хосты из доверенных сетей, так и машины из сетей, соединение с которыми является небезопасным;

4) Шифрование разделов файловой системы. Для защиты данных на дисковых накопителях можно использовать средства операционной системы. Например, во FreeBSD для этого используется утилита GEOM Based Disk Ecryption (gbde), в Linux шифрование строится поверх файловой системы при помощи петлевого устройства (Loop-device);

5) Встроенные функции шифрования данных. Многие РСУБД предоставляют пользователю удобные реализации стандартных алгоритмов шифрования данных (AES, 3DES и пр).

Начиная со второй половины 2000-х активно применяется технология прозрачного шифрования данных (Transparent Data Encryption, TDE). Большинство современных РСУБД поддерживают данную технологию «из коробки»:

1) MSSQL - прозрачное шифрование поддерживается начиная с версии MSSQL 2008; 2) Oracle Database - прозрачное шифрование поддерживается начиная с версии 10gR2; 3) PostgreSQL - за поддержку прозрачного шифрования отвечает модуль pgcrypto; 4) MySQL - имеется несколько коммерческих реализаций TDE. Технология TDE позволяет предотвратить кражу информации из базы данных при физическом доступе к накопителям. Рассмотрим работу механизма на примере РСУБД Oracle Database. Таблица базы данных или отдельные ее колонки шифруются при помощи автоматически сгенерированного табличного ключа. Табличный ключ сохраняется в словаре данных, который, в свою очередь, шифруется при помощи главного ключа. Главный ключ хранится за пределами базы данных в так называемом бумажнике. При обращении за данными сервер прозрачно для пользователя извлекает главный ключ из бумажника, расшифровывает соответствующий табличный ключ и сами данные.

Отрицательным моментом является нарушение работы подсистемы индексирования. Так, например, при использовании предиката LIKE `123%` в отношении зашифрованного столбца будет выполнен полный поиск по таблице. Для незашифрованных данных структура B-дерева гарантирует, что значение с совпадающими первыми символами расположены близко друг от друга. Стоит также учитывать, что шифрование данных является требовательной к ресурсам задачей. Все это приводит к значительному снижению производительности систем хранения данных с поддержкой шифрования.

В зависимости от назначения могут применяться как односерверные, так и распределенные РСУБД. Существует множество способов организовать РСУБД кластерного типа. При этом речь может идти либо о улучшении доступности, либо о повышении производительности. Некоторые системы позволяют организовать производительную систему высокой доступности: Oracle Real Application Cluster, PostgeSQL pgPool-II и др. Стоит отметить, что основная сфера применения РСУБД – сегмент корпоративных приложений с высокими требованиями к доступности и согласованности данных. Соблюсти требования (полный набор которых имеет акроним ACID [17]) позволяет механизм транзакций. Если система односерверная, то транзакции являются локальными и действуют в рамках этой системы. Если система многомашинная – транзакции являются распределенными и действуют в рамках всей системы. Транзакции являются мощным, но в то же время, требовательным к ресурсам механизмом, который при определенных условиях может свести к минимуму выигрыш от использования многосерверных конфигураций РСУБД. Поэтому, перед построением подобных систем анализируется характер запросов за данными. Если запросов на чтение больше, чем запросов на изменение, то использование одноранговых (multi-master) многосерверных конфигураций -возможно. Если доля запросов на изменение значительна, то применяются конфигурации кластера высокой доступности, кластера ведущий-ведомые (когда все запросы на изменение выполняются на одном узле) и гибридные версии. Основной задачей при построении многосерверных РСУБД является сведение к минимуму блокировок удаленных ресурсов при выполнении распределённых транзакций.

Графовые базы данных предназначены для хранения множества сильносвязанных данных. Системы хранения данных, основанные на данном подходе, идеально подходят для организации работы социальных сетей, систем учета предпочтений, биосистем, рекрутинговых систем и т.д. Графовые базы данных, в отличие от реляционных, переносят большую часть работы с момента выборки на момент вставки. Данный аспект позволяет свести к минимуму процесс затраты на навигацию по ребрам графа, что делает графовые базы данных более производительными по сравнению с аналогичными реляционными решениями.

Самыми распространенными графовыми системами хранения данных являются: FlockDB–система, разработанная twitter и способная к горизонтальному масштабированию; Neo4j – одна из старейших графовых баз данных, позволяющая присоединять Java-объекты в качестве свойств ребер и узлов и поддерживающая конфигурацию кластера высокой доступности [18]; InfiniteGraph–распределенная графовая база данных, имеющая в своем составе специальные компоненты (такие как сервер блокировок и сервер данных), позволяющие организовать распределенное хранение и доступ к элементам графа. Хотя графовые системы хранения принято относить к NoSQL-решениям, сходство с последними невелико. Некоторые графовые базы данных поддерживают распределенные конфигурации, однако при определенных условиях это может приводить к снижению производительности [19]. Для работы с кластерными системами существует несколько видов NoSQL-систем.

Согласно концепции многовариантной персистентности (polyglot persistence [20]) для одного приложения следует использовать подсистемы хранения разных типов. Так для финансовых транзакций логично использовать систему хранения, поддерживающую ACID, например, высокопроизводительное РСУБД-решение. Для журналирования действий пользователей, аналитической обработки данных, организации электронных каталогов в последнее время принято использовать специализированные ВСПиХД, называемые NoSQL-системами. Не существует точного определения NoSQL-системы.

Математическое описание характеристик ВСПиХД на основе модели СеМО

Для структурирования описания процесса построения модели СеМО высокопроизводительной распределенной системы хранения и поиска данных генерация СеМО приводится поэтапно.

На первом этапе удобно рассматривать в качестве СеМО всю распределенную систему хранения и поиска данных. В соответствии с принципами теории массового обслуживания, СеМО может быть представлена совокупностью систем массового обслуживания (СМО). СМО изображаются в виде каналов обслуживания (обозначаются на схемах кружком) на входе которых образуется очередь из заявок (обозначается набором прямоугольников). Пути следования заявок в системе обозначаются стрелками.

На рисунке 2.4 представлена схема СеМО, соответствующая системе, представленной ранее на рисунке 2.1. Для формализации задачи введена следующая система обозначений: S - множество серверов доступа к данным, Sj - некоторый отдельно взятый сервер, представленный в виде СМО (/ = , где К - натуральное число); С - система внутрисистемных межсоединений; S - множество узлов хранения данных, S a - некоторый отдельно взятый узел, представленный в виде СМО (а = , где М- натуральное число); Интенсивность входного потока заявок обозначим \вх. Входной поток попадает на вход балансировщика, который равномерно распределяет нагрузку по серверам доступа. При этом на Sj сервер доступа перенаправляется поток с интенсивностью Ij. При этом 1вх и Ij связаны соотношением:

Рисунок 2.4 - Сеть массового обслуживания распределенной системы хранения и поиска данных Интенсивность входных потоков заявок для СМО, составляющих СеМО, зависит от вероятностей передач заявок от одной СМО к другой. Для построения матрицы вероятностей передач введем следующие обозначения: pj0 – вероятность передачи заявки от сервера доступа j во внешнюю среду (вероятность передачи ответа клиенту) pjC – вероятность передачи заявки от сервера доступа j в сеть межсоединений распределенной системы хранения и поиска данных

В таблице 2.1 представлена матрица вероятностей передач в СеМО, соответствующей распределенной системе хранения и поиска данных. Если передача заявки от одной СМО к другой возможна, то на пересечении соответствующих столбца и строки будет указано значение вероятности. Так как распределенная система хранения и поиска данных, как было отмечено ранее, может быть представлена в виде линейной СеМО, то заявки не будут порождаться или уничтожаться самой системой. Поэтому, в данной СеМО заявки могут быть либо переданы от одной СМО к другой, либо «вытолкнуты» из системы, а значит сумма вероятностей в каждой строке матрицы составляет единицу. Например, суммарная вероятность на выходе блока внутрисистемных межсоединений:

Важным условием нормального функционирования высокопроизводительной распределенной системы хранения и поиска данных является условие ее стационарности, т.е. коэффициент загрузки каждой составляющей сеть обслуживания СМО не должен превышать единицы. В противном случае, будет происходить бесконечный рост длины входных очередей, что не только неприемлемо с точки зрения пользователя, но и невозможно в силу физического ограничения по объему памяти буфера входных заявок. Коэффициент загрузки СМО р представляет собой отношение интенсивности поступления заявок X к интенсивности их обработки р.

Время отклика ВСПиХД определяется временем пребывания заявки в СеМО. Известно [82,83], что среднее время пребывания заявки в СеМО может быть рассчитано как отношение суммы произведений интенсивностей поступления заявок на время их обработки в СМО к суммарной интенсивности всех входных потоков заявок в СеМО. Соответствующее выражение, а также его детализация, применительно к ВСПиХД приведено ниже: где , , - интенсивности поступления заявок на серверы доступа, узлы хранения и интерконнект соответственно.

Если балансировщик нагрузки распределяет запросы равномерно, а заявки могут поступать только на входы серверов данных, то согласно уравнению (2.1), соотношение (2.2) преобразуется к следующему виду: . (2.3)

Таким образом, из (2.3) следует, что общая производительность ВСПиХД зависит от интенсивностей поступления заявок на вход подсистем и производительности этих подсистем. Анализируя (2.7) видно, что наибольшая нагрузка приходится на узлы хранения и сеть межсоединений. Также видно, что интенсивность поступления заявок на вход серверов доступа и узлов хранения может быть снижена за счет увеличения количества этих подсистем в ВСПиХД. PjO

Матрица вероятностей передач представлена в таблице 2.2. Вероятность того, что заявка покинет сервер доступа складывается из вероятности того, что заявка будет возвращена пользователю ВСПиХД (pj0) и вероятности передачи заявки во внутреннюю сеть для дальнейшей обработки (pjc). В противном случае (pj) обработка заявки будет продолжена на сервере доступа.

Уменьшение общего времени пребывания заявки на сервере доступа возможно за счет сокращения времени пребывания заявки в каждой из его подсистем. Однако, стоит учитывать, что в (2.11) записано в общем виде. Использование современных методов и средств разработки позволяет исключить зависимость от характеристик работы некоторых подсистем. pa

Структуры данных, используемые прототипом ВСПиХД

На рисунке 3.1 представлена UML-диаграмма развертывания прототипа ВСПиХД. Как известно [99], диаграмма развертывания моделирует физическое размещение программных компонентов (артефактов) по узлам системы. В случае ВСПиХД к узлам можно отнести: сопроцессоры, внешние устройства хранения, серверы доступа, узлы хранения и сеть межсоединений. device Диаграмма развертывания Из рисунка видно, что узел хранения и сервер доступа имеют схожую структуру и состоят из нескольких подузлов. Унифицированными модулями для сервера доступа и узла хранения являются модули: «Сервер» и «CUDA-interface». Первый модуль отвечает за организацию межузлового обмена сообщениями и внешние коммуникации с пользователями ВСПиХД. Второй – за обеспечение интерфейса с сопроцессором (в реализации прототипа системы используется CUDA-сопроцессор). Так как в качестве языка разработки прототипа ВСПиХД выбран Java, то для организации интерфейса с CUDA-ускорителем следует использовать свободно-распространяемую библиотеку jCuda [100] (представлена в виде артефакта jCuda.jar на рисунке 3.1).

Модули планирования, хранения и обработки отвечают за выполнение специфичных для сервера доступа и узла хранения операций. Модуль хранения является реализацией интерфейса «Подсистема хранения» (рисунок 2.17) и отвечает за управление данными в оперативной памяти. Модуль обработки узла хранения выполняет дополнительную обработку сохраняемой информации (шифрование, сжатие, вычисление паттернов и т.д.), задействуя при этом модуль «CUDA-interface». Модуль планирования сервера доступа соответствует классу «Планировщик обработки запросов» (рисунок 2.18). Основной задачей модуля является поддержание согласованности работы модуля обработки и модуля «CUDA-interface» в зависимости от загруженности сервера.

Узлы хранения и серверы доступа соединяются с CUDA-ускорителями. За исполнение параллельного кода ядра CUDA на ускорителе отвечает среда исполнения («CUDA runtime»). Основным отличием взаимодействия «CUDA runtime» и «CUDA-interface» от взаимодействия между остальными модулями узла хранения является наличие шины PCIe между CPU и ускорителем. Несмотря на то, что современные реализации CUDA позволяют управлять единым адресным пространством, фактически, речь идет о взаимодействии двух устройств у каждого из которых своя память и адресное пространство. При этом, CUDA-сопроцессор физически может располагаться либо в одном корпусе с CPU, либо в отдельном блоке сопроцессирования. С точки зрения ВСПиХД наличие интерфейса с ограниченной производительностью между CPU и сопроцессором приводит к дополнительным задержкам запуска программы сопроцессирования. Соответственно, количество обменов между CUDA-устройством и хост-системой (узлом хранения, либо сервером доступа) должно быть сведено к минимуму, а обработка, по возможности, выполняться в пакетном режиме. Аналогичные рассуждения применимы в отношении внешнего устройства хранения, используемого узлом хранения. Выгрузка/загрузка данных в/из внешнего устройства хранения происходит с задержкой, обусловленной характеристиками интерфейса между модулем хранения и внешним устройством хранения.

Таким образом, прототип ВСПиХД архитектурно организован по модульному принципу и предназначен для использования в Java+CUDA окружении. Узлы хранения и серверы доступа физически представлены Java-процессами, исполняющимися на узлах кластерной вычислительной системы, оснащенной CUDA-сопроцессорами. Каждый Java-процесс может управлять CUDA-ускорителем, используя для этого библиотеку jCuda.

Прототип ВСПиХД предназначен для работы с данными в формате «ключ-значение». Некоторые из рассмотренных в п. 1.1.1 NoSQL-систем используют для обмена сообщениями с пользователями высокоуровневый протокол HTTP и текстовые данные, представленные в XML или JSON-формате. Данный подход удобен, если идет речь об интеграции с другими системами, поддерживающими XML или JSON-формат. Однако, следует учитывать, что любой текстовый формат обладает избыточностью, а в результате его использования появляется необходимость в дополнительных операциях кодирования/декодирования. Альтернативой такому подходу является использование бинарного протокола, обладающего меньшей избыточностью. К недостаткам бинарного протокола можно отнести необходимость присутствия в пользовательском приложении специальных модулей (драйверов) для взаимодействия в ВСПиХД.

Для реализации прототипа ВСПиХД был выбран бинарный формат сообщений. Следует отметить, что в соответствии со схемой на рисунке 2.1, в системе осуществляется передача сообщений двух типов: внутреннего и внешнего. Первый тип используется для организации внутрисистемного обмена между серверами доступа и узлами хранения, второй - для организации взаимодействия ВСПиХД и пользователя. При этом шаблоны взаимодействия пользователь-сервер доступа и сервер доступа-узел хранения во многом совпадают. И в одном и в другом случае происходит отправка управляющих воздействий либо выполнение запроса за данными. Поэтому для организации вышеперечисленных взаимодействий в прототипе ВСПиХД используется один и тот же формат протокола, а сами сообщения преобразуются из внешнего представления во внутреннее на сервере доступа.

Конфигурация и настройка стенда для проведения экспериментальных исследований

Под эффективностью системы понимается ее способность решать поставленные задачи с определенным качеством [116] при определенных затратах. Эффективность является сложной интегральной характеристикой работы системы и определяется на основе показателей эффективности. Показатели эффективности – это свойства, характеризующие способность системы решать поставленные задачи.

Для оценки эффективности ВСПиХД, построенной на основе предложенных методов, необходимо выделить критерии эффективности. Основываясь на материалах и выводах предыдущих глав (классификациях ВСПиХД и ГВС, модели исполнения гибридных программ, модели СеМО ВСПиХД, структурном и функциональном описании, архитектуре подсистемы защиты) можно выделить шесть основных критериев эффективности ВСПиХД:

Время отклика системы (К1) Время, которое проходит до получения ответа от ВСПиХД. Складывается из времени, требующегося для достижения запросом сервера доступа ВСПиХД, времени обработки запроса, времени обратной пересылки запроса клиенту. Время отклика системы вычисляется по формуле 4.1: (4.1)

Здесь, – время пребывания заявки внутри ВСПиХД, которое определяется системой (2.34), а – латентность сети между клиентом и сервером ВСПиХД. Стоит отметить, что в общем случае отличается от из формулы (2.2) и зависит от качества соединения между конкретным клиентом и системой. Таким образом, для объективного сравнения различных систем по этому критерию нужно проводить эксперимент с применением одной и той же среды передачи данных. Отношение производительность/потребляемая мощность (К2) Данный показатель можно отнести к подгруппе «экономико-эксплуатационных критериев» [116]. В соответствии с классификацией из главы 1 современные ВСПиХД представляют собой многомашинные вычислительные комплексы, суммарное потребление которых может оказаться значительным. Как известно [117], использование технологий гибридных вычислений позволяет сократить энергопотребление систем на 20-25% при схожих показателях производительности.

Коэффициент загрузки ядер (К3) Данный критерий можно отнести к так называемой подгруппе «ресурсных критериев» [116]. Так как большинство современных программ предназначены для использования в многоядерных вычислительных системах, каждая программа может выполняться посредством множества вычислительных процессов – параллельных потоков исполнения. В общем случае, как следует из формулы (2.29), количество потоков может превышать количество ядер процессора. Степень «задействованности» ядер CPU зависит от количества потоков, алгоритма работы планировщика и определяет эффективность использования CPU программой. Измерение коэффициента загрузки ядер может осуществляться, например, при помощи утилит: Системный монитор (Linux Gnome), uptime (Linux) и др.

Пропускная способность (К4) Определяет производительность ВСПиХД-систем, выраженную в транзакциях (запросах) в секунду. Часто используется наравне с показателем «время отклика» для сравнительного тестирования производительности систем хранения данных [5,26].

Коэффициент влияния процесса шифрования на работу системы (К5) Предложенные в главе 2 средства представляют собой встроенные во ВСПиХД модули и позволяют осуществлять шифрование выгружаемой на внешние носители информации «на лету» с применением ускорителя вычислений. В классических системах также возможно организовать шифрование выгружаемой на диск информации с использованием сторонних утилит и внешних программных модулей. Однако такое решение может снизить производительность системы. Степень влияния процесса шифрования (если таковой поддерживается системой) на скорость работы системы определяет настоящий критерий.

Коэффициент использования ускорителя (К6) Ускоритель является обособленной системой, имеющей в своем составе: вычислительное устройство, память, набор контроллеров, подсистему питания и интерфейс. Термин «использование», в данном случае, является более общим, чем «загрузка». Ни одна из современных ВСПиХД не обладает способностью к использованию ускорителя вычислений (для ускорения поиска и шифрования информации), поэтому применение укрупненных критериев оправдано. В случае прототипа ВСПиХД, использующего для ускорения операций GPGPU-сопроцессор, оценка его использования может проводиться с применением входящих в CUDA SDK утилит профилирования.

Для сравнения предлагаемой системы с аналогами предлагается использовать группу критериев из раздела 4.1 и интегральную функцию . Функция определяется как взвешенная сумма критериев [118]. Каждому критерию ставится в соответствие коэффициент важности . Более важному критерию соответствует большее значение коэффициента w. Общий вид функции представлен в формуле 4.2:

Для определения важности критериев (их весов) применяются различные подходы: турнирные методы [119], метод трехградационных ранжировок [120], метод строчных сумм [121], набор методов из теории важности критериев Подиновского [122] и т.д. Большинство подходов основано на методе парных сравнений, подразумевающем, что лицо принимающее решения (ЛПР) попарно сравнивает между собой критерии.

В данной работе для оценки критериев используется математический аппарат метода анализа иерархий (МАИ) Т. Саати [123]. В МАИ для оценки важности одного критерия относительно другого применяется следующая шкала сравнений [124]: