NVMe SSDのサーマルスロットリングを使いこなす

NVMe SSDのサーマルスロットリングを使いこなす

この記事で紹介している製品

おことわり

 この記事は、2020年3月にQiitaに投稿した記事を加筆修正したものです。

はじめに

 以前の記事で、当社製NVMe SSDが備える、性能を抑えることで発熱を抑え過度な温度上昇を防ぐサーマルスロットリング(Thermal Throttling)を説明しました。

 その記事では、当社製NVMe SSDを使用した実験を通じて、NVMe仕様が定めるサーマルスロットリング設定(温度)や、実際にサーマルスロットリングが発動した際の性能変化などを示しました。

 そこで今回の記事では、サーマルスロットリングの設定温度を変化させて実験を行い、サーマルスロットリングの挙動や性能変化の様子を確認した結果をご紹介します。

 NVMe SSDのサーマルスロットリングを理解することで、実使用環境や使いかたに合わせた調整、過不足のない冷却機構の構築、強制冷却が難しい環境での安定運用実現、などが可能になります。

 なお、この記事に記載の実験結果は当社の実験環境で得られた結果であり、どのような環境でもこの結果が得られることを保証するものではありません。ご注意ください。

まとめ

  • サーマルスロットリング設定温度を変更することでスロットリング挙動を大きく変更可能
  • 冷却能力と実ワークロードとを組み合わせた実験を通じてサーマルスロットリング設定温度を適切に設定することでシステム全体パフォーマンスを最適化可能

NVMe SSDのサーマルスロットリング(再掲)

 当社製NVMe SSDは、NVMe仕様1に規定されたHost Controlled Thermal Management (HCTM)という温度管理機能の実現手段としてサーマルスロットリングを備えています。

 このHCTMは、ホストが設定可能な2つの温度(TMT1とTMT2)を基準にして温度制御(温度上昇抑制)する機能です。

 前回の記事で実験に使用した当社製NVMe SSD(SN8Eシリーズの1,920 GBモデル(温度拡張品))のHCTM設定値(温度)は、TMT1が摂氏80度でTMT2が摂氏85度でした。

 この設定値での実験結果が図1の通りです。

SSDの温度と性能の変化(TMT1摂氏80度、TMT2摂氏85度、ヒートシンクなし、4秒間の移動平均)
図1:温度と性能の変化(TMT1摂氏80度、TMT2摂氏85度、ヒートシンクなし、4秒間の移動平均)

 横軸は測定開始からの経過時間(右に行くほど時間が経過する)です。そして縦軸は、左縦軸がWrite性能(上のほうが性能が高い)、右縦軸がSSD温度です。

 この図からは、SSD温度がTMT1に設定された摂氏80度に到達するとサーマルスロットリングが発動して性能が最大100 MB/s強低下し、SSD温度が摂氏75度まで下がるとサーマルスロットリングが停止して性能が元に戻る、という動作を繰り返していることがわかります。

サーマルスロットリング設定温度を変更した実験結果

 それでは、サーマルスロットリングの設定温度TMT1を変更して実験した結果をご紹介します。

 今回は、TMT1を摂氏83度に設定した場合と摂氏75度に設定した場合の2つをご紹介します。

TMT1が摂氏83度の場合

 まず、TMT1を摂氏83度に設定した場合です。図1ではTMT1の設定値は摂氏80度でしたので、TMT1をより高い摂氏83度にすることで「サーマルスロットリングがより発動しにくくかつより早く停止する」ことが予想されます。

 実験結果は図2の通りです。

