Опубликован: 01.10.2013 | Уровень: для всех | Доступ: платный
Лекция 8:

Методы и средства обеспечения живучести и восстановления работоспособности МКМД-бит-потоковых субпроцессоров

Если на снижение размерности диагностируемого пространства основное влияние оказывают системотехнические факторы, то на снижение времени каждого проводимого теста - схемотехнические факторы, от которых зависит длина последовательности тест-данных. При этом топологическая схема тестового канала определяет продолжительность "сеанса связи" с каждым бит-процессором и поэтому разбивает "идеальную" тестовую последовательность на подпоследовательности, суммарная длина которых превосходит идеальную (см. раздел 7.4). Она формируется исходя из схемотехнических особенностей реализации бит-процессоров по методике восходящего синтеза (см. раздел 3.4) и поддерживается инструментальной платформой BPBrowse (см. раздел 6.4).

Бит-процессор может работать в трех режимах: комбинационного ( AND, NAND, XOR ), конечного ( ADD, ST1 ) и коммутационного ( WTR ) автомата с последовательным типом распространения данных в процессе передачи или обработки.

В режиме конечного автомата глубина обратной связи АЛУ (см. рис. 5.12 и 5.13 курса "Задачи и модели вычислительных наноструктур") равна одному такту. Поэтому минимальная последовательность тест-данных, в которой формируется декартово произведение второго порядка S\otimesS (S\in\{0,1,2,3\}), отвечающее полной матрице переходов такого автомата, имеет вид: 0,0,1,1,2,2,3,3,0,2,1,3,2,0,3,1,0.

Здесь S - десятичное представление наборов значений двоичных входных переменных бит-процессора: (S = 1):=(x_{2} = 0; x_{1} = 0), (S = 2):=(x_{2} = 0; x_{1} = 1), (S = 2):=(x_{2} = 1; x_{1} = 0), (S = 3):=(x_{2} = 1; x_{1} = 1).

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

При работе в режиме коммутационного автомата используются только D -триггеры канала АЛУ и транзита. Полная матрица переходов этих триггеров задана на алфавите S\in\{0,1\} и формируется последовательностью 00110.

Таким образом, при синтезе тестовых последовательностей проверяемые бит-процессоры приходится рассматривать как конечные, а не как комбинационные автоматы во всем пространстве их функциональных состояний.

Следовательно, снижение размерности задачи диагностики бит-матрицы и времени ее решения может быть достигнуто в основном за счет комплексного совмещенного во времени и пространстве контроля системы внутренней коммутации бит-процессора, которое обеспечивается:

  • согласованным выбором в разных тестах направлений приема-передачи данных по трем независимым параллельным каналам их распространения через бит-процессор (всего 213 вариантов состояния внутренней системы коммутации);
  • вариацией длины потока тест-данных N_{e} в зависимости от режима контроля бит-процессора, где основной вклад в полноту контроля вносят D -триггеры, если речь идет о проверке коммутационных возможностей бит-матрицы, и конвейерное суммирование, если речь идет о ее функциональном контроле.

Таким образом, только комплекс схемо- и системотехнических мер с достоверными и поддерживаемыми в производстве СБИС упрощающими гипотезами или допущениями призван кардинальным образом снизить время прямой диагностики бит-матриц большой размерности с тем, чтобы довести это время до требований (квази)реального масштаба времени. В результате нисходящая (последовательно сужающая) по функциям и координатам стратегия диагностики приняла следующий вид.

Этап 1. На этом этапе осуществляется контроль коммутационных возможностей бит-матрицы и косвенный контроль управления бит-процессорами, состоящий из двух взаимосвязанных фаз. В первой фазе осуществляется контроль начального состояния D -триггеров операционных каналов и каналов транзита во всей бит-матрице путем "прослушивания" канала без подачи на его вход тестовых данных. Во второй фазе контролируется доступность каждого бит-процессора по ортогональным FIFO -регистровым каналам приема-передачи данных. Здесь уже используются последовательности входных тест-данных и анализируется качество отклика каждого бит-процессора, принадлежащего отдельному тестовому каналу. В этой фазе используются два типа коммутационных тестовых микропрограмм (см. рис. 7.20) с установкой "признака задержки" сначала в "ноль", а затем в "единицу". Полученные отклики бит-процессоров анализируются, и ставится диагноз для ка ждого бит-процессора. Если не удается точно локализовать координату отказавшего бит-процессора, то проводится уточняющее тестирование для всех накопленных неоднозначностей в локализации координаты отказавшего бит-процессора, но уже в усеченном виде, то есть только для бит-процессоров, "подозреваемых" на неисправность.

