出来た! 2
2008年06月13日00:51
出来た! ムチャムチャうれしい!
... だけど、これだけじゃ何がすごいのか他の人にわからないんだよな...。
解説:
これは僕が今作っている並列処理HTTPアプリケーションサーバーのテスト結果で50件検索して50件「スカ」が無かったことを表すものです。
スカというのは、僕が勝手に命名した現象です。 ちまたによくある直列処理のアプリは、1、2、3と処理があったら必ず1、2、3と処理が進むのです。 ところが、並列処理だと、パソコンの忙しさに影響されて、2、1、3 という風な順番で処理が進んでしまうことがあるのです。 そうやって順番が狂うと、コーヒーが出てからおもむろに紙コップが出てくるノロマなコーヒー自動販売機みたいに、コーヒーが飲めなくなってしまうのですが、問題は、 並列処理ではそういう処理の前後関係を正しくするのがとても困難なことです。
普段正しく動作しているのに、パソコンが忙しくなると、順番が変わってしまうということで、たまにしかこの現象って起こらないのです。 使っている人にすれば、4~5回に1回ぐらい 空白のページが表示されるので、まるでおみくじのスカのようです。 だから 「スカを引く」と僕はよんでいます。
なんでそんなめんどくさい並列処理などという方法を使ってプログラムを組むかというと、直列処理よりもずっと効率がいいからです。 mixi では 3000万人会員数がいたら、3000万人分のデータを1つのコンピューターで処理しなければなりません。 これはとても大掛かりなハードウェアが必要でメンテナンスも大変です。 (厳密に言うと話はそう簡単ではないのですが、ここでは簡略化します。)
でも並列処理でプログラムを作れば、関連のある人同士だけで処理を完結させることが出来るので、システム全体の規模拡大する上とても有利なのです。 (厳密には、これを並列処理ではなく分散処理と呼びます。 並列処理は分散処理の基礎技術なのです。)
もう2年ぐらいこういうことをやっていますが、ようやく並列処理でプログラムを組む時のノウハウがたまってきました。 これなら本にできるかな。
... だけど、これだけじゃ何がすごいのか他の人にわからないんだよな...。
解説:
これは僕が今作っている並列処理HTTPアプリケーションサーバーのテスト結果で50件検索して50件「スカ」が無かったことを表すものです。
スカというのは、僕が勝手に命名した現象です。 ちまたによくある直列処理のアプリは、1、2、3と処理があったら必ず1、2、3と処理が進むのです。 ところが、並列処理だと、パソコンの忙しさに影響されて、2、1、3 という風な順番で処理が進んでしまうことがあるのです。 そうやって順番が狂うと、コーヒーが出てからおもむろに紙コップが出てくるノロマなコーヒー自動販売機みたいに、コーヒーが飲めなくなってしまうのですが、問題は、 並列処理ではそういう処理の前後関係を正しくするのがとても困難なことです。
普段正しく動作しているのに、パソコンが忙しくなると、順番が変わってしまうということで、たまにしかこの現象って起こらないのです。 使っている人にすれば、4~5回に1回ぐらい 空白のページが表示されるので、まるでおみくじのスカのようです。 だから 「スカを引く」と僕はよんでいます。
なんでそんなめんどくさい並列処理などという方法を使ってプログラムを組むかというと、直列処理よりもずっと効率がいいからです。 mixi では 3000万人会員数がいたら、3000万人分のデータを1つのコンピューターで処理しなければなりません。 これはとても大掛かりなハードウェアが必要でメンテナンスも大変です。 (厳密に言うと話はそう簡単ではないのですが、ここでは簡略化します。)
でも並列処理でプログラムを作れば、関連のある人同士だけで処理を完結させることが出来るので、システム全体の規模拡大する上とても有利なのです。 (厳密には、これを並列処理ではなく分散処理と呼びます。 並列処理は分散処理の基礎技術なのです。)
もう2年ぐらいこういうことをやっていますが、ようやく並列処理でプログラムを組む時のノウハウがたまってきました。 これなら本にできるかな。
コメント一覧