AMD ZEN

 北森瓦版に『“Zen”のEngineering Sampleのスペックがリーク』(7月21日付)という記事が出ていた。URLは、http://northwood.blog60.fc2.com/blog-entry-8642.htmlだ。

 記事の中に、簡単なスペックが出ていた。

==========
◇Zen Engineering Sample for server SP3
  32-core/64-thread *.**GHz/TC 2.90GHz L2=16MB/L3=64MB TDP180W
  24-core/48-thread *.**GHz/TC 2.75GHz L2=12MB/L3=48MB TDP150W

◇Zen Engineering Sample for desktop AM4
  8-core/16-thread 2.80GHz/TC 3.20GHz L2=4MB/L3=16MB TDP95W
  4-core/8-thread 2.80GHz/TC 3.20GHz L2=2MB/L3=8MB TDP65W
==========

というものだが、実際に登場するときは、どのくらいのクロックになっているのだろうか。


 ZENのIPCは現行製品の1.4倍という話があるのだが、その現行製品が何を指しているのかについては、はっきりしない。仮に現行製品が最新型のFXシリーズのことだとしたら、件のEngineering Sampleの2.8GHz時の演算能力は、2.8x1.4で3.92GHzのFXシリーズの演算能力とほぼ同等ということになる。加えてターボでは3.2x1.4で4.48GHz相当ということになるのだから馬鹿にできない。

 FX-4300が3.8/4.0でTDP95W、FX-4350が4.2/4.3でTDP125W、ZENの4コアが2.8/3.2でTDP65Wだが、ZENの4コアモデルはSMTを実装している。8スレッド同時実行が可能だから、6スレッドぐらいからの演算能力は、4コアのFXシリーズを上回りそうだ。

 クロックが2.8GHz止まりということはないだろうから、4コアのZENは4コアのFXシリーズの後継ではなく、6コアや8コアのFXシリーズの後継ではないのかという印象さえある。



 Intel製品との比較もしたいところだが、それにはIPCの差を知る必要がある。手元にある、i5 4670とFX8320Eを3.4GHz固定に調整して、CINEBENCH R15を実行してみた。メモリーは前者が1600MHzで、後者が1866MHzで、ともにスペック上のOCなしの最高クロックのメモリーだ。

 4670は、1スッレドで135cb、4スレッドで522cbだった。
 8320Eは、1スレッドで81cb、8スレッドで554cbだった。

 同クロックでのCINEBENCH R15の1スッレド時のスコアが、IPCの差を反映すると仮定すると、4670は8320Eの1.66(135/81)倍のIPCをもつと推定できる。この値で、3400MHzの4670の演算能力をFXシリーズに換算すると、3400x1.66で5644MHzのFXシリーズに相当するということになる。これをZENのクロックに換算すると、5644/1.4で4031MHzだ。ZENでもIntel製品とのIPCの差をコアクロックで埋めるのは難しそうだ。



 一方マルチスレッドの場合はどうだろうか。これについては、それらしい計算さえできない。ZENの場合の1コア動作時と4コア動作時の演算能力の比率が、分からないからだ。まあ仮定の上での計算はできるわけだから、4670の場合と同様な関係にあるとした場合の計算をしてみた。

 同じ条件を適用してしまうわけだから、4スレッド時の演算能力の違いも1スレッド時のそれと変わらない。同クロックの4670とZENの演算能力は、1.66/1.4で4670がZENを18.5%ほど上回る。先にも記したが、3400MHzの4670の演算能力に相当するZENのクロックは4031MHzということになる。

 8スレッド実行時の演算能力の違いはどうなるだろうか。4670は物理4コア論理4コアのCPUだから4スレッドでも8スレッドでも演算能力は変わらない。一方ZENはSMTを実装しているから物理4コア論理8コアとして動作することになるので、演算能力にはSMTによる増分が加わってくる。SMTによる演算能力の増分が20%(根拠のない適当な数字)とすると、1.4x1.2で1.68となり、8スレッド実行時に限れば、IPCの差は埋まってしまう。同クロックの4コアのZENとi5 4670の演算能力は、4スレッド実行時ではZENが4670より15%下回るが、8スレッド実行時ではほぼ対等の演算能力になるという計算だ。

 このようないい加減な計算について細かいことを言うのはばかげているのだが、この場合では、1から7スレッド同時実行では4670が勝り、ZENが対等になるのは8スレッド以上の同時実行時のみということになる。一方で、5から8スレッドではZENでは同時実行となるが、4670ではタイムスライスによる同時並行処理になるという違いもあり、この点ではZENが優位だろう。


 8コアのZENの計算は控えるが、マルチスレッドでは同クロックのi7に圧勝しそうだ。

 まあ、とらぬ狸の皮算用みたいなもので、お話半分というところなのだが。



 形式的な話になるのだが、SMTによる演算能力の増加分を仮に20%とし、4コアのZENの4スレッド同時実行時の演算能力を仮に4とすると、6スレッド時のそれは以下のように表せる。

