Научная статья на тему 'МОДИФИКАЦИЯ АЛГОРИТМА ОБНАРУЖЕНИЯ И ЛОКАЛИЗАЦИИ ОШИБКИ В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ'

МОДИФИКАЦИЯ АЛГОРИТМА ОБНАРУЖЕНИЯ И ЛОКАЛИЗАЦИИ ОШИБКИ В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
47
15
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИЗБЫТОЧНАЯ СИСТЕМА ОСТАТОЧНЫХ КЛАССОВ / ОБНАРУЖЕНИЕ ОШИБОК / АППАРАТНОЕ МОДЕЛИРОВАНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гладков А.В., Кучуков В.А., Бабенко М.Г., Черных А.Н., Бережной В.В.

В статье рассмотрена модификация алгоритма обнаружения и локализации ошибки в системе остаточных классов (СОК). Классическая избыточная СОК с одним контрольным основанием позволяет обнаружить ошибку, но не локализовать её. Для локализации одиночной ошибки вводят два контрольных основания. Благодаря накладываемым на основания СОК ограничениям уи разработанному алгоритму дается достичь исправления ошибок при одном контрольном основании, передаваемом по надежному каналу связи. Проведено моделирование классического и предложенного подходов с использованием Verilog на ASIC в среде RTL и физического синтеза Cadence Genus Synthesis Solution Предложенный алгоритм позволяет значительно сократить используемое при аппаратной реализации оборудование, незначительно увеличив время работы. На основе предложенного алгоритма разработана система распределенного хранения данных.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гладков А.В., Кучуков В.А., Бабенко М.Г., Черных А.Н., Бережной В.В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

MODIFIED ERROR DETECTION AND LOCALIZATION IN THE RESIDUE NUMBER SYSTEM

This article presents the design of the modified error detection and localization algorithm in the Residue Number System (RNS). Classical redundant RNS with one control modulus can detect one error but not localize it. Two control moduli are used to localize a single error. Presented algorithm can achieve an error correction with a single control modulus transmitted over a reliable communication channel. The proposed approach was verified using Verilog on ASIC in RTL and physical synthesis tool Cadence Genus Synthesis Solution. It significantly reduces the area of the hardware implementation increasing the packing density and more efficient use of silicon resource. It slightly increases the running time compared with the classical algorithm. Distributed data storage was developed to study efficiency of the proposed algorithm.

Текст научной работы на тему «МОДИФИКАЦИЯ АЛГОРИТМА ОБНАРУЖЕНИЯ И ЛОКАЛИЗАЦИИ ОШИБКИ В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ»

DOI: 10.15514/ISPRAS-2022-34(3)-6

Модификация алгоритма обнаружения и локализации ошибки в системе остаточных

классов

1 А.В. Гладков, ORCID: 0000-0002-9454-7618 <agladkov@ncfu.ru>

2 В.А. Кучуков, ORCID: 0000-0002-1839-2765 <vkuchukov@ncfu.ru> 1,3М.Г. Бабенко, ORCID: 0000-0001-7066-0061 <mgbabenko@ncfu.ru> 3А5А.Н. Черных, ORCID: 0000-0001-5029-5212 <chernykh@cicese.mx> 1 В.В. Бережной, ORCID: 0000-0002-8327-2735 <wberezhnoi@ncß.ru>

6А.Ю. Дроздов, ORCID: 0000-0001-5607-2749 <alexander.y.drozdov@gmail.com>

1 Северо-Кавказский федеральный университет, 355017, Россия, г. Ставрополь, ул. Пушкина, 1 2 Северо-Кавказский центр математических исследований СКФУ 355017, Россия, г. Ставрополь, ул. Пушкина, 1 3 Институт системного программирования им. В.П. Иванникова РАН, 109004, Россия, г. Москва, ул. А. Солженицына, д. 25 4 Центр научных исследований и высшего образования, Мексика, 22860, Нижняя Калифорния, Энсенада, ш. Тихуана-Энсенада, 3918 5 Южно-Уральский государственный университет, 454080, Россия, Челябинск, проспект Ленина, 76 6 Московский физико-технический институт, 141701, Россия, Долгопрудный, Институтский пер., 9

