北森瓦版 - Northwood Blog (Author : 北森四葉. Since July 10, 2006.)
 



第2世代Ryzen Threadripperは32-coreのRyzen Threadripper 2990WXと16-coreのRyzen Threadripper 2950Xがこれまでに発売されているが、残りの2970WXと2920Xが10月29日に解禁されることが明らかにされた。この2モデルの登場により、予定されていた第2世代Ryzen Threadripperのラインナップが完成することになる。

Ryzen Threadripper 2000 series(Zen+ / 12nm / SocketTR4)
コア数
スレッド数
周波数キャッシュTDP
メモリ
Ryzen TR
2990WX
32-core
64-thread
3.00GHz
Boost 4.20GHz
L2=512KB×32
L3=8MB×8
250W$1799
'18/8/13
4ch DDR4-2933
Ryzen TR
2970WX
24-core
48-thread
3.00GHz
Boost 4.20GHz
L2=512KB×24
L3=8MB×8
250W$1299
'18/10/29
4ch DDR4-2933
Ryzen TR
2950X
16-core
32-thread
3.50GHz
Boost 4.40GHz
L2=512KB×16
L3=8MB×4
180W$899
'18/8/31
4ch DDR4-2933
Ryzen TR
2920X
12-core
24-thread
3.50GHz
Boost 4.30GHz
L2=512KB×12
L3=8MB×4
180W$649
'18/10/29
4ch DDR4-2933


またRyzen Threadrippre 2990WX, 2970WXに対して新たにDynamic Locl Modeが追加される。Dynamic Local ModeはRyzen Threadripper WX seriesのようなMany-core processorがシステムで最も重要度の高いアプリケーションスレッドをLocal memory accessが可能なコアで実行できるよう自動的に割り振るものである。Ryzen Threadripper WX seriesでは4つのダイのうち、メモリコントローラが有効化されているのは2ダイとなるため、メモリアクセスにおいて非対称性が生じる(2ダイのみを使用しているX seriesでは起こらない)。それゆえ、少ないスレッドの場合はメモリコントローラが有効なダイで実行した方が性能は伸びる。

Dynamic Local ModeについてAMDのRobert Hallock氏が次のように説明している。

Dynamic Local ModeはWindows 10のバックグラウンドサービスとして実装され、システムのスレッドがどれほどCPUを使用しているかを計測する。そしてCPU使用の高いスレッドから順位付けし、上位のスレッドを自動的にDirect memory accessが可能なCPUコアに割り振る。そして(Direct memory accessが可能な)CPUコアがタスクにより使用されきったら、さらなるスレッドは次にしようなCPUコアで実行される。このプロセスはサービスが実行されている限り持続的に行われ、最もCPU要求の高いスレッドが常にlocal memoryと接続されたコアを優先的に使用できるようにする。

Tom's HardwareにRyzen Threadripper 2990WXを用いてDynamic Local Modeの有無による性能の差を比較したグラフが掲載されており、Dynamic Local Modeを有効にすることにより10~47%の性能向上を見せている。


コメント
この記事へのコメント
161356 
DLMはzeppelin系のアーキテクチャならではの機能なんだよなぁ。漢のCPUと呼ばれるマルチダイCPUを、うまくコントロールした結果だな。ジムケラーと発案者恐るべし。
2018/10/07(Sun) 06:05 | URL | LGA774 #-[ 編集]
161361 
カーネルに内蔵されるような形で適用されるのかな
それともドライバ更新の類か
2018/10/07(Sun) 12:24 | URL | LGA774 #-[ 編集]
161362 
バックグラウンドで動いているcpu使用率の低いソフトウェアの処理は性能の低いコアに投げて、cpu負担の大きいソフトウェアが性能の高いコアに振られるということなのかな、よく考えられてる…
2018/10/07(Sun) 14:23 | URL | LGA774 #-[ 編集]
161367 
32-coreの場合、
16coreがメモリコントローラ無効化されているので、
メモリコントローラ有効化されている16coreを高負荷の処理に回すようにして、
32-coreを最適化させる仕組みだって事ですね。
32人の優秀な兵士が居たとしても、
その中の16人が更に優秀なのだとしたら、
そちらに任務を割り振るという事です。
3万人の軍隊に対して、6万人の軍隊で戦いを挑む場合、
6万人のほうが最適化された軍隊であれば、
数が多い側が有利。
2018/10/08(Mon) 00:05 | URL | LGA774 #-[ 編集]
161385 
 車のデフと同じ。
コーナーリングはスムーズになるが、ストレートでは変わらない。
(よっぽどの不整地じゃない限り)
 兵士にしろ車のタイヤにしろ、最終的には性能の低いほうに全体の限界性能が引っ張られる。
 つまりこの種の最適化技術は専ら省エネの為に使われるべきで、これによって性能が向上したと謳うべきものではない。
2018/10/09(Tue) 04:59 | URL | LGA774 #u3MRTyDc[ 編集]
161410 
>161385
確かに、全てのコアがフル回転するベンチマークのような場合は「性能の低い方に全体の限界性能が引っ張られる」。
しかし、実際のワークロードは大小様々。
ARMはbig.LITTLEやDynamIQで、
・重い荷物は大型コアに
・小さい荷物は小型コアに
割り振り、性能向上と省エネを両立させているのでは?
PCには能力差のあるコアがなかったので、Windows10は大きな荷物も小さな荷物も関係なく積んでしまう。途中に待避所を設け、
・重い荷物はメモリ直結コアに
・小さい荷物は直結しないコアに
載せ替えるのがDynamic Local Modeと理解している。
コアの能力差が当たり前になればCoreとAtomの混載も可能になるかも…
2018/10/10(Wed) 17:26 | URL | のび #-[ 編集]
161411 
そういえばARM版Windows10ではどうやって大小のコアを使い分けているんだろう…
2018/10/10(Wed) 17:36 | URL | のび #-[ 編集]
161441 
>161410
スケジューラの挙動としては類似点があるが
DLMは省エネを目的としてるわけではないでしょう。

仮にメモコンの無い方のダイからメモリアクセスしようとしたら
経路が伸びてレイテンシと経路分の消費電力増やすだけだから、
それをなるべく避けるだけ。
積極的に使っても消費電力が減るわけでもなく
パフォーマンスはメモリの遠さぶん確実に低下する。
ならば全部キャッシュに載るような仕事やらせとけってゆう。
2018/10/13(Sat) 11:25 | URL | LGA774 #-[ 編集]
コメントを投稿する(投稿されたコメントは承認後表示されます)
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
https://northwood.blog.fc2.com/tb.php/9539-ce554817
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック