リモートメモリを用いたセンサデータストリームの永続化 川島 英之 遠山 元道 今井 倫太 安西 祐一郎 0312006003 浅川 和久 2009/5/6 1 目的 • センサデータストリームを連続的に監視する アプリケーションに対して、優れた鮮度と永続 性を持つデータを提供する • 永続化に要する処理負荷を減らし、処理を高 速化する 2009/5/6 2 データ永続化処理の高速化 • リモートホストのメモリを永続化デバイスとす ることで処理負荷を減らす • WAL処理を間引いて負荷を減らす(WAL処理 されていないデータは障害時に失われる→補 間により復旧) WAL(Write Ahead Logging) トランザクションロギングを行うための一般的な手法。 データファイルに書く前に変更分が先立ってロギングされていなければいけない。 ディスクへの書き込み回数が大幅に減る。 2009/5/6 3 提案手法 • リモートホストのメモリを永続化デバイス • アプリケーションが読まないデータには投機 的なWALを適用(高確率で永続性を与える) • 読むデータには永続性を保証するWALを適 用(優れた鮮度と永続性を提供) 2009/5/6 4 用語定義(1) s = <at,v> s センサデータ at センサデータがデータベースに到着した時間 v センサデータの値 s read センサデータを監視する処理であるセンサモニタが読めるs s unread センサモニタが読めないs S センサデータストリーム Sをsの集合と定義する S read s readのみを含むS S unread s unreadを含むS 2009/5/6 5 用語定義(2) p データベースシステムが電源障害によって停止しても、 データベースシステムに復旧できるsの性質 永続性 p strong 確実に保証されるp p weak 確率的に保証されるp p(s) sに対してpを与える処理 p(s)→p strong p(s)の結果、sにp strongが与えられる p(s)→p weak 2009/5/6 p(s)の結果、sにp weakが与えられる 6 用語定義(3) f(rd(s read)) アプリケーションが読みだしたS readの鮮度 小さいほど優れる f(rd(s read)) = rt(s read) – at(s read) rd(s read) センサモニタがs readを読みだす演算 rt(s read) rd(s read)を行った時刻 2009/5/6 7 p(s)を間引きf(rd(s read))を下げる • • • • p(s)を実行しなければマシンの負荷が減 f(rd(s read))は下がる 障害時、p(s)を実行しなかったsは失われる 補間でv(s)をある程度復旧できる可能性があ る • v(s)を多数補間すると、類似状況探索が困難 になる(補間値と真値の差が大きくなる) 2009/5/6 8 提案手法 • p(s read) → p strong • p(s unread) → p weak を同時に満たすことでWALの処理負荷を減らし f(rd(s read))を下げる 2009/5/6 9 システム構成 2009/5/6 10 ログパケットの構造 メンバ 説明 ストリームID 識別子 データバッファID 使用中のデータバッファ データバッファオフセット データバッファ中のオフセット ログコマンド APPEND/RECOVERY/SWITCH s pを与えるもの 2009/5/6 11 DBバッファの構造 メンバ 説明 ストリームID 識別子 データバッファID 使用中のデータバッファ 間引きパラメータ プロトコルを決定するパラメータ データバッファ0,1 sの配列 排他制御子0,1 データバッファの排他制御子 永続化確認バッファ0,1 p(s)を実行したかを示すバッファ 2009/5/6 12 アペンダスレッド プロトコル 2009/5/6 13 センサモニタ プロトコル 2009/5/6 14 ログバッファの構造 メンバ 説明 ストリームID 識別子 データバッファ0,1 sの配列 受信確認バッファ0,1 sを受信したスレッドのタイプ TCPフラグまたはUDPフラグ 2009/5/6 15 UDPログサーバ プロトコル 2009/5/6 16 TCPログサーバ プロトコル 2009/5/6 17 修復プロトコル 2009/5/6 18 リカバリ プロトコル 2009/5/6 19 実験 s read s unread 提案方式 p tcp(s read)を実行 p udp(s unread)を実行する TCP方式 p tcp(s read)を実行 p (s unread)を実行しない D-WAL方式 D-WALを実行 p (s unread)を実行しない D-WAL…ディスクに対してWALを行う 多くのデータベースシステムがこのプロトコルを採用している 同時実行ストリーム数が多い場合に、提案プロトコルは、比較手 法より優れた鮮度を持つデータを提供できた 2009/5/6 20 提案手法の限界点 • アペンドスレッドとログサーバスレッド間のトラ フィック量 1. ログホストのスレッド処理能力 2. ネットワーク帯域幅 2009/5/6 21
© Copyright 2024 ExpyDoc