Формула Бэйли — Боруэйна — Плаффа, которая позволяет извлечь любую конкретную шестнадцатеричную или двоичную цифру числа пи без вычисления предыдущих (нынешний рекорд был установлен на алгоритме Чудновского, см. под катом)
Вычислительный кластер Google Compute Engine за 121 день на 25 виртуальных машинах рассчитал наибольшее количество цифр в числе пи, установив новый мировой рекорд: 31,4 триллиона знаков после запятой. Это первый раз, когда для расчёта числа пи такой величины использовалось общедоступное облачное программное обеспечение.
Рекорд будет записан на имя Эммы Харуки Ивао (Emma Haruka Iwao) из подразделения высокопроизводительных вычислений в Google. Именно она использовала инфраструктуру Google Cloud для вычислений. Предыдущий мировой рекорд был установлен Питером Трубом в 2016 году, он рассчитал число до 22,4 триллиона цифр на специально сделанном сервере, который тоже спонсировал работодатель.
Как и Труб, инженер Google применила для расчёта y-cruncher. Эта программа использует алгоритм Чудновского, быстрый алгоритм вычисления числа пи. Ещё в 80-е годы сами братья Чудновские с его помощью рассчитали миллиард знаков после запятой.
В свою очередь, алгоритм основан на свойстве быстрой сходимости гипергеометрического ряда:
Эмма Харука Ивао увлеклась «волшебным» числом, узнав о нём на уроке математики в школе, пишет Wired. В университете один из её профессоров, Дайсуке Такахаси (Daisuke Takahashi), был рекордсменом по количеству рассчитанных цифр числа с помощью суперкомпьютера. Сегодня рекорд может поставить практически любой заинтересованный инженер, у которого есть доступ к серьёзным вычислительным ресурсам и большому дисковому хранилищу (для хранения результата вычислений). Созданная в 2009 году программа y-cruncher предназначена для вычисления математических констант, таких как пи. Она поддерживает массивную многопоточность и триллионные диапазоны. Эта программа фактически коммодитизировала вычисления констант.
«Вам нужен довольно большой компьютер, чтобы побить мировой рекорд, — говорит Ивао. — Не получится сделать это на компьютере из магазина, поэтому раньше люди строили кастомные машины». В сентябре 2018 года Ивао начала рассматривать, как технически будет работать процесс вычисления в диапазоне за пределами рекордного диапазона. Сразу стало понятно, что основной проблемой станет объём данных для хранения. В итоге получилось, что рассчитанный результат занимает 170 терабайт. Вместо сборки кастомного сервера, как предшественники, девушка использовала инфраструктуру Google Cloud.

