火曜日 9 09, 2008

The Easiest Way : Experience of Hadoop

Hadoop を最も簡単に体験する方法

[summary] If you want to try Hadoop, one of the easiest way must be to use "Hadoop Live CD" which is a OpenSolaris Project. 

(Translate to English)


vaio

ここに、ごくふつーのSONY VAIO PCG-5D1N(法人向けモデル)があります。
OSはWindows XP。外出先でメール読んだり、Web見たり、軽いのでそれなりに使えます。でも、使い方はそれだけ??


他に有用な使い方は??


そうですね、OpenSolarisをインストールすることでしょう。でも、会社で使うPCに入れるには、勇気のいる必要も多いかもしれませんね。それに、何故??OpenSolaris???という疑問を持つ人もいるでしょう。



そうした中、謎のCDが!!このCDを使ってbootしてみることにします。



をををを!!OpenSolarisのCDでした!!このまま、bootを続けてみます。

キーボードの種類を選択するとしばらくして、Gnomeが立ち上がり、OpenSolarisライセンスのwindow があがります。これをcloseすると次に現れるのが・・

Hadoopのライセンス!!

Desktop上の左には、Hadoop Start なるアイコンが!!!これをクリックしてみます。




VAIOのファンがうなりをあげています。なんかいい予感が。7つ道具(?)が入ったUSBメモリを差し込んで、jpsコマンドで調べてみます。(注:default では最小限のツールしか入っていないので、jpsをはじめ幾つかのツールを予め準備しました)


 Hadoopが動いています!!zoneadm で調べてみると


つまり、Solaris 上で、3つのzoneでHadoopが動かそう、、というわけです。それでは実際にやってみることとします。

まず、Hadoopのファイルシステムがどうなっているかを見てみます。


ちゃんと動いていることが確認できました。次にローカルファイルを確認します。


このLICENSE.txtを、Hadoop ファイルシステムへコピーしてみます。


1行目:Hadoopファイルシステム上に /in_dir という名称���directoryを作成します。
2行目:ローカルファイルであるLICENSE.txt をHadoopファイルシステム上の /in_dir 下へコピーします。
3行目:コピーされたかどうかを確認します。ファイルは存在しています。

 次に、完全にコピーされたかどうか、ファイルを比較してみます。


diff で確認しても差分はありませんでした。

それでは、いよいよ、Hadoop MapReduce のサンプルプログラムを試してみます。ファイルのword数をカウントする、wordcount を動かしてみます。


/in_dir 下のファイルに含まれるwordの出現回数をカウントし、その結果を/out_dir下のファイルに書き出します。うまくいったようです。複数のタスクが稼働しているのが確認できますね。

注)実行するためにはある程度、メモリが必要です。Gnomeが重いこともあり、メモリが1GBのPCでは、動くかどうか微妙なところです。メモリ不足の場合、上記の処理の途中でフリーズしてしまうこともあります。その場合、OpenSolarisブート時にテキストモードで立ち上げれば大丈夫です。また、ここに到達する前に、Gnomeが立ち上がらずクラッシュする場合も、テキストモードならば、立ち上がる可能性もありますので、やってみてください。

それでは、どんな結果がでているかを確認してみます。


/out_dir ディレクトリ下にpart-00000 が作成されています。この中を調べてみます。word毎に出現回数がちゃんと記録されています。

いかがでしょうか。手元の1GB程度のPCでもちゃんとHadoopを体験することができました。Solarisのzoneならではです。 今回、使った謎のCDの作り方は、Open Solaris Projectのここのサイトを参考に作成してみてください。


日曜日 6 08, 2008

JRuby1.1 performance : single thread/multi threads vs. cRuby1.86 / 1.9

JRubyのパフォーマンス:cRuby1.86 / 1.9 とのシングル/マルチスレッドでの比較

[Summary] Koichiro and Naoto,  who are JRuby "Japanese leaders", wrote out an article with results of   benchmarking test of single/multi thread performance for JRuby1.1 vs. cRuby 1.8.6 / 1.9 !  To summarize, CMT technology with Sun SPARC Enterprise T5220 contributes throughput of multi thread processiong for JRuby. Great Job, thanks Koichiro and Naoto!!

