
Google、31.4兆桁の円周率で世界記録を更新 93
ストーリー by headless
更新 部門より
更新 部門より
あるAnonymous Coward 曰く、
Googleは円周率の日の3月14日、Google Cloudを用いて最も正確な円周率の世界記録となる小数点以下31.4兆桁の計算に成功したと発表した(The Keywordの記事、 Google Cloud Blogの記事、 Numberworldの記事)。
計算に使用したのは円周率の世界記録更新で定番となっているy-cruncher。開発者のAlexander J. Yee氏によれば、近年の記録更新はメモリーやストレージの速度がボトルネックになっているとのことである。
プロジェクトの中心となったGoogleのEmma Haruka Iwao氏は、大学時代の恩師で過去の世界記録保持者でもある筑波大学計算科学研究センターの高橋大介教授にプロジェクト開始を伝え、いくつかのアドバイスをもらったそうだ。
なお、31.4兆桁のASCII形式のデータ容量は31.4TByteであり、データ圧縮(算術圧縮)しても10TByteである。
121日かけて計算された円周率の桁数は31,415,926,535,897桁。最も正確な円周率としてギネス世界記録にも認定されている。Yee氏によれば、円周率の世界記録としては計算に商用クラウドサービスを使用するのもSSDを使用するのも初めてだという。また、PC時代の円周率世界記録としては初めてネットワークストレージを使用しているほか、このような計算がAVX-512命令セットを使用して実行されたのも初めてとのことだ。
情報量 (スコア:3, すばらしい洞察)
log2(10)/8*31.4TB=13TB
あれ?
Re: (スコア:0)
タレコミ主のACです。
ご指摘ありがとうございます。計算式を記憶違いしていました。正しくは13TByteですね。
圧縮した状態で13TByteなので、4TByteのHDDを4本準備しないと保存できないデータ量ですね。計算結果を入手してみたいと思ったんですが、コストからみて諦めました(汗
Re:情報量 (スコア:2)
[圧縮した状態] =~ "およそ3"
Re:情報量 (スコア:1)
非可逆圧縮かよ!
Re:情報量 (スコア:1)
有限桁が乱数な訳がない。
the.ACount
そろそろルールを変えないと…… (スコア:2)
31,415,926,535,897桁とかやられちゃうと、次のレコードブレーカーのハードルが激上がりじゃないですか。
ここらで、「100時間で何桁行けるか」とか「1兆桁の所要タイム」とかで競うとか……
いや、もうアルゴリズム的には詰め切ってるみたいだし、あとはマシンパワー競争になっちゃうから、あんまり面白くないか。
Re:そろそろルールを変えないと…… (スコア:2)
>ここらで、「100時間で何桁行けるか」とか「1兆桁の所要タイム」とかで競う
>あとはマシンパワー競争
一桁多い 31,4159,265,358,979 コア/ノードで計算実行するルール?
// 産医師異国に向かふ産後厄無く
Re:そろそろルールを変えないと…… (スコア:1)
TYPOがショボい点をお詫びします。
Re:そろそろルールを変えないと…… (スコア:2)
マシンパワー競争でもあるんだからいいじゃない
それにアルゴリズム的には詰め切ってるといっても
近年の記録更新はメモリーやストレージの速度がボトルネックになっているとのことである。
といった傾向が出てくれば、それを乗り越えるためにハードだけでなくアルゴリズムの方に改良や見直しの余地も出てくることもあるだろう。
うじゃうじゃ
Re: (スコア:0)
そんなわかってる桁内でくだらない足踏みしてても意味なくない?
Re: (スコア:0)
意味の有無で言えば更に正確な円周率を計算することに意味がないのでは?
Re: (スコア:0)
宇宙からの円周率の電波を受信したとき、円周率以外の情報に切り替わったかどうか
判定するために必要だ!
Re: (スコア:0)
最大桁数の情報が増えることには数学的にも計算機科学的にも意味はあるだろ
わかってる桁をわざわざ知らないフリして再計算する意味は?
Re:そろそろルールを変えないと…… (スコア:2)
ベンチマーク。スーパーπとか
Re: (スコア:0)
もともとそういうルールでしょ。3.14^n桁の円周率を計算する競争
次は3140兆桁で記録更新
Re: (スコア:0)
オーバークロックで円周率ベンチを回すのってのがそういうのじゃないの?
Re: (スコア:0)
Gooleがマシンパワーとお金で殴りに来た時点でもう面白くないよ。確か前回の記録は個人だったのに
Re:そろそろルールを変えないと…… (スコア:2)
きっと最初に電子計算機で記録更新された頃もそう言うふうに言われてたんだろうなって思うと、
今後も手法の革新とプレイヤーチェンジが繰り返されていくのだろうと想像できるけど。
# Googleがちょっと本気出せば何でも塗り替えられそうな気配になってしまっているのは同感。
Re: (スコア:0)
32兆桁とか達成しても、「およそ3.2のゆとりガー」とか言われるのか。
それはヤだな。
さんざやったでしょ? (スコア:0)
π100万桁計算ベンチマークなんてさんざやったでしょ?
10年以上前から産廃になったベンチマークではある。
Re: (スコア:0)
Windows 95の頃にはSuper πが流行りましたね。
Chudnovsky法 (スコア:2)
と言うのを使ってるとGoogle Cloudの声明にはありますね。
https://en.wikipedia.org/wiki/Chudnovsky_algorithm [wikipedia.org]
たしかにこの方法なら、一部てか最後のいくつかの演算を除いて整数だけで演算が出来ます(勿論、ビット数は法外にでかくなりますが)し、SIMDやマルチスレッドを使った並列演算も捗りそう。
しかしなんでOpenCLとかCUDAとか使わなかったんだろうか…と思ったけど、結局はクラウドサーバの宣伝だったんですね(^_^;
Re:Chudnovsky法 (スコア:5, 参考になる)
別に宣伝だからGPU使わなかったわけではなく、CPUの方が早いからGPU使わないだけです。
今現在一番早い円周率の計算は、挙げておられるchudnovskyの公式を利用する物です。
その公式を利用した円周率計算ソフトで有名なのが今回Googleも使用したy-cruncher。
このアルゴリズムでは計算途中に一時データとして比較的大きな量の低レイテンシメモリを必要とするので、演算コアあたりの内部キャッシュ量が少ないGPUには向いてない。
Re:Chudnovsky法 (スコア:3, 興味深い)
> このアルゴリズムでは計算途中に一時データとして比較的大きな量の低レイテンシメモリを必要とするので、演算コアあたりの内部キャッシュ量が少ないGPUには向いてない。
確かにGPUだと、キャッシュも小さめですが、そもそもローカルメモリとして比較的速くアクセスできる領域が(1演算ユニット辺り)せいぜい64KB、グローバルなメモリでもせいぜい16GBとかですね。
途中の演算(加減やせいぜい掛け算で済むブロックを想定しています)ですら、想定される桁数が10進換算で「メガ桁」とか「ギガ桁」、下手すると「テラ桁」になるかもしれないことを考えると、GPU側で並列演算をしようにも桁数が大きすぎて、メリットがないというのも納得がいきます。
# となると、1モジュール辺り、数テラバイトとか数十テラバイトの直接アクセスできる(インターコネクト的な部分を超えない)メモリを抱えてるGPUのようなベクトル演算プロセッサがあれば…
Re:Chudnovsky法 (スコア:2, 興味深い)
歴史的には大体こんな感じ
黎明期
マチンやシュテルマーのような級数展開の公式を、固定小数点で筆算のように計算
n^2の計算量なので、桁数が倍になると4倍の時間が必要
発展期
FFTを使って多倍長計算を n log n の計算量で行う方法が発明される
収束の速いボールドウィンとかベイリーの公式が好まれる
1990年代のスパコンで計算競争してた時代
21世紀
バイナリースプリッティングによって、収束の遅い公式を高速に計算する方法が発明される
最終結果を出す直前まで分数表現の整数演算で処理されるようになると共に、以前の結果を元に計算を追加する事も可能に
チュドノフスキーの公式がよく使われるようになるが、原理的にはマチンとかでも可能
円周率計算って興味を持たれているの? (スコア:2, 興味深い)
円周率計算年表 [wikipedia.org]を見ると1990年代から、y-cruncher で使われている Chudnovsky アルゴリズム [wikipedia.org] の Chudnovsky 兄弟 [wikipedia.org]は自作 (homemade) の並列コンピュータを使っています。同時期に金田康正先生たちはスパコンを使っていましたが、2009年のスパコンによる記録が同じ年に家庭用コンピュータで塗り替えられています。
年表を見ると、多くの研究者が円周率計算に興味を持って世界記録に挑戦し、しのぎを削った結果、新記録が出たという感じがしません。挑戦する人がほとんどいない(のと、ここ10年は y-cruncher が実装された)ので、ハードウェアの進歩に伴って新記録が出ているような印象です。もちろん細かい部分での調整や努力はあったと思いますが。
PCとは一体… (スコア:0)
25台のGoogle Cloud仮想マシンの96個の仮想CPUと1.4TBのRAMではパソコンとは呼べないだろう
Re: (スコア:0)
確かに「パーソナルコンピューター」という意味ならおかしいな。
それおめーのじゃねーから!!みたいな。
でもどっかでパソコンでやってる、って書いてるの?
パソコンでの世界記録、って。
ただの「コンピュータ」ならおかしくないし。
Re: (スコア:0)
PC時代の円周率世界記録としては初めてネットワークストレージを使用しているという記述になんの意味があるのかという疑問です
どちらかと言うとスラドへの疑問です
Re:PCとは一体… (スコア:2)
Google Cloud Blogの記述を読むと、ストレージとして140TBのSSDを使用した。と書かれてますね。
ネットワークストレージであるにしても、相当凄まじい構成と言うか、多分複数の物理ボリューム(というよりもネットワーク越しに分散してるストレージ?)をまとめて一つの論理ボリュームと言うか一つのパーティションにして、一時データも入れてたんでしょう。
ネットワークストレージだとかなりI/O速度が遅くなると言うイメージがあるのと後は信頼性確保が結構難儀だった(あくまで過去形。今はそんな悪くないはず)と思うので、そういう辺りがクリアされたのだろう。と言う感じはありますけど。
Re: (スコア:0)
でもその集合体はまぎれもなく”Computer"だし、
個人のアカウントで気軽に作れて使えるなら”Personal"だ
特に違和感はない
Re:PCとは一体… (スコア:1)
Re: (スコア:0)
実際に借りてぶん回すといくらかかるの?
検定 (スコア:0)
マシンパワーが有り余ってるなら、円周率を乱数として見たときの性質の検定もやってほしい(性質の良い擬似乱数として扱えるのだろうか?)
実験と証明とは別なのですよ (スコア:2, 参考になる)
>性質の良い擬似乱数として扱えるのだろうか?
使えます。
けど、未証明なので、もっと大きな桁までいったら偏っているかもしれない。
数学と工学の立場の違いですな。
なお、任意の桁位置の円周率の数値を求めることは、できるけどコストが小さくはないので、現実的な意味では疑似乱数の置き換えにはなりません。
Re: (スコア:0)
計算せずともRomに保持しておき使うときに読み出せば良い
Re: (スコア:0)
https://xkcd.com/221/ [xkcd.com]
Re: (スコア:0)
乱数テーブルにするってことですよ
頭の方は覚えている人がいるので小数点以下1兆桁目辺りから使えばオッケー
Re:実験と証明とは別なのですよ (スコア:1)
楕円曲線暗号 [wikipedia.org]に使われてる考え方と近いのか遠いのか、いまいち自信がないのですが、誰か解説お願いしますm(_ _)m
# と言うか、暗号に使う「なにか」(疑似乱数源であったり暗号の式であったり)を円周率絡みのにしたら、
# 気が付かれたら一瞬で破られちゃうのでは…
Re:実験と証明とは別なのですよ (スコア:1)
どこの事をおっしゃってるのか分からないのだけど、多分、暗号用途で使う意味はない。
「謎の整数xとyがあって円周率のx桁目からy桁目」、なら理想的な乱数列になるかも知れないけど、xとyをどうやって決めるの? という問題が生じる。xとyを乱数で生み出すなら、最終的に円周率から作り出される乱数も、結局、xとyを生み出すのに使った乱数よりスゴいものにはなり得ない。暗号で胆になるのは、まずこの種になるxやらyやらが他人には絶対に予測不可能な性質。あとは、続く乱数から逆算してその種を求められない性質。
他にも、暗号アルゴリズムには、秘密のパスワードの類以外に、「みんなが知ってる共通で固定の数表」を使うものもあるけど、1回作るだけの数表なので、円周率とか凝った物を使って作る意味はあまり無い。ただし、かつて「みんなが使う数表が、無作為に作られたものではなく、秘密の性質を知っている人にだけ暗号が簡単に解けるようなバックドアが仕込まれているんでは」という疑惑が出たこともあったらしいから、その疑惑を払拭するぐらいには使えるのかな。「円周率の『謎の桁』を数表として使う」だと「バックドアを仕込める桁を円周率から頑張って探したんだろ」という疑惑が残るけど、「円周率の最初のx桁」とすれば、さすがに怪しい仕込みは出来まいし。
Re: (スコア:0)
とある文献には他の一般的な擬似乱数を用いた処理の動作確認などには使えるだろうとあった(円周率と擬似乱数を使った結果が異なっていたらどこかに間違いがある)
その「実験」は円周率でなくてもよくて (スコア:1)
そこは、ハードウェア生成した真の乱数を使うべきなんだけど、あいにく真の乱数は、コストがかかって再現性がない。再現性があったら、すでに「真の乱数」ではない。
なので、論文等に「この乱数列と比較しました」って利用した乱数列を(検証のために)提示しなきゃいけない。
ところが「それ、ほんとに乱数?」ってことになって、検査に使った「真の乱数」が偏ってないかどうか検定しなきゃ。
... きりがないです。
なので、誰でも再現性があり、不必要なほどの桁数で計算されている円周率を「たぶん真の乱数に近いよね」という仮定で使うのです。
Re: (スコア:0)
その昔、スパークノイズを8bit化してプリンタを繋ぐパラレルポートに乗せるという、真乱数ジェネレータがI/O誌に掲載されたことがある。
あれは本当に真乱数だったのだろうか? 原理的にはそうであってもおかしくはないけど。
記録は破られるためにある (スコア:0)
量子コンピュータだったら、全桁もとめられるんじゃあ。
(大嘘)
アナログ計算機も忘れないで (スコア:0)
Re:女技術者ってことで文句つくかとおもったけど (スコア:1)
「優秀な女技術者」なんてものはいない。そこには優秀な技術者がいるだけだ。
Re: (スコア:0)
誰が何のために文句付けると思ったの?
Re: (スコア:0)
むしろ荒れるとしたら、プロジェクトの中心人物が日本人か日系人っぽいけど、やった場所が米国という点かと。
#そして理系不遇論へ
苗字が微妙だから (スコア:0)
アメリカでアメリカ人の技術者をたらしこんで、結婚、米国籍入手。って双六勝ちパターン。だな。
Re:求める意味あるん? (スコア:1)
そうケー。
the.ACount