Научная статья на тему 'Модель надежности распределенной системы хранения данных в условиях явных и скрытых дисковых сбоев'

Модель надежности распределенной системы хранения данных в условиях явных и скрытых дисковых сбоев Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
591
212
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СРЕДНЕЕ ВРЕМЯ ДО ОТКАЗА (MTTF) / ЦЕПИ МАРКОВА / ИЗБЫТОЧНОЕ КОДИРОВАНИЕ / ЗАДАЧА ГЮЙГЕНСА О РАЗОРЕНИИ ИГРОКА / РАСПРЕДЕЛЕННОЕ ХРАНИЛИЩЕ ДАННЫХ / ПРОЦЕДУРА СКРАББИНГА / КОНТРОЛЬНЫЕ СУММЫ / MTTDL РАСПРЕДЕЛЕННОГО ХРАНИЛИЩА ДАННЫХ / ДИСКОВЫЕ СБОИ / СКРЫТЫЕ БИТОВЫЕ ОШИБКИ / СЕКТОРНЫЕ ОШИБКИ / MEAN TIME TO FAILURE (MTTF) / MARKOV CHAINS / REDUNDANT ENCODING / HUYGENS' GAMBLER''S RUIN PROBLEM / DISTRIBUTED DATA STORAGE / SCRUBBING PROCEDURE / CHECKSUMS / MTTDL OF DISTRIBUTED DATA STORAGE / DISK FAULTS / IRRECOVERABLE BIT ERRORS / LATENT SECTOR ERRORS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Иваничкина Л. В., Непорада А. П.

В настоящей работе рассматривается подход к расчёту надёжности хранилища данных, учитывающий как явные дисковые сбои, так и скрытые битовые ошибки, а также процедуры их выявления. Для расчёта надёжности предлагается новая математическая модель аналитического описания распределенного хранилища, описывающая динамику потерь и восстановления данных на основе Марковских цепей, соответствующих разным схемам избыточного кодирования. Рассматриваются преимущества разработанной модели по сравнению с классическими моделями для традиционных RAID-массивов. Исследуется влияние скрытых ошибок жестких дисков без учёта других битовых сбоев, возникающих в остальных аппаратных компонентах вычислительной машины. Оценка надёжности осуществляется согласно новым аналитическим формулам на основе критерия среднего времени до отказа, при котором утрата данных превышает порог восстанавливаемости, определяемый параметрами избыточного кодирования. Приводятся новые аналитические зависимости среднего времени жизни хранилища от среднего времени полной проверки данных в нём.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

This work examines the approach to the estimation of the data storage reliability that accounts for both explicit disk faults and latent bit errors as well as procedures to detect them. A new analytical math model of the failure and recovery events in the distributed data storage is proposed to calculate reliability. The model describes dynamics of the data loss and recovery based on Markov chains corresponding to the different schemes of redundant encoding. Advantages of the developed model as compared to classical models for traditional RAIDs are covered. Influence of latent HDD errors is considered, while other bit faults occurring in the other hardware components of the machine are omitted. Reliability is estimated according to new analytical formulas for calculation of the mean time to failure, at which data loss exceeds the recoverability threshold defined by the redundant encoding parameters. New analytical dependencies between the storage average lifetime until the data loss and the mean time for complete verification of the storage data are given.

Текст научной работы на тему «Модель надежности распределенной системы хранения данных в условиях явных и скрытых дисковых сбоев»

Труды ИСП РАН, том 27, вып. б, 2015 г..

Модель надежности распределенной системы хранения данных в условиях явных и скрытых дисковых сбоев

1Л. В. Иеаничкина <[email protected]>

2А.П. Непорада <[email protected]>

1 ООО Проект ИКС, 127566, Россия, г. Москва, Алтуфьевское ш, дом 44 2000Акронис, 127566, Россия, г. Москва, Алтуфьевское ш, дом 44

Аннотация. В настоящей работе рассматривается подход к расчёту надёжности хранилища данных, учитывающий как явные дисковые сбои, так и скрытые битовые ошибки, а также процедуры их выявления. Для расчёта надёжности предлагается новая математическая модель аналитического описания распределенного хранилища, описывающая динамику потерь и восстановления данных на основе Марковских цепей, соответствующих разным схемам избыточного кодирования. Рассматриваются преимущества разработанной модели по сравнению с классическими моделями для традиционных RAID-массивов. Исследуется влияние скрытых ошибок жестких дисков без учёта других битовых сбоев, возникающих в остальных аппаратных компонентах вычислительной машины. Оценка надёжности осуществляется согласно новым аналитическим формулам на основе критерия среднего времени до отказа, при котором утрата данных превышает порог восстанавливаемости, определяемый параметрами избыточного кодирования. Приводятся новые аналитические зависимости среднего времени жизни хранилища от среднего времени полной проверки данных в нём.

Ключевые слова: Среднее время до отказа (MTTF); цепи Маркова; избыточное кодирование; задача Гюйгенса о разорении игрока; распределенное хранилище данных; процедура скраббинга; контрольные суммы; MTTDL распределенного хранилища данных; дисковые сбои; скрытые битовые ошибки; секторные ошибки.

1. Введение

Хранилища данных петабайтного объема состоят из большого количества накопителей на жёстких магнитных дисках. Сохранность данных в распределенной системе в значительной степени зависит от надежности и рабочих характеристик используемых жестких дисков. Обеспечение надёжности хранилища в целом является важной прикладной задачей, сложность решения которой возрастает по мере увеличения количества задействованных накопителей.

