タグ

concurrent programmingに関するrgfxのブックマーク (2)

  • 第3回 業務の境界や並列性を見極め処理を分割

    第3回と第4回では、Asakusaを使ったバッチ処理アプリケーションの設計方法について解説する。Asakusaでは、Batch DSLで記述する「バッチ」、Flow DSLで記述する「ジョブフロー」と「フロー部品」、Operator DSLで記述する「演算子」という三つの階層で、アプリケーションを構成する。 なお今回解説する設計技法は、Hadoopへの依存度を極力なくすことを意図している。Hadoopへの依存度が高いと、設計者がHadoopをマスターする必要があり、開発規模を拡大する足かせになるからである。以降は「クラウド時代の非同期処理設計の一般技法」と捉えてもらっても差し支えない。 有向非循環グラフ「DAG」を使って開発する Asakusaでの設計では、DAG(Directed Acyclic Graph)を用いる。DAGは、図1に示したような有向非循環グラフのことである。処理を表す頂

    第3回 業務の境界や並列性を見極め処理を分割
    rgfx
    rgfx 2011/03/30
    「その作業は分担して人海戦術を取った場合に人数分だけ早く終わりますか」という質問を投げる、と。
  • 真夜中のSTMトーク

    kumagi @kumagi_bot 原始的なSTMのおはなし。STMは複数の箇所の書き換えをatomicに行えるが一体どうやってるのか、今の段階でうろ覚えしながら書きます。 2011-03-25 01:11:36 kumagi @kumagi_bot CASは1wordしか書き換えれないのになんでアトミックに複数箇所を書き換えれるのか、平たく言うとそれはオブジェクトそのものをCASで書き換えるのではなく、各スレッドの状態をCASで書き換えるから。 2011-03-25 01:13:33 kumagi @kumagi_bot どのようにしてそのような面妖な仕組みを生み出したかというとこれまたコンピュータ界の格言である「間接参照はすべての問題を解決する」そのものであり、STMにはその間接参照という魔法が2つもかけられている。 2011-03-25 01:14:41

    真夜中のSTMトーク
    rgfx
    rgfx 2011/03/25
    Software transactional memory話。
  • 1