カテゴリー「HPC」の22件の記事

2009年6月23日 (火)

TOP500 List - June 2009

今期のスーパーコンピュータのランキングであるTOP500 List - June 2009 (1-100).が公開された。当然ながらすべてが落ち込んで久しい日本はどこにいるんだろうというような状態で22位にようやく姿を現す。常に戦争に向けてイケイケの合衆国はやはりバリバリだ。イケイケだから、いざというときのためにバレないようにコンピュータ内で核実験もしないとダメだし、軍用の航空機や車両・兵器などの開発にも計算機は必須。さぞスパコンもたくさんいることだろう。合衆国は、まあ、見飽きたからいいとして、サウジアラビアが上位にランクインしてきているのが今回のポイントか。続いて、中国、カナダ、インド、フランスと並ぶ。その後でようやく日本だ。まあ、グダグダの日本にお似合いというところか。外交にせよ学術にせよ何にせよ、余裕がなければ敗北あるのみということだろう。気がついたら人材から何から全部外国に流れてしまうぜ?必要なときになって気がついても遅い。将来の見通しも何もなくどうしようもないところにきているから、手遅れだろうけど。

| | コメント (0) | トラックバック (0)

2007年11月13日 (火)

今回のTOP500リスト概要を書いてみた

リストのハイライトを紹介してみた。
ネバダで開催されているHPC分野の国際会議でスーパーコンピュータTOP500の2007年11月版の第30番目のリストで公開された。トップ5はアメリカ合衆国、ドイツ、インド、ウェーデンだ。多彩である。
TOP10には新しい5基のシステムと1基のアップデートシステムが含まれている。
No.1はIBMと米エネルギー省国家核安全保障機関の共同開発であるBlueGene/L Systemだ。こいつは米エネルギー省ローレンス・リバモア国立研究所に設置されている。現在アップデートされて性能は478.2TFlop/sだが、アップデート前は280.6TFlop/sだった。
No.2は同じBlueGene系列のBlueGene/Pである。ドイツのForschungszentrum Juelichという機関に納入されている。167.3TFlop/sの性能だ。たぶん、要求があればいつでもより高性能なシステムにアップデートできるはずである。
No.3はニューメキシコのNMCACの新しいスーパーコンピューティングセンターに納入されたSGIのシステムである。126.9TFlop/sだ。
No.4は初のTOP10入りであるインドのシステムだ。ヒューレット・パッカードのHPC製品で、TATA SONSという会社に納入された。独自のルーティング技術を用いて117.9TFlop/sを達成した。
No.5はスウェーデンの政府機関に納入されたヒューレット・パッカードのシステムだ。102.8TFlop/s。
次はCray XT4 systemで米エネルギー省に納入されている。85.4TFlop/s。
アメリカ、こんなモンスターマシンをたくさん何に使ってるんだろうねぇ。怖いねぇ・・・。エネルギー省だしなぁ・・・。まあ、概要はこんな感じである。4位にインドかぁ!!なかなか、楽しませてくれた。

| | コメント (0) | トラックバック (0)

TOP500リリース!!!!

新しいスパコンTOP500リストがリリースされた。どれどれ・・・。
http://www.top500.org/lists/2007/11

| | コメント (0) | トラックバック (0)

2007年11月 7日 (水)

TOP500リスト更新間近だぜぃ!!

毎年十一月はスパコンTOP500の更新月だ。TOP500 Supercomputing Sitesで30番目のスーパーパーコンピュータの上位500位が公開間近である。最近、ニュースでHPC関連の項目が増えているのは、ドイツで年二回のHPC関連の大イベントをやっているからだろうか。地球シミュレータの運転停止時期の発表もあったし、各社のスパコン建造のニュースもチラホラ流れている。さて、今回のTOP500では大きな変動はないだろうが、2010年の大決戦(何となく、雰囲気的には前倒しになってる気がする。どうなんだろう。)に向けて、次回あたり賑やかになるんじゃないだろうか。実は今回の更新でも何かがありそうで、楽しみにしていたり・・・。

| | コメント (0) | トラックバック (0)

2007年9月15日 (土)

Cellが単独でスパコン並?

http://headlines.yahoo.co.jp/hl?a=20070915-00000304-yom-bus_all
上のニュースをまず読んでいただきたい。そこには"ソニーは、スーパーコンピューター並みの演算能力を持つセルの開発に数千億を投じたが、PS3の売れ行きが鈍く半導体事業の収益改善が遅れている。"と記されている。が、Cellが単体でスパコン並の性能を発揮するなんてことはない。IBMがロスアラモス国立研究所に建造しているスパコンは、OpteronとCellを1万個以上組み合わせたものだ。単独でスパコン並みになれるなら苦労しないのである。

