Новый мировой рекорд по вычислению числа пи: 31,4 трлн знаков



    Формула Бэйли — Боруэйна — Плаффа, которая позволяет извлечь любую конкретную шестнадцатеричную или двоичную цифру числа пи без вычисления предыдущих (нынешний рекорд был установлен на алгоритме Чудновского, см. под катом)

    Вычислительный кластер 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.

    Ивао подняла 25 виртуальных машин: «Но вместо того, чтобы нажимать эту кнопку виртуальной машины 25 раз, я автоматизировала её, — объясняет она. — Ты можешь сделать это за пару минут, но если тебе нужно так много компьютеров, то потребуется несколько дней, чтобы всё настроить». Затем непрерывно в течение 121 дня Ивао управляла работой y-cruncher на этих 25 виртуальных машинах.

    Для корректности вычислений виртуальные машины должны были работать постоянно. Инженер установила систему мониторинга, которая предупредила бы её, если что-то пошло не так, например, о внезапном сбое на одной из виртуальных машин. Всего одна авария — даже на пару минут — могла поставить под угрозу весь процесс вычислений, если бы не резервное копирование.

    «В кранчере и Google Cloud есть системы резервного копирования, и я настроила их так, чтобы вы могли мгновенно снимать копии этих дисков, не останавливая вычисления», — говорит Ивао. Эти данные затем копировались и сохранялись извне, на других дисках, в виде моментальных снимков.

    «В начале было несколько параметров, которые я изменила, например, сколько данных вы могли читать или писать за один раз, и как границы будут меняться по мере увеличения», — говорит Ивао.

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

    Сейчас завершены и вычисления, и проверка результата: в y-cruncher встроены два базовых алгоритма — один для вычисления самого пи, а другой для проверки. Алгоритм проверки работает параллельно с вычислением, но вычисляет только одну цифру, так что рекорд можно регистрировать официально.



    Теоретически, новый мировой рекорд можно установить, если просто взять предыдущий файл и применить формулу Бэйли — Боруэйна — Плаффа для расчёта ещё одного числа. Но это наверняка противоречит правилам регистрации подобных мировых рекордов: скорее всего, каждый претендент должен начинать расчёт сначала. Как вариант: улучшить предыдущее достижение на N%, что по формуле Бэйли — Боруэйна — Плаффа сделать не получится.
    Поддержать автора
    Поделиться публикацией

    Комментарии 29

      +11

      Троллейбус из буханки.жпег

        +1
        Нули и единицы ещё не начали складываться в фигуры?
          +1
          Да. В круг.
          +8
          взял мудрец кувшин наполовину наполненный мелкими камнями, пересыпал в пустой кувшин,
          взял мудрец кувшин наполовину наполненный речным песком, пересыпал в кувшин только что наполненный мелкими камнями…
          взял мудрец кувшин полный речным песком и мелкими камнями — пересыпал в пустой кувшин из-под мелких камней.
          странное занятие было у мудреца )
            0
            pifs всё ближе?
              +7
              Алгоритм проверки работает параллельно с вычислением, но вычисляет только одну цифру, так что рекорд можно регистрировать официально
              очень непонятное предложение
                0
                за параллельность не скажу.
                Но суть в том, что другим алгоритмом считают одну конкретную цифру. Она должна совпасть с нашим расчетом :))
                (наверно, не одну)
                  0
                  Предположу, что:
                  1. «не другой» алгоритм последовательно вычисляет по одной цифры, исходными данными служат предыдущие
                  2. «другой» алгоритм последовательно проверяет по одной цифры, полученные с помощью «не другого» алгоритма, исходными данными служат предыдущие. Ресурсоёмкость при этом ниже (это предположение в рамках предположения), но не сильно, иначе можно было бы действовать путём простого перебора только с помощью этого алгоритма
                  3. расчёты по «другому» алгоритму выдают верефицируемые совсем малыми (относительно «другого» и «не другого» алгоритмов) ресурсами данные, которые можно использовать как доказательство корректности расчётов и таким образом, собственно, являются подтверждением рекорда
                +15

                Это не персональный рекорд, а позорище. Рекорд был у Фабриса Белларда в 2007 году, когда он на домашнем компьютере обставил группу японских учёных. Мог бы и дальше считать, но место на дисках закончилось, а новые купить было лениво.


                Вот статья про Фабриса и его рекорд, а вот его собственная страничка про это.

                  +5
                  Ещё в 80-е годы сами братья Чудновские с его помощью рассчитали более триллиона знаков после запятой.

                  Чудновские были первыми, кто вычислил миллиард знаков. Полная хронология рекордов

                    +7
                    С появлением облачных сервисов, подобные вычисления упираются только в толщину кошелька — только плати за процессорное и дисковое время.

                    Да и когда появился алгоритм вычисления любого знака Пи, дальше считать его наверно стало бесмысленно, какой смысл терабайты зря генерить.
                      –1
                      Мне одному кажется, что нормальная математика это та, в которой Пи или е строго равны 1? А то что у нас получается — явное недопонимание как устроена вселенная.
                        +8
                        Да, вам одному так кажется. Ой, я имел в виду вам 1/е-му или вам 1/pi-му (выберите, какое число вам больше нравится) так кажется.
                          0

                          Что Пи равно четырём — это ещё ладно, сам такое доказывал, но как надо извратиться, чтобы оно стало единицей?..

                            +3

                            Взять систему исчисления с основанием pi?

                              +3
                              Тогда pi в этой системе счисления будет выглядеть как 10.
                                0
                                Точно, это я знатно напутал

                                Но если я правильно понял, изначально ufm имел в виду, что нужна математика, где pi может быть представлена не в виде иррационального числа

                                Тогда и 10 сойдёт
                                  +2

                                  Тогда и 4 сойдёт — манхэттенское расстояние вам в помощь.

                        • НЛО прилетело и опубликовало эту надпись здесь
                            +5
                            Хорошая работа, маркетинговый отдел Google Cloud!
                              +1
                              Один вопрос: зачем?
                                –1
                                Конечно извините, но у меня не укладывается в голове как Pi, может быть рассчитана по формуле. И как проверить что после 20-50 знака, он ещё верен а не генерит рандом. Это ведь геометрическое число. Понимаю е — чисто математическое, но Pi — длина единичной окружности, и кроме как из окружности его не достать.
                                  0

                                  Ну а как же формула Эйлера?
                                  e^iπ + 1 = 0
                                  Экспонента входит во все тригонометрические функции, так что можно и без окружности обойтись :)

                                    0

                                    Очень большую карту в майнкрафте нарисовать с кругом, и померить :)

                                      0
                                      Это ведь геометрическое число. Понимаю е — чисто математическое, но Pi — длина единичной окружности, и кроме как из окружности его не достать.

                                      Не уверен, что вы под этим подразумеваете. В математике pi, как и е задается через предел некоторой последовательности. В случае pi — это предел последовательности периметров правильных вписанных в окружность единичного диаметра n-угольников. Это определение согласовано с дифференциальным исчислением и определением длины кривой, в частности длина кривой x^2+y^2=1 — это 2pi.
                                      +1
                                      Главное осталось нераскрытым — а нафига с этим пи возиться? В чем прок вычисления все большего числа его знаков?
                                        0
                                        Прока нет.
                                        Просто померяться… С другой стороны всего 25 инстансов на 120 дней и вы можете посчитать число Пи c точностью 31,415,926,535,897 знаков (что есть число Пи с точностью 13 знаков после запятой) ко дню Пи (14 марта или 3/14, 31 апреля и/или 14 месяца не завезли, чтобы день Пи был в российском формате даты)
                                        Чисто понты и реклама облака для этих понтов.
                                        На самом деле и 13 знаков слишком дофига. Тут посмотришь ролики как народ меряет сотые и тысячные доли миллиметра и насколько это всё не просто.

                                        PS А не дешевле было взять 100 инстансов на месяц и съэкономить на зарплате этой девушки?
                                          0
                                          код скорее всего 1-поточный
                                        0
                                        We ran 25 nodes for 111.8 days, or 2,795 machine-days

                                        We selected an n1-megamem-96 instance for the main computing node.

                                        Machine type Virtual CPUs Memory Price (USD) Preemptible price (USD)
                                        n1-megamem-96 96 1433.6GB $10.6740 $2.2600


                                        Цена всех этих вычислений получилась порядка 2.26*24*2795 ~ 150к?

                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                        Самое читаемое