Способы повышения производительности систем хранения данных
Автор: Сибиряков Максим Андреевич
Журнал: Программные системы: теория и приложения @programmnye-sistemy
Рубрика: Программное и аппаратное обеспечение распределенных и суперкомпьютерных систем
Статья в выпуске: 2 (29) т.7, 2016 года.
Бесплатный доступ
В статье рассматриваются основные способы повышения производительности систем хранения данных (СХД). Определяется направление совершенствования высокопроизводительных СХД (ВСХД)
Кэш/память, системы хранения данных
Короткий адрес: https://sciup.org/14336192
IDR: 14336192
Текст научной статьи Способы повышения производительности систем хранения данных
Система хранения данных представляет собой сложный аппаратно-программный комплекс, реализующий функции надежного хранения информации (рис. 1) . Первые архитектуры таких систем стали появляться в начале 90-х годов прошлого века. Тогда элементная база уже была достаточно развита для возможности создания подобных систем.
Требования к производительности СХД постоянно растут в связи с быстрым увеличением объемов хранимой информации и потребностью в обеспечении быстрого доступа к ней [1 –3] . Создается потребность в новых решениях: в разработке новых архитектур, компонентов и более совершенных методов алгоритмов обработки данных в системах хранения. Поэтому основной целью данной публикации является анализ основных способов повышения производительности СХД для определения наиболее актуального направления исследований в этой области.
Работа выполнена при поддержке Российского фонда фундаментальных исследований (проект № 16-37-00153_мол_а «Исследование особенностей доступа к распределенным хранилищам данных в коммутационной сети PCI Express»).
○c М. А. Сибиряков, 2016
○c Поволжский государственный технологический университет, 2016
○c Программные системы: теория и приложения, 2016

Рис. 1. Базовая структура СХД
-
1 . Производительность систем хранения данных
Производительность любой СХД определяется параметром IOPS (числом операций ввода вывода в секунду, которое способна обработать СХД) и временем отклика системы [6, 8, 10 , 11] . Данные параметры зависят от архитектурных особенностей системы и от характеристик ее компонент.
Существует два основных способа повышения производительности СХД [2] :
-
∙ применение более быстрых систем и компонентов;
-
∙ разработка улучшенных алгоритмов обработки.
В основном производительность подобных систем повышается первым способом, за счет использования более быстрых и производительных компонентов (таких как процессоры, коммутационные структуры и др.), за счет увеличения их числа и наращивания объемов кэшпамяти [1 –3] . Причиной эт о го является получение быстрой коммерческой выгоды компаниями-разработчиками за счет модернизации и масштабирования уже существующих си ст ем. Это самый простой путь, в отличии от исследований в области разработки алгоритмов обработки, которые требуют больших затрат и большего времени на коммерческую отдачу.
-
1.1. Кэш-память в СХД
В любых вычислительных системах память всегда являлась узким местом в плане производительности. Также и в системах хранения данных кэш-память является основным компонентом, влияющим на производительность всей системы.

