Тема: Автоматическая настройка параметров тиринга, зависящая от входящей нагрузки, в системе хранения данных
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1. Постановка задачи 7
2. Обзор 8
2.1. Алгоритмы идентификации 8
2.1.1. Window-based Direct Address Counting 8
2.1.2. Multiple Hash Function 9
2.1.3. HotDataTrap 10
2.2. Существующие решения 12
2.2.1. Easy Tier в IBM SVC 12
2.2.2. EMC Fast VP 12
2.3. Linux Kernel Module Programming 13
2.4. Средства тестирования 13
3. Реализация двухуровневого и трёхуровневого тира 15
4. Алгоритм идентификации ’’горячих” данных 17
5. Функциональное тестирование и измерение производительности 18
5.1. Схема экспериментов 18
5.2. Тестирование корректности алгоритма 19
5.3. Тест производительности SSD-RAID 21
5.4. Тестирование параметров тира 22
5.4.1. Тест типа данных Bloom Filter 22
5.4.2. Тест на определение количества хэш-функций 23
5.4.3. Тесты на определение размера Bloom Filter 26
5.5. Исследование поведения системы при различных типах нагрузки 27
5.5.1. Сравнение с тиром без миграции 27
5.5.2. Тестирование миграции при нагрузке на SSD-RAID 29
5.6. Объём метаданных 30
Заключение 32
Список литературы 33
📖 Введение
Для увеличения производительности и обеспечения сохранности информации систем хранения данных используется технология RAID, объединяющая множество дисков в один логический массив [13]. Самым простым случаем данной технологии является RAID 0, не обеспечивающая сохранности информации при отказе диска, зато отсутствует избыточность при хранении информации. Следующие уровни позволяют предотвращать потерю данных, но с потерей скорости работы или с большими финансовыми затратами из-за избыточности.
Информацию, с которой работают различные СХД, можно условно разделить на ’’горячую” и ’’холодную”, основываясь на предположении, будет ли она необходима, и как часто будут к ней обращения в будущем. Первостепенная задача в этой области - умение идентифицировать ’горячие” данные [9]. Правильность решения проблемы идентификации напрямую будет влиять на производительность всей системы. Если поместить SSD между основной памятью (RAM) и HDD, то флэш-память будет энергонезависимым кэшом второго уровня. В свою очередь, ускорение системы будет достигаться перемещением ”горячих” данных на SSD или на SSD, обладающим поддержкой спецификации NVM Express, а ’холодных” на HDD, соответственно [1]. Получившаяся многоуровневая система хранения данных называется тир (от англ. tiered storage - многоуровневое хранение). Уровней иерархии может быть сколько угодно, но, как правило, используется два или три.
Бакалаврская работа выполнялась в системе RAIDIX. Raidix - программное обеспечение для систем хранения данных, разработанное компанией ООО ”Рэйдикс” [10]. Данное решение обладает необходимым функционалом для создания и дальнейшего обеспечения работы механизма тиринга: позволяет создавать RAID-массивы, объединять их в тома, подключать плагины, позволяющие работать с системой хранения данных. Поддерживается параллельный доступ к информации, совместная работа над данными.
✅ Заключение
• проведён анализ алгоритмов распределения данных и выбран алгоритм наилучшим образом удовлетворяющий потребностям СХД RAIDIX;
• реализован прототип модуля, организующий миграцию данных между уровнями хранения;
• проведено тестирование производительности с использованием синтетической нагрузки;
• на основании тестирования произведён выбор ключевых параметров алгоритма.