温度と性能の変化(TMT1摂氏83度、TMT2摂氏85度、ヒートシンクなし、4秒間の移動平均)
図2:温度と性能の変化(TMT1摂氏83度、TMT2摂氏85度、ヒートシンクなし、4秒間の移動平均)

 図2を見ると、温度が摂氏83度に到達するとサーマルスロットリングが発動して性能が低下していることがわかります。このことから、変更した設定が正しく反映されていることが確認できました。

 「サーマルスロットリングがより発動しにくくかつより早く停止する」という挙動も、事前に予想した通りです。

 そして図1と比べると一目瞭然ですが、この図2のほうが、サーマルスロットリングの発動時間および性能低下時間が明らかに短いです。

 つまり、サーマルスロットリングの発動と性能低下を可能な限り避けたい場合、サーマルスロットリングの発動温度を高くする、という方法があることがわかります。

 ただし、どんなSSDでもこの方法が使えるわけではありません。当社製品の温度拡張品のように、より高い温度で動作を保証された製品でなければ、SSDがその高温に耐えられません。

TMT1が摂氏75度の場合

 今度は逆に、TMT1を摂氏75度に設定した場合の実験結果をご紹介します。

 図1ではTMT1の設定値は摂氏80度、図2ではTMT1の設定値は摂氏83度でしたので、TMT1をこれらより低い温度に設定したことになります。この設定により「サーマルスロットリングがより発動しやすくなりかつより停止しにくくなる」ことが予想されます。

 実験結果は図3の通りです。

図3:温度と性能の変化(TMT1摂氏75度、TMT2摂氏85度、ヒートシンクなし、4秒間の移動平均)

 図3を見ると、温度が摂氏75度に到達するとサーマルスロットリングが発動して性能が低下したことがわかります。このことから、変更した設定が正しく反映されていることを確認できます。

 ただ、発動したサーマルスロットリングが解除されていないようです。この原因は、温度が十分に落ちていないためです。

 図1や図2でサーマルスロットリングが解除された時の温度を見ると、いずれもTMT1より5度程度低い温度です。つまり、この製品ではサーマルスロットリングの結果温度がTMT1より5度程度低下するまでサーマルスロットリングが継続することを示します。

 TMT1が摂氏75度であれば、摂氏75度でサーマルスロットリングが発動した後、5度程度低い温度つまり摂氏70度まで温度が下がればサーマルスロットリングが解除されるはずです。しかし図3を見ると、摂氏75度でサーマルスロットリングが発動した後摂氏70度まで低下せず摂氏73度あたりで安定しています。これがサーマルスロットリングが解除されずに継続していた理由です。

 摂氏73度あたりで温度が安定するのは、SSDの発熱と冷却能力がバランスした状態にあるためです。

 一方、この「サーマルスロットリングが継続する」という状態は「性能が安定する」という見方をすると、とても有用で価値のある状態です。

 というのも、もし最高性能は不要でサーマルスロットリング発動時の性能で十分であるなら、常時サーマルスロットリング発動状態で運用することによりSSDの発熱を低減し、システムとしてSSD用に強力な冷却能力を備えずに済むというメリットがあるからです。

 SSDの発熱とシステムの冷却能力がバランスする温度(図3では摂氏73度)は、システムのSSDに対するワークロードおよびシステムが持つSSDの冷却能力に依存します。

 このため、システムとして過不足のない冷却能力を設計するには、実際のワークロードを用いてかつ実際の運用環境を想定した試験に基づいて決定すべきです。

おわりに

 この記事では、NVMe SSDのサーマルスロットリングについて、変更可能な設定項目と、その設定を変更した場合の動作を当社製品を使用してご紹介しました。

 冒頭でもご説明した通り、NVMe SSDのサーマルスロットリング設定や挙動を把握し、かつSSDの使用環境や使いかたに合わせてカスタマイズすることで、過不足のない冷却機構の構築やより安定した運用などが可能となります。

 SSD選定時のご参考になれば幸いです。

Reference

  1. NVM Express, “NVM ExpressTM Base Specification”, Revision 1.3d, March 20, 2019

他社商標について
記事中には登録商標マークを明記しておりませんが、記事に掲載されている会社名および製品名等は一般に各社の商標または登録商標です。

記事内容について
この記事の内容は、発表当時の情報です。予告なく変更されることがありますので、あらかじめご了承ください。

お問い合わせ