Применение корректирующих кодов сок для диагностики работы модулярных процессоров

ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ

«НАУКА. ИННОВАЦИИ. ТЕХНОЛОГИИ», № 3, 2014

УДК 004.056 Червяков Н. И. [Chervyakov N. I.], Бабенко М. Г. [Babenko M. G.], Кучеров Н. Н. [Kucherov N. N.]

применение корректирующих кодов сок для диагностики работы модулярных процессоров*

The use of error-correcting codes for the diagnosis of RNS modular processors

В статье рассматриваются принципы диагностики модулярных процессоров построенных на основе системы остаточных классов. Проводится анализ методов обнаружения ошибок с использованием Китайской теоремы об остатках. Предлагается эффективная реализация алгоритма обнаружения ошибок с использованием приближенного метода. Проводится моделирование методов обнаружения ошибок на ПЛИС и их сравнение. Приведены результаты сравнения алгоритмов поиска ошибок.

Ключевые слова: коды исправления ошибок, система остаточных классов, ПЛИС, Китайская теорема об остатках, приближенный метод.

The article considers the principles of diagnosis modular process-ditch constructed on the basis of residual classes. The analysis methods for error detection using the Chinese remainder theorem. We offer an efficient implemen-tation of the algorithm error detection using an approximate method. Conducted simulation methods for the detection of errors on FPGA and their comparison. In this paper the results of a comparison search algorithms errors.

Key words: correction codes, reside number system, FPGA, Chinese remainder theorem, approximate method.

1. Введение

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

Работа выполнена при поддержки базовой части государственного задания СКФУ №2563.

Применение модулярного кодирования в нейрокомпьютерах обусловлено прежде всего адекватностью СОК и нейронных сетей (НС), которая заключается в следующем [2]:

- основные операции нейросетевого логического базиса эффективно реализуются в СОК;

- выполнение арифметических операций в СОК может быть сопоставлено многослойной нейронной сетью;

- семантическое сходство китайской теоремы об остатках и нейрона.

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

Обеспечение требуемой достоверности обработки информации можно разбить на три задачи:

— обнаружение ошибки;

— локализация ошибки;

— коррекция ошибки.

В статье проводится исследование и сравнение методов построения кодов определения ошибок для диагностики работы модулярных процессоров и их эффективная реализация на ПЛИС.

2. Математические методы определения ошибок в системе остаточных классов

2.1. Система остаточных классов

Система остаточных классов является непозиционной системой представления чисел. Пусть задана некоторая система взаимно-простых модулей в = {p1,...,pn}. Положительное число X в СОК по данным модулям представляется в виде кортежа чисел X = (x1,x2,...,xn), где xi = |Xpi = Xmodpt [8] для i = 1,2,...,n. Такое представление числа Xявляется единственным, если 0 < X< P, где P = p1 p2,...,pn , называется диапазоном СОК.

Представление чисел в СОК позволяет заменить операции с большими числами на операции с малыми числами, которые представлены в виде остатков от деления больших чисел на заранее выбранные взаимно-простые модули p1 p2,...,pn. Пусть

A = a

Тогда целому числу A можно поставить в соответствие кортеж (a1,a2,...,an) наименьших неотрицательных вычетов по одному из соответствующих классов. Данное соответствие будет взаимно однозначным, пока A <p1 p2,...,pn, в силу Китайской теоремы об остатках (КТО). Кортеж (a1,a2,...,an) можно рассматривать как один из способов представления целого числа A в ЭВМ.

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

A±B =

A X B =

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

Р = Р1р2.рп в результате выполнения операций сложения или умножения, но еще труднее выполнить операцию деления.

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

2.2. Метод определения ошибок,

основанный на КТО

Рассмотрим систему с основаниями р1,р2,...,рп , и диапазоном Р = р1 .р2 . ... .рп. Введем основаниерп+1 взаимно простое с любым основанием pi. И будем представлять числа из п + 1 оснований. Это означает, что будем передавать числа и производить операции над числами, лежащими в диапазоне [0, Р ), в более широком диапазоне [0, Ризб), где Ризб = р1 р . ... .Рп .Рп+1.

Теорема [1]. Пусть основанияр1 ,р2, ... ,рп,рп+1 системы остаточных классов удовлетворяет условиюр^< рп+1, i = 1,2,...,п, и пусть А = (а 1 , а2, ... , аь ... , ап, ап+1) - правильное число.