| | コメント (0) | トラックバック (0)

2007年9月14日 (金)

理研!!

http://www.riken.go.jp/r-world/info/release/press/2007/070914/index.html
いよいよって感じだなぁ。でも、これを量産してバリバリ稼ぐという雰囲気がまったくしない。IBMみたいにがんばらないのかなぁ・・・。

| | コメント (0) | トラックバック (0)

2007年6月28日 (木)

TOP500更新

TOP500 Supercomputer Sitesで二千七年の六月版リストが更新された。・・・日本トップ10にいないのかよ・・・。トップの交代はナシ。おもしろくないなぁ・・・。トップ8までUSAが独占。9と10にスペインとドイツである。トップ10のうち四基がIBMのBlue Gene製品だ。IBMというだけなら六基。トップ2と3にランクしているCrayも最近がんばってるなぁ・・・。というわけで、予想通りというか何というか。十一月の更新ではIBMのBlue Gene/Pというのが次のトップかな。いずれにせよ各国が本気でトップをとってくるつもりの製品群はどの国も二千十年頃みたいだし、しばらくはこの力関係が持続するかもしれない。

| | コメント (0) | トラックバック (0)

2007年5月25日 (金)

来月はTOP500だ!

来月はTOP500 Supercomputer Sitesの更新月である。今回も劇的な変更はないんだろうなぁ・・・。ここ最近ではIBMのPOWER6とか、すごそうな感じだった。前にニュースになっていた十進数のネイティブサポートとか、さすがというか何というか。クロックも5GHzに迫る勢いだ。まあ、いくらクロックが高くてもスパコンに使うには、ノード間の通信速度や発熱や安定性も重要だからクロック=スパコンの速度ではないんだけど。とりあえず、六月のリストの更新は楽しみである。

| | コメント (0) | トラックバック (0)

2007年5月17日 (木)

GCC 4.2リリース

 Linuxをはじめ、様々なプラットフォームで利用できるオープンソースなコンパイラGCC(GNU Compiler Collection)の新しいヴァージョンがリリースされた。今回はOpenMP対応が目玉だ。世の中に出回っている普通のパソコンで、並列計算の性能が向上しているという状況下、OpenMPの搭載は有用だろう。ただし、OpenMPは自動並列化の技術ではない。これは知識のある人間には高速なコードを作成できるのだが、そうでない人間には今まで通りのコードしか作成できないことを意味する。今後、GCCでリンクされる標準的なライブラリも並列化したり、自動並列化の技術を取り入れていく必要があるだろう。

| | コメント (0) | トラックバック (0)

2006年11月19日 (日)

