Опрос
|
реклама
Быстрый переход
Число Пи вычислили до 300-триллионного знака — это заняло 191 день и до 1,5 Пбайт на SSD
22.05.2025 [12:34],
Павел Котов
Авторы канадского YouTube-канала Linus Tech Tips инициировали проект, который помог им оказаться в Книге рекордов Гиннесса — они вычислили число Пи, отношение длины окружности к её диаметру, до 300-триллионного знака. Для этого использовалось оборудование AMD, Micron, Gigabyte, Kioxia и ПО Weka. ![]() Источник изображений: youtube.com/@LinusTechTips Авторы проекта собрали кластер из девяти серверов хранения данных Gigabyte и одного вычислительного узла Gigabyte; в качестве программной платформы использовалась ОС Ubuntu 22.04.5 LTS. В вычислительном процессе интенсивно использовались ресурсы памяти, и потребовалось подключить приложение Y-cruncher, которое позволяет для подкачки ОЗУ использовать внешнее хранилище. Необходимую ёмкость хранилища обеспечили с помощью восьми серверов хранения данных. Вычислительным узлом выступил сервер Gigabyte R283-Z96-AAE1 с двумя 96-ядерными процессорами EPYC 9684X 3D V-Cache по 196 потоков на каждый. Сервер оборудовали 3 Тбайт DRAM: 24 планки Micron ECC DDR5 5600MT/s CL46 по 128 Гбайт; а также четырьмя сетевыми картами Nvidia ConnectX-7 200 GbE с двумя портами 200 Гбит/с на каждую — общая пропускная способность составила 1,6 Тбит/с. Программа Y-cruncher помогла сформировать из серверов единую файловую систему, а ПО Weka настроили таким образом, что каждый сервер она воспринимала как два — это помогло добиться наибольшей эффективности в распределении данных. Каждый блок данных разбивался на 16 частей, к которым для обеспечения отказоустойчивости добавлялись 2 сегмента чётности — итого 18 виртуальных узлов, образованных двумя инстансами Weka на каждом физическом сервере. ![]() Далее было необходимо ограничить объём данных, которые передавались между процессорами, чтобы избежать скопления задержек — из-за отправки данных с одного процессора на сетевые карты другого при ограниченной полосе пропускания памяти. На вычислительном узле запустили два контейнера Weka по 18 Гбайт для доступа к кластеру хранилища. Каждому контейнеру назначили по 12 ядер, чтобы максимально задействовать ресурсы 3D V-Cache на кристалле процессора AMD Zen 4, у которого 12 чиплетов, совместно использующих 32 Мбайт кеша L3 с дополнительными 64 Мбайт, что дало общий объём 96 Мбайт: буферы Y-cruncher не должны были превышать этот объём, поскольку это означало бы необходимость в дополнительных копиях памяти — на шину памяти повысилась бы нагрузка, а производительность — снизилась. Пропускная способность Weka на запись составила около 70,14 Гбайт/с по сети; тестирование на чтение показало до 122,63 Гбайт/с с задержкой 2 мс. Первоначально система была настроена на четыре узла NUMA (Non-Uniform Memory Access) на каждый процессор — эту конфигурацию приложение Y-cruncher установило, чтобы оптимизировать локальность памяти; при перенастройке NUMA в один узел на сокет пропускная способность выросла до 155,17 Гбайт/с. Каждый SSD в системе работал на скорости выше 5 Гбайт/с; программа Y-cruncher использовала дисковое пространство как оперативную память. 300 трлн знаков в сжатом виде уложились в объём 120 Тбайт, но в процессе вычислений системе требовалось до 1,5 Пбайт — не использовались ни аппаратная, ни программная конфигурации RAID, но применялись собственные механизмы избыточности, которые помогли обеспечить целостность данных. Процесс вычисления числа Пи начался 12 августа 2024 года и прервался через 12 дней из-за многодневного отключения электроэнергии и сбоев в системе кондиционирования воздуха — расчёт приостанавливали, перезапускали, и всего он занял 191 день. Удалось установить, что 300-триллионная цифра в числе Пи — это 5. Ниже приводим краткую историю вычисления числа Пи.
|