1+1+(1*1.2)/2+(1*1.2)/2+(1*1.2)/2+(1*1.2)/2

 合計すると4.4だ。これはSMTなしの場合のZENのクロックを10%アップさせた場合の演算能力と同じだ。8スレッド同時実行時のそれが20%アップになることは言うまでもない。

 先ほどの式を2800MHzのZENのコアクロックに適用すると以下のように表せる。

2800+2800+1680+1680+1680+1680(MHz)

 SMTの実態はこのように表せるものなのだが、実を言うと個人的には問題があると思っていて、i7などには手を出す気にならない。ZENを購入したとしても、SMTは無効にして使用することになるだろう。そうなると、4コアではなく、8コアのものということになるが、価格は4コアのi7をどのくらい超えてくるのだろうか。



 北森瓦版には、『“Zen”は今年第4四半期に限定数が出回り、本格的な出荷は2017年第1四半期』(7月23日付)という記事も出ていた。URLは、http://northwood.blog60.fc2.com/blog-entry-8646.htmlだ。


ブログランキング・にほんブログ村へ

スポンサーサイト

RAMDISK(4)

 FX-8320Eを使用したPCで、RAMDISKをテストしてみた。

 テストしたのは、SoftPerfect ResearchのRamdiskだ。

 Ramdiskのサイズは768MBで、ファイルシステムはNTFSだ。


 使用したPCの構成
==========
CPU AMD FX-8320E
Mother Board GIGABYTE 970-GAMING
Memory Kingston 2x4GB DDR3 1866MHz
SSD Crucial CT256MX100 256GB SATA
HDD WDC WD10EZEX 1TB SATA
ATAPI PIONEER DVD-RW DVR-212
Graphics Palit GTX950 GDDR5 2GB
PowerSupply Antec Seasonic SSR-450RM(80PLUS Gold)
Display 1xDVI 1920x1080+1xHDMI 1920x1080
PS/2 KeyBoard
USB Mouse
Windows8.1 64bit

8320Eは、固定の4000MHzにクロックアップしている。
==========


(1)SoftPerfect ResearchのRAMDISKの場合。メモリーはDual Channel構成。


970 gaming 4000fix nb2200 q16t1 seq tm crop
 これは16Q/1Tでシーケンシャルの場合だ。CPUの使用率の履歴のコア#0に、山が二つあるが、左側がリード時で、右側がライト時のものだ。


970 gaming 4000fix nb2200 q16t1 random tm crop
 これは16Q/1Tでランダム4Kの場合だ。CPUの使用率の履歴のコア#0に、山が二つあるが、左側がリード時で、右側がライト時のものだ。


970 gaming 4000fix nb2200 q16t2 seq tm crop
 これは16Q/2Tでシーケンシャルの場合だ。1Tの場合との、スコアの違いがわかるはずだ。CPUの使用率の履歴のコア#0と#1に、山が二つづつあるが、左側がリード時で、右側がライト時のものだ。


970 gaming 4000fix nb2200 q16t2 random tm crop
 これは16Q/2Tでランダム4Kの場合だ。1Tの場合との、スコアの違いがわかるはずだ。CPUの使用率の履歴のコア#0と#1に、山が二つづつあるが、左側がリード時で、右側がライト時のものだ。


970 gaming 4000fix nb2200 q16t4 seq tm crop
 これは16Q/4Tでシーケンシャルの場合だ。1T、2Tの場合との、スコアの違いがわかるはずだ。CPUの使用率の履歴のコア#0から#3に、山が二つづつあるが、左側がリード時で、右側がライト時のものだ。


