Hacker News Digest

18 сентября 2025 г. в 14:36 • xtxmarkets.com • ⭐ 229 • 💬 93

OriginalHN

#distributed-filesystem#c++#go#tcp#udp#rocksdb#multiregion#exabyte-scale#xtx#metalearning

TernFS – An exabyte scale, multi-region distributed filesystem

TernFS — экзабайтная распределенная файловая система с поддержкой нескольких регионов

XTX — алгоритмическая торговая фирма, использующая статистические модели для прогнозирования цен. По мере роста вычислительных мощностей потребности в хранилищах также увеличивались. Изначально использовались NFS и коммерческие решения, но в итоге было принято решение разработать собственную файловую систему — TernFS.

TernFS теперь доступна как открытое ПО на GitHub. В статье объясняется её архитектура и ключевые детали реализации.

Зачем ещё одна файловая система?

Крупные tech-компании часто разрабатывают собственные распределенные файловые системы из-за их критической важности. XTX оказалась в аналогичной ситуации и создала TernFS как универсальное решение для хранения — от «холодных» данных до временных файлов для обмена между GPU-задачами.

Возможности TernFS:

  • Масштабируемость до десятков экзабайт, триллионов файлов и миллионов одновременных клиентов.
  • Избыточное хранение данных для защиты от сбоев дисков.
  • Отсутствие единой точки отказа в службах метаданных.
  • Поддержка снимков файлов для защиты от случайного удаления.
  • Работа в нескольких регионах.
  • Агностичность к оборудованию, использование TCP/IP.
  • Эффективное использование разных типов хранилищ (SSD, HDD).
  • Доступ через собственный API (TCP/UDP) и модуль ядра Linux.
  • Минимальные зависимости для сборки (C++, Go, RocksDB).

Ограничения:

  • Файлы неизменяемы после записи.
  • Не подходит для очень маленьких файлов (медиана — 2 МБ).
  • Ограниченная пропускная способность при создании/удалении директорий.
  • Отсутствие встроенной системы разрешений.

Разработка началась в 2022 году, с 2023 года система используется в production. К середине 2024 года все ML-задачи работают на TernFS. По состоянию на сентябрь 2025 года система хранит более 500 ПБ на 30 000 дисках и 10 000 SSD в трёх дата-центрах, с пиковой пропускной способностью в несколько ТБ/с. Потерь данных не зафиксировано.

Высокоуровневая архитектура

Основной API TernFS реализован четырьмя службами:

  • Шарды метаданных — хранят структуру директорий и метаданные файлов.
  • Координатор междиректорных транзакций (CDC) — выполняет транзакции между шардами.
  • Службы блоков — хранят содержимое файлов.
  • Реестр — хранит информацию обо всех службах и мониторит их.
Диаграмма взаимодействия служб TernFS и клиентов.

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