月曜日 11 24, 2008

Hadoop with 38 nodes

38ノードでHadoop を評価

[summary] Prior to my hard work for CEC2008, I worked for Hadoop with bunch of nodes. This time, I configured 36 DataNodes + 2 NameNodes and succeeded benchmarking testing.

(Translate to English)

11月上旬に開催されたCEC2008の準備のために9・10月は非常に忙しかったのですが、そうした中、複数の顧客の要望で、HadoopをSunのサーバを使って評価することとなりました。

  • 最新の0.18.1を使用
  • 36 DataNode + 2 NameNode の計38台を最大として構成(仮想環境上のノードも含む)
  • テキスト・データを500MB 〜 数十GBまで順次に利用
  • LocalファイルがHDFSに分散される経過を6 〜36 DataNodeで検証
  • replication の数による動作の変化を検証
  • 耐障害性検証を目的とした、DataNode ならびにNameNodeを止めて処理継続性をテスト
  • Map/Reduce のスケーラビリティ検証

上記の中でも、多くの方が興味を持つのは、「Map/Reduce のスケーラビリティ」でしょう。これは6 〜36 DataNodeで順次検証しました。いろいろなDemoプログラムや自作のものを試してみましたが、結局、wordcountでスケーラビリティを検証することとなりました。「Solaris でMap/Reduceを38台で稼働させている」証拠のスクリーンショットが下図です。


このタイミングでは、Map が18%まで進行していますが、各ノード共処理が正常に行われていることがおわかりいただけると思います。ここではSolaris上での稼働状況を可視するためにperfbar(日本語紹介はこちら)を使っています。上の3列のグラフがDataNodeで、下2つがNameNodeです。DataNode上ではperfbar の緑色が示す通り、アプリケーションが「よくまわっている」状態です。もし赤が多いと、I/O等のシステム側のオーバヘッドが多いことになりますがそれもなく、非常に上手くいっているようです。

さて、DataNodeを6〜36と増やしていった時のパフォーマンスの変化をグラフにしたのが下図です。


上図を見るとほぼ 6 nodeから21 node まではリニアに伸びていっているのがわかります。しかしながら、それ以降は横ばいもしくは伸びが鈍化しています。これは以下の理由によると思われます。

  • 一部仮想環境があるために、ボトルネックが発生した
  • DataNodeの数に比べてデータの大きさが十分でないために、データをHDFS空間へコピーする際に的確な分散がされてなく、Mapプロセスによる処理が均質化されていない
前述したエントリでも書きましたように、Hadoop は小規模で動かすことはそれほど難しくありません。しかしながら、ある程度の規模を超えると、構成やチューニングポイント等、考えなければならない箇所が数多く出てきて、大規模な構成で構築するには、中規模構成での検証の経験等ある程度のknow-howは必須だと感じました。

火曜日 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のここのサイトを参考に作成してみてください。


土曜日 7 19, 2008

From Flock

[Summary] I'm starting using Flock. It seems Cool! A lot happened around me ... personally, "Boki" Cat2.0 in my house went to  the rainbow bridge...

久しぶりのブログエントリの前に、Flock を使ってみることとします。ここ一ヶ月間、ほんといろいろとありましたが、個人的には、我が家のCat2.0 虹の橋に行ってしまったことです・・・

Blogged with the Flock Browser

日曜日 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 14, 2008

Implementation of an MVM Environment on Ruby and JRuby ( from Feb 27 press release)

Implementation of an MVM Environment on Ruby and JRuby

[Summary] I'm so sorry that I forgot to forward the press release of English version for Ruby related R&D with Tokyo Univ. The press release is here. (Original Japanese version is here)

 

Implementation of a multiple virtual machine (MVM) environment on Ruby and JRuby

A group led by Professor Ikuo Takeuchi at the Graduate School of Information Science and Technology, the University of Tokyo will collaborate with Sun's Tim Bray (Director of Web Technologies) and the members of the JRuby team to implement a multiple virtual machine (MVM) environment on both Ruby and JRuby. The MVM environment is expected to make Ruby programs run more efficiently than was previously possible. The results of the research are scheduled to be open sourced via the broader community of Ruby developers, which could inspire further innovations.

