10. ОПТИМАЛЬНОЕ ИСПОЛЬЗОВАНИЕ РЕЗЕРВНЫХ БЛОКОВВ МОДУЛЕ
10.1. ЦЕЛЬ РАБОТЫ - освоение методики оптимального распределения резервных элементов в блоке устройства ВС
10.2. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
10.2.1. Изучить раздел 10.3 и рекомендованную литературу [9,10].
10.2.2. По заданному варианту надежностных параметров элементов модуля и способу использования резерва в блоке произвести оптимальное резервирование элементов, минимизирующее резерв при заданной надежности модуля. Эта надежность должна быть не ниже надежности соответствующего модуля, определенной в л. р. № 9. Способы использования резерва: нагруженное и ненагруженное резервирование.
10.2.3. Оформить отчет по работе (см. п. 10.6).
10.3. ЭЛЕМЕНТЫ ТЕОРИИ И МЕТОДИЧЕСКИЕ УКАЗАНИЯ
Пусть модуль устройства ВС (например, память микропрограмм процессора) состоит из элементов (например, микросхем стандартной емкости ПЗУ), К элементу k(k = 1, ... , s) добавляется некоторое количество хk функционально избыточных элементов, которые затем вместе с основным образуют резервированный блок k, ненадежность (вероятность отказа за фиксированный временной интервал) Qk(xk) которого считаем известной функцией целочисленной переменной хk. Если проектируется высоконадежный модуль, то с большой точностью можно считать, что его ненадежность Q(x1, ..., xs) равна Q1(x1) + ... + Qs(xs). Требуется распределить резервные элементы по блокам так, чтобы при минимуме этих элементов добиться заданной ненадежности модуля в целом. Математически эта задача формулируется следующим образом: найти вектор х = (х1, ... , хs), минимизирующий сумму
y = x1 + x2 + ... + xs (10.1)
при условиях
х1 + х2 + ... + хs £ z, (10.2)
Q1(x1) + Q2(x2) + ... + Qs(xs) £ ε , (10.3)
xk = 1, 2, ... , k = 1, ... , s. (10.4)
Условие (10.2) означает, что общее количество резервных элементов в модуле не может превысить числа z (по соображениям стоимости, веса, потребляемой мощности и т. п.). Вектор х, удовлетворяющий условиям (10.2)-(10.4) и минимизирующий (10.1), называют оптимальной надежностной структурой модуля.
Если в блоке k резерв используется в нагруженном режиме, то
, (10.5)
где qk - ненадежность одного элемента. При ненагруженном резервировании, если qk<<1 (что имеет место в нашем случае),
. (10.6)
Для решения задачи (10.1) - (10.4) можно предложить следующий алгоритм [9], основанный на методе [10].
Начало.
1. Вводим параметры qk функций Qk(xk) и заданную ненадежность ε модуля.
2. Полагаем y = 0, xk = 0, k = 1, ... , s.
3. Проверяем условие (10.3). Если оно выполняется, то переходим к п.(5). Иначе переходим к п.4.
4. Для j, соответствующего равенству
, (10.7)
где Rk(xk) = Qk(xk) - Qk(xk + 1) , (10.8)
полагаем хj:= xj + 1, а также , и переходим к п.3.
5. Вычисляем l = y - z. Если l £ 0, то х = (х1, ... , хs) - оптимальная структура, и Q(x) = Q1(x1) + ... + Qs(xs) - надежность модуля, достигаемая за счет введения у резервных элементов. Далее переходим на конец. Если l>0, то переходим к п.6.
6. Задача не имеет решения. Для достижения заданной ненадежности необходимо дополнительно минимум l резервных элементов.
Конец.
Как явствует из структуры алгоритма, процесс отыскания оптимальной структуры заключается в пошаговом добавлении элемента в тот блок, который обеспечивает на текущем шаге максимальное приращение надежности.
Процесс заканчивается по достижении заданной ненадежности модуля, причем если эта ненадежность достигается в пределах отпущенного числа резервных элементов, то задача имеет решение, и алгоритм выдает соответствующую оптимальную структуру модуля и его ненадежность. В противном случае сообщается, что задача не имеет решения, поскольку для достижения заданной ненадежности не хватает l элементов.
10.4. ПРИМЕР РАСЧЕТА ОПТИМАЛЬНОЙ СТРУКТУРЫ
В качестве резервируемого модуля выберем память микропрограмм процессора, которая состоит из четырех элементов - банков ПЗУ. Вероятность отказа (ненадежность) элементов задана в табл.10.1.
Таблица 10.1
k |
1 |
2 |
3 |
4 |
qk |
0,01 |
0,011 |
0,014 |
0.015 |
Количество резервных банков не может превышать z = 6. Требуется зарезервировать ПЗУ минимальным количеством банков так, чтобы ненадежность модуля микропрограмм процессора не превысила рассчитанной в л. р.№ 9, т. е. ε = 32*10-5.
Определим оптимальную структуру модуля сначала для случая нагруженного резервирования. При этом, с учетом (10.5) и (10.8),
. (10.9)
Таблица 10.2 представляет протокол пошаговой реализации алгоритма.
Таблица 10.2
Шаг |
х |
Q(x)*105 |
y |
Шаг |
х |
Q(x)*105 |
y |
1 |
(0,0,0,1) |
3523 |
1 |
4 |
(1,1,1,1) |
65 |
4 |
2 |
(0,0,1,1) |
2143 |
2 |
5 |
(1,1,1,2) |
42 |
5 |
3 |
(0,1,1,1) |
1055 |
3 |
6 |
(1,1,2,2) |
22 |
6 |
Из таблицы видно, что условие (10.3) выполняется при у = 6, что равно допустимому числу резервных банков (i = y - z = 0). Оптимальной структурой является структура (1,1,2,2), ей соответствует ненадежность Q(x) = 22*10-5.
Рассмотрим случай ненагруженного резерва. Из (10.6) и (10.8) следует, что при этом
. (10.10)
Фрагмент протокола реализации алгоритма для случая (10.10) представлен в табл.10.3. (На первых четырех шагах табл.10.1 и 10.2 совпадают).
Таблица 10.3.
Шаг |
х |
Q(x)*105 |
y |
Шаг |
х |
Q(x)*105 |
y |
5 |
(1,1,1,2) |
53 |
5 |
7 |
(1,2,2,2) |
37 |
7 |
6 |
(1,1,2,2) |
43 |
6 |
8 |
(2,2,2,2) |
32 |
8 |
Здесь требуемая ненадежность достигается при у = 8, что больше допустимого числа резервных банков (l = y - z = 2 > 0). Поэтому задача не имеет решения. Для достижения заданной надежности модуля требуется дополнительно минимум два резервных элемента.
10.5. ВАРИАНТЫ ЗАДАНИЙ
В качестве резервируемого модуля во всех вариантах фигурирует память микропрограмм из s = 4 элементов. Ненадежности резервированного модуля должна быть не больше ε = q- ненадежности памяти микропрограмм, рассчитанной в л. р.№ 9. Оптимальная структура резерва должна быть определена для обоих режимов резервирования: нагруженного и ненагруженного.
Номер N варианта задает, согласно формулам К = Nmod5, M = ]N/5[, номер К емкости резерва (табл.10.4) и номер М вектора ненадежностей элементов модуля (табл.10.5).
Таблица 10.4
К |
0 |
1 |
2 |
3 |
4 |
z |
7 |
8 |
10 |
9 |
8 |
Таблица 10.5
М qk |
1 |
2 |
3 |
4 |
5 |
q1 |
0,009 |
0,012 |
0,016 |
0,006 |
0,014 |
q2 |
0,011 |
0,013 |
0,015 |
0,019 |
0,011 |
q3 |
0,008 |
0,014 |
0,007 |
0,021 |
0,018 |
q4 |
0,015 |
0,009 |
0,010 |
0,012 |
0,009 |
10.6. СОДЕРЖАНИЕ ОТЧЕТА
Постановка задачи по типу раздела 10.3, протокол реализации алгоритма, результаты и выводы.