Аннотация. В статье рассмотрена модификация алгоритма обнаружения и локализации ошибки в системе остаточных классов (СОК). Классическая избыточная СОК с одним контрольным основанием позволяет обнаружить ошибку, но не локализовать её. Для локализации одиночной ошибки вводят два контрольных основания. Благодаря накладываемым на основания СОК ограничениям уи разработанному алгоритму дается достичь исправления ошибок при одном контрольном основании, передаваемом по надежному каналу связи. Проведено моделирование классического и предложенного подходов с использованием Verilog на ASIC в среде RTL и физического синтеза Cadence Genus Synthesis Solution Предложенный алгоритм позволяет значительно сократить используемое при аппаратной реализации оборудование, незначительно увеличив время работы. На основе предложенного алгоритма разработана система распределенного хранения данных.

Ключевые слова: избыточная система остаточных классов; обнаружение ошибок; аппаратное моделирование

Для цитирования: Гладков А.В., Кучуков В.А., Бабенко М.Г., Черных А.Н., Бережной В.В., Дроздов А.Ю. Модификация алгоритма обнаружения и локализации ошибки в системе остаточных классов. Труды ИСП РАН, том 34, вып. 3, 2022 г., стр. 75-88. DOI: 10.15514/ISPRAS-2022-34(3)-6.

Благодарности: Работа выполнена при поддержке Российского научного фонда, проект N»19-71-10033.

Modified Error Detection and Localization in the Residue Number System

1 A.V. Gladkov, ORCID: 0000-0002-9454-7618 <agladkov@ncfu.ru> 2 V.A. Kuchukov, ORCID: 0000-0002-1839-2765 <vkuchukov@ncfu.ru> uM.G. Babenko, ORCID: 0000-0001-7066-0061 <mgbabenko@ncfu.ru> 3A5A.N. Tchernykh, ORCID: 0000-0001-5029-5212 <chernykh@cicese.mx> 1 V.V. Berezhnoy, ORCID: 0000-0002-8327-2735 <vvberezhnoi@ncfu.ru> 6A.Yu. Drozdov, ORCID: 0000-0001-5607-2749 <alexander.y.drozdov@gmail.com>

1 North-Caucasus Federal University, 1, Pushkin st., Stavropol, 355017, Russia 2 North-Caucasus Center for Mathematical Research NCFU, 1, Pushkin st., Stavropol, 355017, Russia 3 Ivannikov Institute for System Programming of the Russian Academy of Sciences, 25, Alexander Solzhenitsyn st., Moscow, 109004, Russia 4 Centro de Investigación Científica y de Educación Superior, 3918, Ensenada-Tijuana Highway, Ensenada, 22860, Mexico 5 South Ural State University, 76, Lenin prospekt, Chelyabinsk, 454080, Russia 6 Moscow Institute of Physics and Technology, 9 Institutskiy per., Dolgoprudny, Moscow Region, 141701

Abstract. This article presents the design of the modified error detection and localization algorithm in the Residue Number System (RNS). Classical redundant RNS with one control modulus can detect one error but not localize it. Two control moduli are used to localize a single error. Presented algorithm can achieve an error correction with a single control modulus transmitted over a reliable communication channel. The proposed approach was verified using Verilog on ASIC in RTL and physical synthesis tool Cadence Genus Synthesis Solution. It significantly reduces the area of the hardware implementation increasing the packing density and more efficient use of silicon resource. It slightly increases the running time compared with the classical algorithm. Distributed data storage was developed to study efficiency of the proposed algorithm.

Keywords: redundant residue number system; error detection; hardware simulation

For citation: Gladkov A.V., Kuchukov V.A., Babenko M.G., Tchernykh A.N., Berezhnoy V.V., Drozdov A.Yu. Modified Error Detection and Localization in the Residue Number System. Trudy ISP RAN/Proc. ISP RAS, vol. 34, issue 3, 2022, pp. 75-88 (in Russian). DOI: 10.15514/ISPRAS-2022-34(3)-6

Acknowledgements. This work was supported in part by the Russian Science Foundation, project number 1971-10033.

1. Введение

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

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

ошибку. Однако такой подход фактически уменьшает производительность вычислительной системы минимум в два раза [7].

Помехоустойчивое кодирование. Теория помехоустойчивого кодирования для каждого конкретного канала позволяет выбрать наиболее эффективный метод обнаружения и исправления ошибок. Существуют два взаимодополняющих метода борьбы с помехами [8].

