КОМПЬЮТЕРНЫЕ СИСТЕМЫ И ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
УДК 681.3
НАДЕЖНОСТЬ РЕЗЕРВИРОВАННОГО ВЫЧИСЛИТЕЛЬНОГО КОМПЛЕКСА ПРИ ОГРАНИЧЕННОМ ВОССТАНОВЛЕНИИ В.А. Богатырев, С.М. Алексанков, Д.В. Демидов, В.Ф. Беззубов
Предложены марковские модели надежности дублированных вычислительных комплексов, позволяющие учесть влияние на нестационарный коэффициент готовности ограниченных возможностей восстановления, вызванных недопустимостью потери данных и прерываний вычислительного процесса во время восстановления. Ключевые слова: надежность, отказоустойчивость, доступность, дублированный вычислительный комплекс, резервирование, нестационарный коэффициент готовности.
Введение
Высокая надежность, отказоустойчивость и безопасность систем критического применения, в частности, функционирующих в реальном времени, реализуется за счет резервировании основных подсистем, в том числе средств хранения, обработки и передачи данных.
Безопасность систем критического применения достигается при минимизации возможностей возникновения опасных отказов и последствий от их возникновения. Функциональная безопасность систем связана с минимизацией частоты и последствий отказов в выполнении отдельных функций системы, в том числе связанных с безопасностью [1, 2]. Обеспечение функциональной безопасности в значительной мере определяется информационной безопасностью и, прежде всего, связано с минимизацией риска потери данных (в том числе формируемых в ходе вычислительного процесса) при отказах системы, вызванных внешними или внутренними причинами, в том числе в результате злонамеренных воздействий.
В системах критического применения используемые вычислительные узлы, как правило, строятся на основе дублированных или троированных вычислительных комплексов. Возможности сохранения данных после отказов дублированных вычислительных комплексов (ДВК) во многом определяются организацией средств комплексирования и доступа к памяти.
Для достижения высокой отказоустойчивости, функциональной и информационной безопасности при сохранении устойчивости вычислительного процесса средства комплексирования ДВК должны обеспечивать доступность информационных ресурсов (памяти) обоих полукомплексов, даже при отказах процессоров одного из них, тем самым сохраняя возможности функционирования (или данных) в режиме деградации. Формирование работоспособной структуры в ряде случаев требует реконфигурации с целью использования в вычислительном процессе сохраненных ресурсов обоих полукомплексов. В настоящее время достаточно хорошо исследованы модели надежности дублированных систем [3-5], в том числе восстанавливаемых дублированных систем при различных дисциплинах ограниченного восстановления, под которым понимается восстановление при образовании очереди на восстановление отказавших узлов.
Потенциал обеспечения надежности управляющих вычислительных систем во многом определяется особенностями прикладных процессов, в ряде случаев ограничивающих возможности восстановления системы после отказов.
В связи с высоким вниманием к анализу безопасности и функциональной надежности систем критического применения, в том числе систем, критичных к нарушениям доступности и целостности информационных ресурсов, представляется актуальным исследование их надежности. Модели надежности таких систем должны учитывать срывы вычислительного процесса и (или) потерю стратегически важной информации, потенциально приводящие к катастрофическим последствиям, после которых восстановление вычислительной системы теряет смысл. Модели надежности указанного класса систем, помимо оценки традиционных показателей надежности, должны находить вероятности опасных состояний, при которых возможны срыв критичных вычислительных (управляющих) процессов и невосполнимая потеря критически важных данных.
В работе предложены марковские модели надежности восстанавливаемых ДВК, отличающиеся возможностью учета ограниченного восстановления, при невосполнимой потере накопленных данных (результатов вычислений) или при недопустимости прерываний вычислительного (управляющего) процесса во время процесса восстановления системы.
Задачи исследования
В работе решается задача оценки надежности ДВК с учетом ограниченного восстановления после отказов. Типовая структура дублированного вычислительного комплекса, представленная на рис. 1, состоит из двух полукомплексов, каждый из которых содержит процессор (ЦП) и память (М). Доступ ЦП к
4
ресурсам сопряженного полукомплекса обеспечивается средствами комплексирования (адаптером сопряжения-АС) [6-7].
Рис. 1. Структура дублированного вычислительного комплекса
Средства комплексирования должны обеспечивать доступ к памяти сопряженного полукомплекса с целью сохранения информационных ресурсов (результатов решения прикладных задач) даже при отказах одного из дублированных ЦП. Таким образом, для информационно безопасного, отказоустойчивого функционирования комплекса АС должен обеспечивать прямой доступ к памяти двух полукомплексов.
Надежность ДВК в определенной мере зависит от ограничений восстановления системы после отказов, определяемых особенностями прикладных процессов [8, 9].
Рассмотрим ограничения восстановления комплекса. Оно нереализуемо в случаях, когда:
- потеря данных недопустима, а перерывы вычислительного процесса во время восстановления допустимы (51);
- потеря данных и перерывы вычислительного процесса во время восстановления недопустимы (52);
- потеря данных и перерывы вычислительного процесса во время восстановления допустимы (53).
Потеря данных происходит, когда при информационной зависимости прикладных функциональных задач, решаемых вычислительной системой, отказывает память в двух полукомплексах, что приводит к невозможности выполнения задач, т.е. к отказу системы, при котором ее восстановление невозможно.
Перерывы вычислительного процесса во время восстановления недопустимы, например, для управляющих систем, работающих в реальном времени, при этом будем считать, что для поддержки вычислений достаточно работоспособности хотя бы одного ЦП при доступности для него памяти хотя бы в одном полукомплексе. При отказе одного ЦП доступ исправного ЦП к памяти другого (сопряженного) полукомплекса должен поддерживаться средствами комплексирования по прямому доступу.
Случай ограничения восстановления, когда потеря данных недопустима, а перерывы вычислительного процесса во время восстановления допустимы, не рассматривается, так как при отказе памяти в двух полукомплексах вычислительный процесс не реализуем, и при потере данных в обоих полукомплексах их восстановление считается невозможным.
Модели надежности с учетом ограничений восстановления
При построении марковской модели [3] надежности восстанавливаемого ДВК с учетом отмеченных ограничений восстановления (51-53) будем считать, что в каждый момент времени восстанавливается только один узел. Будем считать известными интенсивности отказа процессора - Х0, памяти - Хь адаптера (средств комплексирования) - Х2, а интенсивность восстановления любого узла равна д. При достижении состояния, при котором вычислительный процесс в соответствии с перечисленными условиями (51-53) восстановить не удается, считается, что достигнуто невосстанавливаемое состояние (состояния полного отказа системы), когда выполнение потока прикладных задач невозможно.
Марковские модели надежности ДВК для различных случаев ограниченного восстановления после отказов 51-53 приведены на рис. 2-4, на которых выделены состояния:
- работоспособные, при которых вычисления реализуемы;
- отказа, при которых восстановление системы возможно;
- отказа, при которых восстановление системы невозможно.
На графах переходов (рис. 2-4) вершины, представляющие состояния системы, пронумерованы (А0-А17 для рис. 2; Б0-БП для рис. 3; С0-С14 для рис. 4). В поле вершин графов представлены изображения, поясняющие состояния ДВК, в соответствии с рис. 1, при этом отказавшие узлы перечеркнуты. Переходы (ребра) графов, обозначенные сплошными линиями, соответствуют отказам, а пунктирные -восстановлениям. На графе для всех переходов указаны соответствующие им интенсивности отказов Х0, Хь Х2 и восстановлений д.
Для варианта ограниченного восстановления 51 признаком невосстанавливаемого состояния является отказ блоков памяти двух полукомплексов (состояния А4, А5, А7, А8, А10, А11, А12, А15, А16, А17 неработоспособны, среди них состояния А5, А8, А11, А16, А17 - невосстанавливаемые, неработоспособные состояния на рис. 2-4 затемнены).
Для варианта ограниченного восстановления 52 невосстанавливаемое состояние возникает при отказе двух блоков памяти или двух процессоров. Для варианта 52, при исправности АС, способность выполнения вычислительного процесса во время восстановления сохраняется, если исправен хотя бы один ЦП и один узел памяти, а при отказе АС - если одновременно исправны ЦП и модуль памяти одного полукомплекса. Для систем, соответствующих рис. 3, все неработоспособные состояния (В4, В5, В7, В8, В10, В11, В15, В16, В17) являются невосстанавливаемыми.
Для варианта восстановления 53 все состояния являются восстанавливаемыми (к неработоспособным состояниям относятся С4, С5, С7, С8, С12, С13, С14), т.е. ограничений по восстановлению, обусловленных определенными сочетаниями отказов узлов, нет.
Рис. 2. Граф переходов для марковской модели ДВК при ограничении восстановления S1
Для вычисления вероятности нахождения системы в работоспособном состоянии по графам, представленным на рис. 2-4, в соответствии с известными правилами [3] составляется система дифференциальных уравнений, решение которой позволяет найти вероятности всех состояний ДВК, в том числе работоспособных.
Надежность ДВК охарактеризуем нестационарным коэффициентом готовности K(t), который определяется как вероятность того, что в заданный момент времени t система находится в одном из работоспособных состояний. Коэффициент K(t) вычисляется при суммировании вероятностей всех работоспособных состояний. Заметим, что нестационарный коэффициент готовности (функция готовности) K(t) при возможностях восстановления, соответствующих S3 (когда все состояния допускают восстановления), с увеличением t стремится к стационарному коэффициенту готовности. При вариантах ограничений восстановления S1 и S2 (когда есть состояния, для которых восстановление системы после отказов не производится) с увеличением t вероятность работоспособного состояния системы стремится к нулю.
С учетом сформулированных условий работоспособности состояний ДВК для вариантов S1-S3 ограничений восстанавливаемости системы нестационарные коэффициенты готовности вычисляются как Ksi (t) = Pao (t) + Pa1 (t) + Pa2 (t) + Раз (t) + Pa6 (t) + Pa9 (t) + Pa13 (t) + Pa14 (t), ks2 (t) = Pb0 (t) + Pb1 (t) + Pb2 (t) + Рв3 (t) + Pb6 (t) + Pb9 (t) + Pb13 (t) + Pb14 (4
KS3 (t) = Pc0 (t) + Pci (t) + Pc2 (t) + Pc3 (t) + Pc6 (t) + Pc9 (t) + Pc10 (t) + Рсп(4
где Pao(tXPaiCO— Pai4CtX Pвo(t),Pb^O—Pвl4(t), Pco(t),Pcl(t),...,Рсп(0 соответствуют вероятшстям состояний A0, Al, ..., A14 системы Si (рис. 2), состояний В0, В1, ..., В14 системы S2 (рис. 3) и состояний СО, С1, ..., С14 системы S3 (рис. 4).
Вероятность отказа для систем 51-54 вычисляется как 1 - K51,1 - K52,1 - K53. Предложенные модели позволяют вычислить вероятности опасных состояний. Так, вероятность потери информационных ресурсов для систем 51 определяется как
KS1 (0 = Pa5 (t) + Pas (t) + PAU(t) + PA16(t) + Pau (t), а вероятность неопасного (восстанавливаемого) отказа - как
Kb5\ (t) = Pa5 (t) + Pas (t) + Pa11(t) + Pa16 (t) + Pa17 (t) + Pa7 (t) + Pa10 (t) + Pa12 (t) + Pa15 (t) . Для системы S2 вероятность опасных состояний вычисляется как 1 - K5 2.
Результаты расчетов
Результаты расчета нестационарного коэффициента готовности K(t) для рассматриваемых вариантов S1-S3 ограниченного восстановления дублированных комплексов после отказов представлены на рис. 5. Расчеты проведены для случая = 0,8-lü-4, = 0,5-10-4, = 0,3-10-4 1/ч и ц = 1 1/ч. Кривые 1-3 соответствуют вариантам S1-S3 ограничений восстанавливаемости после отказов.
Расчеты выполнены в системе компьютерной математики Mathcad-15 путем решении системы дифференциальных уравнений, составленных по графам на рис. 2-4 по методу Рунге-Кутты.
т 1хю°
9,995х10-1 9,99х10-1
9,985х10-1 9,98х10-1
0х100 2,5х104 5х104 7,5х104 1х105 Время, ч
Рис. 5. Нестационарный коэффициент готовности для вариантов ограниченного восстановления дублированных комплексов после отказов. Кривые 1-3 соответствуют вариантам ограничений
восстанавливаемости S1-S3
Расчеты подтверждают существенность влияния ограничений восстанавливаемости после отказов на надежность вычислительных комплексов. Таким образом, при оценке надежности и безопасности критически важных систем рекомендуется использование предлагаемых моделей, позволяющих учесть особенности ограниченного восстановления при невосполнимой потере информационных ресурсов и при прерывании критически важных вычислительных процессов при восстановлении.
Современные информационные управляющие системы, как правило, представляют собой распределенные системы, в которых множество узлов обработки и хранения данных объединяются в кластеры, связанные через многоуровневую сеть. В системах критического применения в качестве базовых узлов могут использоваться дублированные вычислительные комплексы, при оценке надежности и безопасности которых могут применяться предлагаемые в настоящей работе модели как части системы [10-14].
Заключение
Предложены марковские модели дублированных вычислительных комплексов, позволяющие учесть влияние на надежность ограниченности возможностей восстановления при недопустимости потери данных и прерываний вычислительного процесса во время восстановления.
Представленные модели надежности могут быть использованы при прогнозировании надежности и выборе вариантов построения резервированных вычислительных комплексов защищенных систем критического применения, в том числе работающих в распределенных системах реального времени.
Работа выполнена на кафедре вычислительной техники НИУ ИТМО в рамках НИР «Разработка методов и средств системотехнического проектирования информационных и управляющих вычислительных систем распределенной архитектуры».
Литература
1. ГОСТ Р МЭК 61508-2-2007. Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 2. Требования к системам. - Введ. 01.09.2008. - М.: Стандартинформ, 2008. - 68 с.
2. ГОСТ Р МЭК 61508-4-2007. Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 4. Термины и определения. - Введ. 01.06.2008. - М.: Стандартинформ, 2008. - 27 с.
3. Половко А.М., Гуров С.В. Основы теории надежности. - СПб: БХВ-Петербург, 2006. - 704 с.
4. Shunji Osaki, Toshihiko Nishio. Reliability Evaluation of Some Fault-Tolerant Computer Architectures. -Springer-Verlag, Berlin Heidelberg, New York, 1980. -129 p.
5. Sorin D. Fault Tolerant Computer Architecture. - Morgan & Claypool, 2009. - 116 p.
6. Богатырев В.А., Башкова С.А., Беззубов В.Ф., Полякова А.В., Котельникова Е.Ю., Голубев И.Ю. Надежность дублированных вычислительных комплексов // Научно-технический вестник СПбГУ ИТМО. - 2011. - № 6 (76). - С. 74-78.
■ *»..... 3
1
2 ч
АНАЛИЗ ЭФФЕКТИВНОСТИ ПРИМЕНЕНИЯ МЕТОДОВ ХЕШИРОВАНИЯ
7. Богатырев В.А., Демидов Д.В., Алексанков С.М. Оценка надежности дублированных комплексов с учетом контроля // Materiali VII mezinarodni vedecko-prakticka konference Aktyalni vymozenosti vedy. -2011. Чехия, Прага 27.06.2011-05.07.2011. - Прага: Education and science, 2011. - С. 57-58.
8. Bogatyrev V.А. Exchange of Duplicated Computing Complexes in Fault Tolerant Systems // Automatic Control and Computer Sciences. - 2011. - V. 46. - № 5. - P. 268-276.
9. Богатырев В.А., Бибиков С.В. Оценка функциональной безопасности систем, связанных с безопасностью // Технико-технологические проблемы сервиса. - 2011. - № 4. - С. 45-47.
10. Богатырев В. А. Надежность вариантов размещения функциональных ресурсов в однородных вычислительных сетях // Электронное моделирование. - 1997. - № 3. - С. 21-27.
11. Богатырев В. А., Богатырев С.В. Объединение резервированных серверов в кластеры высоконадежной компьютерной системы // Информационные технологии. - 2009. - № 6. - С. 41-47.
12. Богатырев В.А. Надежность функционально-распределенных резервированных структур с иерархической конфигурацией узлов // Изв. вузов. Приборостроение. - 2000. - № 4. - С. 67-70.
13. Богатырев В.А. Надежность отказоустойчивых вычислительных систем реального времени, компонуемых из многофункциональных модулей // Информационные технологии. - 2000. - № 10. - С. 11-16.
14. Богатырев В.А. Отказоустойчивые кластеры дублированных вычислительных комплексов // Информационные технологии. - 2012. - № 1. - С. 9-15.
Богатырев Владимир Анатольевич - Санкт-Петербургский национальный исследовательский университет
информационных технологий, механики и оптики, доктор технических наук, профессор, [email protected]
Алексанков Сергей Михайлович - Санкт-Петербургский национальный исследовательский университет
информационных технологий, механики и оптики, студент, [email protected]
Демидов Даниил Валентинович - Санкт-Петербургский национальный исследовательский университет
информационных технологий, механики и оптики, студент, [email protected]
Беззубов Владимир Федорович - Санкт-Петербургский национальный исследовательский университет
информационных технологий, механики и оптики, аспирант, [email protected]
УДК 004.451
АНАЛИЗ ЭФФЕКТИВНОСТИ ПРИМЕНЕНИЯ МЕТОДОВ ХЕШИРОВАНИЯ В ФАЙЛОВЫХ СИСТЕМАХ, РАБОТАЮЩИХ В ПОЛЬЗОВАТЕЛЬСКОМ
РЕЖИМЕ Е.Ю. Иванов, М.С. Косяков
Рассмотрены особенности протоколов взаимодействия виртуальной файловой системы и файловой системы, их влияние на производительность микроядерных операционных систем. На примере файловой системы ext2, реализованной для операционной системы MINIX 3, установлено, что время идентификации файлового объекта в микроядерных операционных системах может увеличиваться до 26 раз по сравнению с монолитными системами. Показано, что при использовании рекомендованных в работе методов хеширования можно добиться производительности рассматриваемой части стека ввода-вывода, практически не уступающей производительности монолитных операционных систем. Ключевые слова: файловая система, операционная система, микроядерная ОС, методы хеширования, протоколы взаимодействия ВФС и ФС, MINIX 3, PUFFS.
Введение
Несмотря на достижения современных исследований в области надежности операционных систем (ОС) и верификации программного обеспечения, отказы ОС, вызванные аппаратными и программными ошибками, по-прежнему приводят к снижению доступности прикладных сервисов, в том числе в системах стратегического назначения [1]. По некоторым оценкам, в ОС на каждую тысячу строк кода приходится до шести ошибок [2, 3]; размер же современных ОС превышает 6 000 000 строк кода. Согласно [4], до 85% ошибок находится в коде драйверов устройств и файловых систем (ФС), причем в случае монолитных ядер ОС любая из них потенциально может привести к краху всей системы. Считается, что переход к модульным микроядерным ОС, в которых основной функционал реализован в виде системных процессов, работающих в непривилегированном пользовательском режиме, позволяет решить данную проблему [5].
Отказоустойчивость микроядерных ОС основана на принципе минимальных привилегий и изоляции ошибок в системных компонентах (модулях), в частности, в драйверах и ФС: при отказе одного из компонентов ядро ОС продолжает функционирование и в состоянии перезапустить сбойный системный процесс. Время восстановления одного компонента значительно меньше, чем время восстановления всей