タグ

multithreadに関するmogwaingのブックマーク (16)

  • 1024cores - Case Study: MultiLane - a concurrent blocking multiset

    This is about the MultiLane : a concurrent blocking multiset paper. Go and read it first, it's just 4 pages including references and an appendix. Ok, I did not expect that you do that anyway :) It describes a way to improve scalability of a producer-consumer system by means of partitioning. Basically, it presents a way to wrap any producer-consumer queue in order to get a queue with the same prope

    1024cores - Case Study: MultiLane - a concurrent blocking multiset
  • HOWTO: using gprof with multithreaded applications

    What is gprof? gprof is the GNU Profiler, a tool used when tracking which functions are eating CPU in your program. Anyway, you should already be familiar with it if you got interested in this page. One problem with gprof under certain kernels (such as Linux) is that it doesn’t behave correctly with multithreaded applications. It actually only profiles the main thread, which is quite useless. Work

  • 並列アプリケーションを作ってみよう | OSDN Magazine

    インテルのCoreシリーズCPUが登場して以来、マルチコアCPUは爆発的に普及している。現在では比較的低価格なCPUでも複数のコアを搭載するようになり、現在販売されているPCのほとんどはマルチコアに対応しているといっても過言ではない。しかし、まだマルチコアCPUの性能を生かす、並列処理を行っているアプリケーションは多くない。 並列処理は、一般には実装が難しい、という印象があるようだ。確かにスレッドを駆使して処理を並列化する場合、スレッドの管理やスレッド毎の連携など、考慮しなければならないことが増え面倒ではある。しかし、プログラムを並列化するための言語規格「OpenMP」や、C++用の並列化ライブラリ「Threading Building Blocks」といった並列化支援技術を利用することで、プログラムの並列化へのハードルは大幅に低くなる。また、インテルの開発製品「Parallel Stud

    並列アプリケーションを作ってみよう | OSDN Magazine
  • gccにおけるatomic操作命令の個別関数

     gccとVC x86/x64環境で開発する上で, gccとVCはどちらも非常に優れたC/C++コンパイラです. ただLinuxWindowsのどちらの環境でも動作するようなC/C++コードを書くためには, gccとVC, およびそれらが動作するOSの違いが問題になることがあります. ここではそれらの違いについてまとめていきたいと思います. なお説明を簡単にするためにマクロを多用していますが実際には可能なら別の手段をとるか, 名前がぶつからないような命名規則に則ったマクロ名をつけることをお薦めします. 対象 定義済みマクロ 有用なマクロ コンパイルオプション 演算子の代替表現の抑制 日語のコメント 型 pragma attributeとdeclspec ファイル入出力 テキストとバイナリ 巨大なファイル static変数の初期化 snprintf 例外ハンドラ intrinsic関数

  • Java 暗号化拡張機能 JDK5.0

    Java Is the Language of Possibilities Java is powering the innovation behind our digital world. Harness this potential with Java resources for student coders, hobbyists, developers, and IT leaders.

  • libevent and multithread

    mogwaing
    mogwaing 2009/02/01
    You can have multiple threads each with its own event base and everything works fine, though you probably don't want to install signal handlers on more than one thread.
  • Re: [Libevent-users] event_init() and thread safety

  • ソフトウェアトランザクショナルメモリ - Wikipedia

    計算機科学において、ソフトウェアトランザクショナルメモリ(英: software transactional memory, STM)は、データベーストランザクションに似た並行性制御機構であり、並列計算を行う際の共有メモリへのアクセス法である。この機構はロックベースの同期を用いた並行性制御の代替手段として機能し、ノンブロッキングな方法で実装される物もある。ここでいうトランザクションとは、共有メモリに対する一連の読み出しと書き込みを実行するコードを意味する。論理的にはこれらの読み出しと書き込みは、時間的なある一点で行われ、他のトランザクションからはその間の状態は見えない。トランザクションを行うためにハードウェアにサポートさせるアイデア(ハードウェアトランザクショナルメモリ)は、1986年に Tom Knight により論文と特許として出された。そのアイデアを普及させたのが Maurice H

    mogwaing
    mogwaing 2009/01/15
    software transactional memory
  • Getting C++ Threads Right

    Google Tech Talks December, 12 2007 ABSTRACT The advent of multicore processors has generated profound debate on the merits of writing parallel programs with threads and locks. Nonetheless, for many application domains, this remains the standard paradigm for writing parallel programs, and at the moment, there is no apparent universal replacement. And it is the focus of this talk. Somewhat surpr

    Getting C++ Threads Right
  • https://www2.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.pdf

    mogwaing
    mogwaing 2008/12/11
    The Problem with Threads
  • スレッドプログラミング比較(Hishidama's Programming language "thread")

    VBScript [2007-04-06] VB.NET [2006-04-15/2006-07-24] C言語(gcc, WIN32) [2005-01-16/2006-10-18] Visual C++(MFC) [2005-01-16/2006-08-23] Java [2005-01-16/2008-05-19] C# [2006-03-04/2006-07-24] 処理を並行に実行したい場合、1つの処理を1つのスレッド(と呼ばれる単位)に処理させるようにし、1プロセス内で複数のスレッドを並行に(同時に)実行させる。 という機構が最近のコンピューターでは用意されている。 これをマルチスレッドと呼ぶ。(対義語はシングルスレッド)[2008-06-20] →スレッド作成方法 マルチスレッドプログラミング マルチスレッド(複数スレッド)で並列に処理させる場合、同期や排他に気をつける必要が

  • Manpage of PTHREADS

    Section: Linux Programmer's Manual (7) Updated: 2008-08-24 Index JM Home Page roff page 名前 pthreads - POSIX スレッド 説明 POSIX.1 は、一般に POSIX スレッドや Pthreads として知られる スレッド・プログラミングのインタフェース群 (関数、ヘッダファイル) を規定している。一つのプロセスは複数のスレッドを持つことができ、 全てのスレッドは同じプログラムを実行する。 これらのスレッドは同じ大域メモリ (データとヒープ領域) を共有するが、 各スレッドは自分専用のスタック (自動変数) を持つ。 POSIX.1 はスレッド間でどのような属性を共有するかについても定めている (つまり、これらの属性はスレッド単位ではなくプロセス全体で共通である): - プロセス ID

    mogwaing
    mogwaing 2008/12/03
    LinuxThreads 最初の Pthreads の実装。 glibc 2.4 以降は、この実装はもはやサポートされていない。 NPTL (Native POSIX Threads Library) 新しい Pthreads の実装。
  • mp::iothreads - Blog by Sadayuki Furuhashi

    マルチコア時代の高速サーバーの実装で紹介したアーキテクチャを実装しようとすると、アーキテクチャ自体はマルチスレッドなので、ロックだ、メモリ管理だと、いろいろと面倒です。一般化できるなら一般化して、ロジック部分だけを書けば高速なサーバーが実装できるようにしたい。 そこで、面倒なところを実装したライブラリmp::iothreadsを開発しています。高速なイベント駆動ライブラリ mpioをベースとしています。高速さを重視し、C++で実装しています。 スレッド間通信や送信用バッファなどの面倒を見ます。各所でいろいろと"ひとひねり"しています。 まずInputの段階は、 accept(2)する accept(2)したファイルディスクリプタをイベント待ちリストに加える epoll/kqueueなどでソケットが読み込み可能になるまで待つ 実際に読み込む & バッファリングする ストリームパーサでプロトコ

    mp::iothreads - Blog by Sadayuki Furuhashi
  • マルチコア時代の高速サーバーの実装 - Blog by Sadayuki Furuhashi

    特にサーバー用途では、CPUがシングルコアに戻ってくることは考えにくい。 マルチコアCPUの性能を活かすにはマルチスレッドに対応したサーバーの実装が必要になるわけですが、マルチスレッドなプログラミングは往々にして「高負荷になると固まる」とか「たまに落ちる」といった悩ましいバグと戦わなければならず、イヤです。 かといってシングルスレッドでは、近い将来 32コアCPU! などが出てきたとき、たぶん性能を発揮できません。 そこで、そこそこデバッグしやすく、それでいて多コアCPUでもスケールするという落としどころを模索しているのですが、ボトルネックはネットワークIO周りにあるだろう*1という前提の元で、ネットワークIO部分だけをマルチスレッドで動かし、それ以外の部分をシングルスレッドで動かすというアーキテクチャを考えています。 ロジックの部分はマルチスレッドで書いても共有リソースにアクセスする度に

    マルチコア時代の高速サーバーの実装 - Blog by Sadayuki Furuhashi
    mogwaing
    mogwaing 2008/11/02
    server implementation
  • The Problem with Threads | EECS at UC Berkeley

    Edward A. Lee EECS Department University of California, Berkeley Technical Report No. UCB/EECS-2006-1 January 10, 2006 http://www2.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.pdf Threads are a seemingly straightforward adaptation of the dominant sequential model of computation to concurrent systems. Languages require little or no syntactic changes to support threads, and operating systems and

    mogwaing
    mogwaing 2007/05/09
    マルチスレッドの問題
  • twitterブームの陰で注目を集める“Erlang” - @IT

    2007/04/27 “twitter”がブームだ。140バイト以内の短いメッセージで“現在進行形”の自分のステータスをほかのユーザーとシェアするだけのオンラインサービスだが、国の米国はもとより、日でも非常な人気を集めている。Alexaでアクセス数の推移を調べると、今年に入ってから格的にブレークしている様子が分かる。4月22日にはニューヨークタイムズもtwitterと、サンフランシスコ在住の創業者2人を記事で取り上げている。 twitterのコミュニケーションツールとしての新しさ twitterに参加してみると、チャットやメール、SNSといった、既存のコミュニケーションツールのいずれとも異なる、不思議なつながり方が新鮮で楽しい。熱心にメッセージを更新するユーザーを見ていると、CUSeeMe、ICQ、mixiなどが登場したときに人々が示した熱狂に近いものを感じる。 twitterでは、

  • 1