• Кодирование для исправления ошибок - приемник обнаруживает и исправляет ошибки;

• Кодирование для обнаружения ошибок - приемник распознает ошибки и, в случае необходимости, производит запрос на повторную передачу ошибочного блока.

Среди корректирующих кодов наибольшее распространение получили блочные двоичные коды, т.е. передача двоичного сообщения производится блоками, причем каждый блок содержит двоичных символов. Кодирование и декодирование каждого блока производится независимо от других блоков [8]. Коды стирания преобразуют сообщение из k символов в сообщение из n символов, к < п, что исходное сообщение может быть восстановлено по любым к' символам. Простейшим таким кодов является код проверки на четность. В общем случае коды обнаружения и коррекции ошибок содержат две группы цифр -информационную и контрольную. Однако неарифметичность позиционных кодов не позволяет контролировать результаты арифметических операций контрольных оснований [7], таким образом присутствует неравноправность информационной и контрольной частей кода. Непозиционных системы счисления, такие как система остаточных классов, лишены этого недостатка.

Далее в разд. 2 рассмотрены особенности обнаружения и коррекции ошибок в избыточной системе остаточных классов. В разд. 3 предложена модификация алгоритма обнаружения и исправления ошибки в системе остаточных классов с одним избыточным основанием. В разд. 4 приведены результаты моделирования рассматриваемых алгоритмов на ASIC. В разд. 5 предложен вариант применения алгоритма для системы надежного распределенного хранения. В разд. 6 представлены основные результаты работы и направления дальнейшей работы.

2. Избыточная система остаточных классов

Пусть задана система остаточных классов (СОК) с взаимно простыми основаниями Р±,Р2,-,Рп.

Тогда рабочим диапазоном системы будет Р = р1 ■ р2 ■ . ■ рп.

Если основания удовлетворяют условию р1 < р2 < ■■■ < рп, то система называется упорядоченной.

Чтобы обеспечить возможность обнаружения и локализации ошибок вводят избыточные основания Рп+1, ■■■ ,рп+к.

Полным диапазоном СОК будет Р = Р ■ рп+1 ■ ■■■ ■ Рп+к. В данном случае критерием корректности числа А = (а1, а2, ..., ап, а.п+1) будет выполнение условия А < Р, в противном случае число содержит ошибку.

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

Рассмотрим в общем случае СОК с одним избыточным основанием pn+1, для которой pi < рп+1, i = 1,2,...,n. Тогда любое искажение цифры по одному какому-либо разряду превращает это число в неправильное и позволяет тем самым обнаружить наличие ошибки [7]. При этом накладывают ограничения, что ошибка возникает только по информационным основаниям.

Одним из методов локализации ошибок модулярного кода является метод проекций. Проекцией At числа А = (а1,а2,... ,ап+1) по основанию pi будет число, полученное вычеркиванием цифры а в представлении А.

Теорема 1. Если в упорядоченной системе остаточных классов проекция At числа А = (а1, а2,... ,щ,... ап, а.п+1) по основанию p_i удовлетворяет условию

Р

At>-,

Рп+1

то цифра а правильная, если возможна лишь одиночная ошибка [7].

Введение только одного контрольного основания в общем случае не позволяет локализовать ошибку. Для коррекции ошибки можно использовать метод на основе Китайской теоремы об остатках (КТО) и методе проекций. Запишем его в виде алгоритма:

Алгоритм 1. Восстановление числа на основе метода проекций и КТО. Input .• X' = (х'ъx^+i),

Р1.Р2.....Рп+1, P = U?=iPi, Р = Рп-Р

wi = к; | 'Pi г где Pi = P/Pi, для всех ie[1,n+1]. I ¡pi

wij = K; 1 I "Pijr где Pij = Pi/Pjr для всех i e [1,n + 1] и j Ф i. I ' ipj

Output: X

1. S=0

2. for i = 1 to n + 1 2.1. S = S + x' i • wt

3. S = S mod P

4. if S < P

4.1. X = S

4.2. return X

5. else

5.1. for i = 1 to n + 1

5.1.1. St = 0

5.1.2. for j = 1 to n+1 5.1.2.1. if i then

5.1.2.1.1. Sl=Sl + x'l• wuj

5.1.3. X = StmodPi

5.1.4. if X <P then 5.1.4.1. return X

