Способы повышения производительности систем хранения данных

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: maxover777@bk.ru

Пример ссылки на эту публикацию:

М. А. Сибиряков. «Способы повышения производительности систем хранения данных», Программные системы: теория и приложения, 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