970 gaming 4000fix nb2200 q16t4 random tm crop
 これは16Q/4Tでランダム4Kの場合だ。1T、2Tの場合との、スコアの違いがわかるはずだ。CPUの使用率の履歴のコア#0から#3に、山が二つづつあるが、左側がリード時で、右側がライト時のものだ。


970 gaming 4000fix nb2200 q32t8 seq tm crop
 これは32Q/8Tでシーケンシャルの場合だ。1T、2T、4Tの場合との、スコアの違いがわかるはずだ。CPUの使用率の履歴のコア#0から#7に、山が二つづつあるが、左側がリード時で、右側がライト時のものだ。


970 gaming 4000fix nb2200 q32t8 random tm crop
 これは32Q/8Tでランダム4Kの場合だ。1T、2T、4Tの場合との、スコアの違いがわかるはずだ。CPUの使用率の履歴のコア#0から#7に、山が二つづつあるが、左側がリード時で、右側がライト時のものだ。


 CrystalDiskMarkのスコアを比較できるようにまとめると以下のようになる。

シーケンシャルの場合。数値の並びは、16Q1T、16Q2T、16Q4T、32Q8Tの順で、()内は指数化した値。

(リード)_3452(100)_4136(119)_3476(100)_3384(98)
(ライト)_3379(100)_4473(132)_4790(141)_4662(137)

ランダムの場合。数値の並びは、16Q1T、16Q2T、16Q4T、32Q8Tの順で、()内は指数化した値。

(リード)_553.2(100)_708.3(128)_1012(182)_1165(210)
(ライト)_444.4(100)_570.3(128)_868.7(195)_1061(238)



(2)比較

 SoftPerfect ResearchのRamdiskをi5 4670を使用したPCで使用したの場合、SoftPerfect ResearchのRamdiskをFX-8320Eを使用したPCで使用した場合、Radeon RAMDISKをFX-8320Eを使用したPCで使用した場合を比較してみた。4670の場合のデータは以前の記事のRAMDISK(2)から引用した。Radeon RAMDISKの場合のデータは以前の記事のRAMDISK(3)から引用した。ここでは、SoftPerfect ResearchのRamdiskを(S)と、Radeon RAMDISKを(R)と表記する。


シーケンシャルのリードの場合。数値の並びは、16Q1T、16Q2T、16Q4T、32Q8Tの順で、()内は指数化した値。

(S)(8320E)_3452(100)_4136(119)_3476(100)_3384(98)
(S)(4670)_8438(100)_9824(116)_8784(104)
(R)(8320E)_2860(100)_4007(140)_4464(156)_4898(171)

(S)(8320E/4670)_0.41_0.43_0.40_0.39(3384/8784)
(8320E)(S)/(R)_1.20_1.03_0.78_0.69

 (S)と(R)ではスコアの傾向が異なる。(S)の場合は1T<2T>4T>8Tという関係になるようだ。(R)の場合は1T<2T<4T<8Tという関係だ。


シーケンシャルのライトの場合。数値の並びは、16Q1T、16Q2T、16Q4T、32Q8Tの順で、()内は指数化した値。

(S)(8320E)_3379(100)_4473(132)_4790(141)_4662(137)
(S)(4670)_10713(100)_15639(145)_15780(147)
(R)(8320E)_3008(100)_4738(157)_7840(260)_10508(349)

(S)(8320E/4670)_0.32_0.29_0.31_0.30(4662/15780)
(8320E)(S)/(R)_1.12_0.95_0.61_0.45

 (S)と(R)ではスコアの傾向が異なる。(S)の場合は1T<2T<4T>8Tという関係になるようだ。(R)の場合は1T<2T<4T<8Tという関係だ。

 
ランダムのリードの場合。数値の並びは、16Q1T、16Q2T、16Q4T、32Q8Tの順で、()内は指数化した値。

(S)(8320E)_553.2(100)_708.3(128)_1012(182)_1165(210)
(S)(4670)_1685(100)_2375(140)_3765(223)
(R)(8320E)_398.9(100)_543.9(136)_832.6(208)_1052(263)

