Quantcast
Channel: Google Developers Japan
Viewing all articles
Browse latest Browse all 2207

Pi in the sky: 新記録となる 31 兆 4000 億桁の円周率を Google Cloud で計算

$
0
0
この記事は Cloud Blog の記事 "Pi in the sky: Calculating a record-breaking 31.4 trillion digits of Archimedes’ constant on Google Cloud" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

人々は、古代バビロニアの時代から円の円周と直径の比率、π (円周率)の計算を続けてきました。これは 3.1415… で始まり、永遠に続きます。本日 3 月 14 日(世界の多くの地域では 3/14 と表記されます)は円周率の日です。それを祝って、Google が π を小数点以下およそ 31 兆 4000 億桁まで計算することに成功したことをお知らせします。厳密には 31,415,926,535,897 桁または π * 1013桁になります。これは ギネス世界記録TMを破りました。クラウドを使って記録を破ったのは初めてのことで、Google Cloud のインフラストラクチャが長く重い計算タスクを確実に実行できることを証明しています。


この偉業は、Google Compute Engine の仮想マシンクラスタと、Alexander J. Yee 氏が開発した円周率ベンチマーク プログラム y-cruncherを使って達成しました。31 兆 4000 億桁は、2016 年 11 月に Peter Trueb 氏が達成した前世界記録をほぼ 9 兆桁上回っています。Yee 氏は、Bellard の公式と BBP 公式を使ってこの計算を独立に検証しました。次に示すのは、結果の末尾 97 桁です。


6394399712 5311093276 9814355656 1840037499 3573460992

1433955296 8972122477 1577728930 8427323262 4739940


y-cruncher の観点から見たこの記録の詳細は、Yee 氏のレポートに記載されています。


終わらない計算競争

確かに、ほとんどの科学用途では、数百桁を超える π が必要になることはありません。だからといって、そこで立ち止まる人は誰もいません。2009 年より、エンジニアたちはカスタマイズしたパソコンを使って数兆桁の π を計算してきました。実際、π の数の計算競争が加速したのは、最近になってからです。コンピュータ科学者たちはスーパーコンピュータをテストする方法として π を使うようになり、数学者たちも π の計算を競い合うようになりました。


しかし、π を計算する一般的なアルゴリズムである Chudnovky の公式の計算量は、 O(n (log n)3) です。わかりやすく言えば、π の数を計算するために必要な時間とリソースは、その桁自身よりもはるかに早く増加することになります。さらに、計算が進むにつれてハードウェアの停止や故障の可能性が増えるので、それを回避するのも難しくなります。


私たちは、π の計算をクラウドで行うことにしました。専用の物理マシンを使うことに比べると、Google Cloud の高パフォーマンス Infrastructure as a Service である Compute Engineを使うことには、たくさんのメリットがあります。まず、Compute Engine のライブ マイグレーション機能のおかげで、Google がインフラストラクチャを最新状態に保つために必要な作業を行っている間も、アプリケーションの実行は継続されます。今回は、25 ノードを 111.8 日にわたって稼働させました。言い換えれば 2,795 マシン日(7.6 マシン年)となります。この間に、Google Cloud は数千回のライブ マイグレーションを行いましたが、アプリケーションが中断することはなく、計算処理への影響もありませんでした。


クラウドで実行することで、計算した数をディスク スナップショットとしてそのまま公開することもできます。1 時間未満で 1 日当たり 40 ドルというわずかな額で、スナップショットをコピーし、その結果に対して処理を行い、必要がなくなれば計算リソースを破棄することができます。クラウド以前だと、このような大規模なデータセットを配布する唯一の現実的な方法は、物理ハードドライブを運ぶことでした。


さらに、クラウドで実行することによる一般的なメリットもあります。ハードウェアの選択肢には、AVX-512 をサポートした最新の Intel Skylake プロセッサなど、さまざまなものがあります。オンデマンドでインスタンスのスケールアップやスケールダウンを行うことができ、作業が終われば停止することも可能です。支払う必要があるのは、使った分だけです。