(Translate to English)

うっかりして見落としていました。"Japanese JRuby Guy" こと大場光一郎&高井直人コンビの非常に興味深い記事が”まるごとRuby! Vol.1"(インプレスジャパン刊)に掲載されました。目次によれば、

■特集2 輝く2つのRuby
――最先端Ruby 1.9と高性能JRuby 1.1
 Part 1 JRuby 1.1の性能測定も実施!
JavaとRubyの融合世界! JRuby入門 
[大場光一郎/高井直人]
 Part 2 速さも機能も段違い
ここがスゴい! 新世代Ruby 1.9
[後藤謙太郎]

となっています。”JRubyの性能”として章の中で、非常に興味深いベンチマークテストと考察を行っています。主なところを書き出すと以下の通り。

JRuby 1.1では、少なくともRuby 1.8.6と同等かそれよりも速いくらいの実行性能を得られます。項目によっては、Rubyのバージョン 1.9.0よりも速いものもでてきています。

いやぁ〜、ここまで言うとは。ちょうど、近々来日するCharles Nutter と本日、チャットをしていたのですが、この話をしたら、非常に喜んでいて、向こうで鼻息荒くしている様子も感じとれました(本当か?)。 ますます、ヒートアップするか? Charlie vs. Ko1 の”スピード競争”!!(「若気の至り」という話もありますが。。(某氏曰く))

Ruby と JRubyのベンチマーキング

多体問題を解くプログラムを実行した際の性能を Ruby処理系ごとに比較してみましょう。それぞれの処理系には得意な処理と不得意な処理があり、このベンチマークテストが全体の傾向を決定するわけではありませんが、JRubyが十分速い場合があるということがわかります。図5を見てください。このケースでは、JRuby RC3の実行性能は、Ruby1.8.6 よりもずっと優れています。さらに、Ruby 1.9.0 よりも性能が良いという結果になっています。

図5がお見せできなくて残念ですが(掲載誌を購入してください(笑))、たしかにこのケースでは1.9.0 といい勝負をしているようです。さて、次にいよいよ、マルチコアでの勝負!!

マルチコア環境での性能

JRuby が他の Ruby処理系よりも圧倒的に優れているのが、マルチコアプロセッサ環境の性能です。JRuby では、Javaのスレッド機構をうまく利用しているので、処理系全体をロックすることなしにネイティブスレッドでの並列実行が可能になっています。

.....(中略).....

テスト用サーバ機器として「Sun SPARC Enterprise T5220」を用意しました。このサーバは 8 コアのUltraSPARC T2プロセッサを搭載し、同時に64スレッドを実行できます。

なんと、T2のマシンでやるとは!!スバラシイ!!


......(中略).....

興味深いのは、シングルスレッドのときにはRuby 1.9 のほうがJRuby よりも速く処理が終了しているのに対して、スレッド数が増えるにつれて JRubyのほうがより短時間で処理が完了している点です。

JRubyであればスレッド数を増やしていくことでマルチコアのCPU を搭載したマシンの性能をあますことなく活用できます。今後、ますますマルチコアプロセッサを搭載したマシンが利用されていくことを考えると、JRuby が活躍する場面は増えてくるのかもしれません。

掲載されているグラフを見ると、コア数(この場合は8)までは、非常に良く、性能が伸びています。その後、CMT特有のマルチスレッディングに関しては、JRuby の今後のエンハンスによって性能が伸びていくことになるのでしょう。今回、テストに使われたソースは次の通りです。

require 'benchmark'

def fib n
  n < 2 ? n : fib(n - 1) + fib(n - 2)
end

Benchmark.bm do |x|
  for i in 1..64 do
    x.report("%2d threads" % i) do
      ts = []
      i.times do
        ts << Thread.fork do
          (64 / i).times do
            fib 10
          end
        end
      end
      ts.each{|t| t.join }
    end
  end