Этап 2. На этом этапе проводится функциональный контроль исполнения бит-инструкций, причем он осуществляется в обязательном порядке только для самых "сложных" бит-инструкций ADD, ST1, XOR табл. 3.1. Контроль исполнения более простых бит-инструкций ( AND, NAND ) осуществляется по необходимости и только для тех бит-процессоров, где выявлена неправильная реализация функций ( ADD ) или ( ST1 ).

Эта стратегия фактически базируется на следующих "аксиомах транзитивности", учитывающих масштабы последствий уже обнаруженных отказов:

  1. Если бит-процессор недоступен по ортогональным коммутационным D -шинам, то невозможно проконтролировать его правильное функционирование.
  2. Если бит-процессор или подматрица недоступны для тестовых микропрограмм, то они тем более недоступны и для микропрограмм поток-операторов пользователя.

В ассоциативных МКМД-бит-потоковых вычислителях особое место занимают отказы установки начального состояния D -триггеров каналов АЛУ и транзита, которые могут быть "захвачены" и сохранены микро- и макро-"вихрями" в потоках данных. Но вероятность таких отказов D -триггеров слишком мала (меньше 1%), а в масштабе бит-процессора еще меньше, зато высока вероятность константной неисправности (см. табл. 3.16).

Таким образом, данная стратегия диагностики обладает следующими особенностями:

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

В последнем случае топология тестов строится исходя из пространственного распределения по бит-матрице составляющих поток-оператор бит-инструкций.

Алгоритмические, топологические и конструктивно-технологические особенности построения и адаптации тестовых микропрограмм под действующую карту отказов составляют сложный комплекс системотехнических проблем, от успешного решения которых во многом зависит уровень (квази)реального масштаба времени в системе обеспечения отказоустойчивости МКМД-бит-потоковых субпроцессоров.

Критерий эффективности работы адаптивных алгоритмов генерации тестовых микропрограмм определяется следующими факторами:

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

пути между двумя точками [300] методом динамического программирования (ДП) и алгоритмов с различными стратегиями или условиями возврата плохо совместимы с темпом реального времени из-за их высокой вычислительной сложности, особенно для бит-матриц больших размеров.

При использовании ДП-алгоритмов в каждом цикле в определенном порядке проверяются все бит-процессоры матрицы, число которых равно N*N, где N - размер проверяемой бит-матрицы. Для каждого бит-процессора матрицы (в общем виде) выполняется 1 операция сравнения и 2 - присваивания. Следовательно, сложность этого алгоритма - О(N^{2}) в рамках только одного типа теста и одного набора тест-данных.

В алгоритме с возвратом перебираются все возможные в рекурсивной процедуре пути, количество которых составляет C_{2N-2}^{N-1}. Следовательно, сложность этого алгоритма - O(C_{2N-2}^{N-1}), что также плохо совместимо с темпом реального времени при больших размерах бит-матриц.

Если во главу угла поставить требование темпа реального времени при проведении эксплуатационной диагностики МКМД-бит-потоковых субпроцессоров, то необходимо отказаться от использования в адаптивных тестах от процедур нахождения минимального пути обхода обнаруженных неисправностей. Это снижает полноту диагностики бит-матрицы и увеличивает "пессимизм" в оценке локального последействия обнаруженного отказа, но упрощает алгоритм поиска спрямленного пути при обходе обнаруженных неисправностей. В отличие от предыдущих алгоритмов, в этом случае осуществляется проверка впереди лежащих бит-процессоров, и топология тестовой микропрограммы деформируется в соответствии с фиксированной стратегией обхода, если встречена преграда. Сложность описанного алгоритма составляет О(N), а его недостатком является неоптимальность порождаемого пути, которая мало сказывается на продолжительности достаточно полного покрытия бит-матрицы тестовыми микропрограммами, если тестир уемый канал образован бит-процессорами одной строки бит-матрицы ("однострочный тест"). В подтверждение сказанного на рис. 7.21 приведены графики роста вычислительной сложности рассмотренных алгоритмов в зависимости от размера матрицы.

Как показал модельный эксперимент, прямой алгоритм генерации тестовых микропрограмм целесообразно применять, если карта отказов имеет менее 3% отказавших бит-процессоров. При превышении этого показателя появляются локальные области бит-матрицы с исправными, но признанными недоступными для диагностики бит-процессорами, которые также приходится идентифицировать как полностью отказавшие. В результате разрастаются локальные области неисправностей, в которые включаются все бит-процессоры, лежащие внутри двумерной фигуры произвольной геометрической формы, вид которой зависит от топологии "точечных".