「マルチスレッド よくならない プログラミング」の方へ

 「マルチスレッド よくならない プログラミング」というキーワードで検索してうちに流れてきた人がいたようだ。今までマルチスレッドに対する知識が今後の開発において重要なポイントになり得るということには何度も言及してきた。先日、確かインテルかどこかの幹部が並列・分散処理が今後重要になってくるみたいな講演をしていた。言ってる内容は当然のことばかりっであった。逆に当然のことを改めて説明しなければならないほど並列・分散処理に関する知識が一般的に不足しているということだ。で、「マルチスレッド よくならない プログラミング」が知りたい方にアドバイス。まず、並列・分散処理には向き不向きがある。どんな処理でも片っ端から並列・分散処理に書き換えれば早くなるかというとそうではない。並列・分散処理に書き換えたことで無駄な時間が発生する場合もある。例を挙げてポイントを説明しよう。例えば、百枚の紙があってそれに同時にAという文字を書きたいとする。この場合、百人の人間を集めてきて、プリントを配って一斉にAを書かせると確かに早い。しかし、プリントを百人に配るという動作が必要になる。この時間も考慮しなければならない。配り方も考えた方がいい。こっちで配るのか、向こうから取りに来てもらうのか。百人にプリントを渡すより、五十人に二枚ずつ渡した方が早いかもしれない。向こうから取りに来てもらう場合でも、百枚の束に百人並ぶよりも、五十枚ずつの束を二つ作って少ない方に並んでもらう方が早いかもしれない。同じ五十枚ずつの束を二つでも、一列に並んでもたって空いてる方からもらう方法も考えられる。二十枚の束を五つにしたらどうだ?五つの束を作る時間は十分早いか?五つの束の枚数は適当でもいい?ぴったり割り切れなかったらどうする?このように大量のデータを何らかの方法で細切れにして複数のスレッドに処理させて高速化するのだが、いろいろと考えることがあるのだ。あるデータの処理が別のデータの処理結果と関係がある場合、別のデータが処理されるまで待たなければならないこともある。並列・分散処理が有効かどうかしっかりと熟考しなければならない。で、今までの話はデータの並列・分散処理だった。処理自体を並列・分散処理にすることも考えなければならない。数学と理科のテストの答案を採点するとする。数学と理科の採点は人間が二人以上いれば同時に可能である。数学の採点が終わるのを理科の採点は待つ必要はない。そして、数学の採点も理科の採点もそれぞれ複数人数で手分けできる。数学の採点も理科の採点を同時にするのが処理を並列・分散処理で行うことに相当する。一方、数学の採点と理科の採点とをそれぞれ複数人数で手分けするのは、データの並列・分散処理である。このように並列・分散処理には様々な考慮点やアプローチが存在する。これらを整理してしっかり考えなければ並列・分散処理を有効に使ってパフォーマンスを向上させることはできない。並列・分散化できる箇所があったとしても、そこが全体の処理を遅くしている原因でないならば劇的なパフォーマンス改善は望めない。並列・分散処理はしっかりと考えてから、排他処理などを「完全に理解!!」している人間が作らなければ逆に再現性の乏しい危険なバグを生む。下手に作るとSMPやマルチコアなマシンのみで再現するバグや、何百回かに一回しか起こらないバグなんてものを生む。並列・分散処理を用いて劇的なパフォーマンスの向上が望めない限りは並列・分散処理のリスクを負うことはないと思う。一度、専門書を読んでから考えてみよう。

| | コメント (0) | トラックバック (0)

2006年11月14日 (火)

スーパーコンピュータ TOP500 List - November 2006

 スーパーコンピュータの世界ランキングであるTOP500 List - November 2006が更新された。とりあえず、感想などは仕事終わってから(笑)。
昨日の夜は疲れのあまり遊びほうけてしまった。というわけで、ようやく追記。
首位はDOE's Lawrence Livermore National Laboratory (LLNL)のIBM BlueGene/L systemだった。ベンチマークのスコアは280.6teraflop/s(1秒あたり280.6兆回の計算を行える、280.6Tflop/sとも記述する。)。まあ、予想通りか。DOEはアメリカ合衆国エネルギー省のことで、まあ、核兵器開発のために設立されたカリフォルニア大学の研究機関だ。ここに納入されたスパコンは核実験のシミュレーションをはじめとして、物理学、エネルギー、環境、バイオテクノロジーなどの研究に利用される。イメージ的に平和利用とは思えない。アメリカはNECの地球シミュレータに首位を二年半にわたって独占されたことが、人工衛星の打ち上げ競争に負けて以来の危機的な遅れであると感じたため総力を挙げてスパコンの開発に注力した。それの成果の一つである。IBMは商魂たくましく、このスパコンの技術を用いた製品を数多く世界に販売している。
二位はSandia National LaboratoriesのCray Red Storm supercomputerだ。こいつもDOEの関連施設だ。略してSNLという。施設の目的は核兵器の開発と管理、軍事科学、安全保障の全分野に関する研究という大学の研究機関ではなく、完全に軍の研究機関だ。軍で最速のスパコンが稼働できるということは、有事の際、情報戦で世界に勝利できることを意味する。だから、アメリカはNECに負けたのが、スプートニクで負けたとき以来のショックだったわけだ。Crayといえばスパコンの代名詞だったこともある会社だ。傾いて久しいというイメージがあったのだが、Crayがんばった。えらい。101.4 Tflops/s。
三位はIBM's Thomas Watson Research CenterのIBM eServer Blue Gene Solution systemだ。本家IBMが運用する世界首位と同じ系列のスパコンである。Thomas Watson Research CenterはIBMの研究期間で金になってもならなくても何でもかんでも研究する素晴らしい研究機関というイメージ。実際に中で何やってるかは知らないが、スパコンも研究対象だ。91.20Tflops/s。
四位はまたもDOEでNNSAでLLNLの管轄下にあるスパコンだ。利用目的はよくわからないが、各組織で最速のスパコンを使うまでもない計算とかをさせるために持ってるんだろうか。情報がない(笑)。
五位はようやくアメリカではない国スペインが登場。IBM JS21 clusterだ。Barcelona Supercomputing Centerが運用している。何やってるところかは知らないが、大学の研究機関らしい。62.63 Tflop/s。
六位以下は面倒なので省略。ちなみに二年半最速として君臨した海洋研究開発機構地球シミュレータセンターの地球シミュレータは14位。現在の国内最速は東京工業大学学術国際情報センターの47.38TFlop/sをたたき出したTSUBAME Grid Clusterだ。
CPUはIntelがTOP500リストの52.2%を占めている。AMDが一年前は11%だったのだが、22.6%へとシェアを伸ばしている。逆にIntelは一年前66.6%だった。獣の数字がまずかったのだろう。IBMのPowerPCは18.6%となっている。
シェアはトップがIBMで、TOP500リストの47.8%を占める。性能的には49.9%だ。HPが二位で31.2%。性能的には16.5%。IBM強すぎ。以下、Cray(8.2%の性能)、Dell(7.3%の性能)、SGI(5.4%の性能)となっている。
アメリカ合衆国にTOP500のうち306システムが存在している。ヨーロッパには95システム。アジアは79システムだ。ヨーロッパの中ではイギリスが首位で32システム。さすが英国人。次点でドイツ19システム。アジアでは日本が30システム、中国が18システム。
一般的なニュースサイトでは上位陣に変動があった!!みたいな報道がされているが、まあ、正直驚くような変動はまったくなかったといってもいいのではなかろうか。そりゃ、新しいのがランクインしてきたら変動もするぜ、みたいな感じ。アップグレードで順位を上げたシステムなんかも顔ぶれが変わったわけでもなく、構成が変えられるのはクラスタなら当たり前のことだから驚くようなことでもない。
次のリスト更新は来年六月だ。次はPflop/sレベルのシステムがぼちぼちランクインしてくるだろう。

