こんにちは
5月15日に、
「Javaでのマルチコアプログラミング」コースの最初のウェビナー(16のうち)
が開催されました 。 ここで、講義で言及された
資料 、
ソース 、
用語 、
写真 、
課題 へのリンクを公開したいと思い
ます 。 おそらく誰かがそれらを自分自身に役立つと思うでしょう。
また、udemy.comオンライン教育プラットフォームで
Scala for Java Developersコース
を教え
ています(Courser / EdXに似ています)。
はじめに
「鉄」
次のソースで「写真を見る」ことは価値があります
教科書
Maurice Herlihy、Nir Shavit、
「マルチプロセッサプログラミングの技術」 :「ハードウェアの基礎」ページ469-482
「写真」
メモリ階層#1
メモリ階層#2
メモリ階層#3
さまざまなメモリレベルへの一般的なアクセス時間
特定のプロセッサレジスタの例
キャッシュコントローラーの概略的な相互作用
偽共有:コード
偽共有:効果(負のスケーラビリティ)
コア、キャッシュ、データ間の不一致
コア、キャッシュ、データ間の良好な一致
規約
規約CPU、コア、マルチコア時代、メモリウォール、メモリ階層、レジスタ、L1 / L2 / L3キャッシュ、キャッシュライン、偽共有、メモリパディング、キャッシュ汚染、キャッシュミス、SMP、NUMA、マルチソケット、スレッドアフィニティ
用語で読むもの-機械的同情:
「CPUキャッシュフラッシュの誤Fall」-機械的な同情:
「メモリアクセスパターンは重要です」-機械的同情:
「偽りの共有」-機械的同情:
「False Sharing && Java 7」-Ruslan Cheremin:
「偽りの共有」-Ruslan Cheremin:
「キャッシュコヒーレンシ#3:偽共有」-Ruslan Cheremin:
「キャッシュがハッシュに与える影響」講義番号1への割り当て
次のプロセッサ特性を返すユーティリティクラスを(オプションAまたは両方のオプション(AとB)で)作成します。
-キャッシュラインサイズ
-キャッシュの数とサイズ(L1、L2、L3)
-コアの数
-SMPまたはNUMAアーキテクチャを定義します
A)「ソフトウェア実験のセットアップ」。
「Gallery of Processor Cache Effects」の記事を読むことをお勧めします(講義2では、記事の例を分析し、問題を解決する方法を概説します)。
B)オペレーティングシステムのAPI呼び出しに
JNAを使用する
public class HardwareSpy { public int cacheLineSize() {...} public int cacheL1Size() {...}
連絡先
ウェビナー、ビデオ録画、プログラムのソースコード、タスクの検証は、コースに登録した人のみが利用できます。
Javaトレーニングをオンラインで行い(
プログラミングコースはこちら)
、Java Coreコースの再設計
の一環としてトレーニング資料の一部を公開し
ています 。 視聴者の講義のビデオ録画は、
YouTubeチャンネルで見ることができます。おそらく、
この記事ではチャンネルのビデオがより体系化され
ています 。
スカイプ:GolovachCourses
メール:GolovachCourses@gmail.com