RESIDUAL HIGH-PRECISION PARALLEL COMPUTING WITH USING OF NEURAL NETWORKS


Citar

Texto integral

Resumo

The authors present the modeling high-precision parallel computing with high-bit data, based on the residue number systems with the conversion of numbers from the positional notation to the residual notation and back with the using of neural networks. Application of neural technology allows parallelize computations at the level of the algorithm, and the use of residue number systems makes it possible to improve the performance of high-precision computation through the transition to a low-bit data processing and application of parallel processing at the level of the elementary arithmetic operations. A neural network for the conversion of the positional notation to the residual notation and back is constructed. The dependence of the time of conversion from changing the bit has been got. The dependence of the time operations of addition, subtraction and multiplication for fixed-point numbers from changing the bit has been got.

Texto integral

С ростом производительности современных ЭВМ расширяется спектр и размерность решаемых на ЭВМ задач, повышаются требования к точности компьютерных вычислений. Большинство компьютерных вычислений проводятся в арифметике с плавающей точкой с жестко ограниченной длиной мантиссы, что приводит к появлению неустранимых ошибок округления. В настоящее время существует множество библиотек, поддерживающих высокоточные вычисления ZREAL (Россия), MP ARITH (Германия), GMP (США) и др., применение которых сдерживается сильной зависимостью роста времени выполнения арифметических операций от точности вычислений. Одним из способов решения данной проблемы является использование модулярной арифметики [1], которая обеспечивает вычисление задач большой алгоритмической сложности. Модулярной системе счисления присущи возможность глубокого распараллеливания вычислений и отсутствие обмена данными в процессе вычислений [2]. При аппаратной реализации этих операций на программируемых логических интегральных схемах (ПЛИС) обеспечивается параллельное выполнение операций над элементами векторов [3]. В отличие от позиционной системы счисления ошибка в одной позиции вектора не влияет на расчеты в других позициях вектора. Этот факт позволяет проектировать устройства с повышенной отказоустойчивостью и с коррекцией ошибок [2; 3]. В модулярной арифметике успешно применяются нейронные сети (НС) [2-8]. Разные модели нейросе-тевых алгоритмов различаются по требованиям к ресурсам системы. Наряду с универсальными моделями НС были исследованы несколько модификаций специальных нейросетевых алгоритмов, разработанных для выполнения преобразования чисел из позиционной системы счисления (ПСС) в систему остаточных классов (СОК). Нейронная сеть конечного кольца (НСКК) представляет специализированный механизм преобразования чисел из ПСС в СОК и обратно [4-6]. Применение НСКК обеспечивает преобразования из одной системы счисления в другую быстрее классических методов и отличается меньшим количеством узлов сети и простотой их организации [4-8]. Например, при использовании НСКК прямого распространения с модульными операциями в каждой ступени для преобразования числа A = 253 по модулю 5 понадобилось 6 операций: три операции сложения и три операции сокращения по модулю. Структурная схема НСКК подробно рассмотрена в [5] и включает входной слой, скрытые слои и выход ной слой. В работе исследовались высокоточные вычисления с числами большой разрядности. Поэтому при разработке алгоритма перевода чисел из ПСС в СОК были выбраны различные основания системы счисления - система счисления с основанием 2 и с основанием 232. По результатам моделирования НСКК продемост-рировали лучшие показатели по сравнению с универсальными НС как по скорости и точности выполнения операции преобразования чисел из ПСС в СОК, так и по требуемым для его реализации ресурсам. Специализированные алгоритмы преобразования чисел из ПСС в СОК являются эффективным решением проблемы обеспечения высокоточных вычислений, особенно при их аппаратной реализации [3]. Архитектура НСКК прямого распространения с модульной операцией только на финишной ступени является эффективнее по затратам оборудования и ресурсов по сравнению с НСКК прямого распространения с модульными операциями в каждой ступени. Нейроны скрытого слоя представляют собой обычные сумматоры и не требуют реализации операций сокращения по модулю. Основной акцент в работе был сделан на обеспечение высокоточных вычислений за счёт повышения разрядности обрабатываемых чисел, что потребовало увеличение значения основания системы счисления, которое ведёт к уменьшению размера массива весов и объёма используемой памяти. Для перевода из системы остаточных классов в позиционную систему счисления используется также нейронная сеть [2]. Для реализации выбранного алгоритма преобразования чисел из ПСС в СОК и обратно был выбран язык программирования C++, так как основная программа предназначена для работы на высокопроизводительном кластере с использованием технологии MPI [8] со следующими характеристиками: - пиковая производительность системы - 19 TFlops; - количество вычислительных узлов - 288; - количество вычислительных ядер - 2304; - каждый узел содержит 4-ядерные процессоры Quad-CoreIntelXeon® 5345 EM64T (тактовая частота 2,33 ГГц, процессорный КЭШ - 8 M6, оперативная память - 2 GB). Экспериментальные вычисления проводились на одном вычислительном узле кластера. Реализация распараллеливания программы выполнена с помощью библиотеки MPICH2. Для реализации НСКК при переводе из ПСС в СОК использовалась библиотека 72 Математика, механика, информатика GMP и компилятор фирмы Intel. Для экспериментального моделирования разработан комплекс программ высокоточных вычислений в системе остаточных классов. Использованы числа в формате с фиксированной запятой с изменяемой разрядностью данных (в пределах от 64 до 2048 бит с шагом 64) и изменяемой размерностью массива обрабатываемых данных (в пределах от 104 до 109), который осуществляет операции сложения, вычитания и умножения [8]. Разрядность преобразуемых и обрабатываемых данных задавалась пользователем как аргумент программы в пределах от 64 до 2048 с шагом 64. Основаниями СОК выбраны самые большие 31-разрядные простые числа, так как вычисления с большими основаниями происходят быстрее, но необходимо учитывать возможность переполнения стандартного диапазона процессора (64 бита). В первой серии экспериментов использовался формат чисел с фиксированной точкой, количество кото рых составляло 1000. Количество оснований определялось разрядностью данных. Так, например, для 64битных данных было использовано 5 оснований, для 2048-битных - 133 основания. Затраты времени для перевода из ПСС в СОК, представленные на рис. 1, показывают выигрыш в 3 раза по сравнению с классическими методами только на повышенной разрядности чисел (более 62048) и увеличении размера основания до 232. На рис. 2 приведен график зависимости времени перевода чисел из СОК в ПСС с использованием НСКК с К = 232 и К = 264. Общее количество переводимых данных составляет 1000. Разрядность изменяется от 2048 бит до 65536 бит с шагом 2048 бит. Результаты экспериментов показывают, что затраты времени преобразования чисел из СОК в ПСС соответствуют затратам времени при использовании классических методов. Рис. 1. График зависимости перевода чисел из ПСС в СОК Рис. 2. График зависимости перевода чисел из СОК в ПСС 73 Вестник СибГАУ. № 4(50). 2013 Эксперименты демонстрируют [8], что время перевода чисел из ПСС в СОК и обратно из СОК в ПСС зависит от разрядности и объёма входных данных (рис. 1, 2). Выигрыш по быстродействию в формате с плавающей точкой наблюдается только при использовании чисел повышенной разрядности (более 2048 разрядов). В экспериментах разрядность изменялась от 2048 бит до 65536 бит с шагом 2048 бит. Таким образом, для обеспечения высокоточных вычислений целесообразно повысить разрядность обрабатываемых данных, использовать перевод чисел в систему остаточных классов и произвести распараллеливание задач, при аппаратной реализации использовать ПЛИС. При использовании нейросетевых технологий перевод чисел из ПСС в СОК и обратно необходимо производить с помощью нейронной сети конечного кольца, которые не требуют специальной библиотеки для работы с длинными числами в отличие от классических методов перевода чисел. Время выполнения операций сложения, вычитания и умножения для чисел с фиксированной запятой в системе остаточных классов значительно меньше, чем время выполнения аналогичных операций, вычисленных в позиционной системе счисления с использованием библиотеки GMP. Сложение и вычитание чисел в СОК выполняется быстрее примерно на 30 %, чем в ПСС, а умножение в СОК в несколько раз быстрее, чем в ПСС. Применение чисел с плавающей запятой дает эффект только при повышенной разрядности чисел.
×

