FLAGS

MENU

NOTICE

2008年6月13日金曜日

出来た! 2 (mixi05-u459989-200806130051)

ミクシ内で書かれた旧おかあつ日記を紹介します。
出来た! 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年ぐらいこういうことをやっていますが、ようやく並列処理でプログラムを組む時のノウハウがたまってきました。 これなら本にできるかな。


コメント一覧
 
出展 2008年06月13日00:51 『出来た! 2』

著者オカアツシについて


小学生の頃からプログラミングが趣味。都内でジャズギタリストからプログラマに転身。プログラマをやめて、ラオス国境周辺で語学武者修行。12年に渡る辺境での放浪生活から生還し、都内でジャズギタリストとしてリベンジ中 ─── そういう僕が気付いた『言語と音楽』の不思議な関係についてご紹介します。

特技は、即興演奏・作曲家・エッセイスト・言語研究者・コンピュータープログラマ・話せる言語・ラオ語・タイ語(東北イサーン方言)・中国語・英語/使えるシステム/PostgreSQL 15 / React.js / Node.js 等々




おかあつ日記メニューバーをリセット


©2022 オカアツシ ALL RIGHT RESERVED