Previously, running more than one application simultaneously on Ruby required multiple interpreters, leading to excessive memory consumption. The proposed MVM environment could generate multiple VM instances on a single interpreter, allowing applications to run more efficiently. The collaborative research aims to clarify such technical issues as the definition of common interfaces for using MVM, parallelization of VM instances and memory sharing, and then to implement technologies that can be used on Ruby and JRuby. While Ruby has already been widely in use in commercial and other environments, the research on MVM will further enhance the performance and utility of Ruby......

more

 

 

月曜日 5 12, 2008

Gartner report : Open Source at Sun Microsystems, 2008

Gartnerのレポート:"Open Source at Sun Microsystems, 2008"

[Summary] Gartner reported Sun's open source strategy. Visit here.

(Translate to English)


Gartner から"Open Source at Sun Microsystems, 2008"なる興味深いレポートがWebにあがっています。 以下、気になる箇所について引用と共に。

まずは現状について:

No other major IT platform vendor has committed so much of its core assets to the open-source software model as Sun Microsystems. Certainly, companies such as IBM, Oracle and BEA Systems have dramatically expanded their own open-source strategies in recent years, but only Sun has literally open-sourced nearly the entire family of products — that is, its intellectual property (IP) — from its operating system to Java.

(超荒訳)

Sunほどコアの資産をオープンソース・ソフトウェア・モデルにコミットしているメジャーなITプラットフォームベンダーはいない。たぶん、IBM, Oracle, BEA Systemsといったところは、数年のうちに劇的に自身のオープンソース戦略を広めていくであろう。しかしSunだけが実際にプロダクト群の殆ど全てを(既に)オープンソース化してしまった------知的財産である、オペレーティング・システムからJavaまで

将来どうなるか、というと:

Of all the major platform vendors (IBM, Microsoft, Oracle, HP and so on), Sun is best-positioned to drive the integrated open-source "stack" into the mainstream. Its success and challenges will provide the reference points by which other vendors will measure their own commitments in coming years.

(超荒訳) 

IBM, Microsoft, Oracle, HPなどメジャーなプラットフォーム・ベンダー全ての中で、Sunは統合されたオープンソース”スタック”をメインストリームへと推進する”ベスト・ポジション”にいる。 Sunの成功と挑戦は他のベンダーが数年内に自らがコミットする範囲のリファレンス・ポイントとなるだろう。

最後にユーザへの”お薦め”として

  • Understand that investments in Sun products and services will include a commitment to a wide range of open-source technologies as well.
  • Carefully monitor Sun's investments and initiatives in open source to collect insights into its future directions.
  • Monitor Sun's momentum as it endeavors to establish a success story around the synergy of open source and its commercial software and hardware efforts.
(超荒訳)
  • Sunの製品とサービスが広範囲にわたるオープンソース技術へのコミットを含んでいることを理解すること
  • 将来の方向性を深く知り得るためのオープンソースへの投資とそこでのイニシアチブを注意深く見ていくこと
  • オープンソースと商用ソフトウェア、それに加えてハードウェアのシナジー効果によるサクセス・ストーリーを作り上げる活動をしているSunの勢いを見ていくこと

「オープンソースでどうやってビジネスをするんだ!」との疑問に直接答えてくれているわけではないですが、あのGartner がSunをITベンダー界におけるオープンソースのリーダーとして認めてくれた、、というのは、価値があることだと思います。


 

土曜日 5 10, 2008

(for Windows user ) The easiest way to use Ruby on Rails with MySQL : NetBeans6.1 !

Windows ユーザのための「Ruby on Rails をMySQLと共に、最も簡単にインストール/開発環境構築」編

[Summary] Many of developers seems to want to try "Ruby on Rails with MySQL". For windows users, there is the easiest way ---- just install "NetBeans IDE 6.1 with Glassfish and MySQL Bundle". Enjoy RoR life!! :-)

(Translate to English)

片貝さんがMac版のを紹介済みですので、未だに日本人の大部分を占めるWindowsユーザのため、MySQL/GlassFishバンドルインストーラ付属NetBeans6.1をWindows XP にインストールしてみました。

 

step1

インストーラーをスタート


step2 

GlassFish の管理passwordを入れ


step3 