(S)(8320E/4670)_0.33_0.30_0.28_0.31(1165/3765)
(8320E)(S)/(R)_1.38_1.30_1.21_1.10


ランダムのライトの場合。数値の並びは、16Q1T、16Q2T、16Q4T、32Q8Tの順で、()内は指数化した値。

(S)(8320E)_444.4(100)_570.3(128)_868.7(195)_1061(238)
(S)(4670)_1454(100)_1944(133)_3765(258)
(R)(8320E)_337.6(100)_457.4(135)_716.8(212)_981.5(290)

(S)(8320E/4670)_0.31_0.30_0.23_0.29(1061/3765)
(8320E)(S)/(R)_1.36_1.24_1.21_1.08



 RAMDISKで、あれこれしてみたわけだが、いろいろ違っていて面白い。

 これらを実際に使用してみると、スピードという点での違いは判らない。スコアの違いはあるが、どのRAMDISKも十分に速い、あるいは必要以上に速いということだろう。


 記事にはCPUの使用率のグラフをつけてある。興味があったら比較してみるのも面白いはずだ。


ブログランキング・にほんブログ村へ

RAMDISK(3)

 FX-8320Eを使用したPCで、RAMDISKをテストしてみた。

 テストしたのは、AMDのRadeon Ramdiskだ。

 Ramdiskのサイズは768MBで、ファイルシステムはNTFSだ。


 使用したPCの構成
==========
CPU AMD FX-8320E
Mother Board GIGABYTE 970-GAMING
Memory Kingston 2x4GB DDR3 1866MHz
SSD Crucial CT256MX100 256GB SATA
HDD WDC WD10EZEX 1TB SATA
ATAPI PIONEER DVD-RW DVR-212
Graphics Palit GTX950 GDDR5 2GB
PowerSupply Seasonic SSR-450RM(80PLUS Gold)
Display 1xDVI 1920x1080+1xHDMI 1920x1080
PS/2 KeyBoard
USB Mouse
Windows8.1 64bit

8320Eは、固定の4000MHzにクロックアップしている。
==========


(1)Radeon RAMDISKの場合。メモリーはDual Channel構成。


970 gaming 4300cpb nb2200 q16t1 seq tm crop
 これは16Q/1Tでシーケンシャルの場合だ。CPUの使用率の履歴のコア#0に、山が二つあるが、左側がリード時で、右側がライト時のものだ。


970 gaming 4300cpb nb2200 q16t1 random tm crop
 これは16Q/1Tでランダム4Kの場合だ。CPUの使用率の履歴のコア#0に、山が二つあるが、左側がリード時で、右側がライト時のものだ。


970 gaming 4300cpb nb2200 q16t2 seq tm crop
 これは16Q/2Tでシーケンシャルの場合だ。1Tの場合との、スコアの違いがわかるはずだ。CPUの使用率の履歴のコア#0と#1に、山が二つづつあるが、左側がリード時で、右側がライト時のものだ。


970 gaming 4300cpb nb2200 q16t2 random tm crop
 これは16Q/2Tでランダム4Kの場合だ。1Tの場合との、スコアの違いがわかるはずだ。CPUの使用率の履歴のコア#0と#1に、山が二つづつあるが、左側がリード時で、右側がライト時のものだ。


970 gaming 4300cpb nb2200 q16t4 seq tm crop
 これは16Q/4Tでシーケンシャルの場合だ。1T、2Tの場合との、スコアの違いがわかるはずだ。CPUの使用率の履歴のコア#0から#3に、山が二つづつあるが、左側がリード時で、右側がライト時のものだ。


970 gaming 4300cpb nb2200 q16t4 random tm crop
 これは16Q/4Tでランダム4Kの場合だ。1T、2Tの場合との、スコアの違いがわかるはずだ。CPUの使用率の履歴のコア#0から#3に、山が二つづつあるが、左側がリード時で、右側がライト時のものだ。


970 gaming 4300cpb nb2200 q32t8 seq tm crop
 これは32Q/8Tでシーケンシャルの場合だ。1T、2T、4Tの場合との、スコアの違いがわかるはずだ。CPUの使用率の履歴のコア#0から#7に、山が二つづつあるが、左側がリード時で、右側がライト時のものだ。