Рассмотрим пример некорректной локализации ошибки. Пусть задана СОК {3,5,7,11,13} с четырьмя информационными основаниями и одним контрольным. Тогда рабочим диапазоном будет Р = 1155, полный диапазон Р = 15015.

Возьмем число X = 4 = (1,4,4,4,4) и введем ошибку по второму основанию, получим X' = (1,0,4,4,4) = 6010. Поскольку X' = 6010 > Р = 1155 можно сделать вывод, что X' содержит ошибку. Тогда проекции Х1 = 1005 = (0,4,4,4), Х'2 = 4 = (1,4,4,4), Х'3 = 1720 = (1,0,4,4), Х'4 = 550 = (1,0,4,4), Х'5 = 235 = (1,0,4,4). Очевидно, что проекции Х2, Х\, Х'5 удовлетворяют условию корректности, откуда следует что одно избыточное основание позволяет только обнаружить ошибку, но не локализовать её.

Для обеспечения возможности коррекции ошибок введем два контрольных основания

Рп+1, Рп + 2.

Теорема 2. Если в системе р1, р2, ..., рп, рп+1, рп+2 с двумя контрольными основаниями задано неправильное число А' = (а'1, а'2,..., а\,..., а'п, а'п+1, а'п+2), то необходимым и достаточным условием ошибочности цифры а\ в А' является правильности его проекции А\ по основанию

Pi [7].

Рассмотрим аналогичный пример с двумя контрольными основаниями. Возьмем СОК {3,5,7,11,13,17}, рабочий диапазон у которой будет Р = 1155, а полный диапазон Р = 255255. Возьмем число X = 4 = (1,4,4,4,4,4) и введем ошибку по второму основанию, получим X' = (1,0,4,4,4,4) = 51055. Поскольку X' = 51055 > Р = 1155 можно сделать вывод, что X' содержит ошибку. Тогда проекции Х1 = 51055, Х2 = 4, Х'3 = 14590, Х\ = 4645, Х5 = 11785, Х6 = 6010. Очевидно, что только Х'2 = 4 < Р, значит ошибка произошла по второму основанию и исходное число равно 4.

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

3. Модификация алгоритма обнаружения и локализации ошибки в системе остаточных классов

Пусть задана система остаточных классов с одним контрольным основанием р1 < р2 < р3 < ■■■ <рп< рп+1, при этом считается, что контрольное основание надежное и не может содержать ошибки. Тогда введем алгоритм

Алгоритм 2. Восстановление числа на основе метода проекций и КТО. Input: X' = (х1,х2,...,х;1,х;г+1),

Р1.Р2.....Рп+1, P = W=1Pi, Р=Рп^Р

Pi = P/PiJ е [1,п + 1].

Wl = \Pl1l ■

1 ipi Output: X

1. S=0

2. for i = 1 to n + 1 2.1. S = S + x'rwrPi

3. X = S mod P

4. if X < P 4.1. return X

5. else

5.1. k = 1

5.2. X = S mod P1

5.3. while X>P AND k<n do

5.3.1. k = k + 1

5.3.2. X = S mod Pk

5.4. return X

Теорема 3. Если pn+1 > pn ■ pn-1, то алгоритм 2 корректен. Доказательство

Пусть ошибка произошла по k-му основанию, где к е [1,п]. Для доказательства теоремы достаточно показать, что для всех X е [0, Р), j е [1, п] и j Ф к, выполняется следующее неравенство:

Р<1Х + ек^^Рк1р. (1)

г)

Вычислим IX + ек ■wk ■ PkIpj используя формулу lalm = а — J ■ т, получим:

• Pj (2)

J XX ..... .... Lm

X + ek^wk^Pk

IX + ек ■ wk ■ P^p. = X + ek ■ wk ■ Pk

Pj

т pk pJ

Так как — = —, то представим выражение

Рк

Х+ек-wk ■ Рк

rJ

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

X + ек ■ wk ■ Рк

Р Р

в, следующем, виде:

X ^к^к^ Pj Pj Рк

Оценим значение величины — для всех j Е [1, п] и j Ф к, получим

pi

1

X Р — 1_Р £ < Р, =~Pi Р,

(3)

(4)

Так как р = и по условию теоремы рп+1 > рп ■ рп-1, то < — для всех ] 6 [1, п] и уФ

Р] рп+1 Рп+1 Рк

