Застосування стiйких до збоїв програм 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Застосування стiйких до збоїв програм



Стiйкi до збоїв програми одержують, як правило, шляхом багаторазового повторення обчислень на рiвнi мiкрооперацiй, операцiй, команд, дiлянок чи програм усiєї програми. Так, наприклад, в ЕОМ "Стретч" всi арифметичнi операцiї перевiрялися як спецiальними схемами контролю, так i повторним рахунком, який сумiщався з виконанням наступної команди.

Для пiдвищення надiйностi по збоях всiєї ЕОМ широко використовується метод багаторазового рахунку на рiвнi дiлянок програм. Сутнiсть його полягає в тому, що програма розбивається на ряд дiлянок, кожна з яких обчислюється двiчi, а результати порiвнюються. Якщо результати першого i другого обчислень збiгаються, то вважають, що результат одержали вiрний i переходять до наступної дiлянки обчислень. При розбiжностi, обчислення повторюють доти, поки не будуть отриманi два однакових результати. Достоїнством методу є його простота. При складаннi програми необхiдно лише передбачити вiдповiднi дiї, апаратних витрат метод не вимагає. Недолiком методу подвiйного рахунку є збiльшення часу рiшення задачi бiльш нiж у два рази i неможливiсть виявлення помилок, викликаних вiдмовами.

Продуктивнiсть ЕОМ при використаннi методу подвiйного рахунку залежить вiд числа дiлянок, на яке розбивається програма. Дiйсно, при великiй довжинi дiлянки ймовiрнiсть появи збою буде велика. Отже, замiсть двох прорахункiв прийдеться три i бiльш рази повторювати обчислення, через що час рiшення задачi буде збiльшуватися. З iншого боку, при малiй довжинi дiлянки значна частина часу буде йти на порiвняння i запис у ЗП (запам’ятовуючий пристрiй) результатiв обчислень, виконаних на окремих дiлянках програми.

У зв'язку з цим виникає задача про знаходження оптимального числа дiлянок, на якi варто розбивати програму i при яких час  рiшення задачi буде мiнiмальним. Введемо позначення:

 - час рiшення задачi при однократному рахунку;

 - тривалiсть обчислень на однiй дiлянцi;

 - ймовiрнiсть вiдсутностi збою за час .

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

 

, де .

 

Аналогiчно,  дорiвнює ймовiрностi того, що в i-ому та в одному з попереднiх обчислень збої були вiдсутнi, а в iнших були збої, тобто

 

.

 

Отже, середнє число обчислень буде дорiвнює:

 

.

 

Легко показати, що:

 


.

.

 

Таким чином, час, витрачений на обчислення, буде дорiвнює . Час , необхiдний для виконання операцiй порiвняння i запису промiжних обчислень у ЗП, залежить вiд типу використовуваного ЗП, кiлькостi  промiжних результатiв i числа дiлянок  програми, тобто , де  - середнiй час виконання операцiй порiвнянь i звертання до ЗП для запису результатiв однiєї дiлянки програми. Якщо вважати, що , то

 

.

 

Для деяких типiв машин експериментально встановлено, що , де  - iнтенсивнiсть збоїв, рiвна, наприклад, у розрахунку на один логiчний елемент 10-4 год-1.

У цьому випадку  приймає мiнiмальне значення при , яке можна визначити з рiвняння:

 

.

 

В деяких випадках можна вважати, що

 

.

Тодi: , .


Таким чином, знаючи , можна визначити оптимальну довжину дiлянки програми i вiдповiдне їй число  дiлянок, при яких  мiнiмальне. Звiдси випливає, вiдношення, однак, слiд помiтити, що продуктивнiсть ЕОМ падає бiльше нiж у два рази.

 

.

 



Поделиться:


Последнее изменение этой страницы: 2020-03-14; просмотров: 87; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.152.251 (0.007 с.)