970 gaming 4300cpb nb2200 q32t8 random tm crop
 これは32Q/8Tでランダム4Kの場合だ。1T、2T、4Tの場合との、スコアの違いがわかるはずだ。CPUの使用率の履歴のコア#0から#7に、山が二つづつあるが、左側がリード時で、右側がライト時のものだ。


 CrystalDiskMarkのスコアを比較できるようにまとめると以下のようになる。

シーケンシャルの場合。数値の並びは、16Q1T、16Q2T、16Q4T、32Q8Tの順で、()内は指数化した値。

(リード)_2860(100)_4007(140)_4464(156)_4898(171)
(ライト)_3008(100)_4738(157)_7840(260)_10508(349)

ランダムの場合。数値の並びは、16Q1T、16Q2T、16Q4T、32Q8Tの順で、()内は指数化した値。

(リード)_398.9(100)_543.9(136)_832.6(208)_1052(263)
(ライト)_337.6(100)_457.4(135)_716.8(212)_981.5(290)



(2)機種間での比較

 i5 4670を使用したPCの場合との比較をまとめた。4670の場合のデータは、前記事のRAMDISK(2)から引用した。

シーケンシャルのリードの場合。数値の並びは、16Q1T、16Q2T、16Q4T、32Q8Tの順で、()内は指数化した値。

(8320E)_2860(100)_4007(140)_4464(156)_4898(171)
(4670)_6551(100)_8629(131)_8022(122)

(4670/8320E)_2.29_2.15_1.79_1.63(8022/4849)

シーケンシャルのライトの場合。数値の並びは、16Q1T、16Q2T、16Q4T、32Q8Tの順で、()内は指数化した値。

(8320E)_3008(100)_4738(157)_7840(260)_10508(349)
(4670)_6060(100)_10224(168)_19714(325)

(4670/8320E)_2.01_2.15_2.51_1.87(19714/10508)

ランダムのリードの場合。数値の並びは、16Q1T、16Q2T、16Q4T、32Q8Tの順で、()内は指数化した値。

(8320E)_398.9(100)_543.9(136)_832.6(208)_1052(2.63)
(4670)_1085(100)_1601(147)_2805(258)

(4670/8320E)_2.71_2.94_3.36_2.66(2805/1052)

ランダムのライトの場合。数値の並びは、16Q1T、16Q2T、16Q4T、32Q8Tの順で、()内は指数化した値。

(8320E)_337.6(100)_457.4(136)_716.8(208)_981.5(2.63)
(4670)_936.6(100)_1360(145)_2455(261)

(4670/8320E)_2.77_2.97_3.24_2.50(2455/981.5)



 CrystalDiskMarkは、HDDなどのベンチマークだが、それをRAMDISKに適用すると、RAMDISKソフトのベンチマークという性格を帯びてくる。HDDなどとは違い、RAMDISKが主記憶上に構築され、アクセスは100%ソフトウェアで行われるから、ベンチマークの性格が変化してしまうのは避けられない。

 同じRAMDISKソフトを、別の機械上で使用した場合になると、CrystalDiskMarkは、今度はPCの処理の能力のベンチマークという性格を帯びてくる。

 そのようなわけで、8320Eと4670場合のスコアを並べてみたわけだが、結構な差がついている。通常のベンチマークより遥かに差が大きい。はたして、CrystalDiskMarkのスコアを、このような比較に用いるのが妥当なのかどうか、疑ったほうが良いのかもしれないという印象もある。


 「こんなデータの並べ方をしておいてそれはないだろう」、という話にもなるが、妥当ではない可能性がかなりあると考えている。

 その理由を、論理的に展開するのは、非常に困難なので、とりつきやすい切り口を、以下に提示しておく。


 RadeonのRAMDISKソフト(以下RAMDISKソフトとする)は、どのように開発されたのだろうか?

(イ)開発に使用した機械は、IntelのCPUが使われていたのだろうか?--->おそらくイエス。

(ロ)開発の過程で、処理の高速化の努力をしたのだろうか?--->おそらくイエス。

(ハ)IntelのCコンパイラを使用したのだろうか?--->可能性は結構あるはずだ。

