タグ

Threadに関するGlnのブックマーク (9)

  • スレッド・並行プログラミング/ マルチコア・並列プログラミングを学びはじめるためのN冊 - laiso

    読みたいのリストを作ってる(いくつかは購入済み)。 なんかおすすめあったら教えてください。 でもこういうのってリスト作って仕事した気になって満足してしまう。 並列と並行 学びはじめる前なんだから当然よくわかってはいないんでけど、並列と並行処理の違いは以下で認識してる parallel と concurrent、並列と並行の違い - 当は怖い情報科学 parallel と concurrent 、並列と並行の覚え方 - まめめも (追記) 孫引きなんだけど「コーディングを支える技術 171P」に「プログラミング言語の概念と構造」から引用した記述があった ここでは並行→プログラミング上の概念、並列→ハードウェアレイヤーの話となっていますね。 並列処理・並行処理がプログラミングに必要な理由 マルチコアを生かしたパフォーマンスの向上 大規模なデータの処理 GUIアプリケーションのユーザビリティ

    スレッド・並行プログラミング/ マルチコア・並列プログラミングを学びはじめるためのN冊 - laiso
  • node.js と thread hog の話(3)

    [前回までの話へのリンク] ・node.js と thread hog の話(1) ・node.js と thread hog の話(2) では、なぜ今頃になって HTTP Server の c10k 問題(もしくは、thread hog 問題)が顕在化したのだろう。 当時(90年代の終わり頃)と比べて、もっとも大きく変わったのはCPUの性能である。クロック数は、数百MHzから数GHzへと一桁増えたし、マルチコア化もしている。CPU 性能だけ見れば、当時の数十倍の能力が出てしかるべきである。 しかし、実際の人生はそう簡単ではない。サーバーのパフォーマンスはCPU性能だけが決めるわけではないからだ。そこで、ボトルネックの一つとして注目されはじめたのが、thread の数なのである。 前回述べた様に、thread 一つあたり 2MB~8MB のスタック領域を仮想メモリ空間に確保しなければならな

  • node.js と thread hog の話(1)

    ここ数日、 node.js で色々と作りはじめているのだが(node.js が一番力を発揮するのは、xmpp server や、push notification server のようにソケットを開きっぱなしにして非同期通信をするケースだと思うのだが、それについては来週のメルマガで詳しく解説する)、これで思い出すのが Microsoft 時代の「"thread hog" 退治」だ。 "thread hog" とは私が作った造語で、"memory hog" (メモリをやたらと使うプログラムのこと)と同じように、thread を不必要に作るプログラムのこと。 最初に出会った thread hog は、Microsoft が作っていた proxy server だった。コネクションが1000を超すとやたらと遅くなり、しまいには落ちてしまうという欠点を持っていたため、一時は「出荷出来ないところか、

  • 第5回 multiprocessingモジュールによるプロセス間通信 | gihyo.jp

    multiprocessingモジュール multiprocessingモジュールは、Python2系列では2.6以降、3系列では3.0以降に標準となったモジュールです。このモジュールはthreadingモジュールに似たAPIでプロセス間通信などの機能を提供します。このモジュールにより、GILの問題を回避することができ、複数のCPUCPUコアの性能を生かすことができます。また、このモジュールはローカルのみならず、リモートでのプロセス間通信も行うことが可能で、簡単に分散処理などを実装することができます。 まず、GIL(Global Interpreter Lock)とはPythonのインタプリタ上で一度に1つのスレッドだけが動作するよう保証するためのロックです。このロックによって、同時に同じメモリにアクセスするスレッドが存在しないことを保証します。 しかしながら、このロックによって、一度に

    第5回 multiprocessingモジュールによるプロセス間通信 | gihyo.jp
  • 後藤弘茂のWeekly海外ニュース

    GPUによって大きく異なるマルチスレッディングの実装 NVIDIAは、次世代GPU「GeForce 8800(G80)」を発表した。G80はさまざまな新テクノロジ、新アプローチを取り込んでいるが、その中で目立たないながらも重要なのはマルチスレッディング機能の拡充だった。Shader時代のGPUにとってマルチスレッディングはキーテクノロジだからだ。 マルチスレッディングは、GPUのパフォーマンスを大きく左右する。特にUnified-Shader型アーキテクチャになると、マルチスレッディングがGPU性能のカギとなる。条件分岐などを多用する高度なシェーダプログラムや、物理シミュレーションのような非グラフィックス処理のプログラムでは、マルチスレッディングが特にそうだ。 GPUでマルチスレッディングが重要となるのは、GPU内部がプログラマブルな演算ユニットであるProgrammable Shade

  • OBB vs AABB - Radium Software Development

    iPhoneの一般修理店は予約なしでも来店できる? 基的には飛び込みで修理に行ってもOK iPhoneを置いていたソファにうっかりと腰かけてしまい、パネルを割ってしまった、こんな時はスマホの一般修理店へ行きましょう。画面割れは、スマホやタブレットの故障原因として非常に多いものです。予約なしで突然お店に行っても平気かしらと、不安に思う方々もいらっしゃるかもしれません。結論としては特に問題はなく、予約なしで訪問しても画面割れの修理はお願いできます。 ただし他のサービス業のお店同様、予約なしの場合、お店が混雑していると順番待ちをしなければいけないです。特に繁盛しているスマホ修理のお店だと、行列が店内で出来ており、予約なしだと、自分の順番が巡ってくるまで長時間待たされる可能性があります。平日の朝、昼なら利用客が少ない場合が多く、飛び込みでも比較スムーズに修理が頼めます。 予約は入れた方が時短に、

  • 高木浩光@自宅の日記 - ギャー! 訂正

    ■ ギャー! 訂正 ギャー! やってしまった orz。16日の日記掲載のプログラムはバグっていた。java.util の新しい方のコレクションクラスは synchronized じゃないのを思い出し、どのくらい影響があったか task.log からノードの重複を除いて計数したところ、相当な数のノードがダブっていたもよう。 以下の通り訂正。実行時間やグラフ形状がどう変化するかはまだ不明。 16日の日記の実験結果ノード数 誤: 389,288 → 正: 200,036 17日の日記の実験結果1つ目のノード数 誤: 388,994 → 正: 201,619 17日の日記の実験結果2つ目のノード数 誤: 343,001 → 正: 199,316 17日の日記の実験結果3つ目のノード数 誤: 581,856 → 正: 224,453 この結果はネットエージェント7月3日発表のノード数よりかなり少ない

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • Lock-Free Algorithm, CriticalSection, IHostCrst - NyaRuRuが地球にいたころ

    スレッド化で「普通は」気をつけるべきこと 「高木浩光@自宅の日記」より. ギャー、ここも杜撰だった。(モニタリング用のコードとはいえ。) int connectionTriedCount = 0; int handshakeSucceededCount = 0; int extractionSucceededCount = 0; connectionTriedCount++; handshakeSucceededCount++; extractionSucceededCount++; java.util.concurrent.atomic.AtomicInteger を使ってみよう。 import java.util.concurrent.atomic.AtomicInteger; ... AtomicInteger connectionTriedCount = new AtomicInt

    Lock-Free Algorithm, CriticalSection, IHostCrst - NyaRuRuが地球にいたころ
  • 1