253

Trudy ISP RAN [The Proceedings of ISP RAS], vol. 27, issue 6, 2015.

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

Модель надёжности хранилища, описывающая серии отказов и замен жестких дисков до выполнения определенного условия, соответствует некоторой задаче Гюйгенса о разорении игрока. В классе задач Гюйгенса рассматривается игра с ограниченной начальной суммой при фиксированной ставке и известным математическим ожиданием выигрыша на каждом раунде, проводимая либо до приумножения начального капитала, либо до его полной потери. Широко используются два эквивалентных подхода к решению этой задачи, а именно: испытания Бернулли и случайное блуждание. Так, в методе случайного блуждания рассматривается стохастическое перемещение игрока по дискретным состояниям в зависимости от исхода очередного раунда.

В модели надёжности хранилища при допущении равнозначности и независимости всех дисков дискретные состояния соответствует количеству исправных дисков. Переход из состояния в состояние определяется явным сбоем, который обнаруживается сразу после возникновения. К таким сбоям относят, в частности, отказ программно-аппаратной части жесткого диска. Поскольку в реальных приложениях применяется резервирование, сохранность данных обеспечивается при выходе из строя некоторой части накопителей. Максимальный порог отказавших дисков, выше которого происходит безвозвратная потеря данных, определяется схемой и параметрами избыточного хранения.

Еще одной технической особенностью жестких дисков является возникновение скрытых битовых ошибок, не выявляемых непосредственно на момент их возникновения. Битовые ошибки искажают хранимые данные, но не влияют на физическое функционирование устройства. Поскольку процедура восстановления запускается только после обнаружения ошибок, скрытые битовые ошибки отрицательно влияют на надёжность хранилища. Этот класс ошибок относится к невосстановимым ошибкам чтения (irrecoverable read errors) и должен приниматься во внимание при проектировании хранилища данных.

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

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

254

Труды ИСП РАН, том 27, вып. 6, 2015 г..

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

Второй подход к проверке контрольных сумм предполагает наличие в хранилище данных централизованного сервиса, который управляет непрерывным процессом проверки контрольных сумм фрагментов, этот подход также известен как скраббинг (scrubbing). При этом централизованному сервису необязательно самостоятельно заниматься пересчетом контрольных сумм, достаточно, чтобы он организовывал хранение информации, необходимой для проверки данных, а также посылал команды проверки данных сервисам хранения. Таким образом, нагрузка, связанная с проверкой данных, будет распределена по всему хранилищу. Интенсивность работы такого процесса принято оценивать через ожидаемое время проверки всего объема данных, которые содержатся в хранилище, и может составлять от нескольких суток до нескольких недель.

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

2. Обзор литературы

Классические модели надёжности хранения данных, построенные на основе Марковских цепей в непрерывном времени, дают ориентировочное представление о среднем времени до потери данных (MTTDL) хранилища, но не учитывают возникающие на дисках битовые ошибки. Эти модели рассмотрены в ряде работ (например, [1,2,3,4]) по исследованию надежности RAID-массивов в условиях явных дисковых сбоев. За последние годы всё больше научных работ посвящается построению расширенных Марковских моделей надёжности, включающих математические описания скрытых дисковых ошибок и процессов их обнаружения. Так, например, недостатки классических моделей с одномерными Марковскими цепями без учёта памяти подробно описаны в широко известной работе [5]. Контраргументы, в которых показана пригодность Марковских цепей для моделирования надёжности, приводятся в работе [6], где эффект памяти воспроизводится в рамках более точного детального описания системы увеличенным количеством состояний и переходов между ними. Оригинальная модель для RAID-массива из SSD-накопителей с ростом интенсивности ошибок по мере износа предложена в работе [7]. Например, в работах [8,9,10,11] рассмотрено последовательное обобщение модели надёжности MTTDL для RAID-массивов на случаи возникновения скрытых невосстановимых секторных ошибок чтения, и применения процедуры проверки контрольных сумм. В опубликованных работах исследование свойств двумерной Марковской модели в силу её сложности осуществляется имитационными численными методами,

255

Trudy ISP RAN [The Proceedings of ISP RAS], vol. 27, issue 6, 2015.

включающими методы статистического моделирования. Несмотря на сложность описания двумерных цепей, Марковские модели остаются привлекательными для использования, поскольку позволяют оценивать надежность хранения данных для произвольной схемы избыточного кодирования, учитывать различные типы дисковых сбоев, различные состояния компонентов хранилища, а также различные политики замены сбойных компонентов и восстановления данных, такие как параллельное и последовательное восстановление, разные интенсивности восстановления для разного количества потерянных фрагментов. В отличие от имитационного моделирования, основанного на статистических испытаниях Монте-Карло, данный метод позволяет получить точное аналитическое выражение для надежности хранилища в рамках данной модели, а аналитическое выражение может быть использовано для выявления некоторых функциональных зависимостей между параметрами модели. Кроме того, Марковские модели сохраняют значительное преимущество в производительности и скорости расчётов (до 150 раз, см. [6]) по сравнению с полномасштабным имитационным моделированием.

