Устройство для моделирования процесса выполнения программы на ненадежной эвм

Реферат

 

Устройство для моделирования процесса выполнения программы на ненадежной ЭВМ относится к вычислительной технике и может быть использовано для проектирования программ, функционирующих в условиях сбоев и восстановления работоспособности ЭВМ. Целью изобретения является повышение точности результата моделирования за счет учета периодического запоминания промежуточных результатов, процесса обнаружения сбоя и возможности возникновения сбоя при восстановлении работы программы. Устройство содержит генератор 6 случайных импульсов, генератор 7 тактовых импульсов, элементы И 8, 9 и 10, формирователи 11, 12 и 13 импульсов, элементы НЕ 14, 15 и 16, счетчики 17 и 18, триггер 19, элемент ИЛИ 20, схемы 21 и 22 сравнения, регистры 23 и 24, сумматоры 25 и 26, элементы 27 и 28 задержки. 2 ил.

Изобретение относится к вычислительной технике и может найти применение при проектировании программ для ЭВМ.

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

В основу работы устройства положен следующий алгоритм.

Пусть имеется программа, время выполнения которой без учета влияния сбоев ("чистое" время) равно tм. Задан период запоминания промежуточных результатов tзп = tм + tзап, где tм - часть времени tм( <tм tм) , а tзап - время одного запоминания, т.е. программа выполняется по фрагментам. По окончании выполнения фрагмента осуществляется запоминание промежуточных результатов.

Известны характеристики вычислительного процесса: F(t) - закон распределения времени наработки ЭВМ на сбой, среднее обнаружение сбоя tобн, среднее время подготовки к продолжению вычислений в программе после устранения сбоя tпдг (время tпдг необходимо для "раскрутки" операционной системы ЭВМ, активизации задачи пользователя, считывания исходных данных).

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

Пусть событие Ai - случайный сбой, которому соответствует время tсбi - время наработки ЭВМ на i-й сбой.

Моделирование осуществляется за n шагов. На каждом i-м шаге i = 1, n разыгрывается событие Ai и рассчитывается текущее значение времени tp плнi= При этом текущее "чистое" время работы программы tмi может накапливаться, а может оставаться прежним. Накопление "чистого" времени осуществляется при выполнении условия t при i>1; где н - случайная величина, промежуток времени между моментом пуска программы и моментом возникновения первого сбоя. Текущее время tмiопределяется по формуле tмi= ри n; где {...} - операция взятия целой части.

На шаге i = n программа считается выполненной, если накопленное "чистое" время больше или равно величине tм: (tмi) tм (1) при этом полное время работы программы определяется по формуле tр плн=н+tобн+ (tсбi+tобн)]+k где к - случайная величина, промежуток времени между моментами возникновения n-го сбоя и окончания выполнения программы.

Схема устройства приведена на фиг. 1; траектория вычислительного процесса для одного выполнения программы - на фиг. 2.