Рис. 2. Тенденция роста объема кэша в ВСХД
Рассмотрим основные параметры, влияющие на производительность подсистемы кэш-памяти. Производительность кэш-памяти определяется следующим образом [5] :
T_average = T_hit + MissRate*T_miss, где T_average — среднее время доступа к памяти, T_hit — время доступа при кэш-попадании, MissRate — доля промахов при обращении к кэшпамяти, T_miss — время выборки данных из основной памяти (RAM, HDD).
Соответственно, чем меньше значение параметра T_average , тем выше производительность и эффективность работы кэш-памяти.
Для повышения скорости доступа к данным (т.е. снижения среднего времени доступа) необходимо:
∙ Уменьшение параметра MissRate . Данный параметр зависит от организации кэш-памяти (ассоциативность, размер блока), от ее объемов, алгоритмов вытеснения данных.
∙ Уменьшение параметров T_hit и T_miss . Они зависят от используемой аппаратной логики. Параметр T_hit в большей степени зависит от алгоритмов поиска данных в кэш-памяти.
При обработке больших объемов информации именно кэширование позволяет значительно увеличить скорость доступа к данным, а, следовательно, повысить производительность кэш-памяти и системы хранения данных в целом [9] .
Таблица 1. Сравнение кэш-памяти процессора и СХД
Параметры |
Кэш-память процессора |
Кэш-память СХД |
Объем |
8Кб
128Кб |
До 4096 Гб |
Тип памяти |
1Мб Регистровая, SDRAM |
DRAM |
Размер строки |
16, 32, 64 байта |
4 Кб |
(блока) |
Кэш_строка ↔ П_блок |
Кэш_сегмент ↔ Диск_трэк |
В первую очередь это касается высокопроизводительных СХД. Они обеспечивают очень большие объемы кэш-памяти. Однако, несмотря на то, что существует тенденция наращивания объемов кэш-памяти (в современных ВСХД кэш-память достигает объема в 4 Тб, рис. 2) , существует проблема эффективного использования ее ресурсов [1, 2, 7] .
-
1.2. Сравнение с кэш-памятью процессора
Кэш-память СХД значительно отличается от кэш-памяти процессора. Главными отличиями являются: размер кэш-памяти, тип памяти и размер блока (таблица 1) .
Для эффективного использования кэш-памяти процессора достаточно использование алгоритмов вытеснения данных (в основном используются LRU, FIFO и псевдо-LRU) [4 , 7 , 12] . В то время как для систем хранения данных необходимы более сложные методы управления кэш-памятью, поскольку кэш-память разделяется несколькими внешними хост-узлами. Требуется разграничение кэша между ними, приоритетный доступ и правильное использование структур данных для эффективной работы алгоритмов вытеснения данных. Все это реализуется с использованием индексных таблиц, эффективных алгоритмов поиска данных.
Заключение
Постоянное наращивание и масштабирование компонент не является единственным способом повышения производительности СХД. Необходимо также развивать и алгоритмы обработки данных.
С точки зрения развития архитектур СХД важным является совершенствование подсистемы кэш-памяти. Повышение эффективности работы кэш-памяти позволит увеличить производительность СХД.
Наиболее перспективными в плане исследования и разработок в этой области являются: методы управления кэш-памятью, алгоритмы замещения и поиска данных в ней.
Список литературы Способы повышения производительности систем хранения данных
- Е. С. Васяева, М. А. Сибиряков. Особенности развития высокопроизводительных систем хранения данных//Научному прогрессу творчество молодых, Сборник тезисов VIII Международной молодежной научной конференции по естественнонаучным и техническим дисциплинам. Т. 2, Изд-во ПГТУ, Йошкар-Ола, 2013. С. 152-153.
- М. А. Сибиряков, Е. С. Васяева. Сравнительный анализ основных моделей интеллектуальных систем хранения данных в процессе их эволюции//Информационные технологии в профессиональной деятельности и научной работе, Сборник тезисов Всероссийской научно-практической конференции. Т. 1, Изд-во ПГТУ, Йошкар-Ола, 2012. С. 99-105.
- M. Farley. Building Storage Networks, second edition, The McGraw-Hill Companies, Inc., 2001, 596 p.
- J. L. Henessy, D. A. Patterson. Computer Architecrure Quantitive Approach, fourth edition, Morgan Kaufmann Publishers, 2007, 676 p.
- J. Bruce, W. Ng Spencer, D. T. Wang. Memory Systems Cache, Dram, Disk, Morgan Kaufmann Publishers, 2008, 982 p.
- J. Krischer. White paper: Storage is Still Not a Commodity: an Updated Comparison of High End Storage Subsystems, Associates GmbH, 9 August 2009, 24 p.
- К. Касперски. Подсистема кэш-памяти как она есть (дата обращения 19.06.2014), URL: http://kpnc.opennet.ru/hw_cach.pdf.
- Calculating the max IOPS (дата обращения 18.06.2014), URL: http://wikibon.org/wiki/v/Calculating_the_max_IOPS.
- А. Храмцов. Технологические тенденции в области систем хранения данных//Rational Enterprise Management, 2010, №3, URL: http://www.remmag.ru/admin/upload_data/remmag/10-3/Verysell.pdf.
- Что такое IOPS и что он показывает (дата обращения 18.06.2014), URL: http://pc-hard.ru/hardarticles/87-what-is-iops.html.
- Д. Серов. Cache Hit и производительность СХД, 2012 (дата обращения 18.06.2014), URL: http://denserov.com/2012/09/29/.
- Intel r 64 and IA-32 Architectures Optimization Reference Manual, Intel (дата обращения 19.06.2014), URL: http://www.intel.com/content/dam/doc/manual/64-ia-32-architectures-optimization-manual.pdf.