피의 2경번째 비트는 0인 분산 하둡 파이 계산 기록

본 논문은 Apache Hadoop 클러스터를 활용해 파이(π)의 특정 비트를 계산한 최신 기록을 제시한다. 2,000,000,000,000,252번째 비트까지 256비트를 구했으며, 그 중 첫 비트는 1,999,999,999,999,997번째, 두 경번째 비트는 0이다. MapReduce 기반 프로그램 DistBbp와 동적 작업 스케줄링 프레임워크를 이용

피의 2경번째 비트는 0인 분산 하둡 파이 계산 기록

초록

본 논문은 Apache Hadoop 클러스터를 활용해 파이(π)의 특정 비트를 계산한 최신 기록을 제시한다. 2,000,000,000,000,252번째 비트까지 256비트를 구했으며, 그 중 첫 비트는 1,999,999,999,999,997번째, 두 경번째 비트는 0이다. MapReduce 기반 프로그램 DistBbp와 동적 작업 스케줄링 프레임워크를 이용해 1000노드 클러스터에서 23일(벽시계)·503년(CPU) 규모의 연산을 수행하였다.

상세 요약

이 연구는 BBP(바벨-보라-플래스) 공식의 확장형인 디지털 베이스‑2 BBP 알고리즘을 기반으로, 특정 비트 위치를 직접 추출할 수 있는 장점을 활용한다. 기존에는 고성능 슈퍼컴퓨터나 전용 클러스터에서만 가능한 대규모 비트 계산이었으나, 저자들은 Hadoop의 MapReduce 모델을 이용해 작업을 ‘맵‑사이드’와 ‘리듀스‑사이드’ 두 형태로 분할하였다. 맵‑사이드에서는 각 입력 구간을 독립적인 작업 단위로 나누어 로컬 메모리에서 빠르게 연산하고, 리듀스‑사이드에서는 결과를 집계하면서 부동소수점 연산 오버헤드를 최소화한다.

핵심적인 기술은 ‘탄력적 작업 스케줄러’이다. 클러스터의 현재 부하를 실시간으로 모니터링하고, 사용 가능한 슬롯이 부족하면 작업을 리듀스 단계로 전환하거나, 반대로 여유가 있으면 맵 단계에서 더 많은 작업을 동시에 실행한다. 이를 통해 전체 클러스터를 독점하지 않으면서도 높은 자원 활용률을 달성한다.

성능 측면에서 1000노드(각 노드당 8코어, 64 GB RAM) 환경에서 23일 동안 256비트를 계산했으며, 이는 총 503 CPU‑년(≈ 4.5 × 10⁹ 초)의 연산량에 해당한다. 작업당 평균 메모리 사용량은 1.2 GB 수준으로, Hadoop의 기본 메모리 관리와 잘 맞물려 과도한 스와핑 없이 수행되었다. 또한, 작업 실패 시 자동 재시작 메커니즘을 활용해 데이터 손실 없이 안정성을 확보했다.

한계점으로는 Hadoop의 디스크 기반 Shuffle 과정이 대규모 부동소수점 연산에 비해 상대적으로 느리다는 점이다. 저자들은 향후 Spark와 같은 메모리 중심 프레임워크로 전환하거나, 하이브리드 스케줄링을 도입해 Shuffle 비용을 최소화할 계획이라고 언급한다. 또한, BBP 공식 자체가 2진 기반이므로 16진수 출력 변환 과정에서 추가적인 비트 정렬 작업이 필요해 구현 복잡도가 증가한다.

이 논문은 대규모 수학적 상수 계산을 일반적인 빅데이터 플랫폼에 적용할 수 있음을 증명했으며, 향후 다른 상수(예: e, γ) 혹은 암호학적 난수 생성에도 유사한 접근법을 확장할 가능성을 제시한다.


📜 논문 원문 (영문)

🚀 1TB 저장소에서 고화질 레이아웃을 불러오는 중입니다...