Научная статья на тему 'Исследование масштабируемости параллельных вычислений инволютивных базисов и базисов Грёбнера на многоядерном SMP компьютере'

Исследование масштабируемости параллельных вычислений инволютивных базисов и базисов Грёбнера на многоядерном SMP компьютере Текст научной статьи по специальности «Математика»

CC BY
99
23
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БАЗИС ГРЁБНЕРА / БАЗИС ЖАНЕ / ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ / PARALLEL COMPUTATIONS / МАСШТАБИРУЕМОСТЬ / SCALABILITY / GR¨OBNER BASES / JANET BASES

Аннотация научной статьи по математике, автор научной работы — Янович Денис Александрович

В прошлых работах автором была представлена программная реализация двух подходов к параллелизации вычислений базисов Грёбнера и инволютивных базисов полиномиальных систем: на уровне редукций полиномов с вычислениями, проводимыми в кольце Z и на уровне вычисления базисов целиком по модулю простого числа с последующим подъёмом результатов. Их масштабируемость была исследована только на восьмиядерном компьютере. В этой работе приводятся результаты тестирования улучшенной реализации данных алгоритмов на компьютере с 32 ядрами, производится анализ масштабируемости и факторов, на неё влияющих.

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

Evaluation of Parallel Computations of Gr¨obner and Involutive Bases on the Massive SMP Computer

In previous papers author presented realizations of two different approaches to parallelization of computation of Gr¨obner and involutive bases of polynomial systems with benchmarking on the 8-cores SMP computer: reduction-level parallelism with coefficients of polynomials in Z-ring and basis-level parallelism using modular basis computation and lifting. In this work further development of this algorithms described, benchmarking results and maximal speedup achieved on the massive 32-cores computer presented, scalability differences of algorithms investigated.

Текст научной работы на тему «Исследование масштабируемости параллельных вычислений инволютивных базисов и базисов Грёбнера на многоядерном SMP компьютере»

УДК 004.421.2:004.032.24:512.714+

Исследование масштабируемости параллельных вычислений инволютивных базисов и базисов Грёбнера на многоядерном SMP компьютере

Д. А. Янович

Лаборатория информационных технологий Объединённый институт ядерных исследований ул. Жолио-Кюри, д. 6, Дубна, Московская область, Россия, 141980

В прошлых работах автором была представлена программная реализация двух подходов к параллелизации вычислений базисов Грёбнера и инволютивных базисов полиномиальных систем: на уровне редукций полиномов с вычислениями, проводимыми в кольце Z и на уровне вычисления базисов целиком по модулю простого числа с последующим подъёмом результатов. Их масштабируемость была исследована только на восьмиядерном компьютере.

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

Ключевые слова: базис Грёбнера, базис Жане, параллельные вычисления, масштабируемость.

Мы будем использовать следующие обозначения: X = {х\,... ,хп} — множество полиномиальных переменных. К = 2[Х] — кольцо многочленов с целочисленными коэффициентами. М — множество мономов, т.е. произведение степеней переменных из X с целыми неотрицательными показателями.

>--допустимый порядок на мономах, такой что х\ У х2 У ••• У хп.

и | V — обычное отношение делимости монома V мономом и. Если и | V и deg(и) < deg(u), т.е. если и является собственным делителем V, мы будем записывать это условие как V □ и.

1т(/) и И(/) — старший моном и старший одночлен многочлена f £ К \ {0}, соответственно.

1т(Р) — набор старших мономов полиномиального множества Р С К \ {0}. Неким образом разделим переменные лидирующего монома полинома f £ С: М(/, Р) С X и ИМ(/, Р) = X \ М(/, Р) — множество мультипликативных и немультипликативных переменных соответственно.

Разделение переменных на немультипликативные и мультипликативные переменные порождает инволютивной деление мономов [1,2]. Это деление определяется по заданному конечному набору многочленов Р и порядку на мономах У следующим образом: если мономы и £ 1т(Р), V и т связаны соотношением т = и • V и при этом моном V содержит только мультипликативные переменные для и, то и является инволютивным делителем монома и>. В этом случае мы будем записывать отношение инволютивной делимости как и \ь ш.

Конечное множество Р ненулевых многочленов является инволютивно авторедуцированным, если каждый моном, входящий в f £ Р, не имеет инволютивных делителей среди 1т(Р) \ {1т(/)}. инволютмвная нормальная форма (р,Р) многочлена р £ Р определяется так:

1. Введение

Статья поступила в редакцию 31 мая 2013 г. Работа частично поддержана грантами РФФИ 12-07-00294, 13-01-00668 и грантом 3802.2012.2 Министерства образования и науки РФ.

где aij G K, gj G F, rnij G L(lm(gj),lm(F)), lm(m,ijgj) ^ lm(p) и p не содержит мономов, имеющих инволютивного делителя среди lm(F).

Для заданного идеала I С R и порядка на мономах у, конечное, инволютивно авторедуцированное множество ненулевых многочленов G С R, порождающее I, является его инволютивным базисом, если выполнено следующее [1]:

( Vf G G )( VXi G NML(f,G) ) [ NFl(xi ■ f,G) = 0].

