• 検索結果がありません。

Tenderの資源プール機能における資源量の可視化機能

N/A
N/A
Protected

Academic year: 2021

シェア "Tenderの資源プール機能における資源量の可視化機能"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)情報処理学会第 82 回全国大会. 1J-01. Tender の資源プール機能における資源量の可視化機能 林 里咲 † † 岡山大学工学部. 山内 利宏 ‡. 谷口 秀夫 ‡. ‡ 岡山大学大学院自然科学研究科. はじめに. 1. 䝥䝻䝉䝇. オペレーティングシステムにおいて,プロセス生成 処理は,仮想空間の生成やプログラム読み込みといっ た多くの処理を行うため,負荷が大きい.そこで,分 散指向永続オペレーティングシステム Tender(以降, Tender)では,プロセス処理を高速化する資源プール 機能を実現している [1].資源プール機能は,プロセス 削除時にプロセスを構成する資源を削除せずに保持し てプロセス生成時に再利用する処理,および資源プー ルの資源量に応じて資源を追加または削除する処理か らなる.資源プール機能を効果的に利用するためには, 計算機の動作に合わせて資源プールの資源量を設定す る必要がある.このため,システム動作時の資源プール の資源量を把握できることが重要である.本稿では,資 源プールの資源量を把握し,可視化する機能を述べる.. ௬᝿㡿ᇦ. 2.1. プロセス構成資源. Tender におけるプロセス構成資源を図 1 に示す.矢 印は,資源の依存関係を示しており,矢印の始点の資 源は矢印が指す資源から構成される. 「仮想カーネル空 間」は, 「仮想空間」の持つ仮想アドレスと「仮想領域」 を対応付けたものである. 「仮想空間」は,仮想アドレ スの空間であり,仮想アドレスを実アドレスに変換す る変換表に相当する. 「仮想領域」は,実メモリと外部 記憶装置の領域を仮想化した領域である. 3 3.1. 資源プール機能 基本機構. 資源プール機能の基本機構を図 2 に示し,プロセス の生成処理や削除処理との関係を以下に説明する. (1) プロセス削除処理の際に,プロセス構成資源を削除 せず,資源管理部に登録を依頼する.資源管理部は,依 頼された資源を資源プールに登録し,保持する. (2) プロセス生成処理の際に,資源管理部に資源の取得 Function for Tracing Resource Amount in Resource Pool on Tender. Risa Hayashi†, Toshihiro Yamauchi‡, Hideo Taniguchi‡ †Faculty of Engineering, Okayama University ‡Graduate School of Natural Science and Technology, Okayama University. 1-39. 䝥䝺䞊䝖. 図 1 プロセス構成資源 䝥䝻䝉䝇๐㝖 䝥䝻䝉䝇⏕ᡂ. ㈨※ㄪᩚ㒊. 䝥䞊䝹㈨※฼⏝ᇦ ㈨※㏣ຍฎ⌮ ㈨※๐ῶฎ⌮ Ⓩ㘓. 資源の分離と独立化. て細分化し,分離と独立化を行っている.したがって, プロセスは複数の資源から構成される.また,プロセ スの存在に関係なく,プロセスを構成する資源(以降, プロセス構成資源)の生成や存在が可能である.. 2.2. ௬᝿✵㛫. ྲྀᚓ ㏣ຍᣦ♧. ㈨※⟶⌮㒊 ㈨※䝥䞊䝹. Tender では,OS が制御し管理する対象を資源とし. 䝥䝻䜾䝷䝮. ᐇ䝯䝰䝸. Tender オペレーティングシステム. 2. ௬᝿䜹䞊䝛䝹✵㛫. ௬᝿䝴䞊䝄✵㛫. ͙ sŝƌƚƵĂůƐƉĂĐĞ sŝƌƚƵĂůƌĞŐŝŽŶ sŝƌƚƵĂůƐƉĂĐĞ sŝƌƚƵĂůƌĞŐŝŽŶ ௬᝿㡿ᇦ ௬᝿✵㛫. ㈨※㔞 䛾ᢕᥱ. ๐ῶᣦ♧. ㈨※㔞ุᐃฎ⌮. 図 2 資源プール機能の基本機構 を依頼し,資源プールに利用できる資源があれば取得 し,再利用する.なお,資源プールに利用できる資源 がなければ,新たに資源を生成する. (3) 資源調整部は,定期的に資源プールから資源量を把 握し,資源量判定処理を行う.資源量判定処理は,資源 量が少ないと判断された資源に関して,資源追加処理 に追加指示を行う.追加指示は,資源プールの資源量 と設定情報によって行われる.設定情報とは,資源プー ルに保持しておく資源の種類と量の情報である.この 指示により,プロセス生成処理の際に資源プールの資 源を利用できる可能性を高める.また,資源量が多い と判断された資源に関して,資源削減処理に削減指示 を行う.削減指示は,表 1 に示す利用の観点に基づい て行われる.この指示により,資源プールの資源量の 増加による未使用メモリの枯渇を防ぐ. (4) 資源追加処理は,CPU がアイドル状態の際に,追加 指示をもとに資源プールに資源を追加する処理である. (5) 資源削減処理は,削減指示をもとに,利用されずに 資源プールに保持され続ける資源を削除し,資源プー ルの資源量を削減する処理である.. 3.2. 資源プールの資源. 資源管理部が資源プールとして保持する資源を表 1 に示す.保持する資源は,6 種類である.また,前節で 述べたように,利用の観点は資源量判定処理によって. Copyright 2020 Information Processing Society of Japan. All Rights Reserved..