| | コメント (0) | トラックバック (0)

2006年11月 1日 (水)

TOP500リスト更新月

 さて、十一月はTOP500 Supercomputer SitesのTOP500リスト更新の月である。国産のスーパコンピュータ、地球シミュレータが第一位から脱落し、大きな順位の入れ替わりがあってからしばらく経つ。各国の企業や研究機関は2010年頃を目安に世界最速の座をかけた次世代機を建造中ということになっている。それまではいきなり桁が何個か変わるような圧倒的処理速度を持つスパコンが新たに登場して首位を独占するなんてことはないのだろう。しかし、現状で高速なスパコンを持っているということは、それだけそのスパコンで金を集めることができるということであり、金の量は次世代機の開発能力を決定する。現状ではIBMが商魂たくましく着実にシステム数を増やしている。今月の十四日にリストが更新される。今回はどんな感じだろうなぁ・・・。

| | コメント (0) | トラックバック (0)

2006年8月24日 (木)

最近ネタ不足

 最近ゲームのエントリばっかり続いてしまっている。はっきり言ってネタ不足である。情報業界だけでなく、各種ニュースは毎日入ってきているがこれといって気になる記事はない。Sunの新しいプロセッサとかの記事はそれなりに気になるが、マルチスレッドの処理能力が上がるという内容で当然の流れである。8コアというCPUだが、コア数が増えることも当然すぎる。これが「Sunの最新CPUがデスクトップ向けに出荷!!」とかいうなら、アップルまで烏合してしまったx86文明にケンカを売る一大事であるからすごく話題性の高い記事なのだが、サーバ向け。つまらん。最近買った本も余りよく時間が確保できずに積んである。現在、新しく買った"宇宙へのパスポート 3"を読んでいる。

| | コメント (0) | トラックバック (0)

2006年6月28日 (水)

TOP500 List - June 2006

 TOP500 List - June 2006公開。トップ三はIBMが独占。NECの地球シミュレータは以前十位。他が軒並み二千四年以降建造なのだが、地球シミュレータは二千二年製。これはすごいことなのだが、IBMのBlueGeneシリーズのように必要に応じて、構成を変えて様々な組織に導入できるようなたぐいの計算機ではない。一台切りってのはいかがなモノか。速い計算機作ったならそれを広く売らなきゃ。IBMの商魂たくましいこと・・・。七位にNEC/Sunが東工大のTSUBAME Grid Clusterってのがいる。NEC・・・他社のマシンではやい計算機組んでうれしいか・・・。TOP10より下はあんまり面白くないので省略。次のTOP500リストは十一月に更新されるはずだが、大きな変動はしばらくなさそうだ。日本がTOP10に複数いることを祈りつつ・・・。

