ISSN 2079-3316 ПРОГРАММНЫЕ СИСТЕМЫ: ТЕОРИЯ И ПРИЛОЖЕНИЯ №2(29), 2016, с. 27-34 УДК 004.33
М. А. Сибиряков
Способы повышения производительности систем хранения данных
Аннотация. В статье рассматриваются основные способы повышения производительности систем хранения данных (СХД).
Определяется направление совершенствования высокопроизводительных СХД (всхд).
Ключевые слова и фразы¡: системы хранения данных, кэш-память.
Введение
Система хранения данных представляет собой сложный аппаратно-программный комплекс, реализующий функции надежного хранения информации (рис. 1). Первые архитектуры таких систем стали появляться в начале 90-х годов прошлого века. Тогда элементная база уже была достаточно развита для возможности создания подобных систем.
Требования к производительности СХД постоянно растут в связи с быстрым увеличением объемов хранимой информации и потребностью в обеспечении быстрого доступа к ней [1—3]. Создается потребность в новых решениях: в разработке новых архитектур, компонентов и более совершенных методов алгоритмов обработки данных в системах хранения. Поэтому основной целью данной публикации является анализ основных способов повышения производительности СХД для определения наиболее актуального направления исследований в этой области.
Работа выполнена при поддержке Российского фонда фундаментальных исследований (проект № 16-37-00153_мол_а «Исследование особенностей доступа к распределенным хранилищам данных в коммутационной сети PCI Express»). © М. А. Сибиряков, 2016
© Поволжский государственный технологический университет, 2016 © Программные системы: теория и приложения, 2016
Рис. 1. Базовая структура СХД
1. Производительность систем хранения данных
Производительность любой СХД определяется параметром ЮР8 (числом операцей ввода, вывода в секунду, которое способна обработать СХД) и временем отклика системы [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Кб<Ь1< 128 Кб
Объем 128 Кб < L2 < 1Мб 1Мб<Ь3< 10 Мб До 4096 Гб
Тип памяти Регистровая, SDRAM DRAM
Размер строки 16, 32, 64 байта 4 Кб
(блока) Кэш строка о П блок Кэш сегмент о Диск трэк
В первую очередь это касается высокопроизводительных СХД. Они обеспечивают очень большие объемы кэш-памяти. Однако, несмотря на то, что существует тенденция наращивания объемов кэш-памяти (в современных ВСХД кэш-память достигает объема в 4 Тб, рис. 2), существует проблема эффективного использования ее ресурсов [1,2,7].
1.2. Сравнение с кэш-памятью процессора
Кэш-память СХД значительно отличается от кэш-памяти процессора. Главными отличиями являются: размер кэш-памяти, тип памяти и размер блока (таблица 1).
Для эффективного использования кэш-памяти процессора достаточно использование алгоритмов вытеснения данных (в основном используются LRU, FIFO и псевдо-LRU) [4,7,12]. В то время как для систем хранения данных необходимы более сложные методы управления кэш-памятью, поскольку кэш-память разделяется несколькими внешними хост-узлами. Требуется разграничение кэша между ними, приоритетный доступ и правильное использование структур данных для эффективной работы алгоритмов вытеснения данных. Все это реализуется с использованием индексных таблиц, эффективных алгоритмов поиска данных.
Заключение
Постоянное наращивание и масштабирование компонент не является единственным способом повышения производительности СХД. Необходимо также развивать и алгоритмы обработки данных.
С точки зрения развития архитектур СХД важным является совершенствование подсистемы кэш-памяти. Повышение эффективности работы кэш-памяти позволит увеличить производительность СХД.
Наиболее перспективными в плане исследования и разработок в этой области являются: методы управления кэш-памятью, алгоритмы замещения и поиска данных в ней.
Список литературы
[1] Е. С. Васяева, М. А. Сибиряков. «Особенности развития высокопроизводительных систем хранения данных», Научному прогрессу творчество молодых, Сборник тезисов VIII Международной молодежной научной конференции по естественнонаучным и техническим дисциплинам. Т. 2, Изд-во ПГТУ, Йошкар-Ола, 2013, с. 152-153. t 27>28>30
[2] М. А. Сибиряков, Е. С. Васяева. «Сравнительный анализ основных моделей интеллектуальных систем хранения данных в процессе их эволюции», Информационные технологии в профессиональной деятельности и научной работе, Сборник тезисов Всероссийской научно-практической конференции. Т. 1, Изд-во ПГТУ, Йошкар-Ола, 2012, с. 99-105. t 27'28'30
[3] M. Farley. Building Storage Networks, second edition, The McGraw-Hill Companies, Inc., 2001, 596 p. t 27,28
[4] J. L. Henessy, D. A. Patterson. Computer Architecture Quantitive Approach, fourth edition, Morgan Kaufmann Publishers, 2007, 676 p. t 30
[5] J. Bruce, W. Ng Spencer, D. T. Wang. Memory Systems Cache, Dram, Disk, Morgan Kaufmann Publishers, 2008, 982 p. t 29
[6] 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. t 28
[7] К. Касперски. Подсистема кэш-памяти как она есть (дата обращения 19.06.2014), URL: http://kpnc.opennet.ru/hw_cach.pdf t 30
[8] Calculating the max IOPS (дата обращения 18.06.2014), URL: http://wikibon.org/wiki/v/Calculating_the_max_IOPS t 28
[9] А. Храмцов. «Технологические тенденции в области систем хранения данных», Rational Enterprise Management, 2010, №3, URL: http: //www.remmag.ru/admin/upload_data/remmag/10-3/Verysell.pdf t 29
[10] Что такое IOPS и что он показывает (дата обращения 18.06.2014), URL: http://pc-hard.ru/hardarticles/87-what-is-iops.html t 28
[11] Д. Серов. Cache Hit и производительность СХД, 2012 (дата обращения 18.06.2014), URL: http://denserov.com/2012/09/29/ t 28
[12] Intel® 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 t
Рекомендовал к публикации Программный комитет
Четвёртого национального суперкомпьютерного форума НСКФ-2015
Об авторе:
Максим Андреевич Сибиряков
Аспирант ПГТУ, 25 лет. Разработки: алгоритмы обработки данных в кэш-памяти систем хранения данных
e-mail: [email protected]
Пример ссылки на эту публикацию:
М. А. Сибиряков. «Способы повышения производительности систем хранения данных», Программные системы: теория и приложения, 2016, 7:2(29), с. 27-34. URL: http://psta.psiras.ru/read/psta2016_2_27-34.pdf
Maksim Sibiryakov. Ways of increasing productivity storage systems. Abstract. The article discusses the main ways to improve the performance of storage systems.
The direction of improvement of high-end storage systems is defined. (In Russian).
Key words and phrases: storage system, cache-memory.
References
[1] E. S. Vasyayeva, M. A. Sibiryakov. "Features of development of high-end storage systems", Nauchnomu progressu tvorchestvo molodykh, Sbornik tezisov VIII Mezhdunarodnoi molodezhnoi nauchnoi konferentsii po yestestvennonauchnym i tekhnicheskim distsiplinam. V. 2, Izd-vo PGTU, Yoshkar-Ola, 2013, pp. 152-153 (in Russian).
[2] M. A. Sibiryakov, E. S. Vasyayeva. "Comparative analysis of the main models of intelligent storage systems in the course of their evolution", Informatsionnyye tekhnologii v professional'noy deyatel'nosti i nauchnoy rabote, Sbornik tezisov Vserossiyskoi nauchno-prakticheskoi konferentsii. V. 1, Izd-vo PGTU, Yoshkar-Ola, 2012, pp. 99-105 (in Russian).
[3] M. Farley. Building Storage Networks, second edition, The McGraw-Hill Companies, Inc., 2001, 596 p.
[4] J. L. Henessy, D. A. Patterson. Computer Architecture Quantitive Approach, fourth edition, Morgan Kaufmann Publishers, 2007, 676 p.
[5] J. Bruce, W. Ng Spencer, D.T. Wang. Memory Systems Cache, Dram, Disk, Morgan Kaufmann Publishers, 2008, 982 p.
[6] 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.
[7] K. Kasperski. The cache memory subsystem as it is (data obrashcheniya 19.06.2014) (in Russian), URL: http://kpnc.opennet.ru/hw_cach.pdf
[8] Calculating the max IOPS (data obrashcheniya 18.06.2014), URL: http://wikibon.org/wiki/v/Calculating_the_max_IOPS
[9] A. Khramtsov. "Tekhnologicheskiye tendentsii v oblasti sistem khraneniya dannykh", Rational Enterprise Management, 2010, no.3 (in Russian), URL: http://www.remmag.ru/admin/upload_data/remmag/10-3/Verysell.pdf
[10] Chto takoye IOPS i chto on pokazyvayet (data obrashcheniya 18.06.2014) (in Russian), URL: http://pc-hard.ru/hardarticles/87-what-is-iops.html
[11] D. Serov. Cache Hit i proizvoditel'nost' SKhD, 2012 (data obrashcheniya 18.06.2014) (in Russian), URL: http://denserov.com/2012/09/29/
[12] Intel ® 64 and IA-32 Architectures Optimization Reference Manual, Intel (data obrashcheniya 19.06.2014), URL: http://www.intel.com/content/dam/doc/ manual/64-ia-32-architectures-optimization-manual.pdf
© M. A. Sibiryakov, 2016
© Volga State University of Technology, 2016 © Program systems: Theory and Applications, 2016
Sample citation of this publication:
Maksim Sibiryakov. "Ways of increasing productivity storage systems", Program systems: theory and applications, 2016, 7:2(29), pp. 27-34. (In Russian). URL: http://psta.psiras.ru/read/psta2016_2_27- 34.pdf