Представленная модель развивает идеи описания традиционных аппаратных средств локального хранения данных в RAID-массивах из отдельных дисков и рассматривает перспективные распределенные системы хранения данных с избыточным кодированием [12], где отдельные фрагменты блоков данных не привязаны к дискам и перемещаются при репликации или балансировке нагрузки. В разработанной математической модели переопределяется семантика классических моделей для RAID-систем — состояния соответствуют фрагментам блока с избыточным кодированием, а не дискам. Аналогичным образом переходы из состояния в состояние описывают потерю или восстановление фрагмента данных, а не выход из строя индивидуального накопителя.

3. Базовая математическая модель

Пусть имеется блок данных, составленный из п закодированных фрагментов, в которых к фрагментов соответствуют исходным данным, а остальные (п — к) фрагментов — контрольным суммам. При этом пусть схема кодирования такова, что для восстановления данных достаточно любых к фрагментов. Блок данных характеризуется следующим набором состояний St : состояние 50 - все п фрагментов доступны и ни одного фрагмента не повреждено, состояние - поврежден один фрагмент, состояние S2 -повреждено 2 фрагмента, ..., состояние Sn_k - повреждено (п — к) фрагментов, состояние Sn_k+1 - повреждено больше, чем (п — к) фрагментов, что означает невозможность восстановить блок, т.е. потерю данных блока. Состояние (п — к + 1) в дальнейшем удобно обозначить названием DL (“data loss”) для выделения среди всех остальных состояний. Состояние DL является абсорбирующим, поскольку для него отсутствуют возвратные переходы в

256

Труды ИСП РАН, том 27, вып. 6, 2015 г..

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

Переход между состояниями системы описывает потерю фрагментов данных в блоке из-за сбоев дисковых накопителей. В качестве первого упрощающего допущения можно принять, что дисковые сбои подчиняются Пуассоновскому распределению, согласно которому вероятность выхода диска из строя в течение какого-либо периода времени не зависит от возраста диска. Выход из строя диска означает полную потерю хранящихся на нем данных, таким образом, потерянные фрагменты могут быть восстановлены только с использованием фрагментов, которые располагаются на работающих дисках. Пусть интенсивность дисковых отказов равна А, это означает, что ожидаемое время функционирования диска до отказа составляет 1/А. Для преобладающего большинства моделей дисковых накопителей интенсивность отказов составляет порядка 10-9 секунды. Вероятность сбоя диска в течение интервала времени [0, t) определяется интенсивностью дисковых отказов и равна Pr(tF < t) = 1 — e~lt.

Вторым общепринятым допущением является предположение о независимости в совокупности сбоев индивидуальных дисков. В этом случае для п работающих дисков суммарная интенсивность отказов равна пЛ, а ожидаемое время до сбоя (MTTF) хотя бы одного диска из п равно 1/(пЛ). Отказ диска определяет переход модели из состояния 5г с I неработающими дисками в состояние 5г+1 с (1 + 1) неработающими дисками. Поскольку в моделях с непрерывным временем совпадение моментов выхода из строя двух любых дисков считается случайным событием нулевой меры, можно считать, что непосредственные переходы между состояниями, различающимися более чем на один работающий диск, имеют нулевую вероятность, несмотря на априорную возможность самого такого события. Таким образом в модели определяющими событиями являются единичные дисковые сбои.

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

257

Trudy ISP RAN [The Proceedings of ISP RAS], vol. 27, issue 6, 2015.

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

4. Расширенная модель

В этом разделе раскрыты характеристики стилей, используемых в данном документе.

4.1 Частота невосстановимых ошибок чтения

Как правило, частота невосстановимых ошибок чтения указывается производителем в спецификации диска и составляет порядка одной ошибки на 1014 битов или порядка одной ошибки на 11 Тб прочитанных с диска данных. С целью учета этого параметра в предложенной модели необходимо оценить, насколько часто такие ошибки будут происходить в течение жизни хранилища, а для этого требуется оценка среднего количества данных, которое в среднем считывается с одного диска в датацентре на протяжении некоторого характерного интервала времени, например, в течение года. Среднюю интенсивность доступа к диску можно оценить, исходя из средней загруженности диска, указанную в спецификации. Пусть ожидаемая загруженность диска составляет порядка 20%, т.е. в течение 20% времени происходит доступ к диску, а 80% времени диск простаивает. Тогда установившаяся скорость последовательного чтения с диска равна 140 Мб/с, тогда в течение года с диска будет прочитано (140 • 0.2 • 3600 • 24 • 365)/ 1024 = 862312Гб или около 842 Тб. Исходя из этого, частоту невосстановимых битовых ошибок для одного диска по порядку величины можно оценить как 77 ошибок в год. Пусть размер диска составляет 2 Тб и он заполнен наполовину, а характерный размер одного фрагмента данных в хранилище равен 50 Мб, тогда средняя частота ошибок при чтении выбранного фрагмента блока данных будет равна приблизительно 0.00367 ошибок в год или около 1 ошибки в течение 272 лет.

В разработанную модель добавлен параметр с — частота невосстановимых ошибок чтения для одного фрагмента блока данных, в частном случае равная 272лет-1. Этот параметр сравним по величине с интенсивностью дисковых сбоев, которую для дисков с МТ1Г-200000 часов можно оценить как 23лет-1, и должен быть учтен при оценке MTTDL хранилища данных.

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

258

Труды ИСП РАН, том 27, вып. 6, 2015 г..

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

4.2 Ожидаемое время полной проверки данных в датацентре

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

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

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

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

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