| | コメント (0) | トラックバック (0)

2006年6月19日 (月)

次は理研か

 今月更新のTOP500リストに間に合ったのかどうかは知らないが、理研が1ペタFlopsスパコンを建造したようだ。早々に1ペタの大台に乗ってしまったスパコン。2010年を目処にした世界各国のスパコン開発競争は前倒しにされるか、あるいは達成スペックをつり上げてくるか・・・。リンパック計測できないってのは惜しい。しかし、非常に興味深い。スパコンにおいては各ノード間を接続するネットワークの速度がいつも問題になる。ネットワークの速度がメモリからCPUにデータを流し込む速度ぐらい速くないとCPUが常に100%いっぱいいっぱいで仕事をしてくれない。これはディスク装置からCPUにデータを流す場合も同様だ。CPUの演算速度はある程度遅くても各種I/O周りが高速ならばCPU数を増やすことで高速な処理を行えるのだ。だから、例えばPS3はスパコンになれない。PS3のバス速度いっぱいいっぱいでPS3間を通信できるインタフェースなんて用意されていない。もしこれが用意されたなら、一部メディアがいうようにPS3はスパコンに挑戦する資格を得られる。まあ、そんな話は兎も角、日本がんばれ。IBMがんばれ。高速なスパコンは、当初の利用用途は兎も角として、有事の際には即戦争の道具となる。早ければ早いほどその価値は高い。世界一のスパコンを持っている国は世界一の情報戦が可能なのである。

| | コメント (0) | トラックバック (0)

2006年5月13日 (土)

インテル・コンパイラー9.1

 エクセルソフト、インテル・コンパイラー新版9.1をリリースというニュースが。このニュースを待ち望んでいた人がどれだけいたかは不明だし、そもそもそんなものがあること自体知らなかった人もいたかもしれない。まあ、知る人ぞ知るIntel CPU最適化機能特化で高性能コンパイラとして有名な製品である。インテル・コンパイラーファミリーは、Windows標準のM$のコンパイラや、オープンソース陣営標準であり、最適化に難ありといわれているGNUのコンパイラよりも遙かに高速な実行コードを生成することが出来る・・・らしい。高速な実行コードを生成するということは多少の危険をともなう。なぜなら、最適化を自動で行うことは元々のソース通りにコードが生成されないことを意味する。プログラマが書いたコードは自動的により高速な記述に変換される。例えば、GNUコンパイラで一番レベルの高い高速化を設定するとまれに動かなくなるソースがあるのはこのためだ。インテル・コンパイラーにおいても、おそらくは同じような現象が発生する危険もあるだろう。まあ、それはいいとして、今回の目玉として紹介されている機能だ。特に興味深い点をニュースから引用する。"インテルのマルチコアプロセッサに最適化可能なC++およびFortran"コンパイラーであり、"クラスターOpenMP対応は、OpenMPによる並列プログラムを分散環境のクラスターで実行可能にする"・・・らしい。並列化に対するこれら機能だが、いや、これはすごい。自動並列化の研究は古今東西の大学や研究機関で行われている。どれも頭のいい人たちが考え抜いて編み出した成果なのだが、人間の作る高速なコードに対抗できるようなコードを生成出来たという話はあんまり聞かなかった。そして、その自動化できる場所は繰り返し部分と配列の操作とかに限られていたりする。ネット上ですぐに手に入る資料として、NECのHPC研究会のレポートがある。このNECの成果はかなり高度に進化しつつあるようだ。NECができるということは、資金的にも技術的にも、そして自らCPU機能を熟知する立場にあるという点でも、インテルはインテルCPU向けの高度な自動並列化をやってのけるコンパイラを作成できるに違いない。さて、人間が考え抜いて作成した最適なコードを並列処理で200%程度の性能にしたいとする。人間が考え抜くと200%を大きく上回り300%のコードが手に入るとしよう。自動並列化で手間をかけずに195%の性能を手に入れることが出来たとする。さて、自動にするか人力にするか・・・。これは非常に悩ましい問題では無かろうか。時間と資金、人材が十分に与えられるならば人力にしたいところだろう。しかしながら、実践の現場においてそのようなことはあり得ない。インテル・コンパーラーの自動化に頼り195%のコードを手に入れれば、高くて百四十万程度の出費で目標を達成できる。人間ががんばったとして、300%を達成するには、規模にもよるが一ヶ月とテスト期間二ヶ月ぐらいはかかりそうだ。加えて、その後延々と続くメンテナンス。二ヶ月高度な知識を持つ技術者をキープすると、月額で六十?百二十万程度は持って行かれるだろう。知識があっても、経験年数が浅ければ四十五万とかか。ということは、ある程度の性能をきっちりと発揮できるならばインテル・コンパイラーの現場投入は極めて現実的で有効な手段となるかもしれない。以前からいっているが、CPUマルチコア化によるCPUパワーの有効利用には並列処理の知識が必要不可欠だ。並列処理を適材適所に投入できる、あるいは実際に作成できる技術者はまだまだ少ないと思われる。設計・開発双方の人材に知識がなければ空回りするだろう。並列処理はきめ細かで、ともすればバグの温床になる。それも、タイミングによって発生したりしなかったりするイヤらしいバグだ。ここぞというポイントで使わなければ後々のデバッグでコストがかさむだろう。カリカリに高速化されたコードが必須ではない状況下で、しかし、高速なコードが欲しい場合、自動並列化の行えるインテル・コンパイラーは有効かもしれない。面倒な部分を機械に任せて自動化できるなら、自動でいいじゃないか。