end

Thread.fork にて、スレッドを新規に作成させています。

もう少し細かく、また、他の事項についても紹介したいところですが、そこは掲載誌をご覧ください。ともあれ、大場さん、高井さん、お疲れさまでした!!




月曜日 5 19, 2008

OpenSolaris 2008.05 launch event

OpenSolaris 2008.05 リリース記念セミナー

[Summary] OpenSolaris launch event is held on May 23rd

(Translate to English)

OpenSolaris のバイナリディストリビューション OpenSolaris 2008.05が遂にリリース発表されました。このリリースを記念して、OpenSolaris のコミュニティーイベントが開催されます。こちらのサイトよりどうぞ

  • Solaris のエバンジェリストは勢揃いします
  • blogs.sun.com の日本人ブロガーの多くも駆け参じます
  • blogs.sun.comのWorld Wide におけるトップブロガーのJim Grisanzioもやってきます
  • 私は・・・・・うーん、、夕方の会議が終わり次第。。。 

木曜日 1 03, 2008

Happy New Year 2008



謹賀新年。今年もよろしくお願い致します。

[Summary] Happy New Year 2008. There is a video message from Mr. Suetsugu who is the President, Sun K.K.. I spent three days with annual activities such as going to Kamakura Tsurugaoka Hachimangu except doing few new things such as Wii Fit. :-)

(Translate to English)


今年もよろしくお願い致します。

サン・マイクロシステムズ ( Sun 日本法人)より:
(昨年と同様)2008年新春ご挨拶by末次社長のビデオがあがっています。こちらをご覧下さい。タイトルは
    トピックス - 2008年
    地球環境とビジネスに配慮した
    安心・安全なネットワーク社会の実現に向けて


さて私は、昨年・一昨年お同じく(写真まで同じ場所から!)、毎年恒例、鎌倉の鶴岡八幡宮に初詣に行ってまいりました。お賽銭入れて、祈祷して、おみくじ引いて、クレープ食べて、買い物して・・・・・・実家ではWiiをやって・・・今年はWii Fit でしたけど・・・・正月三ヶ日を終えようとしています

日曜日 4 08, 2007

What I am doing ........ Solaris, Ruby, NetBeans, Liberty, so on...


私が最近やっていること・・・・Solaris, Ruby, NetBeans, Liberty ほかにもイロイロ!!

[Summary]
Many friends ask me "What are you doing? Recently, you have not written a lot about Liberty,haven't you? " .....I'm still, but I have to do much more .. Solaris, Ruby, NetBeans and (lots of) internal daily chores.. So, in the weekend, I am working as a programmer.


(Translate to English)

「最近、何やってるんですか?Libertyはどうしたんですかぁ?」と、時々聞かれております。いえ、ちゃんとやってますよ。ただ、ネット上のサイト全体がリニューアルされたのはいいのですが、日本版への移行と管理が遅れております。申し訳ないです。本家英語版は元気に更新されておりますんで、しばらくはこちらをよろしくお願いします。

さて、最近は次々と新手の仕事が入り、日々それで格闘しております。Solaris, Ruby, JRuby それとビジネス・ガバナンス関連。そうした中、自分のLet's Note W4の環境を整えるべく、先日、未サポートを覚悟の上、メモリを1.5GBにしました。で、やっとここ最近になって、なんとか1プログラマらしく、環境が整えられつつあるのかな、、という感じです。風邪をひいたこともあり、この週末は家でおとなしくマシンと奮闘。現在の状況を証拠となるスクリーンショットと共に。

(証拠1)
x86 Solaris10 上に自分用にソースに手を入れてbuildしたemacs をinstall。いやー、、emacs のbuildなんて、何年ぶりかなー。xterm上ではJRubyと共にinstall したRailsを動かしています。



(証拠2)
先日もご紹介した、"NetBeans でRuby on Railsが使える"図。NetBeans 6 も先月下旬にMilestone 8 がでて、かなり安定したかなー、、という感じです。このメニューから、Rails の各ファイルがカパカパとつくられるのは感動です。