Устройство для моделирования процесса выполнения программы на ненадежной ЭВМ содержит второй 1.1 и первый 1.2 входы начальной установки, вход 2 пуска устройства, шину 3 вывода результата моделирования, шину 4 ввода числа, пропорционального величине tм, шину 5 ввода числа, пропорционального tм, генератор 6 случайных импульсов для моделирования потока сбоев ЭВМ, генератор 7 тактовых импульсов (ТИ), первый элемент И 8 для запрета моделирования сбоя в период обнаружения предыдущего сбоя, второй элемент И 9 для запрета прохождения тактовых импульсов в периоды обнаружения сбоя, подготовки к продолжению вычислений и запоминания промежуточных результатов, третий элемент И 10 для выделения ТИ на интервале времени моделирования вычислений, первый формировать 11 импульсов для моделирования обнаружения сбоя, второй формирователь 12 импульсов для моделирования процесса подготовки к продолжению вычислений, третий формирователь 13 импульсов для моделирования процесса запоминания промежуточных результатов, первый элемент НЕ 14, второй элемент НЕ 15, третий элемент НЕ 16, первый счетчик 17, на выходе которого формируется число, пропорциональное полному времени работы программы, второй счетчик 18, который "считает" импульсы в пределах временного интервала, пропорционального tм, триггер 19, предназначенный для управления работой устройства по командам начальной установки и пуска, элемент ИЛИ 20, через который осуществляется сброс счетчика 18, первая схема 21 сравнения, осуществляющая сравнение двух чисел - первого, пропорционального tм, и второго с информационного выхода счетчика 18, вторая схема 22 сравнения, предназначенная для сравнения числа с информационного выхода сумматора, где формируется число, пропорциональное текущему "чистому" времени, с числом, пропорциональным величине tм, первый регистр 23 для хранения числа, пропорционального величине tм, второй регистр 24 для хранения числа, пропорционального tм, накапливающий сумматор 25, осуществляющий накопление "чистого" времени порциями по tм, комбинационный сумматор 26, суммирующий число с информационного выхода счетчика 18 и число с информационного выхода накапливающего сумматора, первый элемент 27 задержки, предназначенный для задержки импульса с выхода формирователя 13 импульсов, задний фронт которого сбрасывает счетчик 18, причем задержка осуществляется на время завершения переходных процессов в накапливающем сумматоре 25, второй элемент 28 задержки, осуществляющий задержку ТИ, поступающих на синхровход схемы 22 сравнения на время окончания переходных процессов в сумматоре 26.

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

Перед началом работы устройства (до подачи сигнала на вход "Пуск") в регистр 24 по шине 5 записывается число, пропорциональное времени tм, в регистр 23 по шине 4 - соответствующее tм, по шинам 1.1 и 1.2 начальной установки сумматор 25, счетчик 17, триггер 19, счетчик 18 сбрасываются.

С момента подачи сигнала на вход "Пуск" триггер 19 устанавливается в единичное состояние и ТИ с генератора 7 через элемент И 10 начинают поступать на счетчик 17. На выходе счетчика 17 формируется число, соответствующее полному времени работы программы.

Генератор 6 импульсов вырабатывает импульсы 1, 2, ..., n, период следования которых распределен по закону F(t) и пропорционален времени наработки ЭВМ на сбой - tсбi, i = 1, 2, ..., n, т.е. появление импульса на выходе генератора 6 соответствует возникновению сбоя ЭВМ. Импульс с генератора 6 поступает на вход формирователя 11 импульсов, который вырабатывает импульс длительностью, соответствующей величине tобн. Импульс с выхода формирователя 11 импульсов задним фронтом запускает формирователь 12 импульсов, чем моделируется процесс подготовки к продолжению вычислений после устранения сбоя.

Элементы НЕ 14 и И 8 не допускают моделирование сбоя в период обнаружения предыдущего сбоя. По окончании моделирования обнаружения и подготовки к продолжению вычислений ТИ поступают на счетчик 18, изменение состояния которого означает проведение вычислений программой.

Счетчик 18 осуществляет счет до появления на выходе числа, соответствующего времени tм. Код числа tм сравнивается с содержимым регистра 23, и импульс с выхода схемы 21 сравнения запускает формирователь 13 импульсов, чем моделируется процесс запоминания промежуточных результатов. Во время моделирования запоминания элемент И 9 не разрешает прохождение ТИ на вход счетчика 18. Если в текущем промежутке времени [0, tзп] (0 времени соответствует моменту сброса счетчика 18) возникает сбой, то значение суммы на выходе сумматора 25 не изменяется, так как операции суммирования предшествует сброс счетчика 18 импульсом с выхода генератора 6. В противном случае сброс счетчика 18 осуществляется по окончании моделирования процесса запоминания задним фронтом импульса с выхода формирователя 13 импульсов, задержанного элементом 27 задержки на время, необходимое для выполнения операций суммирования сумматором 25. Затем счетчик 18 продолжает "считать" следующую порцию tм. Таким образом, сумматор 25 накапливает "чистое" время порциями по tм, а сумматор 26 с частотой следования тактовых импульсов суммирует содержание сумматора 25 с текущим состоянием счетчика 18 с тем, чтобы точно определить момент окончания моделирования (окончание выполнения программы - проверка выполнения условия по формуле (1)).