| | コメント (0) | トラックバック (0)

2006年3月 7日 (火)

C#なマルチスレッド

 C#のマルチスレッド処理で苦戦。lockやMonitor等でロックを行っても、ハイパースレッディングなCPU(そして、恐らくマルチコアCPU、SMP環境でも・・・)で実行するとロックがうまく行えていないような動作をする。多数のスレッドから一個のコレクションにデータの追加を行うようなケースで追加処理部分をロックしても最終的に追加されているデータ件数が多かったり、少なかったりする。同時にデータ取得・追加処理が発生して、同じインデックスに格納されてしまったり、同じインデックスからデータをとってしまったりしているに違いない。おまけにC#はすべてがオブジェクトでJavaより優れているという話はどこへやら。int xxx = 0みたいに宣言した変数を使って、lock(xxx)は不可能。アホか。スレッドプールという便利そうな機能も1CPUあたり強制的にスレッド25本という制限があったりする。スレッドプールにタスクを大量に追加する。これは簡単にできる。グルグル回すだけだ。ただ、それ以上のことをやろうとすると微妙にドキュメントの内容が散漫になってしまう。やりたいことがすんなり見つからないのだ。これはM$のドキュメント全般にいえることだ。マルチスレッド・マルチタスクの処理はいっそう重要になってくるだろう。今後、ますます知識のない、あるいは知識を得ようとしないユーザが増えるだろう。専門知識が必要な現在の状態が間違っているともいえるのだが・・・。兎も角、クライアントで動作するプログラムは、マルチコアのCPUと大量のメモリを積んだマシン(あるいは、その逆の軽量クライアントも考慮するべきだろう。)で、より大量のデータを、より高速に、より安定して動作させていかなければならない。一度実行したら処理が終わるまでフリーズしたように見えるというのは都合が悪い。ハードディスクの容量増加に伴ってデータサイズも無制限と言っていいほど増加している。これらデータを高速に処理するために大量のメモリは当然として、それを高速に処理できなければ時間の無駄だ。よく聞く話だが、メモリを積んだからパソコンが高速化するという考え方はおかしい。メモリをいくら積んでも実行するプログラムがそれらをうまく制御するように作られていなければ意味はない。Windows本体とその直属のタスクの利用するメモリが大きすぎてメモリからあふれるような環境が当たり前に存在しているため、そのような認識を持つに至ったに違いない。4GBのメモリを積んでいてもプログラムが1GBのデータを扱うときにメモリを1KBしか使わなければ遅いままだ。1GBのデータを処理するために1KBずつ読んでいたのでは無駄だ。プールの水を小さいバケツで運ぶようなイメージだろうか。でかい器で運んだ方が汲むのに時間がかかっても、最終的には効率がいいだろう。メモリを有効に利用するためには、4GBのメモリ空間に1GB全部読み込んで実行するような構造が必要なのだ(1GBのデータに対するI/Oの待ち時間という点に関して考慮は必要だろう。だとしたら、一定量読み込んでそれの処理をしながら、同時に次のデータをメモリに読み込み、処理したデータを書き戻すというような構造が理想だろうか。データの処理に新たなI/Oが大量に発生するならまた考え方を変えなければならないだろうが。)。無論、プログラムが途中で死亡するのは論外。しかし、私は未だロック機能で苦戦中なのだった・・・。情けないことである。C#の作法に慣れていないというのが最大の原因か。Javaならそういう処理を昔から作ってきたので作法的な部分に不安はないのだけれど。MSDNのドキュメントを熟読している最中だが、何となく問題の原因が見えてきたように思う。