(ニ)AMDのCPUの場合についてはどう考えていたのだろうか?

 この程度で十分だろう。


 Intelの機械で開発し、高速化の努力をするということは、IntelのCPUで処理スピードを確かめ、処理スピードが速くなるように改良するということだ。どうしても、Intel向きなものに仕上がっていくことになる。

 IntelのCコンパイラは、IntelのCPUに最適化したオブジェクトを出力するように設計されている。ライブラリーも同様な性格を持っている。これを使用すると、自動的にIntelのCPUで実行すると効率よく動作するソフトが出来上がるということになる。

 AMDにとっては、迷惑な話だろう。



 結論めいたことを言うと、前記事のRAMDISK(2)の場合のように、同じPC上で異なるRAMDISKソフトの能率を比較するためにCrystalDiskMarkを使用することは問題ないが、異機種上で同一のRAMDISKソフトについてCrystalDiskMarkを使い、それを機種間の処理能力の比較に用いるのは問題があるということになる。


 断わっておくが、AというRAMDISKソフトが高速に動作する機械が知りたいのだという場合に、CrystalDiskMarkを使用することを否定するわけではない。しかしながら、それで見つけ出した機械で、例えばBゲームをした時どうなのか、ということに対しては参考になるかもしれないし、ならないかもしれないと言っておきたいだけだ。


 最後になったが、AMD Radeon RAMDISKソフトウェアは、Dataram Corporationの製品だということを付け加えておく。


ブログランキング・にほんブログ村へ

RAMDISK(2)

 RAMDISKをテストしてみた。

 テストしたのは、AMDのRadeon Ramdiskと、SoftPerfect ResearchのRamdiskだ。

 Ramdiskのサイズは768MBで、ファイルシステムはNTFSだ。


 使用した機器の構成
==========
i5 4670 Intel
Z87-G45 Gaming MSI
2x4GB DDR3 1866MHz Kingston
GeForce GT710 2GB DDR3 Zotac
WD10EZEX 1TB HDD WDC
BH14NS48 BD-RE LG
EA-500D(80PLUS Standard) ANTEC
Display 1xVGA 1920x1080
PS/2 Keyboard
USB マウス
Windows7 64bit

BIOSで、EISTをDisabledにしている。(コアクロックは固定の3400MHzになる。)
==========


(1)RADEONのRAMDISKで、メモリーがDual Channel構成の場合。

amd z87-g45 dualmem q16 t1 seq
 これは16Q/1Tでシーケンシャルの場合だ。CPUの使用率の履歴のコア#0に、山が二つあるが、左側がリード時で、右側がライト時のものだ。


amd z87-g45 dualmem q16 t1 random
 これは16Q/1Tでランダム4Kの場合だ。CPUの使用率の履歴のコア#0に、山が二つあるが、左側がリード時で、右側がライト時のものだ。


amd z87-g45 dualmem q16 t2 seq
 これは16Q/2Tでシーケンシャルの場合だ。1Tの場合との、スコアの違いがわかるはずだ。CPUの使用率の履歴のコア#0と#1に、山が二つづつあるが、左側がリード時で、右側がライト時のものだ。


amd z87-g45 dualmem q16 t2 random
 これは16Q/2Tでランダム4Kの場合だ。1Tの場合との、スコアの違いがわかるはずだ。CPUの使用率の履歴のコア#0と#1に、山が二つづつあるが、左側がリード時で、右側がライト時のものだ。


amd z87-g45 dualmem q16 t4 seq
 これは16Q/4Tでシーケンシャルの場合だ。1T、2Tの場合との、スコアの違いがわかるはずだ。CPUの使用率の履歴のコア#0から#3に、山が二つづつあるが、左側がリード時で、右側がライト時のものだ。


amd z87-g45 dualmem q16 t4 random
 これは16Q/4Tでランダム4Kの場合だ。1T、2Tの場合との、スコアの違いがわかるはずだ。CPUの使用率の履歴のコア#0から#3に、山が二つづつあるが、左側がリード時で、右側がライト時のものだ。


 CrystalDiskMarkのスコアを比較できるようにまとめると以下のようになる。

シーケンシャルの場合。

(リード) 6551(100),8629(131),8022(122) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。
(ライト) 6060(100),10224(168),19714(325) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。

ランダムの場合。

