Modern problems of science and educationrae.ru
Scientific journal

Modern problems of science and education

ISSN 2070-7428VAK ListRSCI IF = 0,936

PARALLELIZATION OF COMPUTING OPERATIONS ON THE BASIS OF FASHION-POLAR DATA STRUCTURES

Chernobrovkin V.V. 1
1SEI HPE «Surgut State University»

Введение

Основной стратегией теоретических и практических исследований, осуществляемых в настоящее время, является применение подходов, базирующихся на интенсивном использовании различных форм параллелизма на алгоритмическом, программном и аппаратном уровнях. В связи с чем исключительно большое значение имеют исследования, ориентированные на применение нетрадиционных способов кодирования числовой информации и соответствующих им параллельных вариантов компьютерной арифметики [6]. Возможность применения модулярной системы счисления [1–3,5–10] в вычислительных алгоритмах обусловливается наличием изоморфизма между математическими операциями над целыми числами и соответствующими операциями над системой целых неотрицательных вычетов по взаимно-простым модулям. Сложение, умножение, возведение в целую положительную степень целых положительных чисел сводятся к соответствующим операциям, выполняемым над множеством вычетов, – представлением этих чисел в модулярной системе счисления.

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

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

Фундаментом теоретико-числовой базой модулярной системы является теория сравнений, основы которой были разработаны Эйлером и отечественным математиком П.Л. Чебышевым. Применительно к обработке информации модулярными кодами теория опирается на следующее утверждение. Пусть А и р – два произвольных целых числа, причем р – положительное число, тогда в результате деления числа А на число р получаются частное и остаток [8]. Делимость А на р удовлетворяет равенству

(1)

и неравенству 0 ≤ α < p, (2)

где l – частное, α – остаток.

Согласно (1), величина а называется наименьшим неотрицательным вычетом [1, 3, 4–7, 8] целого числа А по модулю p и обозначается символом .

Для дальнейшего понимания вычислительных операций в модулярной системе проведем доказательство одного из вариантов китайской теоремы об остатках [2–4, 7, 10, которая является фундаментальным положением в основе модулярного представления чисел.

Теорема 1 (Китайская теорема об остатках). Любое целое положительное число A в модулярной системе счисления можно представить в виде набора остатков (вычетов) от деления этого числа на выбранные основания (модули) системы.

Доказательство.

Пусть число А представлено в системе остаточных классов следующим образом:

, (3)

где – наименьшие, неотрицательные вычеты, образованные путем целочисленного деления числа A на выбранные основания

, (4)

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

Если , , т.е. взаимно простые, то представление числа (3) является единственным, при условии

0 ≤ А≤ p. (5)

Тогда число A может быть представлено следующим образом:

;

; (6)

. . . . . . . . . .

;

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

Формула (6) определяют сравнения, которые показывают, что каждый вычет ai получается независимо, а значит параллельно от других и содержит информацию обо всём числе. Данное обстоятельство определяет, если для таких вычислений организовать программно-аппаратную вычислительную базу, то вычеты могут образовываться параллельно.

Цифры ai представления (3) по выбранным модулям образуются следующим образом:

, (), (7)

где — целочисленное частное; – взаимно простые числа (основания системы).

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

Отображение чисел в системе остаточных классов

Десятичное

представление числа

0

1

2

3

4

5

6

7

8

9

Изображение чисел в остатках по модулям 2, 3, 5

(0,0,0)

(1,1,1)

(0,2,2)

(1,0,3)

(0,1,4)

(1,2,0)

(0,0,1)

(1,1,2)

(0,2,3)

(1,0,4)

Десятичное

представление числа

10

11

12

13

14

15

16

17

18

19

Изображение чисел в остатках по модулям 2, 3, 5

(0,1,0)

(1,2,1)

(0,0,2)

(1,1,3)

(0,2,4)

(1,0,0)

(0,1,1)

(1,2,2)

(0,0,3)

(1,1,4)

Десятичное

представление числа

20

21

22

23

24

25

26

27

28

29

Изображение чисел в остатках по модулям 2, 3, 5

(0,2,0)

(1,0,1)

(1,0,2)

(1,2,3)

(0,0,4)

(1,1,0)

(0,2,1)

(1,0,2)

(0,1,3)

(1,2,4)

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

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

Отношение сравнения по модулю натурального числа обладает следующими свойствами:

1) симметричность: ;

