A1規格対応のmicroSDをRaspberry Pi Zeroで使ってみた

Raspbianの起動やパッケージのインストールが早くなることを期待して、SanDiskのA1規格対応microSD(SDSQUAR-016G-GN6MA)を買いました。
かなり前に買ったUHS-1準拠の16GB microSD(以下、普通のmicroSD)と起動時間などを比較してみようと思います。

A1クラスって何?

A1(Application Performance Class 1)はSD AssociationがSD 5.1 Specificationsで追加した以下の基準を満たすSDカードの規格です。

  • 1500 IOPSの読み込み
  • 500 IOPSの書き込み
  • 10MB/sのシーケンシャル

最新のSD 6.0 SpecificationsではA2規格も追加されたようです。

CrystalDiskMarkの結果

MacBook Pro Early 2015のSDカードスロットでの結果です。
↓SanDisk A1

↓普通のmicroSD

4Kのランダムライトが2倍以上出ていますが、ランダムリードは残念なことに同じです。

Raspbianの起動時間

2017-09-07版のRaspbian Stretchを特にチューニングしたりせずRaspberry Pi Zeroで起動した結果です。

  • SanDisk A1 : 33秒
  • 普通のmicroSD : 33秒

Raspberry Piはリードが最大20MB/s位なので当然の結果ですね。

パッケージのインストール時間

以下のコマンドを実行した時の結果です。

sudo apt install -d raspberrypi-ui-mods
time sudo apt install -y raspberrypi-ui-mods && sync
  • SanDisk A1 : 10分28秒
  • 普通のmicroSD : 13分42秒

わざわざ割高なA1クラスを買うほどでもないですね。

Ubuntu 16.04でCPUとGPUの両方に負荷をかける


LuxRenderというオープンソースの3Dレンダリングエンジンを使用し、ベンチマークやストレステストができるLuxMarkというソフトがあります。
LuxMarkはOpenCLが使える環境が必要です。
以下は、CPUとGPUがともにIntelの場合のOpenCLドライバーのインストール方法です。

試した環境

  • OS : Ubuntu 16.04
  • CPU : Intel Pentium G4400
  • GPU : Intel HD Graphics 510

CPUとGPUでOpenCLが使えるか確認する

まず、OpenCLが使えるかどうかclinfoを使って確認します。

sudo apt install clinfo

コマンドを実行して、以下のようにCPUとGPUが表示されない場合はOpenCLドライバーをインストールしないとLuxMarkは使えません。

$ clinfo
〜省略〜
Number of devices    2
  Device Name        Intel(R) HD Graphics
〜省略〜
  Device Name        Intel(R) Pentium(R) CPU G4400 @ 3.30GHz

CPUとGPUでOpenCLが使えるようにする

IntelのホームページからLinux用のOpenCLドライバをダウンロードして展開します。
rpmパッケージをdebパッケージに変換してインストールします。

$ sudo apt install alien
$ sudo alien -ci intel-opencl-cpu-r5.0-63503.x86_64.rpm
$ sudo alien -ci intel-opencl-r5.0-63503.x86_64.rpm

確認

clinfoコマンドでCPUとGPUが表示されることを確認します。

LuxMarkのダウンロード

freeglut3が必要なのでインストールします。

$ sudo apt install freeglut3

公式Wikiからバイナリをダウンロードして展開します。
luxmarkを実行します。

ストレステストの実行

起動したら、[Mode]→[Stress Test (OpenCL CPUs+GPUs)]をクリックしてストレステストを開始します。

参考