(リード) 1085(100),1601(147),2805(258) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。
(ライト) 936.6(100),1360(145),2455(261) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。


 つい数日前まで、ラムドライブソフト(以下ラムディスクを「ラムドライブ」と呼ぶことにする)がこういう動きをするプログラムだとは思っていなかった。基本的には、HDDのエミュレーターで、一つのキューにぶら下がったオーダーを順次処理するものだと考えていた。

 ところが、数日前にSoftPerfect ResearchのRamdiskソフトを使ってみたところ、設定項目に『ハードディスクエミュレーション(遅い)』という項目があった。これを見て思ったのは、このソフトはHDDのエミュレータではないのか?、ということだった。

 調べてみたところ、SoftPerfect Researchのものも、Radeonのものも、HDDのエミュレーターではなかった。どういう方式なのかは想像の域を出ないが、最低でもCPUのコア数と同じ数のスレッドで、一つのラムドライブを同時にアクセス可能なプログラムになっているようだ。

 シングルコアの時代なら、HDDのエミュレーターでなんの問題はないのだが、マルチコアが当たり前の時代では、そういう環境にふさわしい処理があるということだろう。



(2)RADEONのRAMDISKで、メモリーがSingle Channel構成の場合。

 (1)では、スクリーンプリントを使用したが、ここでは省略し、CrystalDiskMarkのスコアのみとする。CPUの使用率の履歴のグラフが(1)と相似形だからだ。

シーケンシャルのリードの場合。

(Single) 6234(100),6337(101),4802(77) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。
(Dual) 6551(100),8629(131),8022(122) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。

(16Q1T) 6234(100),6551(105) Single,Dualの順で、()内は指数化した値。
(16Q2T) 6337(100),8629(136) Single,Dualの順で、()内は指数化した値。
(16Q4T) 4802(100),8022(167) Single,Dualの順で、()内は指数化した値。

シーケンシャルのライトの場合。

(Single) 4533(100),8720(192),14148(312) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。
(dual) 6060(100),10224(168),19714(325) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。

(16Q1T) 6234(100),6551(105) Single,Dualの順で、()内は指数化した値。
(16Q2T) 6337(100),8629(136) Single,Dualの順で、()内は指数化した値。
(16Q4T)  802(100),8022(167) Single,Dualの順で、()内は指数化した値。

ランダムのリードの場合。

(Single) 1097(100),1636(149),2841(258) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。
(dual) 1085(100),1601(147),2805(258) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。

(16Q1T) 1097(100),1085(99) Single,Dualの順で、()内は指数化した値。
(16Q2T) 1636(100),1601(98) Single,Dualの順で、()内は指数化した値。
(16Q4T) 2841(100),2805(99) Single,Dualの順で、()内は指数化した値。

ランダムのライトの場合。

(Single) 952.8(100),1383(145),2455(257) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。
(Dual) 936.6(100),1360(145),2455(261) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。

(16Q1T) 952.8(100),936.6(99) Single,Dualの順で、()内は指数化した値。
(16Q2T) 1383(100),1360(99) Single,Dualの順で、()内は指数化した値。
(16Q4T) 2455(100),2455(100) Single,Dualの順で、()内は指数化した値。


 シーケンシャルの場合は、Dual Channelのほうがスコアが良いが、ランダムの場合は同レベルだ。キャッシュメモリーへの依存度の違いが、スコアの差に出たのだろうか。



(3)SoftPerfect ResearchのRAMDISKで、メモリーがDual Channel構成の場合。

 (1)では、スクリーンプリントを使用したが、ここでは省略し、CrystalDiskMarkのスコアのみとする。CPUの使用率の履歴のグラフが(1)と相似形だからだ。

シーケンシャルの場合。

(リード) 8438(100),9824(116),8784(104) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。
(ライト) 10713(100),15639(145),15780(147) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。

ランダムの場合。

(リード) 1685(100),2375(140),3765(223) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。
(ライト) 1454(100),1944(133),3765(258) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。



(4)SoftPerfect ResearchのRAMDISKで、GeForce GT710の代わりに4670のIGPであるHD4600を使用し、メモリーがDual Channel構成の場合。

 (1)では、スクリーンプリントを使用したが、ここでは省略し、CrystalDiskMarkのスコアのみとする。CPUの使用率の履歴のグラフが(1)と相似形だからだ。

シーケンシャルの場合。