Произведение Xi ■ f многочлена f G F и Xi G NML(f,F) называется немультипликативным продолжением f. Тем самым для инволютивного базиса любое его немультипликативное продолжение приводится мультипликативно к нулю.

Базис Грёбнера получается из инволютивного путём авторедукции по обычному делению [1].

Кратко, алгоритм получения инволютивного базиса можно записать так: 1: INPUT F, L, -<

2: OUTPUT T - инволютивный базис F 3: T := 0 Q := F 4: WHILE Q = 0

5: T := T U {p | lm(p) = mm(lm(Q)), NFL(p,T) = 0} 6: Q := Q\{p}, Q := Q U p ■ NML(p,T)

Одним из достоинств инволютивного алгоритма является достаточно слабая связанность по данным между операциями, проводимыми в ходе вычислений, что позволяет построить несколько его параллельных вариантов [3-7].

2. Исследование масштабируемости

В ходе вычислений базисов почти все время последовательный алгоритм проводит в вычислениях отдельных инволютивных нормальных форм (см. шаг 5). Распределив их вычисление по разным ядрам, получим первый алгоритм для исследования (Z в легенде). Он интересен тем, что более «выгодные» (с более простой арифметикой) элементы базиса вычисляются раньше «невыгодных». В некоторых примерах приводит к интересному эффекту суперлинейного ускорения вычислений [6].

Второй вариант параллельного алгоритма вычисляет множество модулярных образов базиса, восстанавливая прообраз с помощью Китайской теоремы об остатках [7](Zp в легенде). При реализации этого алгоритма необходимо помнить о существовании «неудачных» модулей, которые несут неполную информацию о прообразе, поэтому модулярные образы и восстановленный базис надо подвергать серии тестов для отсеивания неправильных результатов.

Реализации этих алгоритмов были протестированы на 32-х ядерных серверах, предоставляемых сервисом Elastic Cloud Computing, использовался шаблон cc2.8xlarge, соответствующий 32х-ядерному серверу с процессорами Xeon E5-2670@2.60GHz c 64Гб RAM. Коэффициенты масштабирования двух характерных примеров (с большим временем счета в последовательном варианте) отображены на рис. 1.

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

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

В обоих примерах наблюдаются места локального роста производительности в случае модулярного алгоритма (самый яркий пример — 8 ядер в примере redcyc7). Эти выбросы можно объяснить тем, что иногда наибольший коэффициент получаемого базиса удаётся восстановить, посчитав количество модулярных

308 Bulletin of PFUR. Series Mathematics. Information Sciences. Physics. No 2, 2014. Pp. 306-309

образов, кратное количеству процессоров, т.е. не считая лишних для восстановления базисов.

Рис. 1. Масштабируемость характерных примеров

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

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

Литература

1. Gerdt V. P., Blinkov Y. A. Involutive Bases of Polynomial Ideals // Math. Comp. Sim. — 1998. — Vol. 45. — Pp. 519-542.

2. Gerdt V. P., Blinkov Y. A. Minimal Involutive Bases // Math. Comp. Sim. — 1998. — Vol. 45. — Pp. 543-560.

3. Yanovich D. A. Parallelization of an Algorithm for Computation of Involutive Janet Bases // Programming and Computer Software. — 2002. — Vol. 28, No 2. — Pp. 6669.

4. Gerdt V. P., Yanovich D. A. Parallel Computation of Involutive and Grobner Bases // "Computer Algebra in Scientific Computing / CASC 2004", V. G. Ganzha, E. W. Mayr, E. V. Vorozhtsov (Eds.). Institute of Informatics, Technical University of Munich, Garching. — 2004. — Pp. 185-194.

5. Yanovich D. A. Efficiency Estimate for Distributed Computation of Grobner Bases and Involutive Bases // Programming and Computer Software. — 2008. — Vol. 34, No 4. — Pp. 210-215.

6. Yanovich D. A. Reduction-Level Parallel Computations of Grobner and Janet Bases // Bulletin of Peoples' Friendship University of Russia. — 2010. — Vol. Mathematics. Information Sciences. Physics, No 2. — Pp. 19-24.

7. Yanovich D. A. Parallel Modular Computation of Grobner and Involutive Bases // Programming and Computer Software. — 2013. — Vol. 39, No 2. — Pp. 110-113.

UDC 004.421.2:004.032.24:512.714+

Evaluation of Parallel Computations of Grobner and Involutive Bases on the Massive SMP Computer

D.A. Yanovich

Laboratory of Information Technologies Joint Institute for Nuclear Research 6, Joliot-Curie str., Dubna, Moscow region, Russia, 141980

In previous papers author presented realizations of two different approaches to paralleliza-tion of computation of Grobner and involutive bases of polynomial systems with benchmarking on the 8-cores SMP computer: reduction-level parallelism with coefficients of polynomials in Z-ring and basis-level parallelism using modular basis computation and lifting.

In this work further development of this algorithms described, benchmarking results and maximal speedup achieved on the massive 32-cores computer presented, scalability differences of algorithms investigated.

Key words and phrases: Grobner bases, Janet bases, parallel computations, scalability.

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