...

ストレージシステムの高性能化に向けた キャッシュ論理分割機能の開発

by user

on
Category: Documents
23

views

Report

Comments

Transcript

ストレージシステムの高性能化に向けた キャッシュ論理分割機能の開発
情報処理学会第68回全国大会
2A-4
ストレージシステムの高性能化に向けた
キャッシュ論理分割機能の開発
小川 純司†
小関 英通†
(株)日立製作所システム開発研究所†
西本 哲†
石川 篤‡
(株)日立製作所 RAID システム事業部‡
1. はじめに
性能チューニングパラメータは、I/O 特性によっ
て異なる。このため、特定の性能チューニング
近年、高性能サーバ向け外部ストレージとし
パラメータを、全アプリケーションに適用する
て、コストパフォーマンスと信頼性に優れる
[1]
と、アプリケーション毎の最適性能を提供出来
RAID 技術を用いたディスクアレイ装置が一般的
に用いられている。また、管理コストの低減や、 ないという問題が発生する。
以上から、以下の 2 点が課題となる。
容量の有効活用を目的とした、複数のサーバの
(課題 1) 各アプリケーション間のキャッシュ
データを一台のストレージに格納するストレー
リソース独立性の確保
ジコンソリデーションの適用も進んでいる。
(課題 2) I/O 特性に応じたキャッシュ制御パ
ストレージコンソリデーションにおいては、
ラメータの提供
一台のストレージに接続されるサーバは、デー
タベース、ビジネス文書等のファイルシステム、
3. 提案方式
ストリーミング、アーカイブ等、様々なアプリ
ケーションに用いられる。これらのアプリケー
前節で述べた課題の解決方法として、キャッ
ションでは、ストレージに対して発行される I/O
シュメモリ論理分割機能を提案する。本機能の
のサイズ、リード率、ランダム率、データ参照
概念図を図 1に示す。
の空間的・時間的局所性等の I/O 特性が異なる。
キャッシュメモリ
本稿では、異なる I/O 特性を持つ複数のアプ
パーティション #0
パーティション #1
リケーションに使用するストレージシステムの
高性能化について報告する。
2. 課題
一般的なディスクアレイ装置では、キャッシ
ュを設ける事により高性能化を実現している。
通常、ストレージシステムがやり取りするデー
タは、全て一旦キャッシュに格納されるため、
一台のストレージシステムを複数のアプリケー
ションで使用する環境では、異なる I/O 特性の
データが同一キャッシュ上に混在する事になる。
この時、アプリケーション間のキャッシュリ
ソースの独立性が無い場合は、例えば、データ
再利用性の低い I/O を発行するアプリケーショ
ンに対して多くのキャッシュを割り当ててしま
い、同時に I/O を発行していた再利用性の高い
アプリケーションに対して割り当てるキャッシ
ュリソースが不足する事で性能が低下するとい
う問題が発生する。
また、キャッシュ制御にて使用すべき最適な
Development of “Cache Logical Partitioning Application”
for Improvement of Performance for Storage System
†Junji Ogawa, Hideaki Koseki, Akira Nishimoto
Systems Development Laboratory, Hitachi, Ltd.
‡Atsushi Ishikawa, RAID Systems Division, Hitachi, Ltd.
1-17
パーティション #0
所属LU
パーティション #1
所属LU
使用不可
図 1:キャッシュ論理分割機能概念図
キャッシュ論理分割機能は以下の機能を持つ。
① 複数の領域(以下パーティション)への分
割機能
② パーティション毎のキャッシュパラメー
タ設定機能
上記機能をベースとして、まずストレージシ
ステムが管理する全 LU (Logical Unit)を分割し
たいずれかのパーティションに所属させ、各 LU
に対して発行された I/O によって発生する一時
データを、所属するパーティションのみに格納
する。異なるパーティションに所属する LU 間で
は、キャッシュ領域の競合が発生しない。この
ため、アプリケーション毎に LU を分け、別のパ
ーティションを割り当てる事により、アプリケ
情報処理学会第68回全国大会
4. 性能評価
本稿で提案したキャッシュ分割機能を用いた
課題 1,2 の解決による性能向上効果を評価する。
4.1. アプリケーション間性能影響の低減
(1)評価方法
ヒット率の高い小サイズリード(例:DB)とヒ
ット率の低い大サイズリード(例:ストリーミン
グ)という、異なる I/O 特性を持つアプリケーシ
ョンがそれぞれ使用する LU を、同一パーティシ
ョンに割り当てた場合と、異なるパーティショ
ンに割り当てた場合の性能比較により、課題 1
を解決した場合の効果を評価する。
(2)結果
図 2に示すように、異なる I/O 特性を持つ LU
を別パーティションとする事で、ヒット率の高
い領域の性能向上という効果が見られた。また、
ヒット率の低い領域に関しても、特に性能低下
は生じていない。これは、本機能により、キャ
ッシュヒットを期待出来ない LU が大量のキャッ
シュ領域を使用する事で、キャッシュヒットを
期待できる LU が使用可能なキャッシュサイズが
制限されてしまうという影響が低減したためと
考えられる。
相対性能比(IOPSベース)
1.2
て、パーティションごとのパラメータ設定機能
の効果を評価する。
(2)結果
2 種類のセグメントサイズを使用した時の性能
比較結果を図 3に示す。
5
セグメントサイズ:16kB
セグメントサイズ:4kB
4
応答時間比
ーション間のキャッシュリソース独立性を確保
する事が出来る(課題 1 の解決)。
また、パーティション毎のパラメータ設定機
能により、I/O 特性に応じたパーティションサイ
ズやキャッシュ管理単位サイズ等のパラメータ
変更が可能となり、I/O 特性に応じたキャッシュ
制御パラメータの提供が可能となる(課題 2 の解
決)。
3
2
1
0
0
0.5
1
1.5
相対性能比 (IOPSベース)
2
図 3:I/O 処理性能比較
データサイズに比べてセグメントサイズが小
さい場合、セグメントの有効データ充填率が向
上し、キャッシュ使用効率が大きくなるため、
キャッシュヒット率が向上する。図 3に示した
ように、セグメントサイズ小の方が、応答時間
が小さく、また処理性能も向上している。
一方、セグメントサイズを大きく設定した場
合は、小 I/O サイズ(セグメントサイズ以下)の
ランダムデータアクセスに関しては、セグメン
トを有効データ充填率が低下し、容量効率が低
下する。
このように I/O サイズとセグメントサイズに
よって性能は大きく異なる事から、アプリケー
ション(I/O 特性)に応じて、セグメントサイズ等
のパラメータを設定出来る本機能は、有効であ
るといえる。
1
5. まとめ
0.8
異なるアプリケーションで単一のストレージ
システムを使用する場合の性能向上方式として、
キャッシュ論理分割方式を提案した。また、分
割後の領域に異なるパラメータを設定する事で、
性能最適化を行う事を提案し、性能評価により、
局所性の高いランダムアクセス時に性能向上効
果がある事を示した。
0.6
0.4
128kBリード(ヒット率:低)
0.2
4kBリード(ヒット率:高)
0
同一パーティション
別パーティション
図 2:アプリケーション間性能影響の低減
4.2. I/O 特性に応じたパラメータの適用
(1)評価方法
キャッシュ上のデータの管理は、セグメント
と呼ぶ領域を単位として管理する。セグメント
サイズを変化させたときの性能への影響を用い
1-18
参考文献
[1]David A.Patterson, et al.: "A Case for
Redundant Arrays of Inexpensive Disks
(RAID) ", Report no.UCB / CSD 87 / 391,
Computer Science Division Department of
Electrical Engineering and Computer Science,
University of California, Berkeley, 1987.
Fly UP