Для определения момента окончания моделирования сумма с выхода сумматора 26 поступает на схему 22 сравнения, которая синхронизируется ТИ, задержанными элементом 28 задержки на время выполнения операций суммирования сумматором 26. Импульс с выхода схемы сравнения устанавливает триггер 19 в нулевое состояние, и счетчик 17 прекращает счет тактовых импульсов.

Разрядность элементов: счетчика 18 и регистра 23, регистра 24 должна быть достаточной для представления чисел, пропорциональных величинам tм и tм соответственно. Разрядность счетчика 17 определяется опытным путем в процессе эксплуатации устройства.

Средний период следования импульсов генератора 6 определяется законом распределения F(t) и численно пропорционален задаваемому среднему времени наработки ЭВМ на сбой.

Формула изобретения

УСТРОЙСТВО ДЛЯ МОДЕЛИРОВАНИЯ ПРОЦЕССА ВЫПОЛНЕНИЯ ПРОГРАММЫ НА НЕНАДЕЖНОЙ ЭВМ, содержащее комбинационный сумматор, генератор случайных импульсов, элемент ИЛИ, накапливающий сумматор, первую схему сравнения, два элемента задержки, отличающееся тем, что, с целью повышения точности результата моделирования за счет учета периодического запоминания промежуточных результатов учета процессов обнаружения сбоя и возможности возникновения сбоя при восстановлении работы программы, в устройство введены генератор тактовых импульсов, три элемента И, три формирователя импульсов, три элемента НЕ, два счетчика, триггер, вторая схема сравнения, два регистра, причем выход генератора случайных импульсов подключен к первому входу первого элемента И, выход которого соединен с входом первого формирователя импульсов и с первым входом элемента ИЛИ, выход первого формирователя импульсов соединен с входами второго формирователя импульсов и первого элемента НЕ, выход которого соединен с первым входом второго элемента И и вторым входом первого элемента И, выход второго формирователя импульсов через второй элемент НЕ подключен к второму входу второго элемента И, выход генератора тактовых импульсов соединен с первым входом третьего элемента И, второй вход которого соединен с прямым выходом триггера, выход третьего элемента И соединен со счетным входом первого счетчика, с третьим входом второго элемента И и с входом первого элемента задержки, выход второго элемента И соединен со счетным входом второго счетчика и с синхровходом первой схемы сравнения, первая группа информационных входов которой подключена к информационным выходам первого регистра, вторая группа информационных входов - к информационным выходам второго счетчика, к первой группе информационных входов комбинационного сумматора и к группе информационных входов накапливающего сумматора, выход первой схемы сравнения подключен к входу третьего формирователя импульсов, выход которого соединен с входом третьего элемента НЕ, с входом второго элемента задержки, с синхровходом накапливающего сумматора, выход третьего элемента НЕ - с четвертым входом второго элемента И, выход второго элемента задержки - с вторым входом элемента ИЛИ, выход которого соединен с входом сброса второго счетчика, первый вход начальной установки устройства подключен к третьему входу элемента ИЛИ, выход первого элемента задержки соединен с синхровходом второй схемы сравнения, первая информационная группа входов которой соединена с информационными выходами комбинационного сумматора, а вторая группа информационных входов - с выходами второго регистра, выходы накапливающего сумматора соединены с второй группой информационных входов комбинационного сумматора, выход второй схемы сравнения соединен с первым R-входом триггера, второй R-вход которого и входы сброса первого счетчика и накапливающего сумматора подключены к второму входу начальной установки устройства, вход пуска устройства соединен с S-входом триггера, информационные входы регистров соединены соответственно с первой и второй шинами ввода исходных данных устройства, выход первого счетчика соединен с шиной вывода результатов моделирования устройства.

РИСУНКИ

Рисунок 1, Рисунок 2