問題タブ [false-sharing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
510 参照

c++ - C++ OpenMP での「偽共有」を避ける

マトリックスに対していくつかの反復を並列化しようとしています。

行列は 1D 配列に保存され、メモリ内に連続したデータを保持します。

「データ」に数値が入力された後、次のようにマトリックスにインデックスを付けます。

その後、列ごとに計算を行う必要があるため、すべてのスレッドに列を割り当てて行列の反復を並列化します。

マトリックスセルが書き込まれるとキャッシュデータが無効になる「偽共有」の問題に遭遇したと思います。

どうすればこの問題を解決できますか?

0 投票する
1 に答える
429 参照

java - Java パディング パフォーマンス バスティング

こんにちはみんな、私はこのコードを手に入れました

}

したがって、実行すると約11秒かかりますが、qa1のコメントを外すと3秒で実行されます。インターネットで何かを見つけようとしましたが、十分な情報が得られませんでした。私が理解しているように、それはJVMの最適化と関係があり、長いq1はおそらくメモリ(またはキャッシュ)の分散をいくらか改善します。私の質問はいずれにせよ、誰かがそれについてもっと読むことができる場所を知っていますか. ありがとう

0 投票する
1 に答える
1026 参照

c - パディングを使用して誤った共有を防止する

大きな行列の合計を計算したいのですが、現在、複数のスレッドを使用しても単一のスレッドを使用してもパフォーマンスの向上は見られません。問題は偽共有に関連していると思いますが、構造体にパディングも追加しました。ぜひご覧ください!

0 投票する
1 に答える
474 参照

c++ - 保護されたメンバー変数の誤った共有?

検討:

ミューテックスまたは保護された変数のいずれかが連続して格納され、キャッシュ時にキャッシュ ラインを共有する場合、一種の「クロスロック」が発生する可能性がありますか?

もしそうなら、ミューテックスが保護する変数の直後 (または前) にミューテックスを宣言するのは良い習慣ですか?

クラスをstd::hardware_destructive_interference_size( P0154 ) に揃えると、この影響を回避できる場合があります。オブジェクトをオーバーアラインメントする価値がある潜在的な利点はありますか?