Научные вычисления
Scientific Computing на масштабе
В 2020 году AWS запустил миллион vCPU для геномного анализа за 12 минут и завершил кластер. Стоимость: $5000. Эквивалентный физический HPC-кластер стоит $25 миллионов и амортизируется 5 лет. Это не просто экономия - это смещение парадигмы: вычисления превратились из капитального актива в операционный расход. Но цена этого - сложность управления: воспроизводимость, workflow, данные на петабайтных масштабах.
- **Fugaku (Япония, 2020)**: 442 PFLOPS на 158 976 узлах ARM - крупнейшая в мире симуляция распространения COVID-аэрозолей за неделю работы.
- **Nextflow + nf-core**: 80% bioinformatics pipelines построены на этом стеке; 100+ готовых workflow от мирового сообщества, исполняемых на любом backend.
- **CERN Data Tier**: 1 PB/с с LHC сжимается триггерами до 1 GB/с, хранится в 11 национальных центрах Tier-1, доступно через Globus с DOI на каждый датасет.
Облачный HPC
В 2020 году команда Fugaku поставила рекорд: 442 PFLOPS на 158 976 узлах ARM. В том же году AWS Parallel Cluster Numerate запустил геномный анализ на 1 миллионе vCPU за 12 минут - и завершил инстансы. Стоимость: $5000. Стационарный кластер с эквивалентной пиковой мощностью стоит $25 миллионов и амортизируется 5 лет. Облачный HPC сместил экономическую модель: вычисления стали операционным расходом, а не капитальным. Цена этого - сложность: научить MPI работать через виртуализированную сеть, выдержать spot-прерывания, не разорить лабораторию забытым тестовым кластером на выходных.
EFA (Elastic Fabric Adapter) в AWS даёт RDMA-подобную семантику поверх Ethernet с задержкой ~15 мкс - близко к InfiniBand. SLURM остаётся основным планировщиком и в облаке (через ParallelCluster, Azure CycleCloud). Spot/Preemptible инстансы дают экономию 60-90%, но требуют checkpoint-restart - иначе долгий job погибает на полпути.
Сеть в облаке - не InfiniBand. Allreduce на 1024 узлах через 100 Gbps Ethernet с EFA даёт ~3x потерю производительности vs физический IB-кластер. Для bandwidth-bound кодов это критично, для compute-bound (MD, FEM) - приемлемо.
Команда запускает 96-часовое МД-моделирование на 256 spot-инстансах. Какая стратегия checkpoint-restart правильна?
Воспроизводимость
В 2016 году Nature опросила 1576 учёных: 70% не смогли воспроизвести чужие эксперименты, 50% не воспроизводили собственные. В вычислительной науке причины конкретны: разные версии библиотек, разный порядок суммирования float, разные random seeds, разная архитектура CPU дают разные numerical results. Реальный кейс: пакет статистики PLINK дал разные p-value для одних и тех же геномных данных на Intel и AMD из-за разной реализации SVD. Воспроизводимость - не идеализм. ACM ввела бейджи Artifact Available / Artifact Evaluated / Results Reproduced. Журналы Nature, Science, PNAS требуют код и данные для публикации.
Уровни воспроизводимости (Claerbout, ACM): Reproducible - тот же автор, тот же датасет, тот же код. Replicable - другой автор, новый датасет, тот же метод. Reproducibility crisis: численная нестабильность float-суммирования зависит от порядка, который меняется при изменении числа MPI-процессов. Решения: Kahan summation, фиксированный seed PRNG, фиксация версий через container.
Conda environment с фиксированными channels + Singularity/Apptainer контейнер с registered DOI на Zenodo - текущий de-facto стандарт. nix/guix дают bit-identical builds, но adoption низкий.
Симуляция МД даёт разные результаты при одних и тех же входных данных на 64 vs 128 узлах. Что наиболее вероятно?
Научные workflow
Геномный пайплайн RNA-Seq: 12 шагов от FASTQ-файлов до таблицы экспрессии генов. Каждый шаг - отдельный bioinformatics tool с десятками параметров. Ручной запуск через bash-скрипты ломается на 5-м шаге, теряет промежуточные результаты, не масштабируется. Workflow managers (Nextflow, Snakemake, Cromwell) решают это: декларативный DAG задач с автоматической параллелизацией, retry, resume. Nextflow за 2 года стал стандартом в bioinformatics: 80% pipelines в nf-core построены на нём. Ключевая идея - workflow as code, версионируемый в Git, исполняемый на любом backend (local, SLURM, AWS Batch, Kubernetes).
DAG (Directed Acyclic Graph) задач: каждая задача - функция со своими входами/выходами. Workflow manager строит граф зависимостей и параллелит независимые задачи. Resume: при падении 7-го шага из 12 запускается с 7-го, не с начала. WDL (Workflow Description Language) - стандарт от Broad Institute, CWL (Common Workflow Language) - открытый стандарт.
Nextflow + nf-core - готовые pipelines от сообщества: rnaseq, sarek (соматические варианты), atacseq и др. 100+ pipelines, каждый протестирован на 10+ кластерах. Решает проблему переноса pipeline между лабораториями.
Snakemake/Nextflow pipeline упал на шаге alignment из-за нехватки памяти на одном из 200 образцов. Что произойдёт при повторном запуске?
Управление научными данными
LHC в CERN генерирует 1 PB в секунду. Сохранить всё невозможно - триггеры отбирают 1 GB/s интересных событий. Square Kilometre Array даст 1 TB/s после запуска. Climate model CESM2 на 0.25° разрешении: 50 TB на одну симуляцию. Управление данными - не вопрос дисков, а вопрос архитектуры: где хранить, как индексировать миллиарды файлов, как обеспечить FAIR-доступ (Findable, Accessible, Interoperable, Reusable), как утилизировать через 30 лет, когда форматы устареют. Стандарт - объектное хранилище (S3, Ceph) + метаданные в катализаторе (Globus, iRODS, DataCite) + DOI для постоянной идентификации.
FAIR principles: каждый датасет получает persistent identifier (DOI), машино-читаемые метаданные, открытые форматы (NetCDF, HDF5, Parquet, Zarr). Bandwidth-storage trade-off: hot tier (SSD, $200/TB/год), warm (HDD, $30), cold (S3 Glacier Deep Archive, $1/TB/год, 12 часов до доступа). Zarr - современный формат для облачных научных данных: фрагментирование по chunks с независимым доступом.
Воспроизводимость = идентичные численные результаты на любом железе
Воспроизводимость = тот же научный вывод при контролируемом изменении условий. Бит-идентичность недостижима в общем случае; правильный критерий - результаты в пределах ожидаемой numerical uncertainty
Float-операции не ассоциативны, GPU/CPU дают разный roundoff, разные BLAS-реализации (MKL/OpenBLAS) дают разный результат на последних битах. Цель - научная воспроизводимость (выводы устойчивы), а не bit-identity (часто невозможна).
Климатологу нужен один регион (Европа, январи 1980-2020) из глобального датасета CESM2 размером 50 TB на S3. Какой формат хранения позволит загрузить только нужные данные?
Ключевые идеи
- **Облачный HPC** даёт эластичность и spot-цены, но требует checkpoint-restart и понимания, что виртуализованная сеть медленнее физического InfiniBand на 3x для bandwidth-bound кодов.
- **Воспроизводимость** не означает бит-идентичность: float-сложение не ассоциативно, изменение числа MPI rank меняет порядок суммирования. Цель - научная устойчивость выводов через container + lock-files + фиксированные seeds.
- **Workflow-менеджеры** (Nextflow, Snakemake) превращают pipeline в декларативный DAG: автоматическая параллелизация, resume после падения, retry с увеличением ресурсов.
- **FAIR data management**: Zarr/HDF5 для многомерных сеточных данных, объектные хранилища с холодными tiers, DOI на каждый датасет, метаданные в стандартных схемах (DataCite, Datacite).
Связанные темы
Scale в научных вычислениях связывает классический HPC, биоинформатику и системы big data:
- Биоинформатика — Геномные pipelines - крупнейший прикладной потребитель Nextflow и FAIR-инфраструктуры; AlphaFold-DB как пример репозитория с DOI на 200 млн структур
- Big Data — Zarr/Parquet/Arrow появились на пересечении научных и big-data задач; объектные хранилища S3/Ceph стали общей инфраструктурой
Вопросы для размышления
- Если spot-инстансы дают 80% экономии при риске прерывания, при каком соотношении длительности job и MTBF инстанса checkpoint-restart перестаёт окупаться?
- Воспроизводимость через container фиксирует код и зависимости, но не входные данные с медицинских устройств или физических детекторов. Как контролировать систематический drift в исходных данных?
- FAIR-принципы требуют open data, но геномика и медицинские данные защищены законом. Как примирить открытость науки и privacy-регуляции (GDPR, HIPAA)?
Связанные уроки
- sci-12 — Основы для масштабирования научных вычислений
- par-14 — Spark/Dask для научных данных аналогичен MapReduce
- opt-14 — Распределённая оптимизация и HPC решают одни задачи
- dl-12 — Distributed training на суперкомпьютерах - область scientific computing
- alg-01-big-o — Анализ сложности критичен для HPC алгоритмов
- par-01