πfs: хранение данных внутри числа Пи
Р@Fourier_seriesисследователь
1 месОбзор экспериментальной файловой системы πfs, которая использует бесконечную последовательность знаков числа Пи для хранения данных.
@jitbit принёс файловую систему πfs, где всё можно хранить внутри π.
Пи — такое хитрое число, что грубо говоря, там каждый следующий знак можно воспринимать как условно-случайный. То есть запись числа содержит любую конечную последовательность цифр.
А это значит, что рано или поздно внутри π встретится полная копия вашей ДНК, ваш пароль от роутера, каждый из ваших файлов и даже тот файл, что вы запишете завтра. И чтобы обратиться туда, надо сделать вещи:
1. Найти данные внутри π (это может занять от пары секунд до пары веков и больше)
2. Записать смещение и длину (это почти мгновенно)
Чтобы прочитать — просто перейти по координатам и вычитать нужную длину. В реализации файловой системы чтения нет, это вы уж сами.
Собственно, от файловой системы остаётся только аналог FAT, где хранятся смещение и длина + заголовки файлов.
Система очень надёжная, даже если вы потеряете метаданные, сами данные будут храниться вечно.
Запись делается через формулу Дэвида Бейли — можно вычислить два шестнадцатеричных знака дробной части π начиная с позиции id, без вычисления всех предыдущих. Корректна до id ≈ 1,18×10^7, дальше надо разрабатывать отдельные типы или переходить на C++ с его __float128. Для длинных смещений формула работает очень быстро по сравнению с любыми другими методами, потому что даёт считать без вычисления предыдущих цифр (то есть без сильных затрат оперативки), но всё равно время выполнения растет линейно-логарифмически. Ещё она очень хорошо параллелизуется, но при этом у неё нет квантового ускорения.
В текущей реализации пишутся чанки, для прототипа — по 1 байту. На каждый байт данных хранится 2 байта метаданных. Если вы хотите писать чанки больше или сразу целые файлы — придётся менять параметры и больше считать.
У файловой системы есть проблемы:
— Нормальность π — это недоказанная гипотеза. Доказаны иррациональность и трансцендентность, но не равномерная встречаемость. Все эмпирические проверки её подтверждают, но строгого доказательства нет. Это значит, что не факт, что искомая последовательность встретится.
— Для смещений порядка 2^64 одно чтение блока заняло бы тысячи процессорных лет, а смещение мегабайтного файла пока не получается записать никуда.
— На практике на игровом компьютере 4 байта пишутся мгновенно, 8 байт — 18 секунд, 10 байт — 2 недели, 16 байт — 780 возрастов Вселенной. Именно поэтому выбран чанк 1 байт — чтобы вы могли хоть что-то быстро записывать.
— И того, что мы уже вычислили, в массиве найдётся любой блок до 6 байт, и уже с вероятностью около 2% — блок из 7 байт.
— Маркетинговый материал включает заявления "infinite storage" и "100% dedup", это правда.
— Версии для Win уже 14 лет всё ещё нет.
Можно над ней смеяться, но вообще-то она работает. Наглядным пособием почему хранение данных в π или в Вавилонской библиотеке или в бесконечной константе ничего не даёт. Потому что вся информация перетекает в индексы.
Судя по запросам сообщества, нужна поддержка ещё 𝐞, √2, τ, предлагают пихать метаданные тоже внутрь π, чтобы уменьшить объём хранения, в планах поддержка Hadoop.
Вот вам некоторые полезные смещения: hex 0xF00D — 13680, 0xDEAD — 40771, 0xC0DE — 53378, ASCII 'Hi' — 4506, ASCII 'OK' — 12301. Ещё там есть точка Фейнмана: шесть девяток подряд «999999» на позиции 762. Название файловой системы (314159, первые шесть цифр π) лежат на позиции 176451. 16470 стоит на позиции 16470, 44899 на позиции 44899, 1 на позиции 1 (если считать передними когтями с нуля).
И да, если вы дочитали до этого места, вы упоротые.
--
Вступайте в ряды Фурье! | Лучшие посты
— Тебя как зовут?
— Как Лёху.
— Как какого Лёху?
— Как любого Лёху.
Кратко (AI)
Автор описывает экспериментальную файловую систему πfs, которая теоретически позволяет хранить данные внутри бесконечной последовательности цифр числа Пи. Система работает на основе формулы Дэвида Бейли, однако на практике сталкивается с огромными вычислительными затратами при поиске смещений для записи данных. По сути, проект является наглядной демонстрацией того, что хранение информации в бесконечных константах неэффективно, так как объем метаданных для индексации перекрывает все преимущества.
Обсуждение
0Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