Петров Б.М., Уткина О.Н. МОДЕЛЬ РАСЧЕТА ЖИВУЧЕСТИ СЕРВЕРНЫХ ПРОГРАММНЫХ СРЕДСТВ НАНОПРОЦЕССОРНЫХ СИСТЕМ
При разработке серверных («облачных») систем, использующих новейшие достижения наноэлектроники, необходимо разработать новую модель расчета живучести программных средств (ПС) серверных нанопроцессорных систем (СНПС). В статье предложена модель прогнозирования безотказности программного обеспечения, позволяющая учесть влияние различных компонентов живучести на безотказность ПС.
Рассмотрим функциональную зависимость, называемую математической моделью прогнозирования безотказности программного обеспечения СНПС и позволяющую учесть влияние различных компонентов ненадежности на безотказность программного обеспечения (ПО) СНПС.
При оценке безотказности ПО СНПС используется комплексный подход, при котором применяются несколько вложенных моделей, параметры которых уточняются по мере накопления информации. Рассмотрим модель, которая может быть применена для расчета безотказности ПО НП с соответствующим определением параметров: а, Хнпо (т) и введением дополнительных коэффициентов, учитывающих особенности ПО
СНПС. Интенсивность отказов (ошибок) ПО БНПС определяется по формуле:
ХР.пОНП (т) = (Хупо (т)+ХнпО (т) хКтП1ХКЯДХККЭШХККОНХКМТХККЧХКПУХКПРХКНПХКНфХеХР (-аХТ))хКПИ,
где т - фактическое время отладки ПО в часах;
Хупо (т), Хнпо (т) - начальное значение интенсивности отказов ПО БНПС, равное разности фактиче-
ского (начального) и установившегося значения, Хнпо (т) соответствующего начальному этапу отладки при т = 0, Хнпо (т) при т = w;
Krni - коэффициент, учитывающий влияние i-й технологии программирования на процесс разработки и отладки ПО;
КЯД - коэффициент, характеризующий надежность ПО с учетом многоядерной структуры и протоколов мониторинга обмена данных и управления, включающих или отключающих различные ядра при сбоях в тестах, определяется по формуле Бернулли;
Ккэш - коэффициент, характеризующий надежность ПО с учетом многокэшовой структуры памяти и протоколов мониторинга обмена данных и управления, включающих или отключающих различные структуры уровней КЭШ-памяти при сбоях в тестах, определяется по формуле Бернулли;
Ккон - коэффициент, характеризующий надежность ПО с учетом многоконвейерной структуры и протоколов мониторинга обмена данных и управления, включающих или отключающих различные уровни (ступени) конвейеров при сбоях в тестах, определяется по формуле Бернулли или по формуле Пуассона, в зависимости от количества уровней;
КМТ - коэффициент, характеризующий надежность ПО с учетом микротехнологий, обеспечивающих плотность упаковки операций в одном такте для данной разрядности, и протоколов мониторинга обмена данных, включающих или отключающих различные уровни упаковки операций при сбоях в тестах, определяется по формуле Бернулли;
Ккч - коэффициент, характеризующий надежность ПО с учетом конфигураций частот системной шины данных и протоколов мониторинга управления, увеличивающих или уменьшающих (замедляющих) частотные режимы работы процессора при сбоях в тестах, соответствует коэффициенту электрической нагрузки по частоте или Raid технологии;
Кпу - коэффициент, характеризующий надежность СБИС памяти с учетом помехоустойчивости электрического режима работы (статического, динамического), зависит от запасов по помехоустойчивости в состояниях «0» и «1», от рабочей (тактовой) и предельной частоты (рабочей или эффективной);
Кнп - коэффициент, учитывающий различие в сложности проектирования ПО для БНПС, выполненных на однокристальных и секционных НП;
КпР - коэффициент производительности, учитывающий наличие информационной избыточности на уровне элементного состава для ПО, который равен отношению фактически используемой тактовой частоты к допустимой по ТУ тактовой частоте, (в отличие от ТС, где режимная избыточность на уровне элементного состава учитывается через коэффициент нагрузки и температурный коэффициент);
Кнф - коэффициент, характеризующий надежность НП с учетом нагрузочной функциональной способности, используемых сложных программных модулей, зависит от величин тактовых частот, задержек динамических сигналов, определяющих работоспособность НП;
КпИ - коэффициент, учитывающий степень использования стандартного программного обеспечения НП (эквивалентен коэффициенту электрической нагрузки в технических средствах);
а - коэффициент, характеризующей скорость роста безотказности ПО при отладке, зависит от типа НП и применяемой технологии программирования.
Установившееся значение интенсивности отказов (ошибок) ПО СНПС определяется остаточными ошибками, которые находятся в редко встречающихся комбинациях передачи управления между ветвями или в редко встречающихся комбинациях данных и констант. Кроме того, Хупо (т) учитывает вносимые ошибки, которые возникают по мере изменения характеристик ПО, при введении новых инструкций в процессе совершенствования ПО, после окончаний этапа отладки. Во время этапа отладки введение новых инструкций не допускается.
Численное значение Хупо (т) зависит от вида программы и от уровня безотказности, который необходимо обеспечить, исходя из требований на СНПС в целом при эксплуатации. Анализ данных показывает, что Хупо (т) зависит от сложности ПО (общего количества команд) и отличается от Хнпо (т) более чем в 100 раз, кроме того имеется нижний уровень для Хупо (т) , который соответствует для ПО СНПС не более 0.0005 1/ч.
Модель расчета надежности ПО СНПС позволяет на этапе проектирования сравнивать по безотказности различные варианты построения ПО СНПС с учетом применяемой элементной базы, сложности ПО, заданного времени отладки и используемой технологии программирования (ТП) .
Влияние современных ТП на надежность ПО через коэффициент Ктп приведено в таблице 1 [1]. По
субъектно-ориентированному программированию, компонентно-ориентированному программированию, родовому программированию и порождающему программированию данных для получения значений коэффициентов нет, поэтому в таблице прочерки.
Таблица 1________________________________________________________________
№ Вид технологии программирования КТП
1 ПО без применения технологии программирования 1,0
2 Процедурное программирование 0,81
3 Модульное программирование 0,64
4 Технология главного программиста 0,45
5 Структурное программирование 0,27
6 Нисходящая (восходящая) технология программирования 0.21
7 Последовательно-параллельная технология программирования 0.15
8 Объектно-ориентированное программирование 0,1
9 Субъектно-ориентированное программирование -
10 Компонентно-ориентированное программирование -
11 Родовое программирование -
12 Порождающее программирование -
13 Серверное программирование 0,01
При построении функциональной зависимости начального значения интенсивности ошибок Хнпо (т) от фактического времени отладки раньше использовали метод наименьших квадратов, который позволяет выбрать математическую модель (вид уравнения регрессии), наиболее адекватно описывающую физику процесса отработки, и определить параметры этой модели. Но большие ошибки метода наименьших квадратов, а главное не учет изменения механизма отладки при замене версий ПС потребовал рассмотреть другие методы.
Анализ метода кубических сплайн-функций дефекта один, метода фрактального анализа и метода вейвлет анализа показал, что лучшим методом анализа при построении функциональных зависимостей надежности ПО от времени отладки с учетом смены версий программных модулей в СНПС является метод вейвлет анализа. Этот метод успешно развивается в последнее время и является новым направлением в теории и технике временных рядов, обработки сигналов и изображений, и называется вейвлет анализ или вейвлет преобразование (ВП) и позволяет исследовать структуру неоднородных процессов.
Вейвлеты (функции двух аргументов: масштаба и сдвига) представляют собой особые функции в виде коротких волн с нулевым интегральным значением и с локализацией по оси независимой переменной (t или х) , способных к сдвигу по этой оси и растяжению или сжатию (масштабированию) . Почти любой вейвлет порождает полную ортогональную систему, вейвлет-функции имеют форму пакетов с колокольными огибающими.
При вейвлет-анализе (ВА) происходит декомпозиция процесса, благодаря изменению масштаба, и вейвлеты способны выявить различие в характеристиках процесса на разных шкалах, а посредством сдвига можно проанализировать свойства процесса в различных точках на всем исследуемом интервале и восстанавливать, синтезировать процесс.
ВП одномерного сигнала это его представление в виде обобщенного ряда или интеграла Фурье по системе базисных функций. ^ab(t) = 1/Va *¥((t-b)/a), обладает свойствами материнского (исходного) вейвлета ^(t) за счет операций сдвига во времени (b) и изменения временного масштаба (а) или (j). Множитель 1/Va обеспечивает независимость нормы этих функций от масштабирующего числа а.
Функция ^ab(t) двух аргументов (параметров) а-масштаба и b-сдвига есть вейвлет ¥((t-b)/a), порождаемый материнским вейвлетом ¥(t). Малые значения а соответствуют мелкому масштабу ^ab(t) или высоким частотам (ю~1/а), большие параметры а - крупному масштабу ^ab(t), т.е. растяжению материнского вейвлета ^(t) и сжатию его спектра. Поэтому в частотной области спектры вейвлетов похожи на всплески (волночки) с пиком на частоте ю0 и полосой Аю (полосовой фильтр), с ростом параметра а ю0 и Аю уменьшаются. Поэтому вейвлет-анализ называют автоматически самонастраиваемым математическим микроскопом, который позволяет сохранять хорошее разрешение на разных масштабах процесса отладки ПС, когда происходит нарушение автомодельности процесса при смене версии программного модуля и изменяется интенсивность ошибок.
Вейвлет-анализ может использовать многомасштабный (кратномасштабный) вейвлет-анализ, сигнал можно представить как последовательность образов с разной степенью детализации, чтобы выявить локальные особенности сигнала. ВП - это разложение сигнала по всем возможным сдвигам и сжатиям (растяжениям) некоторой функции.
ВП имеет существенное преимущество перед преобразованием Фурье за счет свойства локальности. В ВП операция умножения на окно как бы содержится в самой базисной функции, которая сужает и расширяет окно, с ростом параметра а увеличивается разрешение по частоте и уменьшается разрешение по времени, а с уменьшением этого параметра уменьшается разрешение по частоте и увеличивается по времени, эта возможность адаптивного к сигналу выбора параметров окна. Подвижное частотновременное окно одинаково хорошо выделяет низкочастотные и высокочастотные сигналы.
В соответствии с принципом неопределенности произведение эффективной длительности (тЭ) и эффективной ширины спектра (АюЭ) функции ^ab(t) (площадь прямоугольников остается неизменной (тЭ х Аю) остается неизменной, из-за масштабирования и временного сдвига (b/а = А = const) сохраняется относительная плотность расположения базисных функций по оси t. Спектральное представление (образ) вейвлетов аналогично заданию окна в оконном преобразовании Фурье, но отличие в том, что свойства окна (его ширина и перемещение по частоте) присущи только вейвлетам.
Главные признаки вейвлета:
- ограниченность, квадрат нормы функции должен быть конечным (||¥||2<а0,
- локализация, ВП в отличие от преобразования Фурье использует локализованную исходную функцию по времени и по частоте,
- нулевое среднее, график исходной функции должен осциллировать (быть знакопеременным) вокруг нуля на оси времени и иметь нулевую площадь, это маленькая волна, вейвлеты n -го порядка позволяют анализировать более тонкую (высокочастотную) структуру сигнала, подавляя медленно изменяющиеся его составляющие,
- автомодельность, характерным признаком ВП является его самоподобие, как в фрактальном анализе, но все вейвлеты конкретного семейства ^ab(t) имеют то же число осцилляций, что и материнский вейвлет ^(t), поскольку получены из него посредством масштабных преобразований (а) и сдвига (b).
Свойства вейвлет-анализа:
- линейность, следует из скалярного произведения
W[aS1(t) + pS2(t)] = aW1^,b) + pW2^,b),
- сдвиг (инвариантность относительно сдвига), смещение сигнала во временной области на b0 сведен к сдвигу вейвлет-образа также на b0
W[S(t - b0)] = W[(а,b - b0)] ,
- масштабирование (инвариантность относительно растяжения (сжатия)), растяжение (сжатие) сигнала приводит также к растяжению (сжатию) его в области W^,b)
W[S(t/а0)] = 1/а0W[а/а0,b/а0]. Материнский вейвлет при а = 1, b = 0.
Фреймы (каркас, т.е. набор векторов линейно зависимых, которые можно использовать для разложения и восстановления любого вектора) это особый вид вейвлетов, занимающих промежуточное положение между непрерывным и диадным ВП, используют непрерывный сдвиг.
Для построения спектра функции отладки программного обеспечения Хнпо (т) или средней наработки на ошибку программного обеспечения - То.по (т), заданной в виде трех непересекающихся последовательных косинусоид (м.б. скрытых в шумах), версии программного обеспечения: 0 - ая версия - те-
стирование в течение 60 дней, 1 - ая версия - приемо-сдаточные испытания изделия в течение 30 дней), 2 - ая версия приемо-сдаточные испытания объекта изделия в течение 15 дней, с частотами 1/60, 1/30, 1/15 Гц, их частоты возрастают, так как частота - величина обратная масштабу, т.е. а
= 15, 30, 60, с шагом дискретности ТО = 1, b = 364 дней (за год), тогда Хнпо (т) = cos (2-я-т/60) + cos (2-я-т/30) + cos (2-я-т/15). По мере получения дополнительных данных по результатам испытаний
ПО СНПС по изменению интенсивности ошибок ПО, значения коэффициентов будут усредняться и уточнятся, что позволит применить вейвлет-анализ с автоматической самонастраиваемыми коэффициентами при сохранении хорошего разрешения на разных масштабах процесса отладки ПО, даже при нарушении автомодельности процесса при смене версии программных модулей и скачкообразном изменении интенсивности ошибок.
ЛИТЕРАТУРА
1. Петров Б.М., Уткина О.Н. Применение компьютерных технологий для разработки web-портала экспертной системы анализа живучести информационных систем. Сб. трудов межд. научно-практич. конф. «Информационные технологии в образовании, науке и производстве» г. Серпухов 2008 г., с.128-132.