(2) 情報処理学会第 82 回全国大会. 表 1 資源プールの資源 保持する資源 ワーク領域用「仮想カーネル 空間」 「仮想空間」 「仮想領域」 「プログラム」 内容を利用できるテキスト部 用「仮想領域」 および各部の仮想領域が対応 づけられた「仮想空間」. 表 2 記録内容を取り出すシステムコール仕様. 利用の観点 常に利用可能. 形式. 引数 サイズが同じ場合 プログラムの 種類が同じ場合. 戻り値 機能. 資源削減処理に削減指示を出す際に使用する.例えば, 「仮想領域」は,サイズが同じ場合に利用可能であるた め,比較的大きいサイズである場合は一定時間以上利 用されなければ削除指示を出す.大きいサイズの「仮 想領域」は,利用確率が低いためである.ここで,ワー ク領域用「仮想カーネル空間」, 「仮想空間」,および 「仮想領域」は,プログラムの内容に依存する情報を保 持しない資源であり,プログラムの内容を問わず再利 用できる.これに対し,残りの 3 つの資源は,プログ ラムの内容に依存する情報を保持する資源であるため, プログラム内容が同じ場合に再利用できる.. 4 4.1. 引数 戻り値 機能. 目的. (要求 2) 現時点における資源プール内の全資源の保有 情報(種類や量など)を把握できること. (要求 1) を満足することにより,リアルタイムなシス テムの動作に基づく設定情報を適切に設定できる.ま た,(要求 2) を満足することにより,システム動作後の 状態に基づく設定情報を適切に設定できる. 4.2. 表 3 資源量を把握するシステムコール仕様 形式. 可視化機能. 資源プール機能を効果的に利用するためには,計算 機の動作に合わせて資源プールの資源量を設定する必 要がある.このため,システム動作時の資源プールの 資源量を把握できることが重要である.そこで,以下 の 2 つの要求がある. (要求 1) システム動作中において,資源プール内の資 源の変動を把握できること.. 基本機能. 2 つの要求を満足するために,可視化の基本機能を 以下に述べる. (機能 1) 資源変動把握機能 (機能 2) 資源情報把握機能 資源変動把握機能は,(要求 1) を満足しており,資源 プール内の資源の変動をログとして取得して時系列順 に追うことができる機能である.しかし,資源プール 内の資源が変動するたびにログを生成するため,資源 プール機能の性能に影響を与える.資源情報把握機能 は,(要求 2) を満足しており,資源管理部から資源プー ル内の資源の保有情報を取得できる機能である.資源 情報把握機能による情報の取得は要求に応じて行うた め,情報の取得による資源プール機能の性能への影響 は少ない.. 1-40. int get_poolrsclog(buffp, etsz) struct get_poolrsclog_args *buffp; unsigned int etsz; buffp:情報を格納するバッファへのポインタ etsz:格納するエントリのサイズ 成功:格納したエントリ数 失敗:負の値 ログ記録用バッファの内容を buffp で指定した バッファにエントリ分 (etsz) 格納する. struct get_poolrsclog_args { unsigned long long int time; タイムスタンプ unsigned int sorg; 1:登録 2:取得 unsigned int rid; 資源識別子 unsigned int size; 当該資源の確保メモリ量 }. 4.3. int get_poolrscinfo(rsc_kind, buffp) unsigned int rsc_kind; struct get_poolrscinfo_args *buffp; rsc_kind:資源の種類 buffp:情報を格納するバッファへのポインタ 成功:0  失敗:負の値 rsc_kind で指定された資源の情報を buffp で 指定したバッファに格納する. struct get_poolrscinfo_arg { unsigned int rsc_num; 資源数 unsigned int rsc_sum; 資源の確保している } 総メモリ量. 資源変動把握機能. 資源変動把握機能は,資源管理部への資源の登録と 取得の情報を記録し,システムコールで記録内容を取 り出し,可視化する機能である.記録の内容は,登録/ 取得,資源情報,および時刻であり,カーネル内部に記 録する.これに対し,記録内容の取り出しと可視化は, プロセスとして実現する.これらにより,資源プール 機能に与える性能オーバヘッドを抑制する.記録内容 を取り出すシステムコールの仕様を表 2 に示す.. 4.4. 資源情報把握機能. 資源情報把握機能は,資源調整部が資源管理部から 行っている資源量の把握をシステムコールとしても提 供し,その情報を可視化する機能である.資源量を把 握するシステムコールの仕様を表 3 に示す.. 5. おわりに. 本稿では, Tender オペレーティングシステムの資 源プール機能における可視化機能として,資源変動把 握機能と資源情報把握機能の 2 つの機能を提案した.残 された課題として,提案方式の実装と評価がある. 参考文献 [1] 田村 大,山内 利宏,谷口 秀夫:Tender オペレー ティングシステムの資源プール機能の評価,情報処 理学会研究報告,Vol.2018-OS-142,No.5,pp.1–8 (2018.02).. Copyright 2020 Information Processing Society of Japan. All Rights Reserved..