Для корректности вычислений виртуальные машины должны были работать постоянно. Инженер установила систему мониторинга, которая предупредила бы её, если что-то пошло не так, например, о внезапном сбое на одной из виртуальных машин. Всего одна авария — даже на пару минут — могла поставить под угрозу весь процесс вычислений, если бы не резервное копирование.
«В кранчере и Google Cloud есть системы резервного копирования, и я настроила их так, чтобы вы могли мгновенно снимать копии этих дисков, не останавливая вычисления», — говорит Ивао. Эти данные затем копировались и сохранялись извне, на других дисках, в виде моментальных снимков.
«В начале было несколько параметров, которые я изменила, например, сколько данных вы могли читать или писать за один раз, и как границы будут меняться по мере увеличения», — говорит Ивао.
С увеличением количества цифр объём файлов становился больше, а сложность вычислений возрастала нелинейно. Это очень усложнило первоначальный расчёт, когда Ивао пыталась посчитать, какой ресурс виртуальных машин ей потребуется для проекта.
Сейчас завершены и вычисления, и проверка результата: в y-cruncher встроены два базовых алгоритма — один для вычисления самого пи, а другой для проверки. Алгоритм проверки работает параллельно с вычислением, но вычисляет только одну цифру, так что рекорд можно регистрировать официально.
Теоретически, новый мировой рекорд можно установить, если просто взять предыдущий файл и применить формулу Бэйли — Боруэйна — Плаффа для расчёта ещё одного числа. Но это наверняка противоречит правилам регистрации подобных мировых рекордов: скорее всего, каждый претендент должен начинать расчёт сначала. Как вариант: улучшить предыдущее достижение на N%, что по формуле Бэйли — Боруэйна — Плаффа сделать не получится.
Комментарии (28)
KirEv
16.03.2019 19:49+3взял мудрец кувшин наполовину наполненный мелкими камнями, пересыпал в пустой кувшин,
взял мудрец кувшин наполовину наполненный речным песком, пересыпал в кувшин только что наполненный мелкими камнями…
взял мудрец кувшин полный речным песком и мелкими камнями — пересыпал в пустой кувшин из-под мелких камней.
странное занятие было у мудреца )
maxzhurkin
16.03.2019 21:13+4Алгоритм проверки работает параллельно с вычислением, но вычисляет только одну цифру, так что рекорд можно регистрировать официально
очень непонятное предложениеvlanko
17.03.2019 00:10за параллельность не скажу.
Но суть в том, что другим алгоритмом считают одну конкретную цифру. Она должна совпасть с нашим расчетом :))
(наверно, не одну)maxzhurkin
17.03.2019 17:12Предположу, что:
- «не другой» алгоритм последовательно вычисляет по одной цифры, исходными данными служат предыдущие
- «другой» алгоритм последовательно проверяет по одной цифры, полученные с помощью «не другого» алгоритма, исходными данными служат предыдущие. Ресурсоёмкость при этом ниже (это предположение в рамках предположения), но не сильно, иначе можно было бы действовать путём простого перебора только с помощью этого алгоритма
- расчёты по «другому» алгоритму выдают верефицируемые совсем малыми (относительно «другого» и «не другого» алгоритмов) ресурсами данные, которые можно использовать как доказательство корректности расчётов и таким образом, собственно, являются подтверждением рекорда
mikhailian
17.03.2019 00:15+4Это не персональный рекорд, а позорище. Рекорд был у Фабриса Белларда в 2007 году, когда он на домашнем компьютере обставил группу японских учёных. Мог бы и дальше считать, но место на дисках закончилось, а новые купить было лениво.
Вот статья про Фабриса и его рекорд, а вот его собственная страничка про это.
mikhaelkh
17.03.2019 00:38+1Ещё в 80-е годы сами братья Чудновские с его помощью рассчитали более триллиона знаков после запятой.
Чудновские были первыми, кто вычислил миллиард знаков. Полная хронология рекордов
DmitrySpb79
17.03.2019 02:57+1С появлением облачных сервисов, подобные вычисления упираются только в толщину кошелька — только плати за процессорное и дисковое время.
Да и когда появился алгоритм вычисления любого знака Пи, дальше считать его наверно стало бесмысленно, какой смысл терабайты зря генерить.
ufm
17.03.2019 05:49+1Мне одному кажется, что нормальная математика это та, в которой Пи или е строго равны 1? А то что у нас получается — явное недопонимание как устроена вселенная.
ilmirus
17.03.2019 08:59+2Да, вам одному так кажется. Ой, я имел в виду вам 1/е-му или вам 1/pi-му (выберите, какое число вам больше нравится) так кажется.
Cerberuser
17.03.2019 10:48Что Пи равно четырём — это ещё ладно, сам такое доказывал, но как надо извратиться, чтобы оно стало единицей?..
solariserj
17.03.2019 15:44-1Конечно извините, но у меня не укладывается в голове как Pi, может быть рассчитана по формуле. И как проверить что после 20-50 знака, он ещё верен а не генерит рандом. Это ведь геометрическое число. Понимаю е — чисто математическое, но Pi — длина единичной окружности, и кроме как из окружности его не достать.
ivansmith
17.03.2019 16:05Ну а как же формула Эйлера?
e^i? + 1 = 0
Экспонента входит во все тригонометрические функции, так что можно и без окружности обойтись :)
malkovsky
17.03.2019 17:28Это ведь геометрическое число. Понимаю е — чисто математическое, но Pi — длина единичной окружности, и кроме как из окружности его не достать.
Не уверен, что вы под этим подразумеваете. В математике pi, как и е задается через предел некоторой последовательности. В случае pi — это предел последовательности периметров правильных вписанных в окружность единичного диаметра n-угольников. Это определение согласовано с дифференциальным исчислением и определением длины кривой, в частности длина кривой x^2+y^2=1 — это 2pi.
glestwid
17.03.2019 21:39Главное осталось нераскрытым — а нафига с этим пи возиться? В чем прок вычисления все большего числа его знаков?
vmarunin
18.03.2019 03:09Прока нет.
Просто померяться… С другой стороны всего 25 инстансов на 120 дней и вы можете посчитать число Пи c точностью 31,415,926,535,897 знаков (что есть число Пи с точностью 13 знаков после запятой) ко дню Пи (14 марта или 3/14, 31 апреля и/или 14 месяца не завезли, чтобы день Пи был в российском формате даты)
Чисто понты и реклама облака для этих понтов.
На самом деле и 13 знаков слишком дофига. Тут посмотришь ролики как народ меряет сотые и тысячные доли миллиметра и насколько это всё не просто.
PS А не дешевле было взять 100 инстансов на месяц и съэкономить на зарплате этой девушки?
basilbasilbasil
Троллейбус из буханки.жпег