стань автором. присоединяйся к сообществу!
Лого Сделано у нас
23

Российские математики разработали библиотеку для генерации псевдослучайных чисел

Группа математиков из Научного центра Черноголовки РАН (НЦЧ РАН) разработала библиотеку для генерации псевдослучайных чисел, рассчитанную на использование в компьютерах завтрашнего дня и которая на самом деле пригодна для работы в сегодняшних системах любого масштаба, начиная от простого ноутбука. Суть новой библиотеки описана ими в статье, которая будет опубликована в мартовском номере журнала Computer Physics Communications (импакт-фактор: 3,112).

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

Алгоритмы, на которых строятся эти генераторы, заранее определены и, следовательно, способны генерировать последовательности чисел, которые теоретически не могут быть случайными. Они способны только аппроксимировать генерируемые ими числовые последовательности к по-настоящему случайным. Примечателен по этому поводу афоризм создателя современной архитектуры компьютеров Джона фон Неймана, сказавшего однажды: «всякий, кто питает слабость к арифметическим методам получения случайных чисел, грешен вне всяких сомнений».

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

Библиотека псевдослучайных чисел, созданная в Черноголовке, содержит реализации сразу нескольких наиболее современных алгоритмов генерации таких последовательностей, в том числе и алгоритмов, разработанных авторами статьи. Процедуры библиотеки позволяют генерировать до 1019 независимых потоков случайных чисел, что позволяет использовать библиотеку на любых существующих суперкомпьютерах. По словам одного из соавторов работы, Льва Щура, заместителя председателя НЦЧ РАН по научной работе, длина этих потоков, на которой гарантируется случайность, вообще астрономическая, она оценивается порядком в 1020 -- 1030 чисел. Причем сами эти процедуры удалось существенно ускорить за счет использования расширенного набора команд AVX, появившихся в процессорах Intel и AMD два года назад. В результате скорость реализации последовательностей удалось удвоить по сравнению с предыдущей версией библиотеки, она, как заявляют авторы разработки, в 40 раз выше скорости алгоритмов, написанных на языке ANSI C, бывшего основным стандартным языком программирования до конца прошлого века.

Одними из лидеров в отношении создания подобных библиотек считаются фирмы Intel и NVIDIA. Преимуществом своей библиотеки профессор Щур считает наличие там пяти-шести вариантов генераторов, разработанных в Черноголовке. «Не бывает такого, что мы взяли и сделали лучше всех, -- говорит он. -- В каких-то вещах предпочтительнее наша разработка, в каких-то -- разработки этих фирм. Всегда хорошо иметь возможность какой-то альтернативы. Фактически работа ведется параллельно с ведущими фирмами».

Сама идея такой библиотеки, рассказывает Щур, возникла еще в 2006-м году. Дальше был длительный и довольно сложный процесс патентования идеи, закончившийся только в прошлом году. Это весьма важный этап, считает он.

«Само наличие патента, — говорит он, — означает, что можно выпустить на его основе некоторую микросхему, и если эту микросхему поставить на уже имеющуюся плату, то вся плата оказывается защищенной этим патентом. Такая защищенность патентом в некоторых случаях может оказаться довольно важной».

По словам Щура, работа библиотеки была проверена на трех тысячах графических карт, что было в тот момент своеобразным рекордом. Проверка осуществлялась на различных суперкомпьютерах, в том числе на суперкомпьютерах «Келдыш» и «Ломоносов», и на всех этих картах библиотека работала устойчиво. Авторы разработки утверждают, что их библиотека может прекрасно работать при проведении численного моделирования методом Монте-Карло (используемый в компьютерах метод, основанный на получении большого числа реализаций случайного процесса) на системах любого масштаба.

Хочешь всегда знать и никогда не пропускать лучшие новости о развитии России? У проекта «Сделано у нас» есть Телеграм-канал @sdelanounas_ru. Подпишись, и у тебя всегда будет повод для гордости за Россию.

  • 1
    Andrey Tupkalo Andrey Tupkalo
    05.02.1604:19:13

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

  • 1
    Нет аватара hal0peridolum
    14.02.1604:40:51

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

    про псевдослучайные генераторы против случайных вам уже написали.

Написать комментарий
Отмена
Для комментирования вам необходимо зарегистрироваться и войти на сайт,