к, следовательно, Eq. (4) примет вид:

X 1

Учитывая неравенство (5), выражение (3) примет вид:

X + ек ■ wk ■ Рк ек ^к ■ Pj

Pj Рк

Подставляя выражения (2) и (6) в неравенство (1), получим:

P<X + ek^wk^Pk е pj

Рк

■Pt

Разделим левую часть неравенства (7) на положительное число Р, получим:

1<X + ek^wk~ —

Pj

Рк

Р

(5)

(6)

(7)

(8)

Рк

Так как ^ = = ^

р pj

то выражение (8) примет вид:

1 < X + ек ■ wk ■

Рп+1 Рк

ек ^к ■ Pj

Рк

Рп+1

Умножим правую и левую часть неравенства (7) на положительное число Рк Р, получим:

Рп+1

Рк ■ Pi ^ v Рк ■ Pj , -< X--+ek^wk^ pj —

Рп+1

Рп+1

Pj

ль

ek^wk^ pj

(9)

Рк

Рк

(10)

Так как

е к^к^ Pj то формула (10) примет вид:

ek'wk'Pj Рк

Рк = \ek^wk ■Pjl

Рк

Vk^P±<x Рк ■ Pj | |

Рп+1 < ^ Рп+1 \6k'Wk'Vi\pk

(11)

Учитывая, что X Е [0,Р — 1) и 1 < \ек ■ wk ■ Pj\ < рк — 1, то неравенство (11) выполняется

если выполняется для всех j Е [1,п] и]Фк, следующее, условие:

Рк ■ Pj

Рп+1

<1

(12)

Так как модули СОК удовлетворяют условию р1 <р2<р3 < < рп, то из неравенства (12), следует, что необходимым и достаточным условием выполнения неравенство (1), является:

рп+1 ^ рпрп-1-

Теорема доказана.

Рассмотрим пример обнаружения и исправления ошибки в СОК с одним контрольным основанием.

Выберем систему оснований СОК, удовлетворяющую теореме 3: р1 =2, р2 = 3, р3 = 5, р4 = 7, п = 4. Контрольное основание ps = 37 > 7 ■ 5. Искомое число X = 53 = (1,2,3,4,16). Параметры СОК:

Р = 2 ■ 3 ■ 5 ■ 7 = 210 — рабочий диапазон.

Р = р5 ■ Р = 35 ■ 210 = 7770 — полный диапазон СОК. — ~р — ~р

р.= — = 3885, Р2 = — = 2590,

1 Р1 2 Р2

— Р — ~Р

Р3= — = 1554, Р4= — = 1110,

3 Р3 4 Р4

— ~Р

Р5 = — = 210.

5 Р5

w1 = Kl | = 1, w2 = Kl | = 1, 1 'Pl 1 1P2

w3 = К- | = 4, w4 = W- I = 2,

1 hi 1 'P4

w5 = I?2 1I = 3.

1 'P5

Ввведем вектор ошибки E = (0,0,1,0,0), X' = E + X = (1,2,4, 4,16). Вычислим

n+1

S =

^ Wip/i

1=1 _

= 11 - 3885 -1 + 1- 2590 -2 + 4-1554 -4 + 2-1110 -4+3- 210- Щ7770 = 6269. Так как 5 = 6269 > 210, следовательно, есть ошибка, вычислим ее: 1Б1р± = 2384 > Р, |5|р2 = 1089 > Р, = 53 <Р, следовательно X = 53.

4. Моделирование и анализ

Для анализа и моделирования были выбраны наборы модулей СОК с 4, 5, 6 рабочими основаниями, рабочий диапазон которых покрывает диапазон в 8, 16, 24 и 32 бита Избыточность данных является важным вопросом. В избыточной (к,п) СОК, используя любые к остатков из п, мы можем восстановить данные. Тогда избыточность можно выразить выражением

1,

где <¿1 размерность остатков по основанию Р1.

Для моделирования работы алгоритма 1 были выбраны наборы с двумя контрольными основаниями и вычислена их избыточность. Результаты представлены в табл. 1.

Табл. 1. Избыточность ИСОК с двумя контрольными основаниями Table 1. The redundancy of the RRNS with two control moduli.

Набор оснований Размерность, бит Избыточность

{3, 5, 7, 11, 13, 17} 10 0.75