今回のプログラムの詳細を以下に示します。






2019-03-11 pi graphic_02.png
π クラスタ アーキテクチャの概要
クラスタ デザイン
主な計算ノードとして選んだのは、n1-megamem-96インスタンスです。これは、Compute Engine で利用できる仮想マシンタイプのうち最大のもので、このプロジェクトの開始時点で Intel Skylake プロセッサを搭載していました。Skylake 世代の Intel プロセッサは AVX-512をサポートしています。これは、512 ビットのデータ(倍精度浮動小数点数 8 つ)に対して一度に浮動小数点演算を行うことができる 512 ビット SIMD 拡張機能です。


現時点では、Compute Engine の各仮想マシンに対して、最大 64 TB の Persistent Disk をマウントできます。そこで、iSCSI プロトコルを使って Persistent Disk をリモートからアタッチし、容量を追加しました。ノードの数は、y-cruncher のディスク ベンチマーク パフォーマンスに基づいて決定しました。計算ノードとストレージ間で十分な帯域幅を確保するため、iSCSI ターゲット マシンには n1-standard-16を使いました。下りネットワークの帯域幅と Persistent Disk のスループットは、vCPU コア数によって決まります。


具体的な計算方法

私たちの pi.deliveryサービスは、ウェブから π の数にアクセスできる REST API を提供しています。いくつかのおもしろい実験によって、π を見たり聞いたりする試みも行っています。


皆さんがこの数を簡単に利用できるように、結果の π の数をスナップショットとして Google Cloud Platform で公開しています。それぞれのスナップショットには、小数が記述された 1 つのテキスト ファイルが含まれています。このイメージから、新しい Persistent Disk を作ることができます。Linux と Windows のオペレーティング システムそれぞれに対応できるように、XFS と NTFS の両方のディスク フォーマットを準備しています。スナップショットは、us マルチリージョンにあります。


スナップショットにアクセスするには、pi-31415926535897 Google Group に参加する必要があります。us-central1、us-west1、us-east1 リージョンのいずれかのプロジェクトでクローンしたディスクを保持する場合、1 日当たりおよそ 40 ドルがかかります。スナップショットは、2020 年 3 月 14 日まで保管する予定です。スナップショットは、以下の場所にあります。


XFS: https://www.googleapis.com/compute/v1/projects/pi-31415926535897/global/snapshots/decimal-digits-xfs
NTFS: https://www.googleapis.com/compute/v1/projects/pi-31415926535897/global/snapshots/decimal-digits-ntfs


プロジェクトで、XFS スナップショットをベースに pi314-decimal-digits-xfsという名前の新しいディスクを作りたい場合、たとえば次のコマンドを入力します。

gcloud compute disks create pi314-decimal-digits-xfs --source-snapshot https://www.googleapis.com/compute/v1/projects/pi-31415926535897/global/snapshots/decimal-digits-xfs


予期しない課金を防ぐため、作業が終わったら忘れずにディスクを削除するようにしてください。

gcloud compute disks delete pi314-decimal-digits-xfs

詳しい手順やイメージの使い方については、ブートディスク以外のディスク スナップショットの復元セクションと、gcloud compute disks createコマンドヘルプをご覧ください。


一巡する

数学や科学の世界には、破られるのを待っている記録がたくさんあります。31 兆 4000 億桁の計算はすばらしい経験でしたが、私たちは次の困難な挑戦に向かうことを楽しみにしています。それまでの間は、楽しい実験でこの日を祝いましょう。実験的ウェブサイト Showcase に掲載されている Pi Day Celebration というクラウド実験では、選んだ π の桁からカスタムアート作品を生成することができます。サンフランシスコで開催される Google Cloud Next '19に参加予定の方は、Alexander Yee 氏を招いてこの実験の詳細や考察を解説する詳細テクニカル セッションにお越しください。DevZone では、Showcase の実験を体験したり、π を計算するライブ実験を見ることもできます。

Posted by Emma Haruka Iwao - Developer Advocate, Google Cloud

Viewing all articles
Browse latest Browse all 2207

Trending Articles