259

Trudy ISP RAN [The Proceedings of ISP RAS], vol. 27, issue 6, 2015.

не одномерном пространстве состояний Марковской цепи, в отличие от классической модели.

Пусть состояние системы (1,т) характеризуется явными сбоями I дисков, а также т скрытыми повреждениями фрагментов. При этом скрытые повреждения фрагментов учитываются только для работоспособных дисков, т.к. данные на вышедших из строя дисках считаются недоступными для чтения.

Можно отметить, что значение суммы (I + т) для состояния, в котором данные блока все еще можно восстановить, ограничено сверху количеством фрагментов, которые можно утратить в данной схеме помехоустойчивого кодирования без потери данных, т.е. для такого состояния выполняется неравенство 0 <1+т<п — к. Для состояний с условием I + т > п — к, данные блока восстановлению не подлежат, поэтому вне зависимости от соотношения скрытых и явных повреждений все эти состояния можно объединить в одно состояние DL («data loss»).

Таким образом общее количество состояний в системе, не считая состояния DL, будет равно

Первый тип переходов между состояниями описывает дисковые сбои. Для состояния (1,т) возможны два варианта переходов. Во-первых, может выйти из строя диск, соответствующий одному из поврежденных фрагментов и система с интенсивностью тЛ перейдет в состояние (/ + 1, m — 1). Во-вторых, может отказать диск, соответствующий одному из неповрежденных фрагментов, и система с интенсивностью (п — 1)Л перейдет в состояние (I + 1 ,гп).

Второй тип переходов — это переходы из-за битовых ошибок в состояния со скрытыми повреждениями. Из-за битовых ошибок возможен переход из состояния (1,т) в состояние (/, т + 1) с интенсивностью (п — I — т)с. При таком переходе не учитывается возникновение скрытых битовых ошибок в уже вышедших из строя дисках, а также не рассматривается возможность появления новых битовых ошибок в уже поврежденных фрагментах, т.к. эти события не меняют состояния системы.

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

п—к+1

i=1

260

Труды ИСП РАН, том 27, вып. 6, 2015 г..

значения MTTDL для процессов последовательного и параллельного восстановления данных не отличаются в случае, когда интенсивности процессов восстановления намного выше интенсивности дисковых сбоев. В зависимости от состояния системы интенсивность перехода в состояние (0,0) меняется следующим образом - для состояний вида (1,0), I > 0 интенсивность равна д, для состояний вида (0, т),т> 0 интенсивность равна а, а для состояний вида (I, т), I > 0, т > 0 интенсивность равна (а + д).

Переходы в состояние DL в новой модели отличаются от переходов в другие состояния, т.к. состояние DL объединяет в себе множество состояний. В состояние DL система может перейти из состояний вида (i,n — k — i), где 0 < i < п — к. Интенсивность перехода в состояние DL для любого из этих состояний равна /с (А + с).

4.3 Расчет MTTDL с учетом невосстановимых битовых ошибок и процесса проверки контрольных сумм

До перехода к описанию модели с произвольными параметрами пик для наглядност целесообразно рассмотреть практически важные частные случаи расчета MTTDL со значениями п — к = 1 и п — к = 2. Прикладная эффективность этих наборов параметров для использования в локально восстановимых кодах (Locally Repairable Codes, LRC) показана в работе [12]. Схемы состояний системы и переходов меяеду ними для этих случаев приведены на рис. 1 и рис. 2. Алгоритм расчета в целом аналогичен расчетам для классической модели.

пЛ (п — l) (А + с)

Рис. 1. Интенсивности переходов в Марковской цепи для случая п- k = 1

261

Trudy ISP RAN [The Proceedings of ISP RAS], vol. 27, issue 6, 2015.

Пусть Qi m — вероятность того, что система перейдет из начального состояния (I, т) в состояние DL до того, как окажется в состоянии (0,0), где отсутствуют скрытые или явные сбои. Из определения Ql m следует, что <30,о = 0, a QDL = 1.

Значение Qlfi выражается через вероятности Q0 0 и QDL для состояний, в которые можно перейти из состояния (1,0):

Ql’° = ц + (п - Ш + с) + (п~ 1)(Я + C)Qdl^‘

В этом пункте и далее при проведении расчетов предполагается, что значения параметров Лис пренебрежимо малы по сравнению со значениями параметров ц и а. Учитывая, что Q0fl = 0, QDL = 1 и отбрасывая пренебрежимо малые члены, можно получить:

(п - 1)(Я + с)

1,0 М

Значение Q0jl выражается следующим образом:

<3од = а + Л + (п — 1)(А + с) (aQo’° + AQlfi + {П~ 1)(Я + c)Qdl^ Можно заметить, что член Л(210~Л(Л + с), а член (п — 1)(А + c)QDL~(A + с), следовательно, AQlfi является пренебрежимо малым по отношению (п — 1 Л-\- cQDL~A+ с.

(п - 1)(Я + с)

0,1 а

В данной модели возможны две варианта начала цикла - цикл может начаться либо с дискового сбоя, т.е. из состояния (1,0), или с невосстановимой ошибки чтения, т.е. из состояния (0,1).

Ожидаемое количество циклов до потери данных в случае начала из состояния (1,0) будет равно

1

Пе'(1'0) Qi,o ~ (п — 1)(Л + с)'

Ожидаемое количество циклов до потери данных в случае начала из состояния (0,1) будет равно

1 а

Пе’(од) = qZ * (п-ш + су

Оценка среднего времени цикла выполняется следующим образом. Пусть 7) m ожидаемое время, которое пройдет прежде, чем система перейдет из состояния (7, га) в состояние (0,0) или в состояние DL. По определению

Го.о — 0, TDL — 0.

Значения 7) т для состояний системы вычисляются как

No = м + (п_11)(я + с) ONо + (П - 1)(А + c)TDL) + fi + (n_11XA + cy

1

Tl’° ~ ц +(а- 1)(А + с);

262

Труды ИСП РАН, том 27, вып. 6, 2015 г..

Год =

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

а + Я + (п — 1)(Я + с)

Гдо ~ —;

р

(аГ0о + -'Идо + (л — 1)(Я + c)TDL)

+

Год =

а + Я + (п — 1)(Я + с) ’ 1 Я

а + Я + (п — 1)(Я + с) р а + Я + (п — 1)(Я + с) ’ 1 1 Т ~ __________________________________ а; _

0,1 сс + Я + (и — 1) (Я + с) ос

Пусть t0,o->i,o и to,o^o.i — средние времена перехода из состояния (0,0) в состояния (1,0) и (0,1) соответственно.

Для средних времен цикла te,(i,o) и ^-e/o.i) ПРИ начале из состояний (1,0) и (0,1) выполняются соотношения:

^е,(1,0) — ^0,0->1,0 + Г1(0

^е,(0Д) = ^0,0->0Д + Год

1 1

^е,(1,0) пЯ р ’

1 1

^е,(ОД) ~ 1 . пс а

11 1 Учитывая, что значения - и - пренебрежимо малы по сравнению с (Л+С)-

можно получить

^е,(1,0)

^е,(0,1)

1

пЯ

1

ПС

Пусть pej(i,o) = ~~ и (од) = вероятности начать цикл из состояний (1,0) и (0,1) соответственно.

Из вышеприведенных соотношений видно, что оценка MTTDL хранилища для новой модели равна наименьшему значению из ожидаемых времен до потери данных в случае начала из одного из состояний (1,0) или (0,1):

MTTDLn_k=1 — Pe,(l,0)ne,(l,0)te,(l,0) + Ре,( ОД)пе,(ОД)^е,(ОД)

р а

п(п — 1)(Я + с)2’п(п — 1)(Я + с)2’

Далее рассматривается случай п — к = 2.

263

Trudy ISP RAN [The Proceedings of ISP RAS], vol. 27, issue 6, 2015.

Puc.2. Интенсивности переходов в Марковской цепи для случая п — к = 2

Значения Ql m вычисляются, начиная с состояний на диагонали I + т = п — к. Q2,0 = ,, , , „\ (vQo,o + (п ~ 2)(Л + c)Qdl);

ц+ (п- 2) (Я + с)

„ (п — 2) (Я + с)

* д :

Qi,i =

а+/х+Я+(п — 2)(Я + с)

<?1Д

С?0,2 —

сс + 2Я + (?т — 2) (Я + с) *?0,2

((a+ft)Qo,o + + (n — 2) (Я + c)Qdl);

(п — 2)(Я + с) а + /х

Ио,о + 2Я(?1 д + (п — 2)(Я + c)Qdl);

(п — 2)(Я + с)

Далее рассматриваются состояния на диагонали I + т = п — к — 1:

<2l-° = д + (п — 1)Я + (п — 1)с ((п “ 1)Я<?2-° + (п ~ 1)С<?1Д + /Х<?0'°): п-1( (п-2)(Я + с) (п-2)(Я + с)

<?i,o ~------U------------------+с-

<2од —'

/х \ /х а + /х

Л (п - 1)(п - 2)(Я + с) (X с ^

Vi,o ~ I —I ;— I;

/х V/х а + /х/

1

/х \ц а + ц/

(Ж?! о + (п - 1)Я(?1 д + (п - 1)с<2о,2 + «<?о,о)-

а + пЯ + (п — 1)с

Учитывается пренебрежимая малость AQ10 по сравнению с Ж21Д и с(?0,2:

264

Труды ИСП РАН, том 27, вып. 6, 2015 г..

@од ~ — l)-^@i,i + (и — 1)с@о,г) ’

п l(, (n-2)(A + c) , , (n-2)(A + c)N

@0 1 ~ — (n _ 1M--------------h (n - l)c-----------

од ay a+ц K J a j

(n - l)(n - 2)(A + с) / A c

(- + -)■

\a + и a)

@0,1 ~ -----------—-----11 ———ь ■

a \a + ц

Вычисляется ожидаемое количество циклов до потери данных в случае начальных состояний (1,0) и (ОД):

1 Д

te,(l,0)

@1,0 (п - 1)(п - 2)(А + с) \д а + ц

\д а + и/

п„

Ла + и а)

е,(0Д) @од (п — 1)(п — 2)(А + с) Va + д Оцениваются средние времена цикла для начальных состояний (1,0) и (0,1). Значения Т1т вычисляются в той же последовательности, что и соответствующие значения Qt m:

1

^2,0 —

д + (n - 2)(А + с) ’ 1

^о»-;

т —_______________________

1,1 а + д + А + (п — 2) (А + с) 2,0 а + д + А + (и — 2)(А + с)

^2,0 +' 1

1Д ~ а + д ’

1 1 j1 —____________________________• “2 2Т А____________________________

0,2 а + 2А + (п — 2)(А + с) 1,1 а + 2А + (п — 2)(А + с) ’

1

7l'0 = д + (п — 1)А + (п — 1)с ((П " 1)Я72-0 + (П _ 1)С71Д)

+

д + (п — 1)А + (п — 1)с ’ 1

r,,V

т„л =

а + пА + (п — 1)с

(А7’1,о + (п - 1)А7’1Д + (п - 1)сТ0 2)

+

а + пА + (п — 1)с ’ 1

7од--

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Для средних времен цикла te,(i,o) и te,(o,i) для начальных состояний (1,0) и (0,1) соотношения принимают вид:

265

Trudy ISP RAN [The Proceedings of ISP RAS], vol. 27, issue 6, 2015.

l

l

MTTDL хранилища для данной модели равен

MTTDLn_k=2 — ре,( 1,0)пе,(1,оА,(1,0) + Ре,(0Д)пе,(0Д)С,(0Д)

п(п — 1 )(п — 2) (Я + с)2

п(п — 1)(п — 2)(Я + с)2'

4.4 Обобщение расширенной модели на произвольные параметры (п,к)

Соотношения, полученные для частных случаев п — к = 1 яп — к = 2 можно обобщить для произвольных параметров (п, к).

Схема вычисления значений Ql m и Ткт. изображенная на рис. 3, предполагает последовательное вычисление значений вдоль диагоналей I + т = const, начиная с диагонали, соответствующей состояниям (1,т), для которых I + т = п — к, при движении сверху вниз вдоль диагоналей.

Средние времена цикла te,(i,0) и Сдод) Д-1Я модели с произвольными параметрами (п, к) вычисляются следующим образом.

Рис. 3. Схема вычисления значений Qi m и Т( ш

266

Труды ИСП РАН, том 27, вып. 6, 2015 г..

' 1,т г

(п-1- rn)XTl+lim + (п - I - m)cTlm+1 + 1 ц + глЛ + (п — I — т)(А + с)

,1 & 0,т = 0

тХГ1+г,т-1 + (п-1- т)АТ1+1т + (п - I - m)cTlm+1 + 1

а + ц + тА + (п — I — т)(А + с)

тЯГг+1,т_1 + (n-l- m)ATl+lm + 1

,1 Ф 0,т Ф 0

а + тЯ + (п — I — т)(Я + с) Отбрасывая пренебрежимо малые члены, можно получить:

л 1

—, I Ф 0, т = 0

,1 = 0,т Ф 0

11,т

д

1

I Ф 0, т Ф О

а + ц 1

—, I = 0 ,т Ф О

4 а

Из выведенного соотношения видно, что значение Т1т зависит только от положения состояния (I, т) внутри диагонали I + т — const, но не зависит от диагонали.

Таким образом, средние времена цикла равны:

1 1

£е,(1,0) -

пЯ’

^е,(0,1) ~

ПС

Вычисление Qi m в произвольном случае производится несколько сложнее f (n-l- ni)AQl+lm + (n-l- ni)cQlm+1

Ql,m

ц + тЛ + (п - I - т)(А + с) mAQ^m^ + (n I m)AQi+hm + (n-l- m)cQlm+1

а + fi + тА + (п — I — т)(А + с) mAQt+^m-i + (n-l- m)AQl+lm + (n-l- m)cQljin+1

, l Ф 0, m = 0,

, l Ф 0,m Ф 0,

, , , , , . , ,1 = 0,m Ф 0.

a + mA + (n — l— m)(A + c)

Если учесть, что AQi+lm_1 пренебрежимо мало по сравнению с AQl+lm, а

cQi,m+1 — значения Ql m в рамках одной диагонали I + т = const сравнимы

менаду собой по величине, в то время как значения Qlm на внутренних

диагоналях пренебрежимо малы по сравнению со значениями (Jim на

диагоналях, внешних по отношению к этим диагоналям, то выполняются

условия:

Ql^m-L ^ Ql2,m2' ^1 ^ ^2 Я" Ш2',

г(п - I - m)AQl+lm + (п - I - m)cQlm+1

Ql,m х

(п - I - m)AQl+1/m + (п - I - rn)cQl ri

а + II

(п - I - m)AQl+l m + (п - I - m)cQl m+1

, I Ф 0, т = 0, , I Ф 0, т Ф 0, , I = 0,т Ф 0.

267

Trudy ISP RAN [The Proceedings of ISP RAS], vol. 27, issue 6, 2015.

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

Можно заметить, что значение Qim в состоянии (/, гп) определяется как сумма слагаемых 5Ь вычисляемых вдоль всех «простых» путей из состояния Ql m в состояние Qdl. Число таких «простых» путей для состояния Qim равно 2n-k-(i+m)^ т к длина всех «простых» путей из состояния Qlm в состояние Qdl фиксирована и равна п - к - (I + т), ив каждом промежуточном состоянии есть два варианта выбора дальнейшего направления пути - вверх или вниз.

Из рекуррентных соотношений для <2im следует, что значение 5Ь соответствующее некоторому фиксированному «простому» пути, определяется как произведение интенсивностей переходов между состояниями вдоль данного пути, поделенное на произведение интенсивностей восстановления данных в каждом из состояний пути, кроме состояния DL.

Определим вспомогательные функции 1(1, т) и Р(1, т):

Ожидаемое количество циклов не (10) и пе>(10) определяется следующими выражениями

(п—к)—(1+т)

i=0

Таким образом, значение (?i m для произвольного состояния (I, т) определяется следующим выражением:

Ql,m

/(i + Z‘-=1A.I}=1( i-Ю)

(Я + c)A^c1-/?i

(А + c)A^ic1

268

Труды ИСП РАН, том 27, вып. 6, 2015 г..

1 ~| ( у Р( 1,0)

<?1,о ~ 1 1 L /(i,o) \Ръ-,Р(п-к)-1=°

1 ~| ( У Р(°Д)

<2од ~ 1 /(од) \Ръ--Р(п-к)-1-°

(Я + с)Я^‘с1

/(1 + 2}=i А. S}=i(i - А)),

(Я + с )Я^с1-/?г

(n-fc)-l

п

1=1

(n-fc)-l

П

i=i

Таким образом, аналитическое выражение для MTTDL системы для произвольных параметров (п, к):

MTTDLnk * Pe,(l,0)ne,(l,0)te,(l,0) + Pe,(0,l)ne,(0,l)^е,(0,1)

1

~ „г;. fyi pgo)ncn-fc)-i а+оя^с1-^

1 ; VZ/?1..Р(п-*)-1=° 1(1,0) и‘=1 /(i + Z}=1ft,Z}=1(i-ft))

1

+ ■

гг (Я + с)2 ( 2

Р(0Д)п(п-/с)-1 (Я + ОЯЛс1-^

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

J/?1./(ОД) 1 A«=i /(£‘=1 ft, 1 + Ij=1(l - ft))

5. Результаты расчётов по разработанной модели

В этом разделе раскрыты характеристики стилей, используемых в данном документе.

5.1 Сравнительный анализ классической и расширенной моделей

Сравнение результатов расчётов по новой разработанной модели с итогами вычислений по классической модели приведено на рис. 4. В новой модели интенсивность битовых ошибок определялась средней интенсивностью доступа к дискам в хранилище. По графику видно, что результаты, полученные в классической модели, учитывающей только явные дисковые сбои, отличаются от уточненных результатов, полученных в рамках предложенной модели. Наблюдаемая разница является значительной и подтверждает практическую значимость предложенной модели. Полученные результаты соответствуют приведенным в работе [11] выводам о необходимости учёта скрытых ошибок и проведении проверок контрольных сумм.

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

269

Trudy ISP RAN [The Proceedings of ISP RAS], vol. 27, issue 6, 2015.

может служить эмпирическим критерием оценки частоты возникновения

скрытых дисковых сбоев.

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

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

Зависимость MTTDL хранилища от среднего времени полной проверки контрольный сумм.

Рис. 5. Зависимость MTTDL хранилища данных от среднего периода полной проверки

данных в хранилище

270

Труды ИСП РАН, том 27, вып. 6, 2015 г..

Зависимость между MTTDL хранилища данных и интенсивностью проверки контрольных сумм позволяет находить баланс меиеду надежностью хранения данных и экономическими затратами на непрерывный процесс проверки данных.

5. Выводы

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

6. Примечания

Статья опубликована в рамках выполнения прикладных научных исследований при финансовой поддержке Министерства образования и науки Российской Федерации. Соглашения о предоставлении субсидий № 14.579.21.0010. Уникальный идентификатор Соглашения RFMEFI57914X0010.

Литература

[1] . Patterson D. A., Gibson G., and Katz R. H. A Case for Redundant Arrays of Inexpensive

Disks (RAID), Proc. of ACM SIGMOD, 1988.

[2] . Reibman A. and Trivedi K. S. A. Transient Analysis of Cumulative Measures of Markov

Model Behavior. Communications in Statistics-Stochastic Models, 1989, vol. 5, pp. 683-710.

[3] . Schultz M., Gibson G., Katz R., and Patterson D. How Reliable is a RAID? Proceedings

of CompCon, 1989, pp. 118-123.

[4] . Malhotra M. and Trivedi K. S. Reliability Analysis of Redundant Arrays of Inexpensive

Disks. Journal of Parallel and Distributed Computing — Special issue on parallel I/O systems, 1993, vol.17,-no. 1-2., pp. 146-151.

[5] . Greenan К. M., Plank J. S. and Wylie J. J. Mean Time To Meaningless: MTTDL,

Markov models, and Storage System Reliability, Proceedings of the 2nd USEMX conference on Hot topics in storage and file systems, 2010, pp. 1-5.

[6] . Karmakar P. and Gopinath K. Are Markov Models Effective for Storage Reliability

Modelling? arXiv:l503.0793lvl, 2015.

[7] . Li Y., Lee P. P. and Lui J. Stochastic analysis on raid reliability for solid-state drives,

IEEE 32nd International Symposium on Reliable Distributed Systems (SRDS). IEEE, 2013, pp. 71-80. (http://arxiv.org/pdf/1304.1863.pdf)

[8] . Mann S. E., Anderson M. and Rychlik M. On the Reliability of RAID Systems: An

Argument for More Check Drives, arXiv: 1202.4423vl, 2012.

[9] . Paris J.-F., Schwarz T., Amer A. and Long D. D. E. Improving Disk Array Reliability

Through Expedited Scrubbing, Proceedings of the 5th IEEE International Conference on Networking, Architecture, and Storage, 2010, pp. 119-125.

271

Trudy ISP RAN [The Proceedings of ISP RAS], vol. 27, issue 6, 2015.

[10] . Xin Q., Miller E. L., Schwarz T. J., Long D. D. E., Brandt S. A. and Litwin W.

.Reliability mechanisms for very large storage systems, Proceedings of the 20th IEEE/llth NASA Goddard Conference on Mass Storage Systems and Technologies, 2003, pp. 146-156.

[11] . Elerath J.G. and Pecht M. Enhanced Reliability Modeling of RAID Storage Systems,

37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, 2007, pp. 175-184.

[12] . Ivanichkina L. and Neporada A. Mathematical methods and models of improving data

storage reliability including those based on finite field theory, Contemporary Engineering Sciences, 2014, vol. 7, no. 28, 1589-1602

http://dx.doi.org/10.12988/ces.2014.411236.

272

Труды ИСП РАН, том 27, вып. 6, 2015 г..

The Reliability Model of a Distributed Data Storage in Case of Explicit and Latent Disk

Faults

1L. Ivanichkina <ivanov(a).isvras.ru>

2A. Neporada <[email protected]>

1000 ProektIKS, Altufievskoe sh, 44, Moscow, 127566, Russian Federation 2000 Acronis, Altufievskoe sh, 44, Moscow, 127566, Russian Federation

Abstract. This work examines the approach to the estimation of the data storage reliability that accounts for both explicit disk faults and latent bit errors as well as procedures to detect them. A new analytical math model of the failure and recovery events in the distributed data storage is proposed to calculate reliability. The model describes dynamics of the data loss and recovery based on Markov chains corresponding to the different schemes of redundant encoding. Advantages of the developed model as compared to classical models for traditional RAIDs are covered. Influence of latent HDD errors is considered, while other bit faults occurring in the other hardware components of the machine are omitted. Reliability is estimated according to new analytical formulas for calculation of the mean time to failure, at which data loss exceeds the recoverability threshold defined by the redundant encoding parameters. New analytical dependencies between the storage average lifetime until the data loss and the mean time for complete verification of the storage data are given.

Keywords: Mean time to failure (MTTF), Markov chains, redundant encoding, Huygens’ gambler's ruin problem, distributed data storage, scrubbing procedure, checksums, MTTDL of distributed data storage, disk faults, irrecoverable bit errors, latent sector errors.

References

[1] . Patterson D. A., Gibson G., and Katz R. H. A Case for Redundant Arrays of Inexpensive

Disks (RAID), Proc. of ACM SIGMOD, 1988.

[2] . Reibman A. and Trivedi K. S. Transient Analysis of Cumulative Measures of Markov

Model Behavior. Communications in Statistics-Stochastic Models, 1989, vol. 5, pp. 683-710.

[3] . Schultz M., Gibson G., Katz R., and Patterson D. How Reliable is a RAID? Proceedings

ofCompCon, 1989,pp. 118-123.

[4] . Malhotra M. and Trivedi K. S. Reliability Analysis of Redundant Arrays of Inexpensive

Disks. Journal of Parallel and Distributed Computing — Special issue on parallel I/O systems, 1993, vol.17,-no. 1-2.,pp. 146-151.

273

Trudy ISP RAN [The Proceedings of ISP RAS], vol. 27, issue 6, 2015.

[5] . Greenan К. M., Plank J. S. and Wylie J. J. Mean Time To Meaningless: MTTDL,

Markov models, and Storage System Reliability, Proceedings of the 2nd USENIX conference on Plot topics in storage and file systems, 2010, pp. 1-5.

[6] . Karmakar P. and Gopinath K. Are Markov Models Effective for Storage Reliability

Modelling? arXiv:1503.07931vl, 2015.

[7] . Li Y., Lee P. P. and Lui J. Stochastic analysis on raid reliability for solid-state drives,

IEEE 32nd International Symposium on Reliable Distributed Systems (SRDS). ШЕЕ, 2013, pp. 71-80. (http://aixiv.org/pdf/1304.1863.pdf)

[8] . Mann S. E., Anderson M. and Rychlik M. On the Reliability of RAID Systems:An

Argument for More Check Drives, arXiv: 1202.4423vl, 2012.

[9] . Paris J.-F., Schwarz T., Amer A. and Long D. D. E. Improving Disk Array Reliability

Through Expedited Scrubbing, Proceedings of the 5th IEEE International Conference on Networking, Architecture, and Storage, 2010, pp. 119-125.

[10] . Xin Q., Miller E. L., Schwarz T. J., Long D. D. E., Brandt S. A. and Litwin W.

.Reliability mechanisms for very large storage systems, Proceedings of the 20th IEEE/11th NASA Goddard Conference on Mass Storage Systems and Technologies, 2003, pp. 146-156.

[11] . Elerath J.G. and Pecht M. Enhanced Reliability Modeling of RAID Storage Systems,

37th Annual ШЕЕЛИР International Conference on Dependable Systems and Networks, 2007, pp. 175-184.

[12] . Ivanichkina L. and Neporada A. Mathematical methods and models of improving data

storage reliability including those based on finite field theory, Contemporary Engineering Sciences, 2014, vol. 7, no. 28, 1589-1602

http://dx.doi.org/10.12988/ces.2014.411236.

274

i Надоели баннеры? Вы всегда можете отключить рекламу.