2) рефлексивность: ;

3) транзитивность: .

Множество вычетов по модулю натурального числа с двумя операциями обладает кольцевыми свойствами:

1) ассоциативность по сложению: ;

2) существование нулевого элемента: ;

3) существование обратного элемента:;

4) ассоциативность по умножению:;

5) дистрибутивность:.

Рассматривая вычисления в кольце вычетов с помощью модулярной арифметики все операции можно разбить на две группы. Пусть операнды А и В, а также результаты операций и представлены соответственно остатками , , , по основаниям , где (). Причём оба числа и результаты находятся в диапазоне [0, P], то есть

,;

;

(8)

При этом – кольцо целых чисел.

Так как выражение (8) является прямым следствием фактов теории чисел [2, 3, 5], то результаты аддитивной и мультипликативной операций можно переписать в виде

; , при . (9)

Если положить

, ,, (10)

то цифрами результата являются, соответственно,

;

; (11)

.

Выражения (11) могут быть получены на основании выражения (6).

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

Перейдем к немодульной операции деления в модулярной системе. Если рассматривать представление (3) с условием , то операцию деления можно проводить в модулярной системе счисления поразрядно. Пусть числа А и В представлены по основаниям Тогда они будут иметь представления:

, , ,

Результат деления , (12)

где определяются как решения сравнения;

. (13)

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

Величина является решением сравнения

(14)

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

Сравнения (13) имеют единственные решения в том случае, когда ; может принимать значение 0, поэтому от ограничения можно отказаться.

Если число А делится нацело на В, то представление (7) дает истинное значение для дроби С = , где С – некоторое целое число; если число А не делится нацело на В, то представление (7) будет формальным представлением дроби ; в этом случае .

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

Если А делится на В и среди цифр имеются нулевые значения, то из делимости А на В следует, что и . Таким образом, при поразрядном делении в i-м представлении (7) имеет место неопределенность типа, для раскрытия которой необходимо знание о всем числе [1].

Согласно китайской теореме об остатках все операции проходят по n каналам. Для этого построим параллельную вычислительную схему следующего вида (рис. 1):

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

На схеме показано как А – входные многоразрядные данные – преобразуются на основе системы остаточных классов и подаются в n каналов обработки. Каждый из n каналов вычисляет по выбранному модулю (основанию) входные данные. Затем вычисленные значения поступают в «обратный» преобразователь и выходят в виде результата B.

На сравнительных графиках показана зависимость времени выполнения вычислительных операций от разрядности входных данных (рис. 2). Преимущества по времени и объему обрабатываемых данных при параллельной обработке возникают при следующих условиях:

1) разрядность обрабатываемых данных значительная;

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

Все вычислительные операции проводились на процессорах одного класса Intel Core2 Quad.

Рис. 2. Сравнительная схема выполнения вычислительных операций

На рис. 2 видно, что график при параллельной обработке данных похож на график функции y = log(x)и лежит ниже линейной зависимость последовательной обработки, что свидетельствует о преимуществах параллельной обработки на основе модулярного представления данных.

Выводы

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

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

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

Рецензенты:

Бахарев М.С., д.т.н., профессор, профессор кафедры «Нефтегазовое дело» Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Сургутский институт нефти и газа, (филиал) Тюменского государственного нефтегазового университета, г. Сургут.

Инютин С.А., д.т.н., профессор, профессор кафедры «Проектирование вычислительных комплексов» ФГБОУ ВПО «МАТИ – Российский государственный технологический университет им. К.Э. Циолковского (МАТИ)» г. Москва.


Bibliographic Reference

Chernobrovkin V.V. PARALLELIZATION OF COMPUTING OPERATIONS ON THE BASIS OF FASHION-POLAR DATA STRUCTURES // Modern problems of science and education. 2014. No. 1. pp. 249-249;
URL: https://www.science-education.ru/en/article/view?id=12208 (accessed: 23/08/2026).