DGX Station A100を導入したらサーバールームがオーバーヒートした話


# はじめに

本記事では，NVIDIA製のGPUマシン DGX Station A100の購入から設置までの流れをまとめました．もし何かの参考になれば幸いです．NVIDIA DGX Station A100の概要や導入の背景については[こちらの記事](https://qiita.com/dai_shibayama/items/15cda3bd0f3a8caeed0e)をご参照ください．


###### negocia株式会社について
negocia株式会社では，「うれしい広告」の実現をミッションとして，機械学習，数理最適化の技術を活かしたオンライン広告向けのSaaSを開発するメンバーを募集しています．この記事を読んで興味を持たれた方がいらっしゃいましたら，[こちらのリンク](https://negocia.jp/recruit/) よりご応募ください．ご連絡お待ちしています．

# 目次
 - [DGX Station A100の購入手続き](#dgx-station-a100の購入手続き)
    - [見積もり](#見積もり)
    - [価格交渉](#価格交渉)
 - [DGXの納品](#dgxの納品)
    - [機器接続](#機器接続)
    - [セットアップ](#セットアップ)
        - [初期設定](#初期設定)
            - [SSH](#ssh)
            - [UPS設定](#ups設定)
            - [ストレステスト](#ストレステスト)
 - [DGXの運用開始　〜そしてオーバーヒートへ〜](#dgxの運用開始そしてオーバーヒートへ)
    - [リモートでの環境設定](#リモートでの環境設定)
    - [リソース管理](#リソース管理)
    - [一般ユーザでの環境構築(Docker & Singularity)](#一般ユーザでの環境構築docker--singularity)
    - [運用そして，オーバーヒート](#運用そして，オーバーヒート)
 - [データセンターへの移設と本格運用](#データセンターへの移設と本格運用)
 - [まとめ](#まとめ)

# DGX Station A100の購入手続き
DGX Station A100の購入は，DGXを販売する会社への問い合わせから始まります．NVIDIAでは，[NPN](https://www.nvidia.com/ja-jp/about-nvidia/partners/)と呼ばれるパートナー制度が存在し，NPNの登録事業者が価格優先権を保有しているため，基本的には，NPN事業者の中から数社選んで連絡し，相見積もりを依頼すると良いと思います．NPN事業者は，[パートナーロケーター](https://www.nvidia.com/ja-jp/about-nvidia/partners/partner-locator/)から調べることができます．サイトのコンピテンシー欄において，「Compute DGX」にチェックを入れて検索するとDGX取扱に対応した事業者が表示されます．

## 見積もり
DGX取扱に対応した事業者に問い合わせすると，後日，事業者からメールが届き，NVIDIAへの特価申請などの必要情報の記入が求められます．その後，GPU本体のサポートや保証も含めた具体的な見積もり金額が提示されます．ここで，DGX Station A100とは別に保守契約にも予算が必要なので注意が必要してください．私はこの保守契約にかかる金額を想定していなかったため，危うく予算オーバーしかけました．保守契約の金額は，内容や期間によって大きく変動すると思いますが，大体本体価格の1 ~ 2割程度が目安です．


## 価格交渉
今回，弊社のように，複数のNPN登録事業者に相見積もりを依頼すると，事業者間で価格差が生じます．私の場合はメールベースで価格交渉を行い最も安いと思われる事業者で契約を決定しました．価格交渉は骨が折れますが，価格交渉するとしないとでは大きな価格差が発生しますので，交渉をお勧めします．

# DGXの納品
無事，契約が成立し，支払いも完了すると，いよいよDGXの納品です．なお，DGX Station A100はオフィスでも使える機器ということで，社員がいつでも触れる状態にしてもいいのでは，と判断し，社内のサーバールームで管理することにしました．
<img width=300, alt=image.png, src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570899/431626d5-a8c6-32b3-0cb0-82c8f35582da.png>
金ピカのDGXカッコイイ・・・上部のメッシュが排熱機構も兼ね備えており機能美を感じます．
## 機器接続
[公式のユーザガイド](https://docs.nvidia.com/dgx/dgx-station-a100-user-guide/index.html)を見ながら機器を接続してください．ユーザーガイドをきちんと読んで接続すれば，私のようにD-subケーブルでモニタを接続してマシンが上手く立ち上がらず半日無駄にすることもないと思われます（）
<img width=300, alt=image.png, src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570899/5f5f0955-b75f-109e-0009-4ef09fdb9a76.png >
基本的には，機器を接続して電源ボタンを押すだけで，Ubuntuの画面が立ち上がります．

## セットアップ
### 初期設定
#### SSH
現地でのセットアップは，SSHで外部から入れさえすれば，後からリモートで詳細設定できると判断し，IPアドレスの設定及び，SSHの接続確認のみ実施しました．
### UPS設定
サーバールームには停電時のバックアップ電源を自前で用意する必要があったため，UPSも合わせて導入しました．UPSはDGX Station A100の最大電力入力1500 VAの要件を満たすために，[こちらのUPS](https://www.apc.com/shop/jp/ja/products/APC-Smart-UPS-2200-LCD-100V/P-SMT2200J)を選択しています．UPSの停電時の自動シャットダウンなどの設定は、APCを管理するツールであるapcupsdをDGXにインストールした後に，[こちらの記事](https://qiita.com/Possive/items/d5c7f3f6ccb862c03ec7)を参考にセットアップしました．

### ストレステスト
NVIDIAでは，システムを本番環境に導入する前や修理の後に，pre-flightストレステストを実施することを推奨しています．現地では，以下のコマンドでストレステストを実施しました．

```
sudo nvsm stress-test --force
```

テスト中は，DGXのGPUがフル回転するため，ものすごい熱がDGX本体から発せられます．

<img width=500, alt=image.png, src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570899/9bb114f2-0521-069a-0e9d-a703e12ca1dd.png>

テストが問題なく終了したため，現地でのセットアップを完了し，リモートでの環境設定及び本番運用へ移行します．

# DGXの運用開始　〜そしてオーバーヒートへ〜
## リモートでの環境設定
オーバーヒートの話の前に，リモートで実施したDGX Station A100の詳細設定について記載します．
### リソース管理
DGXが有するリソース（500GB以上のメモリ・128論理コアのCPU・4枚のA100 GPU）を複数のユーザーで効率的に活用するために，DGXのベスプラでも紹介されているSlurmを導入しました．Slumを導入することで，ジョブに応じたリソースを動的に割り当てることが可能となり，効率的なリソース管理を実現できます．

### 一般ユーザでの環境構築(Docker & Singularity)
DGXの管理者権限は一部のユーザにしか保持していないため，DGXの管理者権限を特権を持たないユーザは，aptやdockerを利用できず，環境構築が難しい課題がありました．そこで，dockerのイメージが利用可能・sudo不要・GPUが利用可能なHPC環境向けコンテナプラットフォームであるSingularity（DGXべスプラで紹介されているもの）を導入して，一般ユーザの環境構築を容易にしました．
※ 環境構築の詳細は別途記事にする予定です．

## 運用そして，オーバーヒート
社長にDGXをおねだりしてから運用まで約2ヶ月間で駆け抜け，いよいよ運用まで辿り着きました．しかし，運用開始から約2週間経過したとある日，突然，サーバールームのオーバーヒートのお知らせがSlackに投稿されました．
<img width=800, alt=image.png, src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570899/872f533a-9c15-3169-9dc1-6bb20063c306.png>
DGXの動作可能温度は10 - 35度の範囲なので，室温28度であれば許容範囲内ではありましたが，DGXの周りは，ほんのりと暖かく，他の機器への影響を考えると，サーバールームから移設した方が良いと判断しました．DGX Station A100購入当初は普通のパソコンのようにオフィスの机の横に置いてもいいのではと妄想を巡らせていましたが，今考えると，置かなくて良かったです．

# データセンターへの移設と本格運用
というわけで，社内のサーバールームに設置したDGX Station A100は，データセンターへと移設することになりました．輸送手段は自前で確保し，後日無事にDGXを社内のサーバールームから，委託先のデータセンターへと移設することができました．現在，DGXはデータセンターで問題なく稼働中です．

# まとめ
DGXはデータセンターに移設してしまったので，自分達で触れる機会はなくなってしまいましたが，今度DGXを触る機会があれば，DGXの上で焼肉したいと思います．
以上です．