特許第6074086号(P6074086)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 國立中正大學の特許一覧

特許6074086グループ分けによる快速な起動、シャットダウン方法
<>
  • 特許6074086-グループ分けによる快速な起動、シャットダウン方法 図000004
  • 特許6074086-グループ分けによる快速な起動、シャットダウン方法 図000005
  • 特許6074086-グループ分けによる快速な起動、シャットダウン方法 図000006
  • 特許6074086-グループ分けによる快速な起動、シャットダウン方法 図000007
  • 特許6074086-グループ分けによる快速な起動、シャットダウン方法 図000008
  • 特許6074086-グループ分けによる快速な起動、シャットダウン方法 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6074086
(24)【登録日】2017年1月13日
(45)【発行日】2017年2月1日
(54)【発明の名称】グループ分けによる快速な起動、シャットダウン方法
(51)【国際特許分類】
   G06F 9/445 20060101AFI20170123BHJP
【FI】
   G06F9/06 610J
【請求項の数】18
【全頁数】11
(21)【出願番号】特願2016-40999(P2016-40999)
(22)【出願日】2016年3月3日
【審査請求日】2016年3月4日
(31)【優先権主張番号】105100112
(32)【優先日】2016年1月5日
(33)【優先権主張国】TW
【新規性喪失の例外の表示】特許法第30条第2項適用 平成27年10月9日「RACS2015国際会議」にて発表
(73)【特許権者】
【識別番号】503004699
【氏名又は名称】國立中正大學
(74)【代理人】
【識別番号】100082418
【弁理士】
【氏名又は名称】山口 朔生
(72)【発明者】
【氏名】羅習五
(72)【発明者】
【氏名】林泓逸
(72)【発明者】
【氏名】陳正元
(72)【発明者】
【氏名】謝昇達
【審査官】 長谷川 篤男
(56)【参考文献】
【文献】 米国特許出願公開第2013/0166852(US,A1)
【文献】 Shiwu Lo ほか,Optimizing Swap Space for Improving Process Response after System Resume,ACM SIGAPP Applied Computing Review Volume 15 Issue 4,2015年12月,pp.54-61
【文献】 Chien-Chung Ho ほか,Efficient Hibernation Resuming with Classification-based Prefetching Scheme for Embedded Computing Systems,ACM SIGAPP Applied Computing Review Volume 15 Issue 1 ,2015年 3月,pp.33-43
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/445
(57)【特許請求の範囲】
【請求項1】
計算機システムがスリープモードに入ると、該計算機システムが少なくとも1以上のメモリに対して、複数のスワップアウト可能なページと、複数のスワップアウト不可のページとに区分けし、かつ該計算機システムが該スワップアウト不可のページをハイバネーションファイルに書き込んで保存装置に保存し、
該複数のスワップアウト可能なページ及び、該計算機システムのファイルシステム及びスワップ領域にある複数のページが、使用頻度が高いページか、使用頻度が低いページか判断し、かつ該使用頻度が高いページを該ハイバネーションファイルに加えるステップを含み、
前記複数のスワップアウト可能なページに対して使用頻度が高いページか使用頻度が低いページかを判断するステップは、判別式を利用した判断であって、
前記判別式は、
<数1>
であって、かつ該式におけるseqがシーケンシャルアクセスのコストであって、該式におけるrandがランダムアクセスのコストであって、該式におけるaccessが判断されたページの予期されるアクセス率であって、
該式が成立すれば使用頻度が高いページであると判断し、該式が成立しなければ使用頻度が低いページであると判断することを特徴とする、
ハイバネーションファイルの最適化方法。
【請求項2】
前記複数の使用頻度が高いページが、該計算機システムを起動する場合に必ず使用するページであるか、もしくは使用頻度、及び使用確率の高いページであることを特徴とする請求項1に記載のハイバネーションファイルの最適化方法。
【請求項3】
前記複数の使用頻度が高いページがメモリに存在しない場合は、該保存装置から該複数の使用頻度が高いページを取出して該ハイバネーションファイルに保存することを特徴とする請求項1に記載のハイバネーションファイルの最適化方法。
【請求項4】
前記コストが該ページの書き込み、読取りのために必要とする時間か、もしくは該ページの書き込み、読取りのために必要とするエネルギーか、又は該ページを伝送するデータ量であることを特徴とする請求項に記載のハイバネーションファイルの最適化方法。
【請求項5】
複数の使用頻度が低いページを複数のクリーンページとダーティーページとに区分けし、一つの該使用頻度が低いページをピックアップして該使用頻度が低いページに関連する複数のページを少なくとも1以上のデータグループに加え、かつ該データグループをシーケンシャルアクセスの方式で保存装置のスワップ領域に入れ、かつ全てのページが少なくとも1以上のデータグループに所属するまで係るステップを重複して行うとともに、 該スワップ領域がクイックランダムアクセスの特性を有する装置に位置することを特徴とする、請求項1に記載のハイバネーションファイルの最適化方法。
【請求項6】
前記使用頻度が低いページに関連する複数のページが、常に連続して使用されるページであることを特徴とする請求項に記載のハイバネーションファイルの最適化方法。
【請求項7】
前記使用頻度が低いページに関連する複数のページが、最も最近使われなかったものの順序において隣り合うページであって、かつ該最も最近使われなかったものの順序がオペレーションシステムのメモリ管理における最も最近使われなかったものの順序か、もしくはハードのメモリ管理ユニットにおける最も最近使われなかったものの順序であることを特徴とする請求項に記載のハイバネーションファイルの最適化方法。
【請求項8】
前記使用頻度が低いページに関連する複数のページが、該複数のページのロジックアドレスの連続するページであることを特徴とする請求項に記載のハイバネーションファイルの最適化方法。
【請求項9】
前記使用頻度が低いページに関連する複数のページが、該複数のページの実体アドレスの連続するページであることを特徴とする請求項に記載のハイバネーションファイルの最適化方法。
【請求項10】
前記使用頻度が低いページに関連する複数のページが、使用頻度が互いに近似するページであることを特徴とする請求項に記載のハイバネーションファイルの最適化方法。
【請求項11】
前記使用頻度が低いページに関連する複数のページが、使用確率が互いに近似したページであることを特徴とする請求項に記載のハイバネーションファイルの最適化方法。
【請求項12】
複数の使用頻度が低いページを複数のクリーンページとダーティーページとに区分けし、1つの該使用頻度が低いページの該ダーティーページをピックアップし、かつ繰り返し該ダーティーページに関連する複数のダーティーページを少なくとも1つのデータグループに加えるとともに、該データグループを保存装置のスワップ領域に入れ、かつ全てのダーティーページが少なくとも1つのデータグループに所属するまで係るステップを行ない、該スワップ領域がクイックランダムアクセスの特性を有する装置に位置することを特徴とする、請求項1に記載のハイバネーションファイルの最適化方法。
【請求項13】
前記ダーティーページに関連する該複数のページが常に連続して使用されるダーティーページであることを特徴とする請求項12に記載のハイバネーションファイルの最適化方法。
【請求項14】
前記ダーティーページに関連する該複数のページが、最も最近使われなかったものの順序において隣り合うページであって、かつ該最も最近使われなかったものの順序がオペレーションシステムのメモリ管理における最も最近使われなかったものの順序か、もしくはハードのメモリ管理ユニットにおける最も最近使われなかったものの順序であることを特徴とする請求項12に記載のハイバネーションファイルの最適化方法。
【請求項15】
前記ダーティーページに関連する該複数のページが、該複数のページのロジックアドレスの連続するページであることを特徴とする請求項12に記載のハイバネーションファイルの最適化方法。
【請求項16】
前記ダーティーページに関連する該複数のページが、該複数のページの実体アドレスの連続するページであることを特徴とする請求項12に記載のハイバネーションファイルの最適化方法。
【請求項17】
前記ダーティーページに関連する該複数のページが、該複数のページの使用頻度に類似するページであることを特徴とする請求項12に記載のハイバネーションファイルの最適化方法。
【請求項18】
前記ダーティーページに関連する該複数のページが、該複数のページの使用確率に類似するページであることを特徴とする請求項12に記載のハイバネーションファイルの最適化方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、計算機システムの起動、シャットダウン方法に関し、特にページングによって使用頻度が高い(Frequently−Used)ものと使用頻度が低い(Infrequently−Used)ものとに分割し、使用頻度が高いものに割り当てたページをハイバネーションファイルに入れ、使用頻度が低いものに割り当てたページに対してクラスタリング方式を以って快速に起動、シャットダウンを行うグループ分けによる快速な起動、シャットダウン方法に関する。
【背景技術】
【0002】
従来のハイバネーション方式による快速な起動メカニズムにおいて、計算機装置はシャットダウン時にメモリのスワップアウト可能なページをすべてスワップアウトし、クリーンページであるかダーティーページであるか区分する。スワップアウトしたページがダーティーページであれば、計算機装置は該ダーティーページをハイバネーションファルに書き込み、記憶装置のスワップ領域か、ファイルシステムに保存する。但し、スワップアウトしたページがクリーンページであれば、計算機装置は、該クリーンページをファイルシステムか、スワップ領域に保存するか、保存しない。
【0003】
上述する方法は、起動の速度を速めることができるが、但し、理想的な起動方法とは言えない。起動に必要とするページは、恐らくスリープ時にスワップアウトしたものであって、ハイバネーションファイルに書き込まれていない可能性がある。このため、起動の速度が遅くなる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
以上に鑑み、この発明は上述する従来の技術の欠点に対して、一種のメモリページに対して提出するさらに好ましい方法を提出する。
例えば、1、スワップアウト可能なページをハイバネーションファイルに入れ、2、スワップアウト可能なページを関連性にしたがってデータグループに分け、それぞれのデータグループを保存スペースの連続した位置に書き込むことによる快速な起動に利する方法を以って、上述するそれらの問題を有効に克服する。即ち、この発明は、計算機システムの起動を効率よく速めることのできるグループ分けによる快速な起動、シャットダウン方法を提供することを課題とする。
【課題を解決するための手段】
【0005】
この発明の主要な目的は、一種の快速な起動方法を提供することである。それは、計算機システムがスリープモードに入った場合、使用頻度が低いページを大量にスワップアウトし、使用頻度が高いページを保留することで、ハイバネーションファイルの大きさを縮減し、起動時におけるファイバネーションファイルを読取る時間を短縮し、かつロジックのあるグループ分けによって、高度の関連性のあるページを収集する。
通常オペレーションシステムは、複数のページを連続して読取る。例えばLlnux(登録商標)は1回の読取りで8つのページを読取る。よって、該ページに関連性のあるページを1回で読取ることができる。ここから計算機システムはフルスピードのワークの速度を増進させることができる。
【0006】
上述する目的を達成するために、計算機システムは、少なくとも1つのメモリにおいて複数のスワップアウト可能なページ及びスワップアウト不可のページに区分けし、かつ複数のスワップアウト不可のページをハイバネーションファイルに書き込み、これを以って少なくとも1以上の保存装置に保存する。複数のスワップアウト可能なページを使用頻度が高いページか、又は使用頻度が低いページか判断し、かつ複数の使用頻度が高いページをハイバネーションファイルに加える。少なくとも1つの使用頻度が低いページを取出して、使用頻度が低いページと関連するページを少なくとも1つのデータグループに加え、かつデータグループを保存装置のスワップ領域に入れる。この関連するページも使用頻度が低いページであってもよく、かつさらにページを取出すことができなくなるまで上述するステップを繰り返す。多くの使用頻度が低いページの間には互いに関連性があるため、実際に取出す数量は使用頻度が高いページより少ない。システムがさらにページをとりだすことができなくなった場合、システムがすでにメモリの中のあらゆるページが少なくとも一つのデータグループに属したことを表わす。これらのデータグループはシーケンシャルアクセスの方式でスワップ領域に入れる。次いで、計算機システムが再起動し、計算機システムが保存装置からハイバネーションファイルを読取り、かつハイバネーションファイルをメモリに回復させる。最後に計算機システムは保存装置からスワップ領域のデータグループを読取り、かつデータグループをメモリにロードする。
【図面の簡単な説明】
【0007】
図1】この発明の構造の第1実施例のシステムのブロック図である。
図2】この発明の第1の実施例の方法のステップのツリー状のフローチャートである。
図3】この発明の第1の実施例の方法のステップを示したフローチャートである。
図4】この発明の第1の実施例の頻度によるグループ分けを示した説明図である。
図5】この発明の第1の実施例の確立によるグループ分けを示した説明図である。
図6】この発明の構造の第2実施例のシステムのブロック図である。
【発明を実施するための形態】
【0008】
この発明は、計算機システムの起動を効率よく速めることのできるグループ分けによる快速な起動、シャットダウン方法を提供するものであって、1、スワップアウト可能な使用頻度が高いページをハイバネーションファイルに入れ、2、スワップアウト可能なページを関連性に基づいてグループ分けし、かつそれぞれのデータグループを保存空間の連続した位置に書き込み、クイックリーな起動を達成する方法を含んでなる。
係るグループ分けによる快速な起動、シャットダウン方法の特徴を説明するために、具体的な実施例を挙げ、図面を参照にして以下に詳述する。
【実施例】
【0009】
図1に、この発明の第1の実施の形態を開示する。図面の開示によれば、この発明による計算システム1は、プロセッサー10と、プロセッサー10に電気的に接続するメモリ12と、保存装置14とを含んでなる。
【0010】
保存装置14はハイバネーションファイル142と、スワップ領域144と、ファイルシステム146との保存に供する。また、保存装置14はクイックランダムアクセスの記憶装置であって、例えばフラッシュメモリであるか、もしくはクイックランダムアクセスと、継続的なクイックアクセスとが可能な記憶装置、例えばハイブリッドHDDなどである。ハイブリッドHDDは、フラッシュメモリとハードディスクを包含する。
【0011】
保存装置14が一つだけの場合、保存装置14は、好ましくは例えばフラッシュメモリなどのクイックランダムアクセスの特性を具える記憶装置とし、ハイバネーションファイル142と、スワップ領域144と、ファイルシステム146とを保存装置14に保存する。
【0012】
保存装置がハイブリッドHDDの場合は、図6に開示するように、ハイバネーションファイル142と、一部のファイルシステム146とを保存装置の中のクイックシーケンシャルアクセス特性を有する保存装置14に保存し、スワップ領域162と、一部のファイルシステム164とをクイックランダムアクセス特性を有する保存装置16に保存する。
【0013】
次いで、図1から図3に開示するこの発明の方法のフローチャートについて、第1の実施の形態によるシステムのブロック図(即ち、図1である)を参照して以下に詳述する。また、この方法とステップについては、図2のツリー状のブロック図を参照にして、この発明の技術内容を明確に説明する。
【0014】
図3に開示するように、先ずS10のステップにおいて、計算機システム1はスリープモードに入る。計算機システム1のプロセッサー10は、少なくとも1以上のメモリ12に対して、複数のスワップアウト可能なページと、複数のスワップアウト不可のページとに区分けする。さらに、プロセッサー10は複数の該スワップアウト不可のページをハイバネーションファル142に書き込み、保存装置14に保存する。
【0015】
次いで、S12のステップにおいて。システム内の全てのページを判断の対象とし、ファイルシステム146内と、スワップ領域162内と、メモリ12内とにおける全てのページを使用頻度が高い(Frequntly−Used)ページと、使用頻度が低い(Infrequntly−Used)ページとし、かつ複数の使用頻度が高いページをハイバネーションファイル142に書き込む。
【0016】
仮に使用頻度が高いページがメモリ12に存在しないことを感知したならば、保存装置14から使用頻度が高いページを取出してハイバネーションファイル142に保存する。ここにおける使用頻度が高いページは計算機システム1が起動する場合に必ず用いるページであるか、もしくは使用頻度、使用確率の比較的高いページである。
【0017】
使用頻度が低いページは、恐らくは計算機システム1が起動しても読み取ることの少ないページであって、また、経済効果にそぐわないページともいえる。例えば、システムが多くの時間と電力を用いて保存しても、起動時には僅かな時間しか減少させることができないため経済効果にそぐわないページである。
【0018】
上述するS12のステップで、スワップアウト可能のページを判断して使用頻度が高いページ、もしくは使用頻度が低いページに区分けするステップは、判別式を利用した判断であってもよく、その判別式は、次に開示する式1の通りである。
【0019】
【数1】
【0020】
上述する式1におけるseqは、シーケンシャルアクセスのコストであって、randはランダムアクセスのコストである。accessは判断されたページの予期されるアクセス率である。
【0021】
仮に、式1が成立するのであれば、そのページが使用頻度が高いページであることを表わし、かつ使用頻度が高いページはハイバネーションファイル142に置かれる。但し、式1が成立しないのであれば、判断したページは使用頻度が低いページである。
【0022】
上述するコストとは、ページの書き込み、読み取りのために必要とする時間、
読み取りのために必要とするエネルギー(即ち消費電力である)であって、それぞれのページの予期する書き込み、読み取り率(即ちaccessである)は、長時間に亘る統計などの方式で算定する。
ここで注意すべきは、上述する式の目的は、出現したあるページに対してあるシステムが、使用頻度が高いページであるか判断することは、該システムのランダムアクセスの速度とシーケンシャルアクセスの速度に関連するということである。シーケンシャルアクセスとランダムアクセスのエネルギーのコストが近ければ近いほどそのページが、使用頻度が高いページであるという可能性は低くなる。
【0023】
以上の他に、計算機システム1は、メモリ12の全ての使用頻度が低いページを強制的にスワップアウトするために、次に述べる四種類の方策、もしくはその他方法を運用する。
【0024】
1、システムコールの関数によってメモリのページを書き出す。例えばOSカーネル(LINUX)においてメモリ管理シーケンス(shrink-_all_memory)をコールして、強制的に使用頻度が低いページをスワップアウトする。
【0025】
2、オペレーションシステムに大量のメモリページを配置し、その後、これらメモリぺージを開放する。オペレーションシステムに大量のメモリページを配置する場合、間接的にオペレーションシステムが使用頻度が低いページを書き出す。使用頻度が低いページの書き出しが終わると、オペレーションシステムはこれらメモリページを開放する。
【0026】
3、アプリケーションの中に大量のメモリページを配置し、かつこれらメモリページをデータに書き込み、その後これらメモリページを開放する。オペレーションシステムは間接的に使用頻度が低いページをスワップアウトする。使用頻度が低いページをスワップアウトした後、次いでアプリケーションがこれらメモリページを開放する。
【0027】
4、オペレーションシステムに、ある記憶装置がオフラインすると伝える。大部分のメモリを除去する場合、オペレーションシステムは大部分のメモリページを開放する。よって、効率よく使用頻度が低いページをスワップアウトすることができる。
【0028】
もしくは、その他方法を用いてもよい。
【0029】
次いで、S14のステップにおいて、複数の使用頻度が低いページをクリーンページとダーティーページとに区分けし、該クリーンページをファイルシステム146の保存装置14に保存する。もしくは該クリーンページを保存しない。
【0030】
次に、S16のステップにおいて、プロセッサー10が、使用頻度が低いページをピックアップし、重複して使用頻度が低いページ関連のページを少なくとも1以上のデータグループに加える。実施例においては8つの関連ページを一つのデータグループに加え、該データグループを保存装置14のスワップ領域144に入れる。この場合、該関連ページが保存装置14に存在するのであれば、ファイルシステム146に保存するページはコピーしてバックアップを取り、スワップ領域144のデータグループに入れる。
【0031】
S16のステップにおいて、ピックアップされたページに関連するページをダーティーページに設定し、スワップ領域144の使用効率を最適化してもよい。
【0032】
S16のステップにおいて、使用頻度が低いページのダーティーページに関連するダーティーページを少なくとも1以上のデータグループに加え、かつ使用頻度が低いダーティーページをピックアップできなくなるまで、このステップを繰り返し行う。言い換えれば、全ての使用頻度が低いページは、少なくとも1以上のデータグループに属する。
【0033】
使用頻度が低いページの多くは、互いに関連性を有する。このため、実際にピックアップする数量は、使用頻度が高いページの数量より少なくなる。
【0034】
プロセッサー10が、さらにページをピックアップできなくなった場合は、即ちプロセッサー10がすでにメモリ12の全ての使用頻度が低いダーティーページを少なくとも1以上のデータグループに所属させたことにある。次いで、これらデータグループをシーケンシャルアクセスの方式でスワップ領域144に入れる。
【0035】
S16のステップにおいて、使用頻度が低いページの関連ページは、連続して使用する使用頻度が高いページと使用頻度が低いページに分けることができる。即ち、ロジックアドレス、もしくは実体ページアドレスが隣り合うページであって、高い使用量のページをデータグループに入れてデータグループとしてもよい。
【0036】
この他、図4に開示するように、ページの使用頻度に基づいてグループに区分けしてしてもよい。グループに区分けした後、さらに使用頻度に基づいて順位を設定してもよい。また、図5に開示するように、全てのページを使用確率でグループ分けし、グループ毎にデータグループに加えてもよい。
【0037】
上述する使用確率、使用頻度、常時使用されるか、恒常的に連続して使用されるか、については、データキャプチャの方式で統計を取る。即ち、計算機システム1を起動した後の一定の時間内に常時読み書きするページか統計を取る。起動した後の一定の時間とは、特定の秒数であって、例えば15秒である。または、1秒毎にスワップインするか、スワップアウトする数量をしきい値より少なくなるよう設定する。例えば、1秒毎のスワップイン、スワップアウトの回数を10回より少なくなるよう設定する。これらの設定は使用者の感覚によって設定することができ、上述に限定することはない。
【0038】
当然のことながら、上述するデータグループは、オペレーションシステム、又はハードにおける最も最近使われなかったもの(least resent used≪LRU≫)の順序にしたがって、複数の連続して配列したページをデータグループに加えてもよい。
【0039】
上述するグループに区分けしてデータグループに加える方式は、計算機システム1のページキャッシュが非常に効率的になる。高度な関連性を有するページが集約され、起動のプロセスにおいて、1回で関連性のあるページを読取ることができ、このように起動の速度をさらに高めることができる。
【0040】
次いで、S18のステップにおいて、計算機システム1を再起動すると、計算機システム1のプロセッサー10は、保存装置14がハイバネーションファイル142を読取り、かつファイバネーションファイル142を回復させてメモリ12に保存する。
【0041】
最後に、S20のステップにおいて、保存装置14の、而もファイバネーションファイル142の重要なページを読取った後、プロセッサー10が保存装置14からスワップ領域144のデータグループを読取り、かつメモリ12にロードする。
【0042】
以上は、この発明の好ましい実施の形態であって、この発明の実施の範囲を限定するものではない。よって、当業者の成し得る修正、もしくは変更であってこの発明の精神の下においてなされ、かつこの発明に対して均等の効果を有するものは、いずれもこの発明の特許請求の範囲に属するものとする。
【符号の説明】
【0043】
1 計算機システム
10 プロセッサー
12 メモリ
14 保存装置
142 ハイバネーションファイル
144 スワップ領域
146 ファイルシステム
16 保存装置
162 スワップ領域
164 ファイルシステム
【要約】
【課題】計算機システムの起動を効率よく速めることのできるグループ分けによる快速な起動、シャットダウン方法を提供する。
【解決手段】使用頻度が高いページをハイバネーションファイルに入れ、スワップアウトしたページを関連性に基づいてグループ分けし、かつそれぞれのデータグループを保存空間の連続した位置に書き込み、クイックリーな起動を達成する。そのハイバネーションファイルの最適化方法は、計算機システムがスリープモードに入ると、該計算機システムが少なくとも1以上のメモリに対して、複数のスワップアウト可能なページと、複数のスワップアウト不可のページとに区分けし、かつ該計算機システムが該スワップアウト不可のページをハイバネーションファルに書き込んで保存装置に保存し、該スワップアウト可能なページ、該計算機システム、及びスワップ領域の複数のページが使用頻度が高いページか、使用頻度が低いページか判断し、かつ該使用頻度が高いページを該ハイバネーションファイルに加える。
【選択図】図3
図1
図2
図3
図4
図5
図6