Рост вычислительной сложности алгоритмов нахождения пути

Рис. 7.21. Рост вычислительной сложности алгоритмов нахождения пути

В описанных условиях многострочные промышленные тесты с независимыми по каждому операнду каналами формирования тест-данных (см. рис. 7.12-7.4) оказались малоэффективными [299] в условиях эксплуатации, так как парирование такими микропрограммами обнаруженных отказов требует анализа возможных путей прохождения через ортогональные квадраты размером, кратным количеству строк в канале теста. В результате в десятки раз увеличивается время генерации теста для одного тестового канала, и в сотни раз - время покрытия тестами всей бит-матрицы. При этом падает коэффициент распараллеливания тестовых микропрограмм, так как уменьшается полезная тестируемая "площадь" в рамках одного тестового канала, что вынуждает увеличивать количество циклов тестирования. Поэтому для исключения из тестовой микропрограммы вспомогательных строк (столбцов), по которым распространяются тест-операнды, необходимо изменить топологическую структуру эксплуатационных тестов и перейти к однострочным тестам эксплуатационной диагностики рис. 7.22.

Принципиальное отличие тестовых микропрограмм эксплуатационной диагностики состоит в том, что в них только один операнд подается и распространяется по бит-матрице как независимый, а второй формируется за счет реакции последующего бит-процессора. Это усложняет процедуры анализа откликов и делает алгоритмы локализации и идентификации отказов рекурсивными по форме. Совокупность описанных приемов позволила создать тестовые каналы, состоящие только из одной строки (см. рис. 7.22).

Тестирование с использованием рекурсивного операнда

Рис. 7.22. Тестирование с использованием рекурсивного операнда

На рис. 7.22 показаны каналы однострочных тестов ADD, ST1 и XOR. Для них по методике, изложенной в разделе 3.4, минимальные по длине тестовые последовательности подобраны следующим образом. Выбирается тестовая последовательность "независимого" операнда, и на схеме теста в матрице без отказов моделируется отклик, который используется далее как второй "рекурсивный" операнд. Далее на модели отдельного бит-процессора полным перебором пространства одного и двух одновременных отказов анализируются диагностические возможности и полнота подобранных тестовых последовательностей. На основе полученных данных для тестируемой функции и каждой тестовой последовательности вычисляется величина P^{пр}_{(1,2)} минимум которой служит признаком конца поиска требуемой тестовой последовательности. Здесь P^{пр}_{(1,2)} - количество правильных реакций для всевозможных подмножеств карт, насчитывающих не более двух одновременных отказов элементов схемы.

При таком тестировании бит-матрицы обнаруженный неправильный отклик ставит под подозрение в неисправности от трех "эквидистантных" бит-процессоров (при тестировании коммутации) до всей строки теста (при тестировании функции "запоминание единицей"). Для устранения такой неоднозначности определения координаты отказавшего бит-процессора необходимо использовать совокупность горизонтально-вертикальных тестов (рис. 7.23), в которой сопоставляются результаты "горизонтального" и "вертикального" тестирования. Такой подход к однозначному определению координаты отказа особенно эффективен при плавной динамике нарастания карты отказов, что характерно для условий эксплуатации, но он требует совместного анализа результатов, полученных в разных тестах. Это делает алгоритмы функционального контроля глобально зависимыми, что опасно для проведения диагностики сверхбольших коллективов вычислителей с "большими" картами отказов.

Алгоритм горизонтально-вертикального тестирования

Рис. 7.23. Алгоритм горизонтально-вертикального тестирования

Алгоритм генерации горизонтально-вертикальных тестов выполняется в следующей последовательности:

  1. Выбирать доступную сторону интерфейса бит-матрицы, наиболее удобную для тестирования горизонтальных или вертикальных каналов.
  2. Создать массив из доступных интерфейсных бит-процессоров.
  3. Создать канал доступа для каждого члена массива в рамках одного теста.
  4. Поочередно предоставить каждому члену массива право сделать шаг по прямому алгоритму и определить координаты бит-процессора для продолжения маршрута. Дописать в тестовую микропрограмму соответствующий терм, а в поток тест-данных и эталонных откликов соответствующую подпоследовательность.
  5. Повторять 4 до тех пор, пока ни один член массива уже не сможет сделать шаг.