(証拠3)
実際にRuby on Rails がJRuby on NetBeans 6 の上で動いている図。ちゃんと、WEBrickが動いています。ほーら、x86 Solaris 上で動いてるでしょ?



次にいじれるのは、今度の週末かな。。。。ここに書いてある通りにやれば、できるハズ。わからなかったら、片貝さん、よろしくです。(笑)

月曜日 3 12, 2007

OpenSolaris Install Festa in Japan


OpenSolaris Install Festa」が開かれます!!

[Summary] "OpenSolaris Install Festa" is held on March 24th. Solaris Express, Developer Edition is used there.

(Translate to English)

    2月に発表された、OpenSolaris のディストリビューションの一つとなる Solaris Express, Developer Editionを使ってのインストレーションを含めた学習のイベントが開催されます。 詳細は こちら

    OpenSolarisの日本語ポータルサイトも既にあります。こちらのプレス・リリースからよろしくお願いします。

火曜日 1 23, 2007

A couple of big news


速報:ニュース2本!!

[Summary] A couple of big news are coming up!! One is about the new agreement --- Sun and Intel. Jonathan introduced it at his blog. Another is about launch of openLiberty -- open source implementations of Liberty's suite of identity protocols. I'm reporting them from the country in the middle of summer -- Sydney.

(Translate to English)

ニュース2本。コメント抜きで。

    "Sun And Intel Announce Landmark Agreement"

    詳細は、Sun日本法人よりプレスリリース訳文がでますので、それを見ていただければと思います。Sunとインテルの新しい関係が始まることは確かです。


もう一本はこれ。
    openLiberty.orgの設立

    Liberty 仕様ソフトウェアのためのオープンソース・コミュニティが設立されました。
以上、速報でした。(詳細は後程)

日曜日 1 21, 2007

Thanks, Hal, for "Solaris Internals"


Hal Stern から"Solaris Internals"本を頂きました!

[Summary] I got a great book -- "Solaris Internals: Second Edition" -- from Hal Stern. Thank you very much!!

(Translate to English)

Hal Sternから我々社員への贈り物が届きました。頂いたのは、

"Solaris Internals : Second Edition"

まだ翻訳版はありません。Solaris10と Solaris 9, Soalris 8 との違い、ZFSDTraceなどなど、簡潔に書かれております。図表も大変わかりやすいです。Hal に感謝!!

solaris

月曜日 11 20, 2006

Engineer's 2.0 day-life in the midafternoon



ある日の昼下がり、エンジニア2.0のすごし方


[Summary]  Work/life style of Engineer2.0 must be different from the past. My suggestion for the work style in 2.0 era is : (1) sitting on a relax chair in the balcony of my house. (2) Cat2.0 ( he is very similar to Cat2.0: Hatchan ) is sitting on my lap. (3) Using virtualized Windows PC---- Panasonic CF-W4 with VMware (4) x86 Solaris10 is running. (5) And I am programing using "Ruby on Rails" with Sun Web Server 7.0. See the photo !

(Translate to English)


ある休日の昼下がり、2.0時代のエンジニアはこんな風に・・・・・・・などと考えながら実践してみました。

(1) 部屋から出よう!ルーフバルコニーのリラックス・チェアでくつろぎながら・・・・
(2) 暖が少し欲しい季節となりました。ひざの上にCat2.0(猫2.0)似の猫をのせて
(3)VMwareで仮想化されたWindowsXPマシンであるCF-W4はもちろんwireless でネット・アクセス
(4)ゲストOSはもちろん、x86 Solaris10 でキマリ
(5) Ruby on Rails を Sun Web Server 7.0 で動かして、プログラミング!!


みなさんも、いかが?


Tags:
About

Takashi Shitamichi(下道高志)

Chief Technologist
GSE Japan, Sun Microsystems

Spokes Person/Secretary@SIG-Japan,Liberty Alliance
Chair of Edu-committee, ISACA Tokyo
CISA,CISM
中小企業診断士

Search

Archives
« 4月 2014
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
今日