タグ

pthreadとthreadに関するmasterqのブックマーク (16)

  • is OpenBSD 10x faster than Linux?

    Here’s a little benchmark complements of Jann Horn. It’s unexpectedly slow on Linux. OpenBSD is so fast, I had to modify the program slightly to measure itself, as the time utility is missing sufficient precision to even record nonzero. All it does is create one extra thread, then both existing threads create 256 sockets. What’s so hard about that? #include <pthread.h> #include <unistd.h> #include

  • Using TLA+ in the Real World to Understand a Glibc Bug

    Using TLA+ in the Real World to Understand a Glibc Bug by Malte Skarupke TLA+ is a formal specification language that you can use to verify programs. It’s different from other formal verification systems in that it’s very pragmatic. Instead of writing proofs, it works using the simple method of running all possible executions of a program. You can write assertions and if they’re not true for any p

    Using TLA+ in the Real World to Understand a Glibc Bug
    masterq
    masterq 2020/11/06
    やはりPlusCalを使っている。PlusCalではラベルとラベルの間はアトミックとのこと。便利。鍛錬をつめば誰もがここまで注意深く実装をTLA+に翻訳できるものなのだろうか。
  • Condvar in std::sync - Rust

    masterq
    masterq 2018/10/19
    Rustさん条件変数もあるんですね。。。生pthreadみたいな闇は、、、ないんですよね?
  • メモリアロケーションとコンテキストスイッチの関係 - keigoiの日記

    OCamlのコンテキストスイッチのタイミングを調べた。 OCaml では OSネイティブのスレッド (pthread) を使える。 しかし、OCamlのランタイム内で同時に走るネイティブスレッドは1だけ、という制限がある。OCamlはスレッドセーフなGCを備えていないためだ。 スレッドはプログラムを構造化して書くために使うツールと割り切ろう、ということらしい。 OCamlの(シングルスレッドの)高いパフォーマンスの代償だろうか。 いずれコンカレントGCはサポートされるだろうと期待するけれど*1、待ってられないので現在の話を考えよう。 動機 : スレッドのコンテキストスイッチの頻度 OCamlで書いたバイナリとCやJavaを協調動作させるとき、この1スレッド制限がどう効いてくるのかすこし気になっている.たとえば 1つのスレッドが OCaml側で走っているときに C to OCaml のコー

    メモリアロケーションとコンテキストスイッチの関係 - keigoiの日記
    masterq
    masterq 2012/09/02
    これは悲しいおしらせ。。。
  • ホーア論理 - Wikipedia

    この記事の正確性に疑問が呈されています。 問題箇所に信頼できる情報源を示して、記事の改善にご協力ください。議論はノートを参照してください。(2016年4月) 疑問点:トリプルの定義からすでに通常の定義と異なっている。例もおかしい ホーア論理(ホーアろんり、英: Hoare logic)とは、公理的意味論の立場でプログラムの正当性について厳密に推論するために第一階述語論理を拡張した形式論理の言語を言う。 プログラムの正しさを証明するためのロバート・フロイドによる流れ図に関する方法[1]を基に、計算機科学者のアントニー・ホーアによって提案された[2]。

    masterq
    masterq 2011/10/27
    うん全然知らない。。。 #orz
  • Phactory: Pythonでのスレッドの使い方(サンプルソース)

    Posix準拠のプラットフォームではpthreadがサポートされています。 Pythonのスレッドはこのpthreadを使っているので、pthread環境下では ネイティブスレッドを使用できます。当然Linux系の環境ならば使用可能です。 Pythonでのスレッド実装方針は大きく2つあります。 一つはthreading.Threadクラスをオーバーライドしてスレッド体の実装を実現する方法で、 もう一つはスレッド実行したい関数をコールバック登録する方法です。 より原始的なクラスthreadもありますが、threadingクラスがほとんど全ての機能を 内包しているのでこちらがお勧めです。 (注)threadクラスを使うメリットの一つとしては、明示的にスレッド処理を停止する exit()メソッドが提供されている点にありますが、あまりスレッドの原理を知らない人が スレッドを任意のタイミン

  • そろそろvolatileについて一言いっておくか - yamasaのネタ帳

    先月、CBUGとわんくまの勉強会にて、アトミック変数とかメモリバリアとかvolatileとかについて話をしてきました。 ちょっと遅くなりましたが、そのときの講演資料を一つにまとめたので、ここで公開しておきます。あと、補足記事も追加していってます。 volatileの実装の詳細について C++0xのメモリバリアについて(その1) C++0xのメモリバリアについて(その2) Double-Checked Lockingについて そろそろvolatileについて一言いっておくかView more presentations or Upload your own.

    そろそろvolatileについて一言いっておくか - yamasaのネタ帳
    masterq
    masterq 2009/09/18
    スレッドによる並列実行の場合の排他について。 C言語でvolatileしても実行順を制御できる訳ではない。
  • Designing Multithreaded Programs in C++0x

  • POSIX Threads (pthreads) for Win32

    Current release: 2.9.1 (2012-05-27) See the ANNOUNCEMENT and NEWS for details. Pthreads-w32 release 1.11.0 (2005-06-04) was the last series 1.x.x version! (Version 1.11.0 is a back-port of the 2.7.0 functionality and bug fixes. See the NEWS file inside the package for more information.) What is this project about? The POSIX 1003.1-2001 standard defines an application programming interface (API) fo

  • Matzにっき(2007-04-28)

    << 2007/04/ 1 1. エープリルフール 2. [Ruby] オブジェクト指向機能を取り除いた Ruby-- が登場!? 2 1. [教会] セミナリー1日目 2. LMLML 3. [Ruby] 最速配信研究会 - なんだかいろいろ申し訳ない気分になった話 4. [Ruby] Headius: ActiveRecord 100%, Performance Doubling, Java Support Improving 3 1. [Ruby] Bitwise Magazine:: What's Right With Ruby? 2. [OSS] オープンソースソフトウエアがビジネスの成長を加速 3. Passion For The Future: なぜ株式投資はもうからないのか 4 1. [Ruby] Rails 1.2と1.1、速いのはどっち? - Railsbenchによる

    masterq
    masterq 2007/05/07
    どっちにしてもややこしそーなんですが。。。
  • Threads FAQ

    This FAQ started off life in 1996 as the FAQ for the Usenet newsgroup comp.programming.threads. After maintaining it for about 18 months, I took an extended—okay, eight years is quite extended—leave of absence, but I then dusted it off and returned it to a sort of active duty from beyond the grave. It survives here only for historical curiosity, as it is very much not as a source of current inform

    masterq
    masterq 2007/03/27
    参考になります。 特に"Mixing threads and signals [Unix]"が。 やっぱりsigwait()使えよですよね。
  • TenQuestionsWithJoeArmstrong - 並列プログラマに 10 の質問 - Joe Armstrong さんの場合

    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

  • TheC10kProblem - 「C10K問題」(クライアント1万台問題)とは、ハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする問題のこと

    TheC10kProblem - 「C10K問題」(クライアント1万台問題)とは、ハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする問題のこと 目次 この文書について C10K 問題 関連サイト まず読むべき I/O フレームワーク I/O 戦略 1. 各スレッドが複数のクライアントを受け付ける. そしてノンブロッキング I/O と レベル・トリガ型の完了通知を利用する. 伝統的な select() 伝統的な poll() /dev/poll kqueue() 2. 各スレッドが複数のクライアントを受け付ける. そしてノンブロッキング I/O と 変更型の完了通知(readiness change notification)を利用する. kqueue() epoll リアルタイム・シグナル fd 単位のシグナル (Signal-per-fd)

    masterq
    masterq 2007/03/20
    過負荷時の挙動と、並列動作手法について
  • FreeBSD SMPngが完了、性能が劇的に改善 | スラド

    2000年から続けられていたFreeBSDの次世代SMP対応プロジェクト、通称SMPngが完了し、劇的な性能改善を実現したようだ。 Kris Kennaway氏の実験結果によると、同じ8コアの amd64 システム上において、最新のLinuxカーネルと、ULEスケジューラに更にパッチをいくつか当てた 7.0-CURRENTの両方でMySQLのトランザクション/秒を計測したところ、クライアント数が 8 までならばLinuxの方が僅かに上回るが、それ以上になると今回改良されたFreeBSDのパフォーマンスが勝ることが分かった。特に14クライアントを越えた後のLiunxは無惨な結果となり、1スレッド並にまで性能が劣化するが、FreeBSDはそれ以降も安定した性能を発揮できたという(グラフ)。

  • 西川善司の3Dゲームファンのための「ロスト プラネット」グラフィックス講座

    【10月16日】 ゲームオン、「ゲームオンフェスタ2008」 ステージプログラム公開。シークレットイベントも実施 セガ、DS「カルドセプトDS」 公式全国大会のWi-Fi予選を12月1日より開始 スクエニ、AC「ロード オブ ヴァーミリオン」 全国大会「OVER the LORD〜第1章 狂宴への招待状〜」開催決定 サイバーステップ、WIN「ゲットアンプドX」 アップデートに伴いタイトル名も変更 「三國志 Online」参戦記 〜「部曲砦」の巻〜 「涼州動乱」第2弾実装! 新要素「砦造り」を体験 カプコン、PS3/Xbox 360「ストリートファイターIV」 プレーヤーキャラとしてさくらと豪鬼が登場 バンダイナムコ、Wii「FRAGILE 〜さよなら月の廃墟〜」 TGS2008 トレイラー公開 ジークレスト、WIN「紡がれた運命 -Chain of Destiny-」 先

  • Lock-freeとWait-freeアルゴリズム - Wikipedia

    Lock-freeとWait-freeアルゴリズムとは、共有データにロックをかけてアクセスを防ぐアルゴリズムとは違い、複数のスレッドが同時並行的に、ある対象データを壊すことなしに読み書きすることを可能にするアルゴリズムである。Lock-free とはスレッドがロックしないことを意味しており、全てのステップにおいてシステムが必ず進行する。これはLock-free ではミューテックスやセマフォといった、排他制御のためのプリミティブを使ってはならないことを意味する。なぜならロックを持っているスレッドの実行が中断した場合、全体の進行を阻止しうるからである。Wait-free とは、他のスレッドの動作に関係なく、スレッドがいかなる操作も有限のステップで操作を完了させられることを指す。あるアルゴリズムがLock-freeであるがWait-freeでないことはありうる。Wait-free なアルゴリズム

    masterq
    masterq 2006/12/27
    勉強しておかないと
  • 1