MySQLのroot passwordを入れると


step5 

インストールが開始され、何事もなく終了

 

step7

 WindowsのメニューにMySQLも入ります。

 

MySQL 

次にNetBeansを立ち上げ、"Services"タグからMySQLをスタート

 

GlassFish 

同様にGlassFishもスタートさせることが可能


MySQL 

mysqladmin コマンドで動作を確認


GlassFish 

次に http://localhost:8080 でglassfish が動作しているのを確認


step8

NetBeansからはこのように確認できます。


Ruby_C

さて、RoRの話に戻ります。NetBeans6.1ではRoRを"File"メニューの"New Project"から選んで簡単に作成できるわけですが、途中、上の図のようにRubyインタプリタを選ぶ箇所があります。私の環境では、MRIこと(c)Ruby とJRuby の両方を選べるようにしてありますが、NetBeans では初めからJRubyインタプリタがついてきて、別個にRubyやRails環境を構築����る必要はありません。


mysql

Database を選択する箇所では、MySQLがそのまま選択できるのが、とても幸せです。つまり、Ruby同様、MySQL環境を別個に構築する必要がないわけです。


openssl

ただし、ディフォルトのJRubyの場合、画面のようにOpenSSL のインストールを忘れないでください。


password

一連の入力が終わると、Railsのファイルが一気に生成されますが、database.yml のソースが開かれます。ここでpasswordフィールドに、MySQLインストール時に設定したpasswordをセットする必要があるので(mysqlのrootユーザで利用する場合)、必要に応じてソースを修正します。

 

run_normal

run してみましょう。passwordが正しくセットされ、MySQLにきちんと接続できれば、環境情報を取れるはずです。

 

run_error

一方、passwordや設定が何か間違っていると、上の図のようにエラーメッセージの嵐になります。

 

NetBeans6.1 の(MySQL + glassfish)バンドル版は、(多くの場合)Ruby, Rails, MySQL を今まで別々にインストールしていた手間を考えると、RoRを始めるのがすばらしく簡単になっています。もちろん、既にcRubyの環境を持っていても、問題なく環境を取り込めます。

 流行の"Ruby on Rails"を自宅でこっそりと動かしてみたい方も、是非、お試しください!

 


金曜日 5 09, 2008

Tim said "I love Ruby/JRuby" at the interview by Japanese media

"やっぱり好きなのはRuby/JRuby" by Tim Bray

 

[Summary] Tim Bray was interviewed by Japanese media. The article is here ( yes, it is written in Japanese ! )

(Translate to English)

マイコミジャーナルより。Tim 曰く、

コミュニティはテクノロジを評価する上で非常に重要なポイントだと考えている。RubyおよびRailsのコミュニティは非常に大きく、そしてフレンドリーだ。Rubyを始めようとしたときや、何かわからないことがあったときには、すぐに良いアドバイスをくれる

 
 

水曜日 5 07, 2008

RFacebook bugs : Error messages from Facebook with Ruby on Rails

Ruby on Railsからのエラーメッセージ@Facebook

[Summary] I happened to see bugs at Facebook. It is really built with Ruby on Rails. This is an evidence :-)

(Translate to English)

Facebook はちゃんとRuby on Rails で動いています。誰でもわかります。バグメッセージが、

Please report RFacebook bugs here.

 ですから。。証拠は下のスクリーンショット。

 

matz and Jruby
 

エラーだけを表示すると以下の通り:

undefined local variable or method `request' for #

attribute_methods.rb:205 in method_missing_without_original
/vendor/rails/activerecord/lib/active_record/attribute_methods.rb:205:in `method_missing_without_original'
acts_as_modified.rb:212 in method_missing
/vendor/plugins/acts_as_modified/lib/acts_as_modified.rb:212:in `method_missing'
application_helper.rb:124 in is_https?
/app/helpers/application_helper.rb:124:in `is_https?'
application_helper.rb:59 in profile_image_path_for_user
/app/helpers/application_helper.rb:59:in `profile_image_path_for_user'
user.rb:1216 in set_facebook_profile_box
/app/models/user.rb:1216:in `set_facebook_profile_box'
facebook_controller.rb:13 in index
/app/controllers/facebook_controller.rb:13:in `index'
base.rb:1158 in send
/vendor/rails/actionpack/lib/action_controller/base.rb:1158:in `send'
base.rb:1158 in perform_action_without_filters
/vendor/rails/actionpack/lib/action_controller/base.rb:1158:in `perform_action_without_filters'
filters.rb:697 in call_filters
/vendor/rails/actionpack/lib/action_controller/filters.rb:697:in `call_filters'
filters.rb:725 in run_before_filters
/vendor/rails/actionpack/lib/action_controller/filters.rb:725:in `run_before_filters'
benchmark.rb:293 in measure
/usr/lib/ruby/1.8/benchmark.rb:293:in `measure'
filters.rb:483 in call
/vendor/rails/actionpack/lib/action_controller/filters.rb:483:in `call'
filters.rb:483 in call
/vendor/rails/actionpack/lib/action_controller/filters.rb:483:in `call'
filters.rb:722 in run_before_filters
/vendor/rails/actionpack/lib/action_controller/filters.rb:722:in `run_before_filters'
filters.rb:695 in call_filters
/vendor/rails/actionpack/lib/action_controller/filters.rb:695:in `call_filters'
filters.rb:689 in perform_action_without_benchmark
/vendor/rails/actionpack/lib/action_controller/filters.rb:689:in `perform_action_without_benchmark'
benchmarking.rb:68 in perform_action_without_rescue
/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
benchmark.rb:293 in measure
/usr/lib/ruby/1.8/benchmark.rb:293:in `measure'
benchmarking.rb:68 in perform_action_without_rescue
/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
rescue.rb:199 in perform_action_without_caching
/vendor/rails/actionpack/lib/action_controller/rescue.rb:199:in `perform_action_without_caching'
caching.rb:678 in perform_action_without_apache_combined
/vendor/rails/actionpack/lib/action_controller/caching.rb:678:in `perform_action_without_apache_combined'
query_cache.rb:33 in cache
/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'
query_cache.rb:8 in cache
/vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in `cache'
caching.rb:677 in perform_action_without_apache_combined
/vendor/rails/actionpack/lib/action_controller/caching.rb:677:in `perform_action_without_apache_combined'
response_management_additions.rb:86 in perform_action
/lib/response_management_additions.rb:86:in `perform_action'
base.rb:524 in send
/vendor/rails/actionpack/lib/action_controller/base.rb:524:in `send'
base.rb:524 in process_without_filters
/vendor/rails/actionpack/lib/action_controller/base.rb:524:in `process_without_filters'
filters.rb:685 in process_without_session_management_support
/vendor/rails/actionpack/lib/action_controller/filters.rb:685:in `process_without_session_management_support'
session_management.rb:123 in process
/vendor/rails/actionpack/lib/action_controller/session_management.rb:123:in `process'
base.rb:388 in process
/vendor/rails/actionpack/lib/action_controller/base.rb:388:in `process'
dispatcher.rb:171 in handle_request
/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:171:in `handle_request'
dispatcher.rb:115 in dispatch
/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:115:in `dispatch'
dispatcher.rb:126 in dispatch_cgi
/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:126:in `dispatch_cgi'
dispatcher.rb:9 in dispatch
/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:9:in `dispatch'
rails.rb:76 in process
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.3/bin/../lib/mongrel/rails.rb:76:in `process'
rails.rb:74 in synchronize
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.3/bin/../lib/mongrel/rails.rb:74:in `synchronize'
rails.rb:74 in process
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.3/bin/../lib/mongrel/rails.rb:74:in `process'
mongrel.rb:159 in process_client
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.3/bin/../lib/mongrel.rb:159:in `process_client'
mongrel.rb:158 in each
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.3/bin/../lib/mongrel.rb:158:in `each'
mongrel.rb:158 in process_client
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.3/bin/../lib/mongrel.rb:158:in `process_client'
mongrel.rb:285 in run
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.3/bin/../lib/mongrel.rb:285:in `run'
mongrel.rb:285 in initialize
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.3/bin/../lib/mongrel.rb:285:in `initialize'
mongrel.rb:285 in new
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.3/bin/../lib/mongrel.rb:285:in `new'
mongrel.rb:285 in run
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.3/bin/../lib/mongrel.rb:285:in `run'
mongrel.rb:268 in initialize
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.3/bin/../lib/mongrel.rb:268:in `initialize'
mongrel.rb:268 in new
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.3/bin/../lib/mongrel.rb:268:in `new'
mongrel.rb:268 in run
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.3/bin/../lib/mongrel.rb:268:in `run'
configurator.rb:282 in run
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.3/bin/../lib/mongrel/configurator.rb:282:in `run'
configurator.rb:281 in each
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.3/bin/../lib/mongrel/configurator.rb:281:in `each'
configurator.rb:281 in run
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.3/bin/../lib/mongrel/configurator.rb:281:in `run'
mongrel_rails:128 in run
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.3/bin/mongrel_rails:128:in `run'
command.rb:212 in run
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.3/bin/../lib/mongrel/command.rb:212:in `run'