Sobre autores

Vladimir Rostovtcev

Vyatskiy State University

Email: rostov_kirov@mail.ru
Candidate of Engineering Sciences, associate professor 36, Moskovskaya str., Kirov, 610000, Russian Federation

Egor Zorin

Vyatskiy State University

Email: cvc575@gmail.com
graduate

Egor Grachev

Vyatskiy State University

Email: rook.mail@mail.ru
graduate 36, Moskovskaya str., Kirov, 610000, Russian Federation

Bibliografia

  1. Акушский И. Я., Юдицкий Д. И. Машинная арифметика в остаточных классах. М. : Советское радио, 1968.
  2. Червяков Н. И. Методы и принципы построения модулярных нейрокомпьютеров // 50 лет модулярной арифметике : тр. Юбилейной Междунар. науч.-техн. конф. (23-25 ноября 2005, Москва, Зеленоград). Зеленоград : Изд-во МИЭТ, 2006.
  3. Евдокимов А. А. Реализация модулярных нейронных вычислительных структур на базе ПЛИС // 50 лет модулярной арифметике : тр. Юбилейной Междунар. науч.-техн. конф. (23-25 ноября 2005, Москва, Зеленоград). Зеленоград : Изд-во МИЭТ, 2006.
  4. Червяков Н. И., Сивоплясов Д. В. Нейронная сеть конечного кольца прямого распространения с модульной операцией на финишной ступени // Вестник СевКавГТУ. Сер. «Физико-химическая». 2004. № 1 (8). С. 159-161.
  5. Пат. РФ № RU 2279132 C2 Нейронная сеть конечного кольца / Н. И. Червяков, В. А. Галкина, Ю. А. Стрекалов, С. В. Лавриненко. Опубл. 27.06.2006.
  6. Пат. РФ № RU 2317584 С1 Конвейерная нейронная сеть конечного кольца / Н. И. Червяков. Опубл. 20.02.2008.
  7. Сахнюк П. А., Шапошников А. В. Оптимизация структуры нейронных сетей конечного кольца // Нейрокомпьютеры: разработка, применение. 2001. № 10. С. 13-18.
  8. А. с. о регистрации программы для ЭВМ № 2013613857. Программный комплекс моделирования модулярных вычислений на базе нейронной сети конечного кольца. / В. С. Ростовцев, Е. А. Грачёв, Е. И. Зорин. № 20136611269 ; заявл. 27.02.2013 ; опубл. 17.04.2013.

Arquivos suplementares

Arquivos suplementares
Ação
1. JATS XML

Declaração de direitos autorais © Rostovtcev V.S., Zorin E.I., Grachev E.A., 2013

Creative Commons License
Este artigo é disponível sob a Licença Creative Commons Atribuição 4.0 Internacional.

Este site utiliza cookies

Ao continuar usando nosso site, você concorda com o procedimento de cookies que mantêm o site funcionando normalmente.

Informação sobre cookies