メモリ構成によるパフォーマンスの変化

TEGSYS公式サイト内特集ページ「大容量メモリ搭載マシン 選定のポイント」では、メモリ容量に注目してコンピュータハードウェア構成のポイントを解説しています。

この技術記事では、上記特集ページを補完する情報として、メモリモジュール構成などにも着目し、実際にメモリがコンピュータのパフォーマンスに与える影響を検証していきます。

[目次]

メモリ性能に影響を与える要素
-メモリ容量
-モジュール構成

検証
-コンピュータ仕様
-テスト(1)モジュール構成の違いによる帯域の変化
-テスト(2)実際に近い条件でのメモリアクセス性能のテスト

まとめ

メモリ性能に影響を与える要素

メモリ性能に影響を与える要素は多数あり、メモリモジュールに搭載されているメモリチップ自体の性能やメモリランク、DDR4、DDR5といったモジュール規格など多岐にわたります。それらすべてを吟味することは必要なコンピュータ全体の仕様選択に制約を与えることになるため、今回はすでに基本構成が定まったコンピュータが存在すると仮定し、ある程度ユーザー (コンピュータ使用者) に選択の余地が残されているメモリ容量、モジュール構成について検証します。

 

メモリ容量

文字通り、コンピュータに搭載されている各メモリモジュールの容量を合計したものです。一般的に1、2、4、8…GBといった容量のモジュールが存在し、現在容量128GBの製品が流通しています。これらが1枚以上搭載され、コンピュータ上の合計メモリ容量が決まります。

 

モジュール構成

今日のコンピュータはメモリコントローラー – メモリモジュール間のバス (チャンネル) が複数存在するマルチチャンネル構成を採用していることが一般的です。

2チャンネルの場合はデュアルチャンネル、4チャンネルの場合はクアッドチャンネルと呼称されます。最新世代のサーバ向けプラットフォームでは最大12チャンネルに対応する製品も展開されています。
マルチチャンネル動作の場合、シングルチャンネルの場合と比較して複数のバスを利用してメモリアクセスを行うため、一般的にメモリアクセス性能が向上します。

一方、メモリチャンネルの構成はマザーボード上の物理的なメモリスロットの配置と対応しているため、適切にメモリモジュールを搭載しなければマルチチャンネルの仕様を有効に活用することができません。
※具体的にどのメモリスロットがどのように各チャンネルに対応しているかは、マザーボード仕様によるため、本記事での個別の解説は割愛します。

検証

検証に用いたコンピュータの仕様は下記のとおりです。

 

コンピュータ仕様

Chipset Intel W790
CPU Intel Xeon w7-2465X
Storage 1.92TB SSD S-ATA

利用するメモリは同一ベンダの同一ラインナップ内のDDR5-4800 Registerd ECCメモリとし、16GB、32GB、64GBの各製品を用いています。搭載メモリを変更しながら、性能値やスコアの変化を確認します。

 

テスト(1):モジュール構成の違いによる帯域の変化

動作しているコンピュータのメモリ帯域幅を測定できるベンチマークソフトウェアを利用し、モジュール構成の違いによる帯域幅の変化を測定しました。

メモリモジュール容量 枚数 帯域幅
16GB ×1 23.46GB/s
×2 47.27GB/s
×4 (4DIMM/2C) 53.38GB/s
×4 88.932GB/s
×8 102.57GB/s
メモリモジュール容量 枚数 帯域幅
32GB ×1 23.55GB/s
×2 47.34GB/s
×4 89.71GB/s
メモリモジュール容量 枚数 帯域幅
64GB ×1 28GB/s
×2 56.09GB/s
×4 106.8GB/s

概ねメモリ本数に比例して帯域幅も増加する結果となりました。
利用したコンピュータのメモリチャンネル数は4のため、仕様に沿った結果と考えられます。

一方、16GB x4 (4DIMM/2C) は4枚のメモリモジュールを2つのチャンネル下のスロットに搭載し、あえてメモリチャンネルを使い切らない構成とした結果です。帯域幅の伸びは16GB x2と比較しても限定的で、同じモジュール数で各メモリチャンネルに1枚づつモジュールを搭載した16GB x4と比較すると大きな差があります。そのコンピュータのメモリ仕様に適していない形でメモリを搭載すると、コンピュータの性能を活かしきれないことが分かります。