mongrel_rails:19 in load
/usr/bin/mongrel_rails:19:in `load'

 

火曜日 5 06, 2008

Matz and Ruby Community in Bay Area

Matz and Ruby community traveled for Bay Area last Feb

[Summary] Sorry for delayed report:  Matz and Ruby Community came to Bay Area and had some interesting visits, meetings, TechTalks, etc. During golden week ( Japan's long vacation period from end of April to begin of May), I cleaned my room and PCs, and I found interesting photos. :-)

(Translate to English)

2月下旬、"Matz"こと"まつもと"さんや松江市を中心としたRuby community の皆さんが、西海岸を訪問。昨年に引き続き、Sunの本社にも寄っていただきました。既に"Matzにっき:2/19"にて本人が書いていますが、XMLのパパ、JRuby 兄弟らと共に話の場を持ちました。まつもとさんには、翌日のTechTalk@Google の予行演習を兼ねて(?)、Debianの創始者やSunのエンジニアの前で話をしていただきました。

 連休中、部屋やPCの整理をしていたら、写真がでてきましたので、公開しちゃいます。

 

matz and Jruby
 (Matzのトークに聞き入るJRuby 兄弟(それと私も:-)) )

 

 

(Ruby Communityのみなさん。後方にはSunのエンジニアとともに、Debianの創始者も!!)

 

月曜日 4 28, 2008

NEKOBEAN Flash-- NetBeans community effort from Japan



ねこび〜んの「ネットビースンズトラベル」Flash・・・NBコミュニティ

[Summary] This is the great effort from NetBeans Japan Community. Enjoy this. :-)

(Translate to English)


出た!!ねこび〜んFlash。こちらでお楽しみください。情報は片貝さんのこちらのブログより。

火曜日 3 04, 2008

Guys for another Dynamic Language --- Sun for Python!



2人のPythonエンジニアがSunに入社!!

[Summary] Frank Wierzbicki of the Jython project and Ted Leung of OSAF (and a bunch of other stuff) to help with the Python story at Sun. JRuby, MySQL, then Jython/Python!!

(Translate to English)


JRubyに続いて、今度はJython/Python のエンジニアがSunに集合です。

Sunの"The Official Site for Breaking News and the Latest Information from Sun"に書いてありますが、Pythonの中心人物であるTed LeungJython の中心人物のFrank WierzbickiがSun に3月3日付で入社しましたっ!!

各々のblogでそのあたりを述べています。Ted はここ。Frank はここ

新しい波である、Dynamic Language にSunは本気であることがご理解いただけると思います。先日のMySQLの買収完了に続き、新しい時代のシステム・アーキテクチャに果敢に挑戦するSunです。Javaという技術を生かしながら。

木曜日 1 10, 2008

R&D with Tokyo Univ. : Multiple VM for Ruby and JRuby


東大との共同研究活動を開始:「Fortress上でのスケルトン並列プログラミング手法に基づいたライブラリ開発」と「RubyとJRubyでのマルチVM(MVM)環境の実現」

[Summary] News for Rubyist! Sun Japan delivered the press release that The University of Tokyo and SMI have selected two topics and commenced collaborative research, based on the joint development agreement that was signed in June 2005 to establish a new university-corporate collaboration model. One is about Fortess. Another is about MVM for Ruby and JRuby.
(Translate to English)


新年立て続けに出るニュースリリース。 今回は東大との共同研究。Ruby に関しての箇所を抜き出してみました。

     国立大学法人東京大学(総長:小宮山 宏、以下東京大学)とサン・マイクロ システムズ株式会社(本社:東京都世田谷区、代表取締役社長:末次 朝彦、以 下サン)は、新しい産学連携モデルの確立を目指して2005年6月に締結した共同 研究に係る協定書に基づいて2つの研究テーマを決定し、具体的な共同研究に着 手したことを本日発表します。今回の共同研究は、東京大学の価値創造型産学連 携共同研究立案スキーム「Proprius21(プロプリウス21)」を利用して創出され た最初の海外共同研究となります。
     この度、研究を開始したテーマは、次の2つです。

       ① 「Fortress上でのスケルトン並列プログラミング手法に基づいたライブラリ開発」
       ② 「RubyとJRubyでのマルチVM(MVM)環境の実現」
<中略>
    ■ RubyとJRubyでのマルチVM(MVM)環境の実現

       東京大学 大学院情報理工学系研究科 竹内郁雄教授のグループと、米国サン のティム・ブレイ(Director of Web Technologies)およびJRubyのメンバーと の間で、RubyおよびJRuby上でのマルチVirtual Machine (MVM)環境の実現を目指 します。MVM 環境の実現によりRubyプログラムがさらに効率的に実行できること が期待されます。この成果はオープンソースとして公開を予定しており、他の Ruby開発者も含めたコミュニティへと環流するのとともに、更なるイノベーショ ンを生む素地になることが期待されています。
       従来、Rubyで複数アプリケーションを実行すると複数のインタプリタを起動し てしまい、メモリ消費量などに問題がありました。今回共同開発するマルチVMで は1つのインタプリタ上に複数のVMインスタンスを生成することで効率的な実行 を実現します。本共同研究は、MVMを利用するための共通インターフェースの策 定やVMインスタンス間での並列化やメモリ共有など、複数のVMインスタンスの取 り扱いについての技術的課題を明らかにしたうえで、実際にRubyおよびJRubyで 利用できる技術の実現を目指します。商用を含め、さまざまな環境で利用されて いるRubyにおいて、このMVMの研究はさらなる性能や利便性の向上に寄与するこ とになります。
       なお、当共同研究開発の期間は2009年 9月末までの計画で、サンは当初1年間 分の予算として10万ドルを拠出します。サンのJRubyチームと竹内教授のグルー プを研究開発の中心として、さまざまな研究者及びプログラマの関与を促す予定 です。
<後省略>

金曜日 12 28, 2007

KRI: Ruby1.9.0 vs. JRuby1.1 -- Ruby Dead Heat!!


Ruby1.9.0 vs. JRuby : 宿命の(?)スピード対決

[Summary] Kazuya who is working with me did "Ruby1.9.0 vs. JRuby1.1" benchmarks which Charles provided with JRuby1.1 Source. The result is interesting. See this.
(Translate to English)


Sun Japan でWeb2.0系を主にやっている河原君が、Ruby1.9.0 とJRuby1.1b のスピード競争をしてみました。特にオプションもつけず、make時のコンパイルオプションもそのまま。結果だけをみると、

フィボナッチはRuby1.9.0 の勝ち。string オペレーションはJRuby1.1 の勝ち。

いろいろと異論はあるでしょうが、まずは、そくっとやってみた結果です。詳細はこちらをご覧ください。この続きは年明けに。

Ruby 1.9.0 Released and Runs on Solaris10


Ruby1.9.0リリース。Solaris10で動きますっ!!

[Summary] Ruby 1.9.0 was released. Matz, Ko1 and Ruby community, great job!! I downloaded the source and built it. It is running on Solaris 10.
(Translate to English)


予定より遅れること数分(笑)、Ruby1.9.0がリリースされました。まつもとさん、ささださん、そして、コミュニティの皆さん、本当にお疲れさまでした。

さて、ワタクシも、ちと、使ってみようと、source をdownload して、make してみました。ターゲットは・・・・Solaris10!!。そりゃ、Sun の社員ですもの。以下が証拠となります。test も通過。無事に稼働しているのであります。






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
   
       
今日