クラウドコンピューティング ~ EC2、Mosso、GoGrid
クラウドコンピューティングのプロバイダーであるEC2、Mosso、GoGridの新しいユーザーエクスペリエンスと、それぞれの機能の違いについて学びます。
作者 Werner Schuster, 翻訳者 編集部 投稿日 2008年5月21日 午後6時34分
OODBベンダーのGemStoneは「MagLev」というRuby VMに(サイト・英語)取り組んでいる。InfoQはMagLevプロジェクトの詳細についてプロジェクトマネジャーのBob Walker氏と、同じく同プロジェクトに関わっているAvi Bryant氏に(source)話を聞いた。まずはWalker氏の話から。MagLevとGemstone/Sは確かに多数のコードと機能を共有していますが、VMレベルを含めて両者は別個の製品です。MagLev VMが使っている多数のバイトコードとアルゴリズムはRuby特有のものになっています。しかし、Smalltalkのコードを動作させる能力は保持しています。
専任でない者も含めると、約8名がMagLevに取り組んでいます。実のところ今は予定についてお話しできませんが、RailsConfでは少しお話しできると思います。
私たちの目標はRubiniusプロジェクトの目標に似ており、パフォーマンスに影響される数個のプリミティブを除き、標準ライブラリの全メソッドをRubyに実装することです。VMはCで記述しています。
はい、VM用のバイトコードを作成しています。このバイトコードはいくつかのアーキテクチャでネイティブコードを任意で作成できます。
私たちは多数のパーサーから内部表現に翻訳できるので、それを使ってコンパイレーションします。最終製品に同梱するパーサーについては、まだ決めていません。
Rubinius bmのスクリプトとテストを使って、Ruby実装の様々なパフォーマンス数値を収集しています。それから、進化し続けるRuby標準とMagLevのAPIレベルの互換性を約束する上で何が役立つかを確認するために、MSpec実装やスクリプト、テストに注目してきました。とは言っても、この他いくつかのRuby実装でも同様のことを試しています。Rubiniusとは、最終的には可能な限りたくさんの標準ライブラリコードを共有できればと思っています。
生の性能よりも、スケールに焦点を当てています。他の実装と比較した場合、パフォーマンスで断然有利と思いますが、スケールに強いアーキテクチャこそが最も興味深い差別化要因であると確信しています。
個々のVMには単純なユーザー空間スレッドがあります。しかし、複数のVMは同一オブジェクトへトランザクションで同時アクセスできるため、最終的にはm対nモデルに似たものとなります。
とても興味深い質問で、私たちも真剣に考えているところです。私たちの計画では、MagLevは間違いなくRails可能/互換になります。その過程で非常に多くの潜在的な(そして実際の)了解事項に遭遇するでしょうから、達成は容易ではありません。Railsに取り掛かる前に、完全にRubyで動作可能でなければならないと、私は考えています。代替案も検討中で、おそらく、Rubyで書かれたものならどんなものでもサポートできるようになるでしょう。何を、どんな順番で行うかの優先順位づけについては、Rubyコミュニティからのフィードバックや関心によって大半が決定します。
MagLev DBでActiveRecordを使用可能にすることは、非常に価値ある目標ですが、ActiveRecordのAPIにはオブジェクト状態をSQLベースのRDBに格納すると想定する部分が存在するため、これが難題となる可能性があります。とにかく、ActiveRecord下にいかなるAPIを用意したとしても、ActiveRecordを使いたくない方々はそのAPIを利用できるようになるだろうと思われます。この件に関してこれ以上お話しするのは時期尚早であり、コミュニティにとってどのようなタイプのアプローチが一番有益であるかを、コミュニティが教えてくれたらありがたいと思っています。
ドロップイン代替物としてのMagLevの使用は間違いなく可能でしょう。イメージベースのアプローチを好まれる方々には、そうしたサポートもありますが、利用を強制するものではありません。
一言で言えば、できます。たとえば、GLASS製品では現在、エラーのあったプロセスをリポジトリに保存でき、後でそれを引っ張り出してローカルのVMでデバッグできます。同じことをRubyでできない理由はありません。
現在、様々なモデルを検討中です。MagLevでも同様になるでしょう(が、保証はできません)。
もちろん、IRBシェルや、MagLev上でRubyコードを動作させるためのRuby様のコマンドになる予定です。IDEプラグインも希望していますが、GUIツールが現実になる時期を憶測するのは危険です。MagLev開発チームは、Rubyコミュニティに手を差しのべ、サポートする心づもりであることをお伝えしたく、また、コミュニティの皆さんがMagLevへ貢献したくなるような理由を見つけてくださることを願っています。GemStoneは、動的言語やスケーラブルなバーチャルマシン、ネイティブ言語のオブジェクト持続性を得意分野としています。ツールやUIを得意とする方々は他に多数いらっしゃり、そうした方々のMagLevに向けた尽力を私たちは喜んでサポート致します。
MagLev VMはRubyを理解する以外にも、Smalltalkを完全に理解できます。相互作用させる可能性はかなり高いと言えますが、後戻りできないところまで進んでしまう前に、相互作用が望まれている機能で、コミュニティの役に立つかを検討したいと思います。
RubyにSmalltalkの技術とノウハウを応用せよと、私はSmalltalkのベンダーに何年もロビー活動を行ってきましたが、それがようやく現実となり、わくわくしています。MagLev実装を始めて3ヵ月足らずですが、これまでの成果で非常に自信がつきましたし、RailsConfではすばらしいデモをお見せします。RailsConfまで、残念ながら詳細は教えられませんので、Confでご覧ください。
Bryant氏は最近のブログで、Gemstoneのソリューションと、memcachedb や同様の技術を用いてRailsプロジェクトで構築したソリューションを比較することにより、GemstoneのようなOODBの利点を紹介している(source)。
Gemstoneはどうでしょうか。偶然にもアーキテクチャはまったく同じで、単一の記憶エンジン(「ストーン」という)とサーバー毎にメモリーキャッシュ(「共有ページキャッシュ」)、多数のSmalltalk VMのワーカープロセス(「ジェム」)があります。ジェムが要求を処理してコードを実行し、スピードを求めてオブジェクトをページキャッシュに置き、また、持続性を求めてストーンにしまいます。Gemstoneでの違いは、すべてが可能な限り迅速かつシームレスに連携するように、ゼロから設計されているところです。
注記:ブログではさらに掘り下げ、ソリューションや異なるアプローチについて詳細にわたる概要を説明している。
GemStoneは、5月のRailsConf 2008において、MegLevの詳細を披露する予定である(source)。
原文はこちらです:http://www.infoq.com/news/2008/04/maglev-gemstone-builds-ruby
セキュアなIT基盤と付帯運用サービス”SecureOnline”
UTI 不合格なら再受験無料!秋のチャレンジキャンペーン実施中
InfoQ Japanはコンポーネントスクエアが運営しています
クラウドコンピューティングのプロバイダーであるEC2、Mosso、GoGridの新しいユーザーエクスペリエンスと、それぞれの機能の違いについて学びます。
パート2では、ベンチマークの結果を検証するために用いられるテクニックについてさらに深く見ていきたいと思います。最後に、「なぜプロセッサが異なるとロックのコストも大きく異なるのか」と言う真の疑問に答えます。
本稿では、Stefan Tilkov氏が「RESTful」な設計であると主張するアプリケーションに見受けられる最も一般的なアンチパターンのいくつかについて説明し、それらを避けるための方法を提案しています。
Sven Efftinge氏、Peter Friese氏とJan Köhnlein氏が、MDDを取り入れて成功した経験から、ベストプラクティスの解説を行います。
Our panel of leading experts explores some of the challenges and thought processes that go into making their apps as scalable and performant as possible.
この記事は、Spring 2.5で導入されたアノテーションを探究する3部作の第2弾です。Web層におけるアノテーションのサポートを扱います。最後の論文では、統合と検査で利用できる追加機能を説明する予定です。
私は「浴衣」を着てパーティーに参加したことで、たくさん声を掛けていただけました。 そこで感じたことは、このカンファレンスが人との繋がりを生み出し、また言葉の壁を越えて積極的に交流する場所であることです。民族衣装はそれらを助けてくれるものでした。きっとこの交流が、新たなムーブメントをアジア圏の仲間たちにも与えてくれると確信しています。
No comments
返信