Products Processors Accelerators Graphics Adaptive SoCs, FPGAs, & SOMs Software, Tools, & Apps
Products Processors Accelerators Graphics Adaptive SoCs, FPGAs, & SOMs Software, Tools, & Apps
米AMDは8月14日、マルチコアプロセッシングのメリットをより有効に活用できるメカニズムを提供することで、ソフトウェアアプリケーションの性能を向上させる新仕様「Light-Weight Profiling」(LWP)を発表した。LWP仕様は、同社がこのほど発表したイニシアチブ「Hardware Extensions for Software Parallelism」をサポートする初の技術。同イニシアチブはソフトウェアの並列処理能力を向上させる一連の機能をAMDプロセッサに盛り込み、ソフトウェアの性能を向上させることを目的としている。LWPはSun MicrosystemsのJava仮想マシンやMicrosoftの.NET Frameworkなどのランタイム環境にメリットを提供するCPUメカニズムだという。 LWPは、メモリ構成やコードレイアウトなどのテクニックを用いて、同時実行しているタス
スレッド化で「普通は」気をつけるべきこと 「高木浩光@自宅の日記」より. ギャー、ここも杜撰だった。(モニタリング用のコードとはいえ。) 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
どもども。またまた間隔があいてしまいましたがシーケンスロックな話しの続きです。 前回の記事で坩堝さんから面白い指摘をうけたので今回は予定を変更してvolatileの話をしたいと思います。 retをvolatileにするだけではうまくいかないんですよね? どういう風になるんだろ. なるほど、たしかに世のC言語の参考書を見るとvolatileはある種の最適化を妨げる効果を持つと されています。 これだけ見ると、volatileとつけるだけすべての最適化が無効になってうまく動きそうですね。 しかし、その理屈は微妙におかしいのである 多くの人が「ある種の」という言葉を拡大解釈しているがvolatileは本来スレッド同期に使えるようなシロモノではないのである。 つづきは、続きを読むからご覧ください。 あと、お願い。 今回の話は前提知識がいろいろとあるので、末尾のご参考にあげたURLを読んでから 読ん
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "メモリバリア" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2023年7月) メモリバリア(英: memory barrier)またはメモリフェンス(英: memory fence)とは、その前後のメモリ操作の順序性を制限するCPUの命令の一種である。 CPUには、性能最適化策としてアウト・オブ・オーダー実行を行うものがあり、メモリのロード命令やストア命令を含めて順序を入れ替えて実行することがある。この命令の並べ替えは、ひとつのスレッドの中で一般に暗黙のうちに行われるが、マルチスレッドプログラムやデバイスドライバでは慎重に制御しない限り
Lock-freeとWait-freeアルゴリズムとは、共有データにロックをかけてアクセスを防ぐアルゴリズムとは違い、複数のスレッドが同時並行的に、ある対象データを壊すことなしに読み書きすることを可能にするアルゴリズムである。Lock-free とはスレッドがロックしないことを意味しており、全てのステップにおいてシステムが必ず進行する。これはLock-free ではミューテックスやセマフォといった、排他制御のためのプリミティブを使ってはならないことを意味する。なぜならロックを持っているスレッドの実行が中断した場合、全体の進行を阻止しうるからである。Wait-free とは、他のスレッドの動作に関係なく、スレッドがいかなる操作も有限のステップで操作を完了させられることを指す。あるアルゴリズムがLock-freeであるがWait-freeでないことはありうる。Wait-free なアルゴリズム
~ ~ nminoru@nminoru.jp http://www.nminoru.jp/~nminoru/ Java VM GC JIT Java IA-64 Web Binary Hacks Binary Hacks #94 CPU Out-of-order load/store Load ( ) Store (Store buffering) (memory ordering) CPU ( ) Binary Hacks #94 Store Buffer Store Store1 Store2 Store3 Load Store buffer Main memory/cache Register Store Buffer Cache Main memory Binary Hacks #94 Pthread mutex IPC semaphore Cmpxchg Lock-free sy
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く