{13, 17, 19, 23, 29, 31} 16 0.53

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

{59, 61, 67, 71, 73, 79} 24 0.54

{251, 257, 263, 269, 271, 277} 32 0.51

{2, 3, 5, 7, 11, 13, 17} 11 0.69

{5, 7, 11, 13, 17, 19, 23} 16 0.53

{23, 29, 31, 37, 41, 43, 47} 24 0.44

{79, 83, 89, 97, 101, 103, 107} 32 0.40

{2, 3, 5, 7, 11, 13, 17, 19} 14 0.59

{3, 5, 7, 11, 13, 17, 19, 23} 17 0.48

{11, 13, 17, 19, 23, 29, 31, 37} 24 0.39

{31,37, 41, 43, 47, 53, 59, 61} 32 0.34

Аналогично для моделирования работы алгоритма 2 были выбраны наборы с одним контрольным основанием, удовлетворяющие условиям теоремы 3 и вычислена их избыточность. Результаты представлены в табл. 2.

Табл. 2. Избыточность ИСОК с двумя контрольными основаниями Table 2. The redundancy of the RRNS with one control modulus.

Набор оснований Рабочий диапазон, бит Избыточность

{3, 5, 7, 11, 79} 10 0.58

{13, 17, 19, 23, 439} 16 0.47

{59, 61, 67, 71, 4759} 24 0.50

{251, 257, 263, 269, 70753} 32 0.49

{2, 3, 5, 7, 11, 79} 11 0.54

{5, 7, 11, 13, 17, 223} 16 0.42

{23, 29, 31, 37, 41, 1523} 24 0.41

{79, 83, 89, 97, 101, 9803} 32 0.40

{2, 3, 5, 7, 11, 13, 149} 14 0.47

{3, 5, 7, 11, 13, 17, 223} 17 0.38

{11, 13, 17, 19, 23, 29, 673} 24 0.36

{31, 37, 41, 43, 47, 53, 2503} 32 0.34

В среднем избыточность предложенного алгоритма на 14% меньше, чем у СОК с двумя контрольными основаниями.

1-количество исправляемых ошибок —•— Количество комбинаций метода проекций (21-1, 21)/ количество комбинаций предлагаемого метода (21-1,1)

Рис. 1. Анализ количества комбинаций предлагаемого метода по сравнению с методом проекций Fig. 1. The ratio of the number of combinations of the projection method to the number of combinations of the

proposed method.

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

Моделирование предложенных алгоритмов было реализовано на языке Verilog на ASIC в среде RTL и физического синтеза Cadence Genus Synthesis Solution с использованием библиотеки osu018_stdcells.

Все значения, которые могли быть предвычислены записаны в константы. В качестве критериев, по которым проводился анализ, были выбраны площадь (Cell Area) и задержка комбинаторного пути (Arrival). Также был получен показатель количества используемых ячеек (Cell Count), однако он связан с площадью, но в то же время при одинаковом количестве ячеек общая площадь может быть различной ввиду различной сложности ячеек используемой библиотеки.

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

Табл. 3. Результаты моделирования на ASIC Table 3. The results of the simulation_

Показатель Количество рабочих модулей Алгоритм Покрываемый рабочий диапазон, бит

8 16 24 32

Время, пс 4 1 15447 22338 34747 51685

2 25097 39429 67242 76830

5 1 15383 23642 30307 51164

2 21944 36698 59120 44727

6 1 19083 23047 31911 48572

2 32558 41193 53634 48738

Площадь 4 1 156978 320430 652211 956196

2 60759 132332 206485 280213

5 1 184405 335056 657195 1006255

2 63763 131767 154479 166433

6 1 302090 411108 652668 1011104

2 96815 155115 187973 184302

5. Система распределенного хранения данных

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

Существует большое количество систем хранения данных, описанных в патентах США, России, Китая [заявка W02019199288, опубл. 17.10.2019], [заявка Ш2013173916, опубл.

04.07.2013], [патент RU2656836, опубл. 06.06.2018], [патент СМ03957264, опубл.

30.07.2014].

Предложенная система может быть реализована схемой, представленой на рис. 2. Исходное значение X поступает на входы блоков тойр^ нахождения остатков по модулю р;, I £