Тогда число А = (а1,а2,...,а ф а1,...,ап,ап+1), где i = 1,2,..., п,п + 1 является неправильным.

_ р —

Из теоремы следует, что имеет место А —, т. е. А является не-

Рп+1

правильным числом. Необходимо заметить, что если среди оснований системы есть такие малые основания р;1 , р;2 , ... , р^, что

к

п Рр = Риэб < Рп*.

1=1

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

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

залось А > Р, значит имеет место ошибка по крайней мере в одной цифре, если А < Р, то либо ошибки нет, либо она носит более сложный характер [1]. Алгоритм метода приведен на рис. 1.

2.3. Приближенный метод

Рассмотрим метод определения ошибки числа и номера неисправного канала системы остаточных классов, обладающий высоким быстродействием и низкими аппаратными затратами.

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

Для определения переполнения динамического диапазона и определения ошибки применим приближенный метод [6], который позволяет абсолютно правильно реализовать перечисленные выше функции.

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

А =

п Р ,

I %1 а

1=1 РГ р

где Р = П Р , Р - модули СОК,

Р

,-1

мультипликативная инверсия

Р, относительнор, и Р,=у: = АА-А-1А+1-А. Если левую и правую часть выражения (4) разделить на константу Р, соответствующую диапазону чисел, то получим приближенное значение

А Р

р п К>- п

I к,а,

,=1 Рг 1 г=1

р

Начало

> Г

Ввод Ри*>Р>Р1>Р2>->Рп>Р„+1>А = {а1>а2>->ап>ап+1)>- А

1 <

/ _ „ \

А = ^ Р ~гРизй

,'=1 Рг ,

Вычисления выполнены с ошибкой

Ошибок нет

11

Конец алгоритма

Рисунок 1.

Алгоритм метода определения ошибок основанного на КТО.

If-1!

где kt = 'р Р' - константы выбранной системы, а ai - разряды числа, представленного в СОК, при этом значение каждой суммы будет в интервале [0,1).

Конечный результат суммы определяется после суммирования и отбрасывания целой части числа с сохранением дробной части суммы. Дробная часть может быть записана также как A mod 1, потому что A = |_Aj+A modi. Количество разрядов дробной части числа определяется максимально возможной разностью между соседними числами. При необходимости точного сравнения необходимо вычислить значение (5), которое является эквивалентом преобразования из СОК в позиционную систему счисления. Для решения поставленной задачи достаточно знать приблизительно значения используемого числа A по отношению к динамическому диапазону P, которое выполняется достаточно просто, но при этом верно определяется соотношение A = P, A > P или A < P [6].

Для определения ошибки и переполнения используются избыточные СОК, имеющие n-рабочих r-контрольных оснований, при этом избыточный диапазон при двух избыточных модулях будет равен P^g =P-pn+i-pn+2, где P = M - рабочий диапазон. Если значения < тогда число безошибочное. Аналогично определяется и пе-

•U1D ¿изб

реполнение диапазона представляемых чисел.

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

А 1р-

1. Вычисляются относительные значения р— = 'р Р' • а, и ^р^' гДе: А - ошибочное число; а, - разряды

¡изб г1 —т , ,