| | コメント (0) | トラックバック (0)

2005年9月29日 (木)

ペタペタのスパコン

 コラ、高エネルギー加速器研究機構。何で今更になってBlueGene/Lを買う・・・。国産の地球シミュレータを買えといいたいところだが、地球シミュレータはすでに価格の割には速くないという状態だ。まあ、仕方あるまい。BlueGene/Lの価格は150万ドルからという話らしいので、一億円後半?二億円ぐらいで購入できるのか。地球シミュレータと比べるとBlueGene/Lは設置スペースも少ない。消費電力は216キロワット。地球シミュレータは6000キロワットだ。あっちこっちに売れているので導入・稼動実績もある。これでは地球シミュレータを今更発注する理由はない。NECとIBMではプロセッサのブランドイメージもぜんぜん違うだろうし・・・。TOP500によるとそれぞれPowerPC 440 700MHzとNec 1000MHzとなっている。PowerPCの方が有名だ。って、CPUに自社の名前をそのまま付けるな(笑)。地球シミュレータセンターのサイトを見てもCPUの名前は書いてない。少なくともすぐには見つけられなかった。おまけにTOP500には稼動1000MHzとあるが、全部が1GHzじゃないだろう。500MHzで一部1GHzのはず。まあ、IBMはしっかり商売している感じだ。要求に応じた構成で納入できるところを見てもはじめから売る気満々だったとしか思えない。NECももっと早くから売り込んでいけばよかったと思うのだが、地球シミュレータはそういう位置付けの製品ではなかったのかもしれない。TOP500の次回締め切りは明後日。発表は十一月である。今回変動はあんまりないのかね。ちなみに次のゴールはpetaflopsで、米国や日本、中国、フランスがそれに向けた投資をはじめているらしい。petaflopsの計算機は人類の存亡を計算できるとかできないとか・・・。今最速のBlueGene/Lは年末までに性能を倍にするらしい。リストに載るとしたら六月か。国産では二千十年に10pflopsを目指すらしい。人体を丸ごとシミュレーションするらしい。10pflopsの演算速度があれば可能なのか・・・。本当に人体全部を何から何まですべて再現できるなら、その人工人体は知性が発生するのか。知性の理論的な秘密をすっ飛ばして、一連の化学反応の連鎖の再現だけで人工的に知性を発生させることは可能なのか。私が一番知りたい点が二千十年ごろにはっきりするかもしれない。

| | コメント (0) | トラックバック (0)

2005年6月22日 (水)

いよいよTOP500更新

 さて、二千五年六月のリストがTOP500 SUPERCOMPUTER SITESにて公開された。って、IBM BlueGeneファミリーは十位中で五システムかよ・・・。一位にはBetaシステムからフル構成になったBlueGeneだし、二位は自社で持ってる BlueGene。それでも地球シミュレータは四位だ。それも十位までのうちもっとも早い二千二年製で、プロセッサ数も比較的少ない。他の九システムはみんな二千四年以降だ。地球シミュレータはよくできているわけだ。が、IBMのイケイケ体勢はもうしばらくは止まらなさそう。次の順位大変動は二千十年前後か。その頃には人間脳の完全なシミュレーションぐらいはできているかもしれない。

| | コメント (0) | トラックバック (0)

2005年6月14日 (火)