(3)

表 1 資源プールの資源 保持する資源 利用の観点 ワーク領域用「仮想カーネル 空間」 常に利用可能 「仮想空間」 「仮想領域」 サイズが同じ場合 「プログラム」 プログラムの 内容を利用できるテキスト部 用「仮想領域」 種類が同じ場合 および各部の仮想領域が対応 づけられた「仮想空間」 資源削減処理に削減指示を出す際に使用する.例えば, 「仮想領域」は,サイズが同じ場合に利用可能であるた め,比較的大きいサイズである場合は一定時間以上利 用されなければ削除指示を出す.大きいサイズの「仮 想領域」は,利用確

参照

関連したドキュメント

粗大・不燃・資源化施設の整備状況 施設整備状況は、表−4の「多摩地域の粗大・不燃・資源化施設の現状」の

食品 品循 循環 環資 資源 源の の再 再生 生利 利用 用等 等の の促 促進 進に に関 関す する る法 法律 律施 施行 行令 令( (抜 抜す

 県民のリサイクルに対する意識の高揚や活動の定着化を図ることを目的に、「環境を守り、資源を

環境への影響を最小にし、持続可能な発展に貢

森林には、木材資源としてだけでなく、防災機能や水源かん養

指標 関連ページ / コメント 4.13 組織の(企業団体などの)団体および/または国内外の提言機関における会員資格 P11

 工学の目的は社会における課題の解決で す。現代社会の課題は複雑化し、柔軟、再構

本格納容器破損モードに至るまでの事象進展への対応,本格納容器破損モ