また、マザーボード上のすべてのメモリスロットにメモリを搭載した16GB x8では16GB x4をさらに上回る結果となりました。
このコンピュータのメモリチャンネル数は4のため、各チャンネルに2枚モジュールが搭載される形ですが、メモリアクセスが分散されるためか、より高い帯域幅が計測されています。

以上の結果から、純粋なメモリアクセス性能はメモリチャンネルに応じて向上することが分かりました。
この結果が実際にコンピュータを利用する上で有効かどうか、テスト(2)で考察します。

なお、同じ枚数を搭載した16GB,32GBモジュールの結果にほとんど差がない一方、64GBモジュールではやや帯域幅が増加しています。これはメモリランクというメモリモジュールの内部的な仕様の差によるものです。メモリランクが大きいモジュールは仕様上帯域幅も大きくなりますが、メモリランクは各メモリモジュールベンダの製品ラインナップ上固定的に決められていることが多く、メモリランクでモジュールを選定するのはやや難しいのが実情です。

本検証に利用したメモリも同一ベンダの同一ラインナップ内の製品となります。一般的には大容量のメモリモジュールはメモリランクが大きい製品が多い傾向がありますが、本検証ではメモリランクに関する考察は記事の主旨からやや外れるため割愛します。

 

テスト(2):実際に近い条件でのメモリアクセス性能のテスト

実際のアプリケーションに近い条件での性能を測定しました。
Maxon Cinebench 2024を利用し、モジュール構成の違いによるスコアの差を測定した結果を下記に示しています。

テストはマルチコアで行い、モジュール構成以外の仕様は固定です。
本来Cinebenchは主にCPU性能の評価に利用されるものですが、モジュール構成や容量の差が処理能力にどういった影響を与えるのかを検証します。

こちらは評価の対象をモジュール構成に絞り、16GBモジュールを搭載したテストを中心に行いました。
複数モジュールの搭載レイアウトは、それぞれの枚数でメモリチャンネルをフルに使う形としています。

メモリモジュール容量 枚数 帯域幅
16GB ×1 1,297pt
×2 1,525pt
×4 1,597pt
×8 1,599pt

16GBモジュール搭載時の4つの結果は、それぞれ使用するメモリチャンネル数に応じてスコアが増加します。
しかしながら、デュアルチャンネル動作時以上ではスコアの増加が逓減しています。
Cinebench動作中、コンピュータのメモリ使用量はおよそ12GBほどで推移していることから、メモリ使用量に対してメモリ搭載量が必要以上に大きく、アプリケーションの実効性能にあまり貢献していない可能性が推測されます。
一方で16GBモジュール1枚での結果は、メモリ容量がややひっ迫していることがパフォーマンスに影響を与えている可能性が考えられます。

そのため、メモリ容量による影響を排除するため、その他のモジュール構成で合計64GBとした場合の検証を行いました。
下記がその結果です。

メモリモジュール容量 枚数 帯域幅
32GB ×2 1,536pt
メモリモジュール容量 枚数 帯域幅
64GB ×1 1,386pt

これによれば、容量は十分に確保されている64GBモジュール1枚の構成のスコアは16GBモジュール1枚の構成と大きくは変わらず、16GBモジュール1枚でのスコアが容量に起因しているわけではないことが分かります。
※64GBモジュールでの結果が若干優れているのは、テスト(1)で説明したモジュールの内部仕様によるものと考えられます。

まとめ

以上の結果から、実際のアプリケーションにおいてもメモリ構成を考慮することでパフォーマンスが向上するものの、メモリ使用量に対して過大な容量を搭載してもその効果は限定的になる可能性が確認できました。

メモリ使用量が膨大になることが事前に分かっているプログラムやソフトウェアを利用する場合、最も優先するべき点はメモリ容量となります。
また、メモリ容量が決定的に不足してしまった場合、プログラムの実行中エラーが発生する、実行できないといった悪影響が発生する恐れがあるため、余裕を持ったメモリ容量を確保しておくことのメリットも存在します。
上記のような事情がない場合には適切な容量を適切な構成で搭載することが、メモリ構成の基本と言えるでしょう。

以上、メモリモジュール構成と性能の関係について考察しました。
弊社製コンピュータではお客さまのニーズや計画に応じ、メモリ構成を検討して仕様を策定しております。
お客様ご自身での仕様の事前検討などのお役に立ちますと幸いです。

 

研究用/産業用マシンにおける最適なメモリ構成のご相談はお気軽に!

研究用・産業用PCの製作・販売サービス TEGSYS – テグシス

width="340"

width="430"

このエントリーをはてなブックマークに追加