[1, n + 1], которые могут быть выполнены как с использованием вычислительных устройств, например, интегральных схем или FPGA, так и в виде памяти, которая в ответ на значение исходного числа X подает на выход блока mod р^ остаток xt от деления на модуль р^. При этом модули удовлетворяют условиям Pi < р2 < Рз < < Рп < Рп+1 и Рп+1 > Рп " Рп-1.

Рис. 2. Схема системы распределенного хранения данных Fig. 2. Block diagram of the distributed data storage system

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

После хранения данные поступают из распределенного хранилища на входы регистров хранения остатков по модулю pi, выходы которых соединены со входами соответствующих блоков умножения на kt = Wi PL, выходы которых подключены к входами сумматора произведений, значение суммы поступает на входы блока нахождения остатков по модулю Р и блоков нахождения остатков по модулю Pi, результаты с которых поступают на вход блока коррекции ошибки, выход которого является выходом системы.

На рис. 3 показана структурная схема блока коррекции ошибки. Значение |S|p поступает на блок сравнения |Т|р с рабочим диапазоном, в котором проверяется логическое выражение |S|p < Р, если оно истинно, то сигнал с выхода блок сравнения |S|p с рабочим диапазоном поступает на управляющий вход мультиплексора, пропуская корректное значение |S|p через первый информационный вход на выход блока коррекции ошибки. Второй информационный вход мультиплексора |S|p подключен к выходу мультиплексора ^^.

Рис. 3. Структурная схема блока коррекции Fig. 3. Block diagram of the correction unit

Значения |S|p. с выходов блоков нахождения остатков по модулю Яг поступают на входы соответствующих блоков сравнения |S|p. с рабочим диапазоном, в которых проверяются логические выражения |S|p. < Р, если оно не выполняется, т.е. равно 0, то сигнал 0 с выхода блок сравнения |S|p. с рабочим диапазоном поступает на управляющий вход мультиплексора |S|p., на первый информационный вход которого подается значения |S|p. с выхода блока нахождения остатков по модулю Pi. Выход мультиплексора |S|p. подключен ко второму информационному входу мультиплексора |Slp£ . Второй информационный вход мультиплексора |^|р подключен к выходу блок сравнения |S|p 1.

Блок коррекции ошибки осуществляет вывод первого значения |S|p или |S|p., которое меньше рабочего диапазона.

6. Заключение

Преимуществом данного алгоритма является снижение аппаратных издержек коррекции ошибок модулярных чисел, полученных из систем распределенного хранения данных, что связано с отсутствием необходимости вычисления S = Yd=i ^ х' для каждой проекции Pi, S вычисляется один раз, и в дальнейшем необходимо вычисления только остатка от деления. Реализация всей системы возможна с использованием программируемых логических интегральных схем (ПЛИС), специализированных интегральных схем, а также в виде алгоритма работы ЭВМ и может использоваться как отдельное устройство, так и как сопроцессор для выполнения подготовки файлов к надежному распределенному хранению данных.

При этом предложенный алгоритм в среднем выполняется в 1,5 раза дольше за счет последовательной архитектуры некоторых операций, но при этом площадь микросхемы в среднем в 3,5 раза меньше.

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

Направлением дальнейших исследований может стать реализация предложенного алгоритма для криптографических алгоритмов с размерностью 64, 128, 256 бит.

Список литературы / References

[1]. Ghemawat S., Gobioff H., Leung S.T. The Google file system. In Proc. of the 18th ACM Symposium on Operating Systems Principles, 2003, pp. 29-43.

[2]. Gomathisankaran M., Tyagi A., Namuduri K. HORNS: A homomorphic encryption scheme for Cloud Computing using Residue Number System. In Proc. of the 45th Annual Conference on Information Sciences and Systems, 2011, pp. 1-5.

[3]. Lin H.Y., Tzeng W.G. A secure erasure code-based cloud storage system with secure data forwarding. IEEE transactions on parallel and distributed systems, vol. 23, issue 6, 2011, pp. 995-1003.

[4]. Celesti A., Fazio M. et al. Adding long-term availability, obfuscation, and encryption to multi-cloud storage systems. Journal of Network and Computer Applications. vol. 59, 2016, pp. 208-218.

[5]. Chervyakov N., Babenko M. et al. AR-RRNS: Configurable reliable distributed data storage systems for Internet of Things to ensure security. Future Generation Computer Systems, vol. 92, 2019, pp. 1080-1092.