TOP500更新月

 毎年六月と十一月は楽しみな月である。TOP500 SUPERCOMPUTER SITESのリストが新しく更新されるからだ。昨年は二千二年から首位を守っていた地球シミュレータがアメリカ勢に大きく差をつけられて首位を奪われた。まあ、アメリカではスプートニク以来の衝撃的敗北だったらしい(考えてみればすごいことである。スプートニクは人類初の人工衛星だ。それ以来といわれることがどれだけすごいことかわかってもらえるだろう。アメリカは不名誉を挽回するために月に行った。世界一の計算機を保有するということは情報の解析能力が世界一であるということだ。アメリカは焦って当然だった。)し、何年も首位を守ってること自体変な気がしていたので興味深かった。で、トップを奪ったIBMの BlueGene/Lだが、そのときでもフル構成ではなかった。今度首位にくるのは135TFlopsのフル構成だろう。BlueGene/Lはしばらくは安泰といった感じだが、日本も二千十年の完成に向けて計画を立てているようだ。で、BlueGene/Lは積極的に売り込みを行っているらしく、姉妹機がいくつか納入されたというニュースを見かけた。それに比べて地球シミュレータはそういう話がない。おまけに年間稼働率も低い。世界に誇るスパコンを売り込まないでどうするんだ!!何年もかかるような計算が力技で何とかなってしまうような計算機だ。売りようはいくらでもあったと思う。現に BlueGene/Lは売れている。日米の意識差なのだろうか?それとも国産スパコンは売り込めないなんてこともあるのだろうか。まあ、スパコンの輸出でなんか問題になった事件もあったのだが・・・。まあ、今回も新しいリストは楽しいことになりそうだ。

| | コメント (0) | トラックバック (0)

2005年6月 3日 (金)

並列処理の呪

 仕事では珍しく並列処理のプログラムを組んでいる。Javaのコードなのだが、並列処理で作成することで激しく高速になった。今までは別システムにメール送信を依頼していた。メールの送信先や内容とかはFTP接続で別システムにデータを送り込んでいた。システムでは何万通もメールを送信する必要がある。当然、逐次的な処理だと遅いのだ。ここをJavaMailでのSMTPサーバ相手の直接送信と並列処理を駆使して実装しなおしたのだ。速度の向上は二倍や三倍なんて数ではなく十倍や十数倍という数だ。メールサーバの応答速度が高速なら十万通を二十分かからずにSMTPサーバ複数台に分割して流し込める(流し込んだあとはSMTPサーバががんばるしかないので、そこの速度は知ったことではない。)。私は大学院で並列処理を研究していた。しかもJavaを使ってだ。まさにうってつけの人材だったわけだが、プロジェクトでは私以外Javaをやる人はいないし(増員されて、昨日Java要員が一名追加された。彼は Javaもやるし、ある程度それ以外の言語も操れ、仕事も速いみたい。心強いことだ。)、並列処理云々の知識などまったく期待できない。ヘタレ大学でも大学院でやってたことは専門的だったんだとはじめて意識した。ここまでは、まあ、今後私のコードを正しくメンテできる人がいるのかは別として問題ない。で、次のステップでは少ないメールを送信する要件が出た。私はメンテのしやすさや処理時間を考慮して、逐次処理で作成することを提案した。肝心の処理は部品化してあるので順に呼ぶだけになるだろう。が、リーダーの指示で並列処理で送信することになった。何万通も送るために作成した複雑な処理だ。少ない件数を送るだけならもっと見通しがよくてわかりやすいプログラムになるのに・・・。並列処理の速度が期待以上だったので、よっぽど気に入ったようだ。困ったものだ。

| | コメント (0) | トラックバック (0)

J2SE 5.0 並行処理ユーティリティ

 Javaは1.5というか5.0になってjava.util.concurrentというパッケージが追加された。これは並列処理のためのキューやスレッド、ロックなどの機能を提供するパッケージだ。今回仕事で作成した並列処理でこれが使えたなら、かなり楽できたように見える。しかし、ドキュメントには" 以前ではネイティブコードを使用しなければ実現できなかったほど高性能で拡張性の高い並行処理アルゴリズムを、Java 言語に実装できるようになりました。"とあるが、いったい誰がそんなコードを書くのだろう。たぶん、使ったとしてもフレームワークとかアプリケーションサーバとかライブラリの奥に押し込められて、このライブラリを使ってガリガリ業務コードを書くなんて事はないんだろうなぁ・・・。しかし、私にとっては結構魅力的なライブラリだ。単純な並列処理のコードを、従来形式と新ライブラリ、逐次処理で書き比べて速度を計ってみるのも面白いかもしれない。ドキュメントには"並行処理クラスの開発は困難です。Java 言語により提供される低レベルの並行処理プリミティブ (synchronized、volatile、wait()、notify()、および notifyAll()) は適切に使用することが困難で、これらの機能を使用した場合に発生するエラーの検出およびデバッグは困難です。"とも書いてあったが、まったくそのとおりで文句の言いようもない。

| | コメント (0) | トラックバック (0)