What is Kilim? Kilim is a message-passing framework for Java that provides ultra-lightweight threads and facilities for fast, safe, zero-copy messaging between these threads. It consists of a bytecode postprocessor (a "weaver"), a run time library with buffered mailboxes (multi-producer, single consumer queues) and a user-level scheduler and a type system that puts certain constraints on pointer a
従来は高級サーバーでしか採用されていなかったマルチCPU/マルチコアが、一般的なPCにも普及しつつある。このようなマルチCPU/マルチコア環境において、高速に動作するアプリケーションを開発するために注目されているのが「並列化」技術である。本記事では、この並列計算の基本的な考え方やそのメリット、利用できるライブラリなどについて紹介する。 ソフトウェアをより高速に動作せたい、というのはすべてのソフトウェア開発者にとって共通の悩みだろう。ユーザーにとって、高速なソフトウェアは作業効率が向上するだけでなくコスト削減にもつながる。そして、ソフトウェアを高速に動作させるための技術として現在注目を浴びているのが「並列化」である。 並列処理という概念自体は、さほど新しいものではない。スーパーコンピュータを用いたHPC(High-Performance Computing)の分野では、従来から高速化のために
晴天の価値 2月中旬に出張で千葉へ行った。5日間の滞在中はずっと快晴で、気温は20℃に迫る春のような暖かさだった。仕事は朝から晩まで現場を走り回る過酷なもので、身体的にも精神的にも追い込まれた。毎朝、京葉線から見える美しい景色を眺めて正気を保っていた。太平洋へ燦々と…
思いは言葉に。 はてなブログは、あなたの思いや考えを残したり、 さまざまな人が綴った多様な価値観に触れたりできる場所です。
Oracle Coherenceは ミッションクリティカルの常識を変えた! 大量データをインメモリに展開し 高信頼性と高可用性を実現する “ミドルウェア・データグリッド” リアルタイム性と信頼性の両立が求められるミッションクリティカルなシステムを運用するうえで、最近特に問題となっているのがデータ処理に関するボトルネックだ。アプリケーションサーバに急激なアクセスが集中した場合、こうした部分がSPoF(単一障害点)となりかねない。また、大量のメモリ空間を確保するために導入されるSMP構成の大規模サーバは、初期コストの増大を招く。 こうした悩みに答えるのが「Oracle Coherence」だ。低コストなIAサーバでミドルウェア層にインメモリ・データグリッドを構築し、高速レスポンスと高いスケーラビリティを実現する。今回はその導入効果を中心に解説し、次回では詳細なアーキテクチャを明らかにする。 オ
これまでCPUはムーアの法則に従って高速化してきたが、今後、CPUは高速化よりも並列化が進む。「これまでは動作の遅いプログラムでも、来年には高速に動くというのが常識でした。しかし、これはもはや現在の状況には当てはまりません」。サン・マイクロシステムズでWebテクノロジー関連のディレクターを務めるティム・ブレイ(Tim Bray)氏は、近い将来にプログラマが直面する問題は、CPUのコア数が増えてハードウェアの並列化が進むのに対して、現在使われている言語の多くで並列プログラミングのサポートが十分でないことだという。 「UltraSparc T1では8コア32スレッドの並列処理が可能です。IBMやAMD、インテルもCPUのコアの数を増やしつつあります。JavaEEを使えばスレッドサポートによる並列化の恩恵にあずかれますが、そうでない言語も多くあります」。 ブレイ氏は、こうした問題に対して2つの方
TenQuestionsWithJoeArmstrong - 並列プログラマに 10 の質問 - Joe Armstrong さんの場合 目次 この文書について 並列プログラマに 10 の質問 - Joe Armstrong さんの場合 並列プログラマに 10 の質問 - Joe Armstrong さんの場合 この文書について "Ten Questions with Joe Armstrong about Parallel Programming and Erlang" の日本語訳です。 添削歓迎: タイポ、訳語不統一、そのほか ... この記事は "並列プログラミングのアイドルに突撃インタビュー!" シリーズの第一弾です. 今日のお相手は Joe Armstrong さん. プログラミング言語 Erlang の父です. いまは Ericsson で働いています. Ericsso
Lock-freeとWait-freeアルゴリズムとは、共有データにロックをかけてアクセスを防ぐアルゴリズムとは違い、複数のスレッドが同時並行的に、ある対象データを壊すことなしに読み書きすることを可能にするアルゴリズムである。Lock-free とはスレッドがロックしないことを意味しており、全てのステップにおいてシステムが必ず進行する。これはLock-free ではミューテックスやセマフォといった、排他制御のためのプリミティブを使ってはならないことを意味する。なぜならロックを持っているスレッドの実行が中断した場合、全体の進行を阻止しうるからである。Wait-free とは、他のスレッドの動作に関係なく、スレッドがいかなる操作も有限のステップで操作を完了させられることを指す。あるアルゴリズムがLock-freeであるがWait-freeでないことはありうる。Wait-free なアルゴリズム
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 スレッド数をあらかじめ知ら
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く