トップスポーツチームの監督に教わる秘訣
この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。
作者 Niclas Nilsson, 翻訳者 編集部 投稿日 2007年8月24日 午前12時45分
コンピューティングの未来は並列処理の時代となるだろう。 今日デスクトップCPUでさえもマルチコアであり、またユーザー達はサーバ用のCPUを次々と購入している時代でありまた彼らの新たな財産を最大限に利用するためアプリケーションが効率よくスケールアウトすることをが期待されているのだ。しかしそれは現在のソフトウェアシステムでは実現しないのだ。
その問題自体が難しいことなのだが、同言語内の他の抽象性に比べると通常プログラミングに使用されている言語の並列性メカニズムが低いことに関してはなんの助けにもならない。
Ralph Johnson氏はErlangが次世代のJavaに成りえることに関してブログを記載している。 Erlangは基本的にインタープロセスコミュニケーションにおいて異なる考え方をするものでありまたRalphはErlangスタイルの並列性は容易に他の言語に追加することができることができても競合の問題が発生する。
近い将来他の言語がErlangに追いつくことはないだろう。 Erlangのような言語機能を追加するのは簡単なことなのだ。 そのような高品質のVMや並列性、信頼性のための熟練したライブラリを構築するのには大変な時間を要するのだ。だからしてErlangには成功する道しか残されていないのだ。 この先数年間でマルチコアアプリケーションを作りたければErlangに目を向けるべきである。
そして他のフリーの機能がもっとあるかもしれない。 Erlangの開発者であるJoe Armstrongはスケーラビリティ、誤作動許容性、そしてランタイムアップグレーダブルシステムへの挑戦は同じ解決策を有していると述べている。 彼はこれらの問題が異なる種のものであっても :
”誤作動許容は簡単にスケーラブルにすることができるし簡単に作られているのでサービス内でアップグレードすることができるのだ。”と述べている。
Armstrong氏は誤作動発見とステーブルストレッジ用の機能をElrangが所有していることを認めている。Erlangはテレコムシステムによって作られたものであるのでこれらの見解は全て重要になってくるのだ。そしてEricssonは99.9999999%のアップタイムでErlangを開発したのだ。 それは1年で31msのダウンタイムという計算になる。
The Erlangはシェアードステートを所有していることによってではなく、主要な言語とはことなる並列性を引き受けている。 プロセスはとても軽量なものでもしも一つのプロセスが他のプロセスとコミュニケートするとすればメッセージングによってそれは行われる。 このアーキテクチャはプロセス、またはスレッド間でシェアードメモリを使用しているシステムと異なる方法でシステムをスケールアウト、また配布することを可能にしている。並列性に関するこの考え方に関してもっと深く掘り下げるにはSlava Akhmechet氏著の入門書を読むと良いだろう。(ただしErlangに関する知識は必要となる。)
もしかすると他の方法で並列性問題にとりかかる時期なのかもしれない。もしかすると新しい言語を学ぶ時期でさえあるのかもしれない。
InfoQ Japanはコンポーネントスクエアが運営しています
セキュアなIT基盤と付帯運用サービス”SecureOnline”
ITマネージャ必聴!IT活用セミナー 勝ち残りの法則~管理・統合化スペシャル~
この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。
Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。
マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。
Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。サブミッションが選択された人、そうでない人も含めて、個々の目的意識の確認、膨大なプログラムから聞きたいセッションの選択、旅行の準備、プレゼンテーションの準備の期間を終えて、無事当日を迎えました。
筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。
エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。
この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。
No comments
返信