[6]. Li W., Yang Y., Yuan D. A Novel Cost-Effective Dynamic Data Replication Strategy for Reliability in Cloud Data Centres. In Proc. of the IEEE Ninth International Conference on Dependable, Autonomic and Secure Computing, 2011, pp. 496-502.

[7]. Акушский И.Я., Юдицкий Д.И. Машинная арифметика в остаточных классах. М., Советское радио, 1968 г., 440 стр. / Akushsky I.Ya., Yuditsky D.I. Computer arithmetic in residual classes. Moscow, Soviet Radio, 1968, 440 p. (in Russian).

[8]. Вернер М. Основы кодирования. М., Техносфера, 2004 г., 288 стр. / Werner M. Information und Codierung. Vieweg+Teubner Verlag, Wiesbaden, 2002, 213 p.

Информация об авторах / Information about authors

Андрей Владимирович ГЛАДКОВ - младший научный сотрудник. Сфера научных интересов: высокопроизводительные вычисления, система остаточных классов.

Andrei Vladimirovich GLADKOV - Research Assistant. His research interests include highperformance computing, residue number systems.

Виктор Андреевич КУЧУКОВ - младший научный сотрудник. Сфера научных интересов: высокопроизводительные вычисления, система остаточных классов, нейронные сети, цифровая обработка сигналов.

Viktor Andreevich KUCHUKOV - Research Assistant. His research interests include highperformance computing, residue number systems, neural networks, digital signal processing.

Михаил Григорьевич БАБЕНКО - кандидат физико-математических наук. Сфера научных интересов: облачные вычисления, высокопроизводительные вычисления, система остаточных классов, нейронные сети, криптография.

Mikhail Grigoryevich BABENKO - PhD in Physics and Mathematics. His research interests include cloud computing, high-performance computing, residue number systems, neural networks, cryptography.

Андрей Николаевич ЧЕРНЫХ получил степень доктора наук в Институте системного программирования РАН. Он является профессором Центра научных исследований и высшего образования в Энсенаде, Нижняя Калифорния, Мексика. В научном плане его интересуют многоцелевая оптимизация распределения ресурсов в облачной среде, проблемы безопасности, планирования, эвристики и метаэвристики, интернет вещей и т.д.

Andrei Nikolaevitch TCHERNYKH received his PhD degree at Ivannikov Institute for System Programming of the Russian Academy of Sciences. He is holding a full professor position in computer science at CICESE Research Center, Ensenada, Baja California, Mexico. He is interesting in grid and cloud research addressing multiobjective resource optimization, both, theoretical and experimental, security, uncertainty, scheduling, heuristics and meta-heuristics, adaptive resource allocation, and Internet of Things.

Виктор Васильевич БЕРЕЖНОЙ - кандидат технических наук, доцент. Сфера научных интересов: модулярная арифметика, параллельные вычислительные системы, нейронные сети.

Victor Vasilyevich BEREZHNOY - PhD in Technical Sciences, Associate Professor. Research interests: modular arithmetic, parallel computing systems, neural networks.

Александр Юльевич ДРОЗДОВ. Доктор технических наук, профессор. Главный научный сотрудник, руководитель лаборатории, заместитель заведующего кафедр РЭПИ, ФРТК МФТИ. Основатель и руководитель лаборатории моделирования и проектирования архитектур специальных вычислительных систем МФТИ. Основатель и руководитель конструкторского цента Микроэлектроники факультета радиотехники и кибернетики МФТИ. Научные интересы: системы автоматизации проектирования, вычислительные машины, комплексы и компьютерные сети, системы автоматизации проектирования, принципы работы современных архитектур микропроцессоров, компилятора и системного ПО.

Alexander Yulievich DROZDOV. Doctor of Technical Sciences, Professor. Chief Researcher, Head of the Laboratory, Deputy Head of the Departments of REPI, FRTK MIPT. Founder and head of the Laboratory for Modeling and Designing Architectures of Special Computing Systems at MIPT. Founder and head of the Microelectronics Design Center of the Faculty of Radio Engineering and Cybernetics of the Moscow Institute of Physics and Technology. Scientific interests: design automation systems, computers, complexes and computer networks, design automation systems, operating principles of modern microprocessor architectures, compiler and system software.

i Надоели баннеры? Вы всегда можете отключить рекламу.