(リード) 8408(100),9786(116),8497(101) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。
(ライト) 10693(100),15406(144),15752(147) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。

ランダムの場合。

(リード) 1677(100),2359(140),3688(223) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。
(ライト) 1461(100),2006(137),3510(240) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。

 外付けGPUを使用した場合のほうが、メモリーアクセスのコンフリクトが減少するので、スコアはよくなるはずだが、現実には優劣というよりは、誤差か?という印象だ。



 常用しているPCが2台あるが、どちらもHDD+SSD+RAMDISK+RAMDISKという構成になっている。RAMDISKが2つあるのは、ラムドライブ2台(リアルに同時アクセス可能な存在)に負荷分散したほうが良いに決まっている、という考えだ。

 ところが、RadeonやSoftPerfect ResearchのRAMDISKソフトのふるまいを知ってしまうと、ファイルシステムのレベルではどうなっているのかが気になってくる。大方のプログラムは、OSの提供するファイル管理システムに依存しているから、I/Oレベルでは同時動作可能でも、ファイルシステムレベルが順次処理であれば、同時動作にはならない。ファイル管理ソフトは、ファイルシステムを管理するためのデータと、利用者側のデータを扱っている。ファイルシステムの管理用のデータを複数スレッドが同時にアクセスすることはできないが、利用者側のデータの同時アクセスは可能だ。ただし、可能だからと言って、ファイル管理ソフトがそのようなことをしているかどうかとは、別問題だ。

 CrystalDiskMarkは、最初にテストサイズで指定された大きさの領域を、ファイルシステムレベルで獲得し(ここまでは事実)、その後はその領域内をI/Oシステムレベルでアクセスするという特殊なソフトだ(ここまでは推測)。一般のプログラムはこのような手の込んだ処理はしない。しかしながら、このこと自体が、ファイル管理ソフトでもそのような処理が可能なことを証明している。どうなっているのか気になるが、残念ながら不明だ。

 仮に、データ部の同時アクセスがファイル管理ソフト経由で可能となっているのであれば、大きめのラムドライブ1台で十分ではないかとも思っている。管理データについては排他アクセス、利用者側のデータについては同時アクセスならば、実用上は同時アクセスとみなすこともできるからだ。



(5)参考としてWD10EZEXの場合をあげておく。CドライブはHDDの最外周の200GBでファイルシステムはNTFS、メモリーはDual Channel構成だ。

wd10ezex z87-g45 dualmem q16 t2 seq
 これは16Q/2Tでシーケンシャルの場合だ。 CPUの使用率の履歴のコア#0の中央部分の1/3に低い山、右側部分の1/3に少し高い山が見えるはずだ。低い山がリードで、高いほうがライトだ。

シーケンシャルの場合。

(リード) 251.7(100),126.0(50),251.7(100) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。
(ライト) 174.5(100),385.3(220),384.6(220) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。

ランダムの場合。

(リード) 5.789(100),12.07(208),6.627(114) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。
(ライト) 2.920(100),2.909(100),3.021(103) 16Q1T、16Q2T、16Q4Tの順で、()内は指数化した値。

 HDDの場合、スレッド数はスコアに影響しないはずだ。


ブログランキング・にほんブログ村へ

チルサン大橋の建設中に事故

 韓国の南西部の全羅南道霊光郡にある、建設中のチルサン大橋が7月8日午前10時57分頃に崩落したという記事が出ていた。

 一本の橋脚上でヤジロベーのようにバランスとっていた橋の本体が傾いてしまったわけだが、橋脚と橋の本体は、32本の直径4センチメートル、長さ9メートルの棒鋼で結合されていたという。

 原因をこれから調査するということらしいが、韓国の南東部蔚山の近海で、7月5日20時33分頃に起きたマグニチュード5.0の地震と関連があるとしか思えない。地震で揺すられて、棒鋼に想定以上の力が加わり、それが切断につながったという推測なのだが、どうだろうか。


ブログランキング・にほんブログ村へ

カレンダー
プルダウン 降順 昇順 年別

06月 | 2016年07月 | 08月
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 - - - - - -


RSSリンクの表示
リンク
カウンター
QRコード
QR
ブロとも申請フォーム

この人とブロともになる

最新トラックバック