В соответствии с этим алгоритмом подсистема идентификации и локализации отказов работает следующим образом. На начальном этапе запуска обрабатываются системные данные о доступности интерфейса связи с бит-матрицей (см. рис. 7.18) и на каждый доступный периферийный бит-процессор создается "объект" канала теста, который сохраняется по указателю в массиве доступных бит-процессоров. Таких массивов всего четыре (для каждой стороны бит-матрицы). Предшествующая карта отказов регистрируется подсистемой локализации как исходная.

Далее на основе полученных исходных данных о доступном интерфейсе и существующей карты отказов выполняется контроль периферийных бит-процессоров, обеспечивающих интерфейс обмена с внешней средой. Если заданный пользователем процент периферийных бит-процессоров оказывается неисправным, то делается вывод, что вся бит-матрица на плате недоступна для тестирования.

После проверки интерфейса задается конфигурация бит-матрицы, доступная для проведения теста. Данная проверка осуществляется на основе предшествующей карты отказов с помощью рекурсивной процедуры типа "заливка", что применяется при редактировании рисунков. Если после "заливки" бит-матрицы существуют "белые пятна" (отказы бит-процессоров, образующие окружности и т. п.), то эти области помечаются как отказавшие.

Далее осуществляется сплошное покрытие тестами всего тела бит-матрицы, сначала горизонтальными, а затем вертикальными. После каждого цикла горизонтально-вертикального тестирования осуществляется анализ откликов, причем этот анализ зависит от типа теста.

Общим для всех процедур тестирования является последовательность их проведения, в которой первым шагом которых служит "прослушивание" канала теста без подачи тест-данных. "Прослушивание" призвано обнаружить неисправности D -триггеров типа "тождественной единицы" в каналах распространения откликов бит-процессоров. Этот этап по продолжительности обычно чуть больше или равен количеству термов в этом тестовом канале. Далее осуществляется анализ откликов на подаваемые тест данные. Здесь тесты разбиты на две категории. Первая категория тестов ( WTR, ADD, XOR ) основана на анализе откликов на одиночную тестовую последовательность, которая трансформируется в тестовую комбинацию в процессе распространения по бит-матрице (на рис. 7.22-а и 7.22-в - это последовательности "независимых" операндов без скобок).

Вторая категория тестов ( ST1, AND, NAND ) основана на анализе откликов на многократную тестовую последовательность, которая сначала доходит до последнего терма тестового канала и, разблокировав процедуру формирования второго операнда, перемещается к началу теста. В этом случае второй тестовый операнд для последующего бит-процессора одновременно является откликом предыдущего бит-процессора (на рис. 7.22-б - это последовательность "независимых" операндов в скобках). На основе таких тестов в качестве неисправных приходится помечать все бит-процессоры, принадлежащие одному тестовому каналу, что сильно усложняет контроль уже при карте отказов, содержащей свыше 1% отказавших бит-процессоров в матрице.

Каждый из тестов второй категории порождает только гипотезу о координатах отказавших бит-процессоров. Окончательно идентифицировать координату отказавшего бит-процессора можно только по пересечению гипотетических линий вертикальных и горизонтальных тестов с последующим индивидуальным тестированием подозреваемого бит-процессора. Если предположение подтверждается, то этот бит-процессор помечается как неисправный и далее игнорируется всеми последующими тестами.

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

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

Приведенные данные позволяют сделать следующие выводы:

  • алгоритм синтеза тестовых микропрограмм носит тривиальный характер рекуррентного наращивания термов до вертикальных и/или горизонтальных размеров бит-матрицы;
  • алгоритм анализа откликов также сводится к простой процедуре определения разницы между реальной последовательности и эталонной реакциями;
  • однозначно идентифицировать координату отказа в рамках одного вертикального или горизонтального теста невозможно из-за эквидистантных по отношению к тестовому выходу бит-процессора [299], неисправность которых проявляется одинаково.

Основные сложности функционального эксплуатационного контроля возникают при наличии карт отказов, разрушающих регулярные структуры тестовых микропрограмм и получаемых с их помощью откликов бит-процессоров. Поэтому эффективность всей системы локализации и идентификации отказов в бит-матрице в основном определяется скоростью адаптации рассмотренных линейных тестов и порождаемых ими последовательностей откликов на действующую карту отказов.

Евгений Акимов
Евгений Акимов

Добрый день!

 

Скажите, пожалуйста,планируется ли продолжение курсов по нанотехнологиям?

Спасибо,

Евгений

 

Nozimjon Fayziev
Nozimjon Fayziev
Таджикистан, Душанбе
Анна Волкова
Анна Волкова
Россия, г. Новосибирск