alpha Teleworkerの起動高速化手法

カバー

[!] この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

当社では自社製品としてalpha Teleworkerを開発しています。alpha Teleworkerは社外のPCから「手軽」で「安全」に社内ネットワークへアクセスできるリモートアクセスソフトウェアです。

alpha TeleworkerはLive DVD/Live USBによってシステムを起動するため、起動時間には読み込み速度が大きく影響します。 そこで、この記事ではTeleworkerで実際に利用されているメディアの読み込み高速化手法について紹介します。

Live DVDの特徴

データの改竄に強い

OSの書き込み要求はディスクではなくメモリで処理されるため、ウイルスなどの有害なデータもメモリ上に展開されます。
メモリ内のデータは再起動時に揮発するため、データの破壊に関係するリスクが大きく軽減されます。

pic

読み込み速度が低い

USBと比べて読み込み速度が低く、読み込み要求の多いブートタイミングに強く影響し、起動時間の長時間化を招きます。

参考)他メディアとの比較

メディアDVDHDDUSBSSD
読み込み速度[MB/s]22160300550

読み込み性能とブート時間の比較

以下の2つのデータを計測し、理想と実際の起動時間を比較しました。

  • Teleworker起動時に読み込むデータサイズから起動時間の理想値を計算(データサイズ[MB]/読み込み性能[MB/s] = 起動時間[s])
  • 高速化適用前のTeleworkerの実際の起動時間[s]
理想の起動時間[s]実際の起動時間[s]
USB2930+1
DVD110300+190

USBと比較するとDVDには理想と実際の起動時間に大きな差があり、DVDドライブはベンチマークの性能を実際のブート時に発揮できていないことが分かります。

DVD, USBの読み込み方式の違い

pic pic

DVDはヘッド(読み取り装置)がセクター(読み取りの目標位置)までシーク(移動)することで読み取りができます。
セクターの位置はデフォルトだとディスクに書き込んだ順に従いますが、書き込んだ順≠起動時の読み込み順ではないため起動時に無駄なシークをしています。

対策方針

以下の方針でそれぞれの対策を検討します。

  1. シーク時間の削減
    ヘッドのシークを減らす

  2. ディスクの読み込み効率向上
    1回転あたりの読み込み効率を上げる

1. シーク時間の削減(ファイル並び替え)

ファイルシステムについて

Linuxではext4というファイルシステムが主流であり、ext4においてファイルはinodeとデータ本体にわかれています。
inodeはデータの管理情報を保持しており、データがディスク上のどこにあるのか記録しています。

pic

ext4におけるファイルアクセスの違い

inodeを参照しデータにアクセスする際のふるまいはDVDとUSBで大きく異なります。

pic pic


ファイルの並べ替え

ext4上のデータ配置順はディスク上に反映されることから、ブート時のアクセス順に従い並べ替えれば無駄なシークをなくすことができます。

pic


  • 並べ替えによりヘッドの往復が削減

pic

2. ディスクの読み込み効率向上(ファイルの外周配置)

回転角あたりのデータ量

DVDは円形であるため内周と外周で回転角あたりの弧の長さが異なります。 弧の長さはそのままデータ量とイコールです。
読み込み量の多いデータを外周に配置すると、1回転あたりの読み込み効率の向上が見込まれます。
DVDの先頭セクターは中心であるため、本来は内周にOSが書き込まれます。
これを外周に配置し読み込み速度の向上を図ります。

pic

高速化手法のまとめ

シーク時間の削減(ファイル並び替え)

  • データの配置によってはヘッドがディスク上を往復する

  • データを並び替えることによりヘッドの往復を削減しシーク時間を削減する

ディスクの読み込み効率向上(ファイルの外周配置)

  • DVDの読み込み効率は内周よりも外周の方が高い
  • データを外周に配置し読み込み速度の向上を図る

選択した手法

1. シーク時間の削減(ファイル並べ替え)
   →OSSのe4ratを使用
2. ディスクの読み込み効率向上(ファイルの外周配置)
   →ダミーデータの配置を実施

1. ファイル並べ替え

e4rat(Ext4- Reducing Access Times)

ext4ファイルシステムへのアクセス時間を減らすためのOSSです。 今回は読み込みを高速化するために以下の機能を使います。

  • ディスク上のファイル配置の並び替え
  • ブート時のファイル先読み

2. ファイルの外周配置(ダミーデータの配置)

前提として、DVDは中心部を先頭セクターとしています。 システムを書き込む場合、MBRが先頭セクターに書き込まれ、ほかのデータがそれに続いて書き込まれます。 したがって、MBRのあとにダミーデータを配置することにより実際に扱うファイルを後ろのセクター(外周)にずらします。

検証結果

検証の結果、それぞれ以下のような起動時間になりました。 並べ替え・外周配置を両方適用した場合は30%削減されています。

高速化適用前並べ替え外周配置並べ替え・外周配置
起動時間4m56s3m43s4m39s3m26s
削減率0%24.7%5.7%30.4%

おわりに

今回はalpha TeleworkerにおけるDVDの読み込み高速化のための手法を紹介しました。
これを機にalpha Teleworkerがどのような製品であるか興味を持たれた方はぜひ製品ページもご覧になってください。


TOP
アルファロゴ 株式会社アルファシステムズは、ITサービス事業を展開しています。このブログでは、技術的な取り組みを紹介しています。X(旧Twitter)で更新通知をしています。