Устройство для контроля параллельной вычислительной системы
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Номер патента: 1451697
Авторы: Балакин, Барашенков, Казак, Никищенков
Текст
СОЮЗ СОВЕТСНИХСОЦИАЛИСТИЧЕСНИХРЕСПУБЛИН 19) (И) 4 С 06 Г 11/О ОМИТЕТ ОТНРЦТИ ГОСУДАРСТВЕННЫПО ИЗОБРЕТЕНИЯМПРИ ГКНТ СССР ОПИСАНИЕ ИЗОБВЕТЕНИ АВТОРСКОМУ Сви ЕЛЬСТВУ(71) Ленинградский электротехнический институт им. В.И.Ульянова (Ленина)(56) Вальковский В.А. и др, Элементы параллельного программирования. М.: Радио и связь, 1983.Авторское свидетельство СССР В 1056202, кл, С 06 Р 11/00, 1983. УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ПАРАЛОЙ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕ%1 Изобретение относится к вычислиой технике и позволяет расшиобласть применения устройств онтроля параллельных вычислих систем; за счет обеспечения жности контроля параллельных лительных систем с переменным м процессоров и реконфигурацией слительного процесса и расширеласса выявляемых дефектов. В результате введения в устройство,содержащее преобразователь кодов,регистр, схему сравнения, блок регистрации логических условий, элементы ИЛИ, триггеры результата контроля и и блоков анализа команд, включающих регистр команд, дешифратор,триггер запуска, счетчик команд,схему сравнения, логические элементыи элемент задержки мультиплексора,регистров, сумматора, логическихэлементов, формирователя импульсов,элементов задержки и триггеров результата контроля, а в каждый блоканализа команд - схемы сравнения,логических элементов и таймера осуществляется контроль правильностипотока команд, поступающего на процессоры, в условиях изменения ихчисла и реконфигурации вычислительного процесса, Наличие дефектов, прводящих к выдаче команд не из допустимого множества, замене команд, выдаче команд отказавшему процессору,пропуску и зацикливанию команд, фиксируется триггерами результата контроля, 2 з,п. ф-лы 7 ил.17 14 и выход третьего элемента И соединены соответственно с х-м входом признака окончания выполнения команды " устройства и входом установки в "0" триггера запуска, вход установки в "1" и инверсный выход которого соеди иены соответственно с выходом и первым входом пятого элемента И, второй вход Которого соединен с выходом вто рого элемента задержки, вход которого соединен с -м входом запуска команд устройства, вход начального сброса счетчика числа команд, вход начального сброса триггера запуска, входы сброса с первого по третий триггеров результата контроля, вход сброса блока регистрации логических условий соединены с входом начального сброса устройства, первый выход дешифратора соединен с третьим входом пятого элемента И, выход второго элемента задержки соединен с входом первого элемента задержки и вторым входом четвертого элемента И, о т л и ч а ю щ е е с я тем, что, с целью расширения области применения эа счет обеспечения возможности контроля параллельных вычислительных систем с переменным числом процессоров и реконфигурацией вычислительного процесса и расширения класса обнаруживаемых дефектов, в него введены четвертый, пятый, шестой, седьмой и восьмой элементы ИЛИ, мультиплек-: сор, второй, третий и четвертый регистры, третий и четвертый элементы задержки, формирователь импульсов, сумматор, шестой и седьмой элементы И, первый элемент НЕ, четвертый и пятый триггеры результата контроля, в -й блок анализа команд введены третья схема сравнения, восьмой, девятый и десятый элементы И, второй элемент НЕ, таймер, причем первый вход четвертого элемента ИЛИ соединен с входом синхронизации начальной установки устройства, второй вход четвертого элемента ИЛИ соедине с выходом шестого элемента И, выход четвертого элемента ИЛИ соединен с входом третьего элемента задержки, входом синхронизации первого регистра и входом синхронизации второго регистра, выход которого соединен с вторым входом преобразователя кодов и первым информационным входом третьего регистра, вход синхронизации которого соединен с выходом третьего 51 б 97 элемента задержки, второй информационный вход третьего регистра соединен с вторым входом преобразователя5кодов второй выход которого соедиЭнен с первым информационным входоммультиплексора, второй информационный вход и вход управления которогосоединены Соответственно с входомкода начальной установки и входомуправления начальной установки устройства, выход мультиплексора соединен с информационным входом второгорегистра, выход сумматора соединен с15 информационным входом четвертого регистра, выход которого соединен свторым информационным входом первойсхемы сравнения, вход синхронизациичетвертого регистра и вход четвер 20 того элемента задержки соединены свыходом формирователя импульсов,вход которого и первый вход седьмогоэлемента И соединены с выходом пятого элемента ИЛИ, выход четвертого25 элемента задержки соединен с входомстробирования первого триггера результата контроля и первым входомшестого элемента И, второй вход которого соединен с выходом первогоЗ 0 элемента НЕ, вход которого соединен .с выходом первого элемента ИЛИ, второй вход которого соединен с выходомседьмого элемента И, второй вход которого соединен с выходом шестогоэлемента ИЛИ, в -м блоке анализакоманд первый информационный вход35третьей схемы сравнения соединен свыходом поля метки команды регистракоманд, выход третьей схемы сравне 40 ния соединен с первым входом восьмого элемента И, выход которого соединен с вторым входом элемента ИЛИ-НЕ,третий вход которого соединен с инверсным выходом триггера запуска,45первый вход девятого элемента И соединен с вторым выходом дешифратора,второй вход девятого элемента И соединен с -м входом признака окончан ния элемента выполнения команды устройства, выход девятого элемента Исоединен с 1-м входом второй группыинформационных входов блока регистрации логических условий, четвертыйвход пятого элемента И соединен с выходом второго элемента НЕ, вход кото 55 рого соединен с 1-м входом признакаотказа 1-го процессора устройства ипервым входом девятого элемента И,второй вход которого соединен с914516 -м входом запуска команд устройства, прямой и инверсный выходы триггера запуска соединены соответственно с первым и вторым входами таймера, в 1-м блоке анализа команд вторые инфор 5 мационные входы второй и третьей схем сравнения соединены соответственно с первым и вторым выходами третьего регистра, выходы первого и восьмого элементов И соединены с -ми входами соответственно шестого и пятого элементов ИЛИ, четвертый вход элемента ИЛИ-НЕ соединен с выходом третьего элемента задержки, вход сброса счетчика команд соединен с выходом формирователя импульсов, выход счетчика команд соединен с ю.-м входом суммато. ра, выход таймера и выход десятого элемента И д-го блока анализа команд соединены соответственно с -м входом седьмого и ь-м входом восьмого элементов ИЛИ, входы сброса четвертого и пятого триггеров результата контроля соединены с входом начального сброса устройства, в -м блоке анализа команд прямой выход триггеразапуска соединен с вторыми входами первого и восьмого элементов И, выход четвертого элемента И соединен с ь-м входом третьего элемента ИЛИ, выходы седьмого и восьмого элементов ИЛИ соединены с входами установки в " 1" соответственно четвертого и пятого триггеров результата контроля, выходы с первого по пятый триггеров результата контроля образуют выход результата контроля устройства.,2Устройство по п.1, о т л ич а ю щ е е с я тем, что блок регист 40 97 20рации логических условии содержити дешифраторов, и групп из ш элементов И, где ш - число выходов каждогодешифратора, первую и вторую группыэлементов ИЛИ, ш элементов задержки и ш триггеров, причем управляющийи информационный входы д-го дешифратора соединены соответственно смвходом второй группы и д-м входомпервой группы информационных входовблока, 1-й выход (,1 = 1,2,ш) д-м входом -го элемента ИЛИ первойгруппы, выход которого соединен свходом -га элемента задержки, выход которого соединен с входом синхронизации 1-го триггера, вход сбросакоторого соединен с входом сбросаблока, а информационный вход - с выходом 3-го элемента ИЛИ второй груп-.пы, -й вход которого соединен с выходом 1-го элемента И д-й группы,вторые входы элементов И -й группысоединены .с -м входом логическихусловий, выходы триггеров образуютвьосод блока,3. Устройство по п.1, о т л ич а ю щ е е с я тем, что таймер содержит генератор импульсов, первыйи второй делители частоты и элементИЛИ, причем входы синхронизации делителей соединены с выходом генератора импульсов, вход сброса - соответственно с первым и вторым входамитаймера, выходы делителей соединенысоответственно с первым и вторымвходами элемента ИЛИ, выход которогосоединен с выходом блока.1451697 Составитель Д. ВанюхинТехред А,Кравчук Корректор Г.Решетник И.Рыбченк Редак и ГКНТ СССР Подпис но Тираж 66 лиграфическое предприятие, г. Ужгород ул. Проектн 4 Производствен Заказ 7081/4 ВНИИПИ Госуд твенного комитета 113035, Москва, изобретениям и открытия 5, Раушская наб., д, 4/5Изобретение относится к автоматике и вычислительной технике и предназначено для использования в качестве аппаратуры контроля правильности5Функционирования программных блоковуправления (БУ) в параллельных вычислительных системах (ПВС), обладающихсвойством реконфигурации и отказоустойчивости, 10Целью изобретения является расширение области применения устройства за счет обеспечения возможностиконтроля ПВС с переменным числомпроцессоров и реконфигурацией вычислительного процесса, а также расширения класса выявляемых дефектов.На фиг. 1 показана схема устройства; на фиг. 2 - схема блока регистрации логических условий; на Фиг. 3 - 20схема таймера; на фиг. 4 (а-д),5 (а-г) и 6 (а-д) - примеры контролируемых программ и настройки устройства; на фиг, 7 - таблица, иллюстрирующая функционирование контролирующего 25автомата.Устройство содержит преобразователь 1 кодов, первый регистр,2, первую схему 3 сравнения, блок 4 регистрации логических условий, первый,второй и третий элементы ИЛИ 5, 6, 7,первый, второй и третий триггеры 8,9 и 10 результата контроля, регистр11 команд с полем 11.1 метки логического условия, полем 11.2 метки команды и полем 11.3 кода типа команды,вторую схему 12 сравнения, первыйэлемент И 13, элемент ИЛИ-НЕ 14, второй элемент И 15, первый элемент 16задержки, дешифратор 17, третий элемент И 18, второй элемент 19 задержки, пятый элемент И 20 триггер 21запуска, счетчик 22 числа команд,четвертый элемент И 23, и блокованализа команд 24, 1-24.п, четвертыйэлемент ИЛИ 25, мультиплексор 26,45второй регистр 27, третий элемент 28задержки, формирователь 29 импульсов,третий регистр 30, сумматор 31, четвертый регистр 32, шестой и пятыйэлементы ИЛИ 33 и 34 соответственно,седьмой элемент И 35, четвертый элемент 36 задержки, первый элементНЕ 37, шестой элемент И 38, седьмойи восьмой элементы ИЛИ 39 и 40 соответственно, четвертый и пятый тригге ры 41 и 42 результата контроля,третью схему 43 сравнения, восьмойэлемент И 44, девятый и десятый элементы И 45 и 46, второй элементНЕ 47, таймер 48. Устройство содержит также вход 49 синхронизации начальной установки, вход 50 начальнойустановки, вход 51 кода начальнойустановки, вход 52 начального сброса, вход 53 логических условий, -йблок анализа 24. имеет вход 54.1контролируемых команд, вход 55,признака окончания выполнения команды, вход 56.д запуска команд, вход57. признака отказа процессора, спервого по пятый выходы 58-62 триггеров результата контроля, первуюи вторую группы информационных входов блока 4 соответственно 63.163.п и 64, 164.п, входы и выходы с 65,х по 78,. -го блока анализакоманд.Блок 4 регистрации логических условий (фиг.2) включает в себя и дешифраторов 79,1,..,79.п, с первой80 . 1, ,80 .ш по и-ю 8 1. 1. 8 1.шгруппы элементов И, первую и вторуюгруппы элементов ИЛИ 82,1. 82,ши 83.183,тп, элементы 84,1.84,ш задержки, триггеры 85. 185,ш, выход 86 блока,Таймер 48 (фиг,З)содержит генератор 87 импульсов, первый и второйделители 88 и 89 частоты, элементИЛИ 90, первый и второй входы 91 и92, выход 93.Преобразователь 1 служит для хранения информации о требуемом (правильном) функционировании контролируемого БУ, причем входными даннымипреобразователя являются текущий номер (метка) яруса в ярусно-параллельной форме (ЯПФ) и значения логических условий, проверенных в процессевычисления, а выходными - метка следующего яруса и число команд в нем. Регистр 2, схема 3 сравнения, сумматор 31 и регистр 32 служат для сравнения к моменту перехода на следующий ярус требуемого и действительного чисел команд, инициированных БУ в данном ярусе параллельно-.исследовательной программы (ППП) .Блок 4 служит для формирования на первом входе преобразователя 1 вектора Р значений логических условий в выполняемой ППП,Элемент ИЛИ 5 и триггер 8 служат для Формирования на выходе 58 сигнала ошибки, вызванной несовпадением. з 145требуемого и действительного чиселкоманд в ярусе или одновременнойинициацией команд из текущего и следующего яруса,Элемент ИЛИ 6 и триггер 9 служатдля формирования на выходе 59 сигнала ошибки, вызванной инициацией контролируемым БУ команд, не принадлежащих ни текущему, ни следующему ярусам.Элемент ИЛИ 7 и триггер 10 служатдля формирования на выходе 60 сигнала ошибки, вызванной запуском следующей команды в -м процессоре доокончания выполнения текущей команды.Регистр 11 служит для приема посигналу на входе 56.1 признака команды с. входа 54., сопровождающего каждую команду в ППП и состоящего изметки логического условия (поле 11.1)метки команды (поле 112) и кодатипа команды (поле 11.3), которыеуказывают соответственно номер логического условия (ЛУ) в ярусе, номер яруса и тип команды (операцион,ная, условная, т.е, команда перехода,или команда ожидания события, т.е.синхронизации)Метки ЛУ и команды,однозначно определяя ЛУ в ППП, поступают на вход блока 4, метка командына схемы 12 и 43 для сравнения сметками текущего и следующего ярусов,поступающих соответственно с первогои второго выходов регистра 30.Элемент ИЛИ-НЕ 14, элемент И 15и элемент 16 задержки служат для формирования на выходе 75.д сигналаошибки, вызванной инициацией команды,не принадлежащей текущему и следующему ярусам.Элементы 19 и 16 служат для исключения возможности ложной вьдачи сигнала на выходе 75.1 из-за переходньппроцессов в блоках 12, 43, 13, 44 и14, вызванных записью нового кода врегистр 11.Дешифратор 17 и элемент И 45 служат для формирования на выходе 66.дсигнала окончания выполнения командыпроверки ЛУ и синхронизации тем самым блока 4, Дешифратор 17 формируетна первом выходе признак операционной или условной команды.Триггер 2 1 служит для фиксации запуска очередной операционной илиусловной команды, а элемент И 20для установки его в "1" из состояния"0" при условии наличия признака на 1697первом выходе дешифратора 7 и отсутствия признака отказа х-го процессора на входе 57.д.Счетчик 22 служит для подсчета 5числа команд, выполненных в х-м процессоре, Сумматор 31 служит для подсчета числа команд, выполненных в ипроцессорах, а регистр 32 - для фиксации этого числа к моменту переходана следующий ярус.Элемент И 23 служит для формирования сигнала при инициации командыдо окончания выполнения предьдущейв данном процессоре.Блоки 25-28, 30, преобразовательи блок 4 образуют контролирующийавтомат, служащий для формированияконтрольных признаков (меток ярусови чисел команд) в зависимости отпредьдущего яруса и значений ЛУ,т.е. от хода вычислительного процесса, инициируемого правильно функционирующим БУ.25 Элементы ИЛИ 33 и 34 служат дляформирования сигнала - признака инициации команд из текущего и следующего ярусов в блоках 24.124.п,причем формирователь 29 вьдает импульс при запуске хотя бы одной команды из следующего яруса, в результате чего осуществляется переход контролирующего автомата в новое состояние при условии, что на выходе элемента ИЛИ 5 присутствует уровень "О"Элемент ИЛИ 39 и триггер 41 служатдля формирования на выходе 61 сигнала ошибки при выдаче импульса с выхода блока 48 любого блока 24. при повышении времени нахождения триггера2 в состоянии "0" или "1" по сравнению с допустимым.Элемент ИЛИ 40 и триггер 42 служат для формирования на выходе 62сигнала, ошибки при вьдаче контролируемым БУ команды в отказавший процессор, что фиксируется элементомИ 46.Устройство работает следующим образом.50. При подготовке устройства к контролю параллельного БУ производитсяопределение функций выход-вход преобразователя 1 в зависимости от про"грамм, реализуемых БУ, На фиг. 4, 5, 55 6 показаны примеры таблиц настройкиблока 1 (фиг.4-6 в) по ЯПФ (фиг.4-6 б)и эквивалентные ППП, различающиесястепенью параллелизма, порядком5 14 следования операторов и их распределением по процессорам (фиг.4-6 а,г,д), В качестве метки яруса и принадлежащих ему команд используется его номер (что в общем случае не обяза. - тельно), а число команд и ярус перехода в следующих за условной командой ярусах может модифицироваться в зависимости от значения логических условий к концу выполнения яруса, содержащего условную команду.В соответствии с принятым принципом комантроля БУ в условиях реконфигурации вычислительного процесса - использования ЯПФ для получения контролируемых соотношений - программы, реализуемые БУ, приводятся к контролепригодному виду, отвечающему следующим условиям; инициация (запуск) команд из следующего яруса может начаться, если выполнены все команды иэ текущего, соответствующие значениям ЛУ в данном вычислении, если в какой-либо ветви осуществляется переход на следующий ярус, то в остальных ветвях ППП инициируется либо команда из него, либо команда ожидания (синхронизации).Это всегда возможно для ациклических ППП (составляющихпреобладающую частьв практике параллельных вычислений) и для ППП без конкурирующих процессов над общей памяТью, например для ППП с циклами в в отдельно взятых ветвях (см.фиг.6), поскольку приведение к контролепригодному виду осуществляется путем введения в ППП дополнительных операторов (команд) ожидания магас(Х), где Х - событие в соседних ветвях. Для ППП с конкурирующими процессами, где используется семафорная техника, преобразования носят более сложный характер, Применимость предлагаемого устройства рассматривается на реконфигурируемых ПВС, реализующих ППП без взаимодействующих (между собой и ветвями) по управляющим и информационным переменным циклов. На фиг.4- 6 все программы контролепригодны,При правильном функционировании БУ на процессоры поступает поток команд, состоящий из операционных, условных команд и команд ожидания и соответствующий ППП с числом ветвей, равным числу исправных процессоров, При отказе части процессоров БУ реконфигурирует выполняемую программу - переводит ее в эквивалентную, но35 51697 6с меньшим числом ветвей (например,на фиг. 4 - от д к г и к а, нафиг, 5 - от г к а, на фиг. 6 - ет д5или г к а), что осуществляется, взависимости от органиэации ПВС, путем возврата к началу программы, либо рестартом с контрольной точки(яруса), либо оперативно. Обратныйпроцесс происходит при вводе в работу ранее отказавших процессоров,но уже отремонтированных.При возникновении в контролируемом БУ сбоев и отказов искажается поток команд, поступающих на процессоры (и на блоки 24. устройства), приэтом возможны следующие типы дефектов.1. Инициируемая команда не принадлежит ни к текущему, ни к следующему ярусу, Условие нормального функционирования (УНФ) для 1-й ветви ППП;25 функция ошибки (ФО):где с(с , ) - признак принадлежности команды к текущемуЭО (следующему) ярусу,равный 1 при щ,щк( А к+ фщ А , - метка команды;щ(щ ) - метка текущего (следующего) яруса;й признак выполнениякоманды в 1-м процессоре ФО для всейППП (БУ в целом):н40 0 = / Й а2, При переходе к следующему ярусу не окончено выполнение команд текущего (т.е. одновременное выполнение команды из текущего.и следующего ярусов). УНФ: ( Ч (й Л сЛ (,Ю, (ГЧ , =О; ФО: (Д,(КА, с, ((Ес : 1.3. Время выполнения или ожиданияинициации команды в процессоре превышает допустимое значение, УНФ;1, Вз =Л й, где С; (1-;) и(1-") - соответственно времявыполнения (ожидания) команды и максимально допустимые значения.4Инициация очередной команды впроцессоре происходит до завершения51697 5 1 О 15 20 25 7 14 выполнения, предыдущей. УНФ: Е Л а; -1 ФО: с 1 = ГЛа = 1 Р =.Ч 6У4 4 : 4 где а - признак запуска команды.5. Команда инициируется отказавшему процессору, УНФ: г; У,а = 1; ФО: г Л аф Р1 ф где 1=г; - признак отказа -го процессора.6. При переходе на следующий ярус число команд, выполненных в текущем ярусе, не равно требуемому. УНФ: ( У,(ЕЛ с, Л Вм = 1, ФО 1 П 6= = ,Ч (Г Л с, Л Вн= 1, где1 сВц - признак совпадения требуемого и действительного чисел команд, выполненных в ярусе, формируемый в момент перехода на следующий ярус.В предлагаемом устройстве сигнал а интерпретируется импульсом на входе 56.д, й- состоянием прямого выхода триггера 21.ш А - состоянием выхода 11.2 регистра 11 блока 24.д, шк - состоянием первого выхода регистра 30, ш, - состоянием второговыхода регистра 30, с и с, - состоянием. соответственно выхода элемента И 13 и выхода элемента И 44 блока 24., г; - состоянием входа 57., В- состоянием выхода схемы 3, й - состоянием выхода элемента ИЛИ-ЙЕ 14 блока 24., Р в ,состоянием выхода элемента И 35, д - состоянием выхода блока 48 блока 24., Рз - состоянием выхода элемента ИЛИ 39, Й - состоянием выхода элемента И 23, Р- состоянием выхода элемента ИЛИ 7, д - состоянием выхода элемента И 46, Р- состоянием выхода элемента ИЛИ 40, Р - состоянием выхода схемы 3 непосредственно после формирования импульса на выхо-. де формирователя 29 и записи в регистр 32.После сброса устройства (подачей импульса на вход 52) на входах 50 и 51 выставляются соотнетственно уровень управления мультиплексором 26, соответствующий записи в регистр 27 с входа 51 (например, "1"), и код метки ш яруса, предшествующего начальному ярусу программы (или ярусу рестарта), например, К = 0 для ППП на фиг. 4-6, затем на вход 49 подается импульс,по которому в регистр 27 записывается щ, в регистр 2 состояние первого выхода блока 1 (фиг.7), на первом и втором выходах блока 1 формируются значения числа команд в следующем (начальном) ярусе и его метка, а через время задержки в элементе 28, большее суммы задержки в блоках 1 и 27, н регистр 30 записывается значение ш и ш. Аналогично происходит в процессе функционирования устройства при поступлении импульса с выхода элемента И 38, с той разницей, что н регистр 27 записывается состояние второго выхода блока 1. На фиг. 7 стрелками показана пересылка данных.Затем на входе 50 устанавливается уровень "0" и подается импульс на вход 49, переводящий контролируемый автомат в исходное состояние (строки таблиц с К = 1 на фиг. 4-7). После этого устройство готово к контролю БУ.При выполнении программы контролируемый БУ выдает в процессоры командыи анализирует значения ЛУ, формируемые процессорами. Признаки команд(теги), содержащиеся в дополнительных полях команд и имеющие значения в соответствии с ЯПФ, поступают навходы 54.154,п устройства и записываются в регистр 11 по импульсу,формируемому БУ в момент выдачи очередной команды н процессор и постулающему на вход 56 Каждая операционная команда имеет метку, равнуюметке яруса (при этом поле метки ЛУможет иметь призвольное значение).Каждая условная команда имеет меткукоманды, равную метке яруса, и меткуЛУ, равную номеру ЛУ в ярусе, Для команд ожидания значение меток командЛУ может быть произвольным. Например, на фиг. 4 команды В, С, Р, Е иР имеют метки команд, равные 2, акоманда А - метку ЛУ, равную 1 (первая в ярусе) .Метка типа команды, принимающая 3значения (операционная, условная или 45команда ожидания) поступает на входдешифратора 17. При этом на первомвходе элемента И 20 уровень равен"1", если данная команда не являетсякомандой ожиданиями на вход 64, поступает уровень "1" по импульсу навходе 55. (окончание выполнения комащы), если данная команда являетсяусловной, прнчем импульс на вход55,1 поступает от 1-го процессора,завершившего выполнение операционной или условной комары.Триггер 2 1, фиксирующий выполнениекоманды (операционной или условной)9 145 в д-м процессоре, переводится из состояния "0" (после выполнения предыдущей команды) в состояние "1" (запуск очередной команды) при условии, что инициируемая команда не является командой ожидания (т.е, операционная или условная) и процессор работоспособен (уровень на входе 57. равен 0)Если поступившая в 1-й процессор (на вход 54. устройства) команда является условной (команда перехода по условию), то на вход б 3,х блока 4 (и, соответственно, на информационный вход дешифратора 79.) поступает код проверяемого условия, однозначно определенный конкатенацией кодов метки команды (яруса) и метки .ЛУ, хранимых в полях 11.2 и 11.1 регистра 11. Значение данного ЛУ, сформированное в -м процессоре к моменту окончания выполнения комащты, поступает в БУ и на вход 53 устройства, причем д-й разряд принимает значение ЛУ и оно поступает на вторые входы элементов И 1-й группы блока 4, Затем при поступлении импульса с выхода элемента И 45 на вход управления дешифратора 79.1 он формирует на своем 1-м выходе уровень "1", где 1 - номер ЛУ в списке ЛУ программы и номер соответствующего триггера в группе триггеров 85.185.ш, который устанавливается в состояние, соответствующее значению проверенного данной командой данного ЛУ, что формирует текущее значение вектора Р, поступающего на первый вход блока 1.Следует отметить, что блок 4 выполнен таким образом, что 1-й триггер устанавливается в состояние, равное значению проверяемого 3-го (из списка ЛУ) ЛУ, независимо от того, на вход которого дешифратора 79.179,п поступает код ЛУ, т.е, независимо от того, какой процессор участвует в вычислении значения ЛУ (фиг,2)При правильной работе контролируемого БУ, управляющего И процессорами, на каждый из них (и, соответственно, блок 24) поступает последовательная ветвь ППП. По окончании выполнения очередной операционной или условной команды по заданному фронту уровня на прямом выходе триггера 2 1 производится увеличение на 1697 10единицу состояния счетчика 22 в бло-ке 24,1, После выполнения команд текущего яруса на один или несколько5процессоров постулает команда из следующего яруса, например, команда Т -в первый процессор, а команда С -во второй или с расстановкой во времени (из-за разницы во времени выполнения команд А, В, С, см,фиг.5 г),При этом по уровню "1" на выходеэлемента ИЛИ 34 формирователь 29 выдает одиночный импульс, по которомуосуществляется запись суммы кодов -состояний счетчиков 22 в блоках 24.124,п в регистр 32 и сброс счетчиков,.Время задержки в элементе 3 б выбирается таким, что импульс на первыйвход элемента И 38 и.стробирующийвход триггера 8 поступает после Формирования уровня на втором входе элемента И 38. При правильном Функционировании БУ в этот момент на выходесхемы 3 уровень В ц = 0 (совпадениек25 состояния регистров 2 и 32), Например, при выполнении программы нафиг. 7 после выполнения команд первого яруса в счетчиках 22 блоков 24. 1и 24,2 хранятся числа 2 б и 18. ТакЗО как команды текущего яруса выполнены,Фто на выходах элементов 35 и 33 уровни равны "0" и импульс проходит навыход элемента 38, переводя блоки 1,2, 27 и 30 в новые состояния, приэтом следующий ярус устанавливаетсятекущим (фиг.7). Затем устройство работает аналогично,Длительность импульса на выходеФормирователя 29 выбирается такой,40чтобы маскировать на четвертом входеэлемента ИЛИ-НЕ 14 выдачу ложногосигнала на его выход на время переходных:процессов в регистре 30,схемах 12 и 43 и элементах И 13 и 44в блоках 24., куда поступили коман 45ды, вызвавшие переход на следующийярус.При выдаче БУ команд ожидания впроцессоры, соответствующие ветвямППП с данными командами, в соответствующих блоках 241. триггеры 2 1остаются в состоянии "0" до поступления очередных операционных или условных команд. В блоках 48 частотаимпульсов генератора 87 и коэффициен 55 ты делителей 88 и 89 задаются такими,чтобы наибольшее время выполнениякоманд из данного списка (системы)п 1 йхкоманд не превышало 1:;, а время ожи 1451дания события в соседних ветвяхмахППП - величины-; . Например, длятакППП на Фиг. бд величина- ; (частота генератора и коэффициейт делителя88) задается исходя из времени вы 5полнения команд Е, Р, .1, к и предельного значения кратности цикла. Прифункционировании блока 48 импульсна его выходе появляется, если времяотсутствия уровня "0" на входах 9 1и 92 превышает допустимое,При выполнении БУ программы с ветвлениями (условными командами) реальный ход процессора может быть различным в зависимости от значений ЛУ.В устройстве это учитывается в процессе настройки блока 1, определяю - ущей в зависимости от Р переход наодин или другой ярус либо модификацию 20числа команд в ярусе (строка 2 на .Фиг.4 в, строки 2, 4 и 5 на фиг, 5 в,строка 4 на фиг. бв, где "-" означает, что состояния выходов блока 1,записываемые к концу каждого яруса 25в регистры 2, 27 и 30, не зависят отсоответствующих ЛУ, т.е. от состояния соответствующих разрядов первого входа блока 1).Таким образом, при правильномфункционировании БУ и процессороввыполняется заданная ППП и на выходах 58-62 сигналов ошибки (единичных уровней) не возникает.При отказах части процессоров(изменении числа работающих). выпол 35нение ППП прерывается, БУ переходитк вычислению по программе, эквивалентной данной, но с иным числомветвей. При этом устройство не пере 40настраивается, а возвращается в исходное состояние или точке рестарта.При этом если реконфигурация (переход к новой программе при новом числе процессоров) осуществлена правильно,то в ходе выполнения программы45на выходах 58-62 устройства сигналов ошибок не возникает,При сбоях и отказах в БУ, неправильном диспетчировании и реконфигурации, в потоке команд, поступающем на процессоры и рассматриваемоеустройство, появляются искажения,приводящие к Формированию на выходах 58-62 устройства сигналов ошибок. При этом устройство выявляетискажения как в нереконфигурируемойпрограмме, так и в условиях переходак ней эквивалентной после отказа час 697 12ти процессоров, что расширяет область применения устройства,При "зависании" управления (отсутствии выдачи команд БУ работоспособными процессорами) в любой изветви блоком 48 соответствующегоблока 24.д формируется импульс, и навыходе 61 появляется сигнал ошибки(дефект 3),При ложном возникновении командына выходах БУ, которая не принадлежитданной программе, устройство Формирует на выходе 59 сигнал ошибки, соответствующий дефекту 1. Если в любой иэ отказавших процессоров выдана команда, это приводит к дефекту 5 и формируется сигнал на выходе 62.При поступлении очередной команды в любой из работоспособных процессоров до окончания выполнения предыдущей устройство выявляет дефект 4 и формирует сигнал на выходе 60.Если БУ выдает многократно одну и ту же команду в любой из работоспособных процессоров ("эалипание" управления), то это обнаруживается устройством либо как дефект 3 (в других ветвях время ожидания превышает допустимое; например, при "залипании", команды А в ППП на фиг, 4 г ожидает команда Р, аналогично при "залипании" команд ожидания), либо как дефект 6 при самоустраняемом "залинании", что приводит к появлению сигналов соответственно на выходах 61 и 58.Если в результате неправильного функционирования БУ в любой ветви происходит пропуск команд (перескок) то это обнаруживается либо как дефект 6 (команда, которой передано управление, принадлежит тому же ярусу, например, пропуск команды С в той же программе), либо как дефект 1 (после С выполняется Н), либо как дефект 3 (пропущена команда Р), и формируется соответственно сигнал на выходе 58, 59 или 61.Преждевременная выдача любой из команд в любой из работоспособных процессоров (например, команды С на фиг. 4 д до завершения команд Е или Р) выявляется устройством как дефект 2 либо как дефект 6 (если в момент ее инициации не выполняются команды на других ветвях).10 б 20 25 30 35 ао а 5 50 55 3 14Ложная выдача команд из текущего яруса в момент перехода на следующий выявляется устройством как дефект 2.При ошибочном возврате в любой из ветвей ППП к пройденным командам (зацикливании) устройство. выявляет это как дефект 3 (в других ветвях ожидается событие, которое не может произойти), либо как дефект 1 (воз - врат к предыдущим ярусам), либо как дефект 2 (команда возврата принадлежит текущему ярусу, а произошел или происходит переход к следующему), либо как дефект 6, причем в ряде случаев дефекты разных типов (например, типа 1 и 6) могут выявляться устройствами вместе, что приводит к появлению нескольких сигналов ошибок на выходах 58-62.Если в. БУ осуществлен неправильный переход после вычисления значения БУ, это обнаруживается при несовпадении требуемого и действительного чисел команд в следующих ярусах, т.е. как дефект 6, Например, пусть для ППП на фиг. 5 (а или г) после выполнения команды П вычислено значение П = 1, а переход осуществляется на команду Н, Тогда после выполнения команд шестого яруса и запуска команд из седьмого выявляется дефект 6 (выполнено 24 команды вместо 31).Отсутствие окончания программы обнаруживается устройством как дефект 3.Устройство обладает возможностью обнаружения искажений не только в порядке следования команд, но и в словах команд, если это приводит к искажению метки команды и метки типа команды.Поскольку устройство выявляет искажения в работе БУ независимо от порядка и распределения команд яруса, то оно применимо для контроля БУ, выполняющего программу в условиях реконфигурации вычислительного процесса. При этом, поскольку контролируется выходной поток команд БУ, то контролем охватываются аппаратная часть БУ, память программ и программные средства распараллеливания и диспетчеризации в ПВС.При распараллеливании и диспетчеризации на уровне блоков программ (фиг. 5 а в скобках число команд в блоках в, у, 1 обозначают кортежи внешних входных и выходных перемен 51697 14 ных блоков) устройство функционирует аналогично, выявляя искажения на уровне команд, При этом команды блока имеют одинаковые метки, равные метке яруса,При выполнении БУ множества программ в предлагаемом устройстве в,старших разрядах первого входа блока 1 выделяются несколько разрядов, состояние которых определяет функции выходов блока 1 и равно номеру программы (номеру подтаблицы настройки блока 1). Соответствующие триггеры в блоке 4 устанавливаются до выполнения данной программы путем установки соответствующих разрядов входа 53 соответственно номеру программы и выдачи БУ команд проверки данных дополнительных ЛУ,При проведении БУ изменяемого списка программ блок 1 выполняется в виде блока памяти (ОЗУ), причем значения ЛУ поступают на младшие разряды адреса, следующие разряды адреса подключаются к выходу регистра 2 (являются вторым входом), а на самые старшие разряды адреса поступают значения ЛУ, определяющие номер выполняемой (контролируемой) программы. Для осуществления контроля нового списка программ БУ в блок 1 до начала контроля вводятся значения в соответствии с таблицами настройки.При включении предлагаемого устройства в состав ПВС с загружаемымипрограммами в параллельно работающиепроцессоры предлагаемое устройствоподключается входами 54.1-54,п и56,1-56,п к входам регистра командсоответствующего процессора. Приэтом контролируются распределенныйБУ, включающий блок управления и память программкаждого процессора, ицентральный БУ с памятью программ ипрограммами диспетчеризации. Такимобразом, устройство обладает возможностью контроля, управляющей частиПВС как с локальной памятью процессо"ров, так и без нее,Устройство обладает возможностьюконтроля БУ и ПВС с независимыми,параллельно выполняемыми программами,при этом блоки программ распределяются по ярусам искусственно.Предлагаемое устройство предполагает минимизацию аппаратурного исполнения путем сравнения в схемах 12,15 1451697 1643 и 3 значений признаков команд иярусов, взятых по модулю Е, при этомсокращается разрядность блоков 2, 32,3; 11, 12, 43, 22,При функционировании устройства5дефекты 1, 4 и 5 обнаруживаются практически мгновенно (время задержки вцепи от входов блока анализа команддо выходов триггеров результата конт Ороля намного меньше времени выполнения команды в процессоре), а дефекты2 и 6 - в момент инициации переходана новый ярус (при этом переход неосуществляется, т.к. блокирован элемент И 38). После обнаружения дефекта и появления сигналов ошибки навыходах 58-62 процесс вычисленияпрерывается, а после устранения сбояили отказа или после реконфигурацииустройство переводится в состояние,соответствующее точке рестарта.Устройство обладает возможностьювыявления дефектов и в процессорах,если они приводят к длительному невыполнению команд (дефект 2) .Таким образом, предлагаемое устройство обладает возможностью контроля правильности функционированияБу и ПВС, выполняющих программу спроизвольной степенью параллелизмав условиях переменного (неизвестного,деградирующего) числа процессоров,при динамическом (но в рамках ЯПФ)распараллеливании и распределенииучастков программ по процессорам,т.е. обладает расширенной областьюприменения, Устройство характеризуется расширенным классом выявляемыхдефектов и повышенной контролирующейспособностью, так как независимо отчисла ветвей параллельной программыобнаруживает дефекты в управлениивычислениями, обусловливающие ложноевозникновение, замену, пропадание иискажение команд, что приводит к нарушению вычислительного процесса(выполнение операций не над теми данными, невыполнение операций над данными, "зависание" вычисления) . Формула изобретения 1. Устройство для контроля параллельной вычислительной системы, содержащее преобразователь кодов, первый регистр, первую схему сравнения, блок регистрации логических условий, первый, второй и третий элементы ИЛИ, первый, второй и третий триггеры результата контроля и п блокованализа команд, где и - число процессоров в контролируемой параллельнойвычислительной системе, причем -йблок анализа команд (1 = 1,2 п)содержит регистр команд, вторую схему сравнения, первый, второй, третий,четвертый и пятый элементы И, элемент ИЛИ-НЕ, первый и второй элементы задержки, дешифратор, триггер запуска и счетчик числа команд, причем-й вход логических условий блокарегистрации логических условий соединен см входом логических условийустройства, выход блока регистрацийлогических условий соединен с первымвходом преобразователя кодов, первый выход которого соединен, с информационным входом первого регистра, выход которого соединен с первым информационным входом первой схемы сравнения, выход которой соединен с первым входом первого элемента ИЛИ, выходы первого, второго и третьего элементовИЛИ соединены с входами установки в"1" триггеров результата контролясоответственно с первого по третий,в 1-м блоке анализа команд информационный вход и вход синхронизациирегистра команд соединены соответственно с -м входом контролируемыхкоманд и -м входом запуска командустройства, выход поля кода тина команды регистра команд соединен синформационным входом дешифратора,выход поля метки команды регистракоманд соединен с первым информационным входом второй схем сравнения,выход поля метки команд и выход поляметки логического условия регистракоманд соединены с д;м входом первой группы информационных входов блока регистрации логических условий,выход второй схемы сравнения соединенс первым входом первого элемента И,выход которого соединен с первым входом элемента ИЛИ-НЕ, выход которогосоединен с первым входом второго элемента И, второй вход которого соединен с выходом первого элемента задержки, выход второго элемента Исоединен с -м входом второго элемента ИЛИ, прямой выход триггера запус ка соединен со счетным входом счет"чика числа команд, первым входомтретьего элемента И и первым входомчетвертого элемента И, второй вход
СмотретьЗаявка
4216541, 26.03.1987
ЛЕНИНГРАДСКИЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ ИНСТИТУТ ИМ. В. И. УЛЬЯНОВА
БАРАШЕНКОВ ВАЛЕРИЙ ВИКТОРОВИЧ, БАЛАКИН ВИКТОР НИКОЛАЕВИЧ, КАЗАК АЛЕКСАНДР ФИЛИППОВИЧ, НИКИЩЕНКОВ СЕРГЕЙ АЛЕКСЕЕВИЧ
МПК / Метки
МПК: G06F 11/07
Метки: вычислительной, параллельной, системы
Опубликовано: 15.01.1989
Код ссылки
<a href="https://patents.su/16-1451697-ustrojjstvo-dlya-kontrolya-parallelnojj-vychislitelnojj-sistemy.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для контроля параллельной вычислительной системы</a>
Предыдущий патент: Параллельный сигнатурный анализатор
Следующий патент: Устройство для формирования остатка по произвольному модулю от числа
Случайный патент: Электромеханическая передача