CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
![Rubyによる並列処理システム 「CloudCrowd 0.1.0」リリース](https://cdn-ak-scissors.b.st-hatena.com/image/square/106c7e478be88bc515873fc79870c7b92dd94618/height=288;version=1;width=512/https%3A%2F%2Fcodezine.jp%2Fstatic%2Fcommon%2Fimages%2Fczlogo4fb_ogp.png)
多数のTCP接続をハンドリングするサーバを書くなら、1コネクション1スレッドのモデルではなく、epollやkqueueのようなイベント駆動型のI/O多重化を行うべきだ、と言われます。だが、そのような主張は、「C10K問題」が書かれた2002年から7年経過した今でも有効なのでしょうか? echoサーバを書いて、ベンチマークを取ってみることにしました。 ふたつのグラフは、いずれも接続数とスループットの関係を表しています。最初のグラフは、全接続がアクティブに通信した場合、あとのグラフは、全接続のうち小数のコネクションが順次アクティブになっていく、というモデルです。これらのグラフから、以下ようなことが読み取れます。 epoll も per-thread モデルも、良くスケールする epoll は、ワークセットが小さい場合に (最大50%) per-thread モデルよりも高速 少なくとも、1コネ
第1回 並列処理を体感してみよう 株式会社フィックスターズ 浅原 明広 2009/7/8 CPUの周波数の高速化競争が頭打ちになり、1コアにおける処理能力は限界となった。CPUの進化がマルチコア化に向かった結果、並列コンピューティングの門戸が開かれた(編集部) CPUの動作周波数が毎年のように改善され、ソフトウェアが放っておいても速くなったのは、古き良き時代の話。 Intel CPUの周波数が4GHzに近づいた2004年ごろからは、消費電力や発熱量の増加が、いわゆる“Power Wall”という深刻な問題として立ちふさがり、CPUの動作周波数は頭打ちとなりました。 変わってCPUの進化は、演算コアの増加という形で現れるようになってきています。つまり、CPUコアの動作周波数はまったく変わらないか、むしろ若干遅くなる傾向にあるため、1コアで動作するシーケンシャル(Sequential:逐次処理
はじめに 本連載ではPOCO(C++ Portable Components)というオープンソースのC++用クラスライブラリを紹介してきました。今回は、POCO::Foundationライブラリの締めくくりとしてスレッド関連のクラスを説明します。応用例としては、Worker Thread(ワーカースレッド)パターンを用いたサンプルコードをとりあげます。ワーカースレッド・パターンは、参考資料で紹介されているデザインパターンです。これまでの記事POCO::Netライブラリによる組み込みWebサーバの実装5分で使えるLoggingフレームワーク - POCO::Foundation -テキスト処理もPOCOにおまかせPOCO流ファイル処理あれこれ 対象読者 オブジェクト指向を理解し、ネイティブC++のクラスライブラリを活用できる方を対象としています。必要な環境プラットフォーム POCOは、多様な
http://lucille.atso-net.jp/svn/angelina/algo/lock-free/ [EN] Here’s my implementation of Simon Doherty, Maurice Herlihy, Victor Luchangco and Mark Moir, Bringing practical lock-free synchronization to 64-bit applications. PODC 2004. pp. 31–39. http://www.cs.brown.edu/research/projects/transactional_memory.html – [JP] 64-bit 対応な lock-free queue を実装してみました。 この論文の特徴は、 o 64-bit 対応 o スレッド数をあらかじめ知ら
Box 1910, Brown University 115 Waterman St., 4th Flr Providence, RI 02912 (401)863-7600 voice (401)863-7657 fax dept@cs.brown.edu Directions Research Project: Transactional Memory Hardware and softward approaches to scalable multiprocessor synchronization Project status: Active Publications Cole, C., and Herlihy, M. Snapshots and Software Transactional Memory. Science of Computer Programming
最近,並列計算(parallel computing)や分散計算(distributed computing)の話題をよく見かけるようになってきました。Peer to Peer(P2P)のアプリケーションとして広く知られるSETI@home,Mac OS XのXgridなどのグリッド・コンピューティング(grid computing),複数のプロセサを持つマルチプロセサ(multi-processor)や複数のプロセサ・コアを持つマルチコア(multi-core)のコンピュータ,様々な並列/分散処理を直接サポートしたプログラミング環境――こうした技術がパソコンや家庭用ゲーム機といった身近な環境で使われるようになっています。注目を集めているプログラミング言語Erlangや米Googleの分散処理システムであるMapReduceのような「並列/分散プログラミングでの煩雑さを解消するための技術」
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く