числа А; т{ - разряды числа М. Если < тогда

уГ 1/ ¿изб ¿изб

ошибки нет, если > , есть ошибка и переполне-

1изб ¿изб

ния динамического диапазона. Алгоритм метода приведен на рис. 2.

физико-математические науки

_ Применение корректирующих кодов СОК для диагностики работы.

Начало

Ввод

А =(а1,а2,...,ап),Р,Ризб,М = (т1,т2,...,тп), Р1,Рг,-,Рп

Вычисляется

А р< а1 . м _ > р' -/и,.

р изб Р{ р изб Рх

Вычисления выполнены с ошибкой

и

Конец алгоритма

Рисунок 2.

Алгоритм метода определения ошибки основанного на приближенном методе.

2.4. Метод обобщенной позиционной системы счисления Для вычисления ошибки в числе представленной в ОПСС необходимо вначале произвести перевод числа из СОК в ОПСС, а затем проверить an на равенство 0, из равенства an = 0 следует отсутствие ошибок при вычислении, если an Ф 0, то есть ошибки в вычислениях.

Пусть задана система оснований pi,p2 ,...,pn с диапазоном P = Pip2 . pn и ортогональными базисами Bi, B2 ,..., Bn. Тогда КТО мож-

п п . .

но представить в виде атД. modP = X a^-RlxjP, где аг - остатки

i=i ¿=1

(вычеты) числа Xпо modp, R(x) - ранг числа. Представим ортогональный базис B в ОПСС, тогда

B, = bn + bi2 pi pi + ... + Pn ,

где Ьг] - коэффициенты ОПСС, i,j = i,2,...,n .

При использовании традиционной вычислительной базы произведения аг щ modpt можно поместить в память, а адресами будут являться остатки а [6].

Для определения всех цифр ОПСС требуется две операции: одна операция для выборки из памяти и одна операция для суммирования. Для реализации этого метода необходимо иметь средства для выполнения модулярных операций, например нейронные сети конечного кольца по Pi основаниям, где г = i,2,...,n [3, 7, 8]. Последовательность действий представлена на рис. 3.

3. Моделирование

Проведено моделирование на ПЛИС выше описанных методов определения ошибок. Наборы оснований СОК выбирались таким образом, чтобы рабочий диапазон превышал значение:

28 216 232 264

Начало

_у_

Ввод

А = (а1,а2,...,ап+1), Р, Ршб, Р1,Р2>—>Рп+1>Ьу

и

1 а1ьи и 0 \а2Ьп\р, \ а2Ь22 1А •  1 апК \р.  1 апЪ2п 1А

0 0 • " 1 ап+Ап \Рщ

а2 - а п

' г

Конец алгоритма

Рисунок 3.

Алгоритм метода определения ошибки в ОПСС.

Исходные данные: Эксперимент 1.

Набор модулей {3,4,5,7,1}, рабочий диапазон Р = 420, избыточный диапазон Ризб = 4620.

Эксперимент 2.

Набор модулей {13,17,19,23,29}, рабочий диапазон Р = 96577, избыточный диапазон Ризб = 2800733.

Эксперимент 3.

Набор модулей {251,257,263,269,271}, рабочий диапазон Р = 4563676729, избыточный диапазон Ризб = 1236756393559.

Эксперимент 4.

Набор модулей {68821,68863,68879,68881,68891}, рабочий диапазон Р = 22485015658178430677, избыточный диапазон Ризб = 1549015213707570267769207.

Выполнение моделирования производилось:

— для метода определения ошибки, основанного на КТО по схеме, представленной на рис. 1;

— для метода определения ошибки, основанного на приближенном методе по схеме, представленной на рис. 2;

— для метода определения ошибки в ОПСС по схеме, представленной на рис. 3.

На рис. 4 приведена зависимость использования блоков Slice от размеров модулей. На рис. 5 приведена зависимость использования временной задержки от размеров модулей.

Из результатов моделирования, представленных на рис. 4, 5, можно сделать вывод о том, что метод ОПСС проигрывает методам ортогональных базисов и приближенному по использованию блоков Slice и временной задержке. Это происходит потому, что необходимо провести два преобразования для определения ошибки, особенно заметны недостатки при использовании диапазонов большой размерности.

- ОПСС

- Приближенный

— — — Метод основанный на КТО

Рисунок 4. График использования модулей Slice.

- ОПСС

- Приближенный

— — — Метод основанный на КТО

1600

1400 1

1200 1000 800

600

400 / >

200

0

8 bit 16 bit 32 bit 64 bit 128 bit 192 bit 256 bit

- Приближенный

— — — Метод основанный на КТО

Рисунок 6. График использования блоков Slice.

40 35

30

5

0___

8 bit

16 bit 32 bit 64 bit

Приближенный Метод основанный на КТО

128 bit 192 bit 256 bit

Так как ОПСС проигрывает приближенному методу и методу ортогональных базисов, то проведем дополнительное исследование приближенного метода и метода ортогональных базисов, чтобы рабочий диапазон превышал значение: 2128 , 2192, 2256 диапазонов большей размерности.

Эксперимент 5.

Набор модулей {67108879, 67108913, 67108919, 67108933, 67108957}, рабочий диапазон Р = 202824664232213342068 88968622029, избыточный диапазон Ризб = 13611351670499043187727 40899030093413753.

Эксперимент 6. Набор модулей

{549755813911, 549755813927, 549755813933, 549755813951, 549755813963},

рабочий диапазон Р= 91343852361427527301311433 955858815741547957651, избыточный диапазон

Ризб = 5021681390547268993616687213176188026070393489602 5758480913.

Эксперимент 7. Набор модулей

{4503599627370517, 4503599627370533, 4503599627370551, 4503599627370593, 4503599627370629},

рабочий диапазон Р = 4113761393303206927477322 64042914860172427429153675605371207823, избыточный диапазон Ризб = 185267342779720022879292605747193613755526281733190898 766856838414540740\5230667.

Из результатов моделирования, представленных на рис. 6, 7, можно сделать следующие выводы, что при сравнительно одинаковой занимаемой площади временная задержка приближенного метода при использовании модулей размерности до 64 бит на 20 % меньше, а при

использовании модулей размерности больше 64 бит задержка меньше на 30 % в сравнении с методом основанным на КТО.

Выводы

В статье проведен анализ методов обнаружения ошибок с использованием КТО. Предложена эффективная реализация алгоритма обнаружения ошибок с использованием приближенного метода. В результате моделирования методов обнаружения ошибок получили, что при сравнительно одинаковой занимаемой площади временная задержка приближенного метода при использовании модулей размерности до 64 бит на 20 % меньше, а при использовании модулей размерности больше 64 бит задержка меньше на 30 % в сравнении с методом, основанным на КТО.

библиографический список

1. Аушский И.Я., Юдицкий Д.И. Машинная арифметика в остаточных классах. М.: Советское радио, 1968.

2. Макоха А.Н., Сахнюк П.А., Червяков Н.И. Дискретная математика: учебное пособие. М.: ФИЗМАТЛИТ, 2005. 368 с.

3. Червяков Н. И., Сахнюк П. А., Шапошников А. В., Ряднов С. А. Модулярные параллельные вычислительные структуры ней-ропроцессоных систем / под ред. Н. И. Червякова. М.: ФИЗМАТ-ЛИТ, 2003. 288 с.

4. Червяков Н.И., Авербух В.М., Бабенко М.Г., Ляхов П.А., Гладков А.В., Гапочкин А.В. Приближенный метод выполнения немодульных операций в системе остаточных классов // Фундаментальные исследования. 2012. № 6-1. С. 189-193.

5. Червяков Н.И., Бабенко М.Г., Ляхов П.А., Лавриненко И.Н. Эффективный алгоритм точного определения универсальной позиционной характеристики модулярных чисел и его применение для вычисления основных проблемных операций в системе остаточных классов // Инфокоммуникационные технологии. 2014. № 1. 4-19 с.

6. Червяков Н.И., Бабенко М.Г., Ляхов П.А., Лавриненко И.Н., Лав-ри-ненко А.В. Устройство для определения знака модулярного числа. № 2503995.

7. Червяков Н.И., Сахнюк П.А., Шапошников В.А., Макоха А.Н. Нейрокомпьютеры в остаточных классах. Кн. 11. М.: Радиотехника, 2003. 272 с.

8. Omondi A., Premkumar B. Residue Number Systems: Theory and Implementations Imperial College Press. 2007. 296 p.

ОБ АВТОРАХ

Червяков Николай Иванович, доктор технических наук, профессор, заведующий кафедрой прикладной математики и математического моделирования Северо-Кавказского федерального университета. Телефон (8652) 95-68-00 (доб. 49-32). E-mail: k-fmf-primath@stavsu.ru.

Бабенко Михаил Григорьевич, кандидат физико-математических наук, доцент кафедры прикладной математики и математического моделирования Северо-Кавказского федерального университета. Телефон +7-918-753-56-73. E-mail: whbear@yandex.ru.

Кучеров Николай Николаевич, аспирант кафедры высшей алгебры и геометрии Северо-Кавказского федерального университета. Телефон +7-928-341-92-95. E-mail: nik.bekesh@mail.ru.

Chervyakov Nikolay Ivanovich, Doctor of Technical Sciences, Professor, Head of Department of the Applied Mathematics and Mathematical Modeling North Caucasus Federal University. Phone: (8652) 95-68-00. E-mail: k-fmf-primath@stavsu.ru.

Babenko Mikhail Grigorevich, Ph.D., associate professor of Department of Applied Mathematics and Mathematical Modeling North Caucasus Federal University. Phone: + 7-918-753-56-73. E-mail: whbear@yandex.ru.

Kucherov Nikolay Nikolaevich, graduate students of the Department of Algebra and Geometry of the North Caucasus Federal University. Phone: +7-928-341-92-95. E-mail: nik.bekesh@mail.ru.