Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4240658B2 - Distributed data management system - Google Patents
[go: Go Back, main page]

JP4240658B2 - Distributed data management system - Google Patents

Distributed data management system Download PDF

Info

Publication number
JP4240658B2
JP4240658B2 JP15552299A JP15552299A JP4240658B2 JP 4240658 B2 JP4240658 B2 JP 4240658B2 JP 15552299 A JP15552299 A JP 15552299A JP 15552299 A JP15552299 A JP 15552299A JP 4240658 B2 JP4240658 B2 JP 4240658B2
Authority
JP
Japan
Prior art keywords
cache area
data
computer
cache
secondary storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP15552299A
Other languages
Japanese (ja)
Other versions
JP2000347913A (en
Inventor
寿 松中
謙二 堀内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP15552299A priority Critical patent/JP4240658B2/en
Publication of JP2000347913A publication Critical patent/JP2000347913A/en
Application granted granted Critical
Publication of JP4240658B2 publication Critical patent/JP4240658B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、分散システムを構築する際にメモリの効率的な使用およびデータの高速アクセス等を実現するための分散データ管理システムに関するものである。
【0002】
【従来の技術】
図9は、例えば「Distributed Operating System」(A.S.Tanenbaum 著、Prentice-Hall International, Inc.発行)の5.2.3 節(pp.262-265)に示されたクライアント−サーバ構成による従来の分散データ管理システムを示す構成図である。
【0003】
図において、101,102,103はクライアント計算機、104はネットワーク機構、105はキャッシュ領域管理機構、106はサーバ計算機である。各クライアント計算機101,102,103において利用される計算機キャッシュについては、クライアント計算機101は各プロセスに割り当てられたメモリ空間にキャッシュを配置する方式を採用し、クライアント計算機102はOSのカーネルプロセスに割り当てられたメモリ空間にキャッシュを配置する方式を採用し、クライアント計算機103はキャッシュ管理プロセスをユーザプロセスとして構成するとともにキャッシュ管理ユーザプロセスに割り当てられたメモリ空間にキャッシュを配置する方式を採用している。
【0004】
次に動作について説明する。
いずれのクライアント計算機101,102,103においても、ユーザプロセスでデータを参照する際には、それぞれのクライアント計算機毎に設定された自己のキャッシュ領域に最新のデータがある場合、すなわちヒットした場合には当該キャッシュ領域からデータを参照し、自己のキャッシュ領域にデータがない場合、すなわちミスした場合にはキャッシュ領域管理機構105を介して他のクライアント計算機またはサーバ計算機106から最新のデータを参照する。また、プロセスがデータを更新する場合には、キャッシュ領域において当該データに関連するデータブロックを更新して、更新情報をキャッシュ領域管理機構105に通知する。
【0005】
【発明が解決しようとする課題】
従来の分散データ管理システムは以上のように構成されているので、クライアント計算機101により採用されている方式では、単一のクライアント計算機に複数のプロセスが存在する場合には、プロセスの個数分だけキャッシュ領域が設定されるから、キャッシュ領域のために多くのメモリが必要となってメモリ効率が悪いという課題があった。また、例えばプロセスAが消滅した際には、プロセスAに対して設定されたキャッシュ領域も消滅するので、他のプロセスがその後にプロセスAに対して設定されたキャッシュ領域に記憶されたデータを参照しようとしても、再度サーバ等からデータを参照しなければならないから、キャッシュのヒット率が低下するという課題があった。
【0006】
また、クライアント計算機102により採用されている方式では、プロセスの消滅後もキャッシュ上にデータは残る。しかし、キャッシュ上にデータが存在していても、OSのカーネル関数を呼び出す必要があるので、キャッシュに対するアクセス速度が遅いという課題があった。
【0007】
また、クライアント計算機103により採用されている方式では、キャッシュの管理はキャッシュ管理ユーザプロセスに任されており、ユーザプロセスに対して割り当てられるメモリはOSの管理下において制御される。したがって、クライアント計算機103において例えば仮想メモリ方式が採用されている場合には、キャッシュ管理ユーザプロセスにより管理されるキャッシュ上のデータが主メモリにはなくて、二次記憶機構上に掃き出されている場合があるという課題があった。
【0008】
この発明は上記のような課題を解決するためになされたもので、キャッシュ領域のメモリ使用効率を向上させる分散データ管理システムを得ることを目的とする。
【0009】
また、この発明は、キャッシュに対するアクセス速度の低下を抑制する分散データ管理システムを得ることを目的とする。
【0010】
さらに、この発明は、キャッシュのヒット率の低下を抑制する分散データ管理システムを得ることを目的とする。
【0011】
【課題を解決するための手段】
この発明に係る分散データ管理システムは、それぞれが主メモリを有するとともに二次記憶機構が接続される複数の計算機と、これら複数の計算機に接続されて計算機間のデータの転送を可能とするネットワーク機構と、該ネットワーク機構に接続されるそれぞれの計算機においてデータアクセスの高速化を実現するために設けられたキャッシュ領域を、ネットワーク機構を介して管理するキャッシュ領域管理機構とを有する分散データ管理システムにおいて、キャッシュ領域が、計算機の主メモリ内において、当該計算機に接続される二次記憶機構および当該計算機内で発生される複数のプロセスが直接アクセス可能なアドレス空間として与えられる共有メモリに割り当てられ、主メモリにおいて、取り扱うデータの更新頻度に基づいて使用するキャッシュ領域を区別するようにキャッシュ領域を分割して、取り扱うデータの更新頻度に対応した複数のサブキャッシュ領域を備え、前記それぞれの計算機のキャッシュ領域には、すべてに共通のデータが保持されるように、1つの計算機のキャッシュ領域においてデータブロックの更新があると、他の計算機のキャッシュ領域においても該当するデータブロックを更新し、前記取り扱うデータの更新頻度に対応したそれぞれのサブキャッシュ領域毎に、当該サブキャッシュ領域を管理するキャッシュ領域管理機構を備えるようにしたものである。
【0013】
この発明に係る分散データ管理システムは、計算機内部に設けられ、当該計算機のキャッシュ領域には直接アクセス可能であり、他の計算機のキャッシュ領域にはネットワーク機構を介してアクセスして管理するキャッシュ領域管理機構を備えるようにしたものである。
【0014】
この発明に係る分散データ管理システムは、主メモリにおいて、取り扱うデータの種類に基づいて使用するキャッシュ領域を区別するようにキャッシュ領域を分割して、取り扱うデータの種類数に対応した複数のサブキャッシュ領域を備えるようにしたものである。
【0015】
この発明に係る分散データ管理システムは、計算機に接続された二次記憶機構に配置されたキャッシュ領域を分割して、当該計算機が有する主メモリに配置されたサブキャッシュ領域を包含するように対応付けて二次記憶機構にサブキャッシュ領域を備えるようにしたものである。
【0016】
この発明に係る分散データ管理システムは、取り扱うデータに対応したそれぞれの種類のサブキャッシュ領域毎に、当該サブキャッシュ領域を管理するキャッシュ領域管理機構を備えるようにしたものである。
【0017】
この発明に係る分散データ管理システムは、計算機内部に設けられ、当該計算機のサブキャッシュ領域には直接アクセス可能であり、他の計算機のサブキャッシュ領域にはネットワーク機構を介してアクセスして管理するキャッシュ領域管理機構を備えるようにしたものである。
【0018】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1は、この発明の実施の形態1による分散データ管理システムを示す構成図である。図において、1,2は分散システムにおいて使用される計算機、3は計算機1,2等複数の計算機を接続して計算機間でのデータ転送を実現するネットワーク機構、4,5はそれぞれ計算機1,2の主メモリ、6,7はそれぞれ計算機1,2に接続された二次記憶機構、8,9は計算機1内で生成されたユーザプロセス(プロセス)、10,11は計算機2内で生成されたユーザプロセス(プロセス)、12は計算機1の主メモリ4内において二次記憶機構6およびユーザプロセス8,9が直接アクセス可能なアドレス空間として与えられる共有メモリに割り当てられたキャッシュ領域、13は計算機2の主メモリ5内において二次記憶機構7およびユーザプロセス10,11が直接アクセス可能なアドレス空間として与えられる共有メモリに割り当てられたキャッシュ領域、14はネットワーク機構3を介して計算機1,2等のキャッシュ領域12,13等を管理するキャッシュ領域管理機構である。なお、キャッシュ領域12,13等には、自計算機の二次記憶機構のみではなく、他計算機の二次記憶機構に記憶されていてプロセスの発生により必要となったデータブロックがコピーされる。
【0019】
各データは識別子を有していて、計算機1,2等のいずれかの二次記憶機構6,7等に記憶されている。二次記憶機構6,7等に記憶されているデータは、マスタデータと呼ばれる。キャッシュ領域管理機構14は、各計算機1,2等の二次記憶機構6,7等毎に、当該二次記憶機構6,7等に記憶されているデータの識別子を保有している。
【0020】
また、各計算機1,2等のキャッシュ領域12,13等には、すべてに共通のデータが保持される。したがって、1つの計算機のキャッシュ領域においてデータブロックの更新があると、キャッシュ領域の一貫性を保持するためには、他の計算機のキャッシュ領域においても該当するデータブロックを更新する必要がある。
【0021】
次に動作について説明する。
この実施の形態1では、キャッシュ領域の一貫性を保持するために、データの更新が生じる毎に変更されたデータおよび当該データの識別子をネットワーク機構3を介して全計算機に転送する方式を採用している。変更されたデータおよび当該データの識別子が転送された他の計算機については、キャッシュ領域管理機構14により変更された対象データをキャッシュ領域に保持するかあるいは棄却するかの判断がなされる。さらに、対象データについてのマスタデータが保持されている計算機では、マスタデータを転送されてきたデータに更新する。
【0022】
事例的に説明すれば、計算機1に接続された二次記憶機構6に記憶されていたマスタデータが、ユーザプロセス8により更新された場合を考察する。この場合、計算機1は、ネットワーク機構3に接続された全計算機に対して、変更されたデータおよび当該データの識別子を転送する。変更されたデータおよび当該データの識別子が転送された計算機2については、キャッシュ領域管理機構14により変更されたデータをキャッシュ領域13に記憶すべきであると判断されると、計算機2はキャッシュ領域13に変更されたデータを書き込む。また、変更された対象データをマスターデータとして保持している計算機では、マスターデータを転送されたデータに更新する。
【0023】
ところで、キャッシュ領域12上のデータは共有メモリ内に存在するために、ユーザプロセス9も参照することが可能である。また、対象データはキャッシュ領域13にも書き込まれて、キャッシュ領域13も同様に共有メモリ内に存在するから、ユーザプロセス10,11も対象データを参照することが可能である。
【0024】
なお、キャッシュ領域の一貫性を保持する方式としては、各計算機が時々刻々に自計算機のキャッシュ領域を更新する方式、キャッシュの各データの更新時刻を記録しておいてキャッシュのデータを参照する毎に更新時刻以降にマスタデータが更新されていないかを調べた後にデータを参照する方式、キャッシュの各データまたはマスタデータに更新フラグを付与してデータ変更がある度ごとに更新フラグを立てることにより、データ参照時には更新フラグを基にしてマスタデータを参照するか否かを判定する方式等が考案されている。この発明の実施の形態1においては、キャッシュ領域の一貫性を保持する方式としていずれの方式をも採用することが可能である。
【0025】
以上のように、この実施の形態1によれば、キャッシュ領域が共有メモリに割り当てられるために、複数のプロセスがキャッシュ領域において同一のデータに対してアクセスすることができるので、キャッシュ領域の容量を小さくすることができてメモリ使用効率を向上できるという効果を奏する。
【0026】
実施の形態2.
図2は、この発明の実施の形態2による分散データ管理システムを示す構成図である。図2において、図1と同一符号は同一または相当部分を示すので、その説明を省略する。実施の形態2は、実施の形態1と比較すると、二次記憶機構内にキャッシュ領域を設定する点で相違する。
【0027】
図2において、15は計算機1に接続された二次記憶機構6内に設定されたキャッシュ領域、16は計算機2に接続された二次記憶機構7内に設定されたキャッシュ領域である。二次記憶機構6,7等に設定されたキャッシュ領域15,16等には、主メモリに設定されたキャッシュ領域と同様に自計算機の二次記憶機構のみではなく、他計算機の二次記憶機構に記憶されていてプロセスの発生により必要となったデータブロックがコピーされる。
【0028】
また、二次記憶機構6,7等に設定されたキャッシュ領域15,16等には、すべてに共通のデータが保持される。したがって、主メモリに設定されたキャッシュ領域と同様に、1つの計算機に接続された二次記憶機構のキャッシュ領域においてデータブロックの更新があると、キャッシュ領域の一貫性を保持するためには、他の計算機に接続された二次記憶機構のキャッシュ領域においても該当するデータブロックを更新する必要がある。
【0029】
さらに、二次記憶機構6,7等に設定されたキャッシュ領域15,16等は主メモリに設定されたキャッシュ領域を包含する関係にあり、主メモリに設定されたキャッシュ領域に対するバックアップ的機能をも有する。すなわち、主メモリに設定されたキャッシュ領域に存在するデータブロックは、必ず二次記憶機構に設定されたキャッシュ領域にもコピーされて存在している。
【0030】
次に動作について説明する。
計算機1でデータの更新が行われると、更新される対象データがキャッシュ領域に存在する場合には、キャッシュ領域管理機構14は、主メモリ4のキャッシュ領域12と二次記憶機構6のキャッシュ領域15とにおいて関連するデータブロックを更新する。そして、計算機1におけるキャッシュ領域12,15の更新後、キャッシュ領域管理機構14は、計算機2について主メモリ5のキャッシュ領域13と二次記憶機構7のキャッシュ領域16とにおいて関連するデータブロックを更新する。
【0031】
以上のように、この実施の形態2によれば、実施の形態1によるのと同等の効果が得られるのに加えて、データの更新をした後に計算機が停止した場合でも、二次記憶機構にあるキャッシュ領域に保持されているデータブロックは消滅することがないので、プロセスが新たに主メモリのキャッシュ領域に保持されていたデータブロックを参照しようとする場合にも、自己の計算機の二次記憶機構にあるキャッシュ領域から参照することができるから、ネットワーク機構を介して他の計算機からデータを参照する必要もなくキャッシュのヒット率の低下を抑制することができるという効果を奏する。
【0032】
実施の形態3.
図3は、この発明の実施の形態3による分散データ管理システムを示す構成図である。図3において、図1と同一符号は同一または相当部分を示すので、その説明を省略する。実施の形態3は、実施の形態1と比較すると、キャッシュ領域管理機構14が計算機1内に設置される点で相違する。
【0033】
図3において、計算機1の主メモリ4内においてキャッシュ領域12は、キャッシュ領域管理機構14、二次記憶機構6、およびユーザプロセス8,9が直接アクセス可能なアドレス空間として与えられる共有メモリに割り当てられる。また、計算機2の主メモリ5内においてキャッシュ領域13は、二次記憶機構7およびユーザプロセス10,11が直接アクセス可能なアドレス空間として与えられる共有メモリに割り当てられる。
【0034】
なお、この実施の形態3は、計算機1においてデータの更新が高頻度で実施されることを前提としている。また、計算機2は、計算機1が保持するデータの一部または全部を参照して画面に当該データを表示するものとする。計算機2は自計算機内にキャッシュ領域管理機構を有しないから、計算機1に設けられたキャッシュ領域管理機構14が計算機2のキャッシュ領域13を管理する。
【0035】
次に動作について説明する。
計算機1でデータの更新が行われると、更新される対象データがキャッシュ領域に存在する場合には、キャッシュ領域管理機構14が、主メモリ4のキャッシュ領域12において関連するデータブロックを更新する。その後、キャッシュ領域管理機構14は、計算機2について主メモリ5のキャッシュ領域13において関連するデータブロックを更新する。
【0036】
以上のように、この実施の形態3によれば、実施の形態1によるのと同等の効果が得られるのに加えて、キャッシュ領域管理機構14を内部に有する計算機1については、ネットワーク機構3を介さずにキャッシュ領域12へのアクセスが可能であるので、キャッシュ領域上のデータへのアクセスを高速に実施することができるという効果を奏する。
【0037】
実施の形態4.
図4は、この発明の実施の形態4による分散データ管理システムを示す構成図である。図4において、図3と同一符号は同一または相当部分を示すので、その説明を省略する。実施の形態4は、実施の形態3と比較すると、二次記憶機構内にキャッシュ領域を設定する点で相違する。図において、15は計算機1に接続された二次記憶機構6内に設定されたキャッシュ領域、16は計算機2に接続された二次記憶機構7内に設定されたキャッシュ領域である。
【0038】
次に、動作について説明する。
計算機1でデータの更新が行われると、更新される対象データがキャッシュ領域に存在する場合には、キャッシュ領域管理機構14は、主メモリ4のキャッシュ領域12と二次記憶機構6のキャッシュ領域15とにおいて関連するデータブロックを更新する。その後、キャッシュ領域管理機構14は、計算機2について主メモリ5のキャッシュ領域13と二次記憶機構7のキャッシュ領域16とにおいて関連するデータブロックを更新する。
【0039】
以上のように、この実施の形態4によれば、実施の形態3によるのと同等の効果が得られるのに加えて、データの更新をした後に計算機が停止した場合でも、二次記憶機構にあるキャッシュ領域に保持されているデータブロックは消滅することがないので、プロセスが新たに主メモリのキャッシュ領域に保持されていたデータブロックを参照しようとする場合にも、自己の計算機の二次記憶機構にあるキャッシュ領域から参照することができるから、ネットワーク機構を介して他の計算機からデータを参照する必要もなくキャッシュのヒット率の低下を抑制することができるという効果を奏する。
【0040】
実施の形態5.
図5は、この発明の実施の形態5による分散データ管理システムを示す構成図である。図5において、図1と同一符号は同一または相当部分を示すので、その説明を省略する。実施の形態5は、実施の形態1と比較すると、キャッシュ領域を分割し、取り扱うデータの種類に応じて使用するキャッシュ領域を区別する点で相違する。
【0041】
図5において、計算機1について、17は更新頻度が低いデータであるリードオンリーデータ用にキャッシュ領域12を分割して同様に共有メモリ上に設定されたリードオンリーデータ用キャッシュ領域(サブキャッシュ領域)、18は更新頻度が高いデータであるカレントデータ用にキャッシュ領域12を分割して同様に共有メモリ上に設定されたカレントデータ用キャッシュ領域(サブキャッシュ領域)である。また、計算機2について、同様に、19はリードオンリーデータ用キャッシュ領域(サブキャッシュ領域)、20はカレントデータ用キャッシュ領域(サブキャッシュ領域)である。
【0042】
次に動作について説明する。
計算機1でリードオンリーデータの更新が行われると、更新される対象データがリードオンリーデータ用キャッシュ領域17に存在する場合には、キャッシュ領域管理機構14は、主メモリ4のリードオンリーデータ用キャッシュ領域17において関連するデータブロックを更新する。その後、キャッシュ領域管理機構14は、計算機2についてリードオンリーデータ用キャッシュ領域19において関連するデータブロックを更新する。なお、カレントデータの更新が行われた場合にも、リードオンリーデータの更新が行なわれた場合と同様に取り扱われる。
【0043】
以上のように、この実施の形態5によれば、データの種類別にキャッシュ領域を分割することで、異なる種類のデータが同一の分割されたキャッシュ領域を使用しないから、キャッシュ領域におけるヒット率の低下を抑制することができるという効果を奏する。
【0044】
なお、上記説明では、キャッシュ領域管理機構14が1つ設けられている場合について説明したが、データ種類毎にキャッシュ領域管理機構を設ける構成とすることも可能である。この場合には、それぞれのキャッシュ領域管理機構14の構造を簡単にすることができるという効果を奏する。
【0045】
また、上記説明では、更新の頻度に応じてデータを分類する場合について説明したが、例えばデータ量、データの参照頻度、求められるデータ更新の速度、データの読み込み・書き込み権、更新可能なユーザ等に応じてデータを分類する構成とすることも可能である。
さらに、上記説明では、データをリードオンリーデータとカレントデータの2種類に分類する場合について説明したが、データを3種類以上に分類する構成とすることも可能である。
【0046】
実施の形態6.
図6は、この発明の実施の形態6による分散データ管理システムを示す構成図である。図6において、図5と同一符号は同一または相当部分を示すので、その説明を省略する。実施の形態6は、実施の形態5と比較すると、主メモリにおいてキャッシュ領域を分割使用するのと同様に、二次記憶機構内にも分割使用されるキャッシュ領域を設定する点で相違する。
【0047】
図6において、計算機1について、21は主メモリ4内に配置されたリードオンリーデータ用キャッシュ領域17を包含するように対応付けられて二次記憶機構6内に設定されたリードオンリーデータ用キャッシュ領域(サブキャッシュ領域)、22は主メモリ4内に配置されたカレントデータ用キャッシュ領域18を包含するように対応付けられて二次記憶機構6内に設定されたカレントデータ用キャッシュ領域(サブキャッシュ領域)である。また、計算機2について、同様に、23は二次記憶機構7内に設定されたリードオンリーデータ用キャッシュ領域(サブキャッシュ領域)、24は二次記憶機構7内に設定されたカレントデータ用キャッシュ領域(サブキャッシュ領域)である。
【0048】
次に、動作について説明する。
計算機1でリードオンリーデータの更新が行われると、更新される対象データがリードオンリーデータ用キャッシュ領域17に存在する場合には、キャッシュ領域管理機構14は、主メモリ4のリードオンリーデータ用キャッシュ領域17と二次記憶機構6のリードオンリーデータ用キャッシュ領域21とにおいて関連するデータブロックを更新する。また、計算機1におけるリードオンリーデータ用キャッシュ領域17等の更新後、キャッシュ領域管理機構14は、計算機2についてリードオンリーデータ用キャッシュ領域19と二次記憶機構7のリードオンリーデータ用キャッシュ領域23とにおいて関連するデータブロックを更新する。なお、カレントデータの更新が行なわれた場合にも、リードオンリーデータの更新が行なわれた場合と同様に取り扱われる。
【0049】
以上のように、この実施の形態6によれば、実施の形態5によるのと同等の効果が得られるのに加えて、データの更新をした後に計算機が停止した場合でも、二次記憶機構にあるキャッシュ領域に保持されているデータブロックは消滅することがないので、プロセスが新たに主メモリのキャッシュ領域に保持されていたデータブロックを参照しようとする場合にも、自己の計算機の二次記憶機構にあるキャッシュ領域から参照することができるから、ネットワーク機構を介して他の計算機からデータを参照する必要もなくキャッシュのヒット率の低下を抑制することができるという効果を奏する。
【0050】
実施の形態7.
図7は、この発明の実施の形態7による分散データ管理システムを示す構成図である。図7において、図5と同一符号は同一または相当部分を示すので、その説明を省略する。実施の形態7は、実施の形態5と比較すると、キャッシュ領域管理機構14が計算機1内に設置される点で相違する。
【0051】
図7において、計算機1の主メモリ4内においてリードオンリーデータ用キャッシュ領域17およびカレントデータ用キャッシュ領域18は、キャッシュ領域管理機構14、二次記憶機構6、およびユーザプロセス8,9が直接アクセス可能なアドレス空間として与えられる共有メモリに割り当てられる。また、計算機2の主メモリ5内においてリードオンリーデータ用キャッシュ領域19およびカレントデータ用キャッシュ領域20は、二次記憶機構7およびユーザプロセス10,11が直接アクセス可能なアドレス空間として与えられる共有メモリに割り当てられる。
【0052】
なお、この実施の形態7は、計算機1においてデータの更新が高頻度で実施されることを前提としている。また、計算機2は、計算機1が保持するデータの一部または全部を参照して画面に当該データを表示するものとする。計算機2は自計算機内にキャッシュ領域管理機構を有しないので、計算機1に設けられたキャッシュ領域管理機構14が計算機2のリードオンリーデータ用キャッシュ領域19およびカレントデータ用キャッシュ領域20を管理する。
【0053】
次に動作について説明する。
計算機1でリードオンリーデータの更新が行われると、更新される対象データがリードオンリーデータ用キャッシュ領域17に存在する場合には、キャッシュ領域管理機構14は、主メモリ4のリードオンリーデータ用キャッシュ領域17において関連するデータブロックを更新する。その後、キャッシュ領域管理機構14は、計算機2についてリードオンリーデータ用キャッシュ領域19において関連するデータブロックを更新する。なお、カレントデータの更新が行われた場合にも、リードオンリーデータの更新が行われた場合と同様に取り扱われる。
【0054】
以上のように、この実施の形態7によれば、実施の形態5によるのと同等の効果が得られるのに加えて、キャッシュ領域管理機構14を内部に有する計算機1については、ネットワーク機構3を介さずにリードオンリーデータ用キャッシュ領域17およびカレントデータ用キャッシュ領域18へのアクセスが可能であるので、キャッシュ領域上のデータへのアクセスを高速に実施することができるという効果を奏する。
【0055】
実施の形態8.
図8は、この発明の実施の形態8による分散データ管理システムを示す構成図である。図8において、図7と同一符号は同一または相当部分を示すので、その説明を省略する。実施の形態8は、実施の形態7と比較すると、主メモリにおいてキャッシュ領域を分割使用するのと同様に、二次記憶機構内にも分割使用されるキャッシュ領域を設定する点で相違する。
【0056】
図8において、計算機1について、21は主メモリ4内に配置されたリードオンリーデータ用キャッシュ領域17を包含するように対応付けられて二次記憶機構6内に設定されたリードオンリーデータ用キャッシュ領域、22は主メモリ4内に配置されたカレントデータ用キャッシュ領域18を包含するように対応付けられて二次記憶機構6内に設定されたカレントデータ用キャッシュ領域である。また、計算機2について、同様に、23は二次記憶機構7内に設定されたリードオンリーデータ用キャッシュ領域、24は二次記憶機構7内に設定されたカレントデータ用キャッシュ領域である。
【0057】
次に、動作について説明する。
計算機1でリードオンリーデータの更新が行われると、更新される対象データがリードオンリーデータ用キャッシュ領域17に存在する場合には、キャッシュ領域管理機構14は、主メモリ4のリードオンリーデータ用キャッシュ領域17と二次記憶機構6のリードオンリーデータ用キャッシュ領域21とにおいて関連するデータブロックを更新する。その後、キャッシュ領域管理機構14は、計算機2について主メモリ5のリードオンリーデータ用キャッシュ領域19と二次記憶機構7のリードオンリーデータ用キャッシュ領域23とにおいて関連するデータブロックを更新する。なお、カレントデータの更新が行われた場合にも、リードオンリーデータの更新が行われた場合と同様に取り扱われる。
【0058】
以上のように、この実施の形態8によれば、実施の形態7によるのと同等の効果が得られるのに加えて、データの更新をした後に計算機が停止した場合でも、二次記憶機構にあるキャッシュ領域に保持されているデータブロックは消滅することがないので、プロセスが新たに主メモリのキャッシュ領域に保持されていたデータブロックを参照しようとする場合にも、自己の計算機の二次記憶機構にあるキャッシュ領域から参照することができるから、ネットワーク機構を介して他の計算機からデータを参照する必要もなくキャッシュのヒット率の低下を抑制することができるという効果を奏する。
【0059】
なお、上記の実施の形態1から実施の形態8による分散データ管理システムでは、ネットワーク機構に接続される計算機を2台として説明したが、ネットワーク機構に接続される計算機が3台以上の場合においても、実施の形態1から実施の形態8による分散データ管理システムを実現することは勿論可能である。
【0060】
【発明の効果】
以上のように、この発明によれば、計算機の主メモリ内において、当該計算機に接続される二次記憶機構および当該計算機内で発生される複数のプロセスが直接アクセス可能なアドレス空間として与えられる共有メモリにキャッシュ領域を割り当てるように構成したので、複数のプロセスがキャッシュ領域において同一のデータに対してアクセスすることができるから、キャッシュ領域の容量を小さくすることができてメモリ使用効率を向上できるという効果を奏する。
【0061】
この発明によれば、主メモリにおいて、取り扱うデータの種類に基づいて使用するキャッシュ領域を区別するようにキャッシュ領域を分割して、取り扱うデータの種類数に対応した複数のサブキャッシュ領域を備えるように構成したので、異なる種類のデータが同一のサブキャッシュ領域を使用しないから、キャッシュ領域におけるヒット率の低下を抑制することができるという効果を奏する。
【0062】
この発明によれば、主メモリに配置されたキャッシュ領域またはサブキャッシュ領域を包含するように対応付けて、当該主メモリを有する計算機に接続された二次記憶機構にキャッシュ領域またはサブキャッシュ領域を備えるように構成したので、データの更新をした後に計算機が停止した場合でも、二次記憶機構内のキャッシュ領域またはサブキャッシュ領域に保持されているデータブロックは消滅することがないので、プロセスが新たに主メモリのキャッシュ領域またはサブキャッシュ領域に保持されていたデータブロックを参照しようとする場合にも、自計算機の二次記憶機構にあるキャッシュ領域またはサブキャッシュ領域から参照することができるから、他の計算機にネットワーク機構を介してデータを参照する必要もなくキャッシュのヒット率の低下を抑制することができるという効果を奏する。
【0063】
この発明によれば、計算機内部に設けられ、当該計算機のキャッシュ領域またはサブキャッシュ領域には直接アクセス可能であり、他の計算機のキャッシュ領域またはサブキャッシュ領域にはネットワーク機構を介してアクセスして管理するキャッシュ領域管理機構を備えるように構成したので、キャッシュ領域管理機構を有する計算機については、ネットワーク機構を介さずにキャッシュ領域またはサブキャッシュ領域へのアクセスが可能であるから、キャッシュ領域またはサブキャッシュ領域上のデータへのアクセスを高速に実施することができるという効果を奏する。
【0064】
この発明によれば、取り扱うデータに対応したそれぞれの種類のサブキャッシュ領域毎に、当該サブキャッシュ領域を管理するキャッシュ領域管理機構を備えるように構成したので、それぞれのキャッシュ領域管理機構の構造を簡単にすることができるという効果を奏する。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による分散データ管理システムを示す構成図である。
【図2】 この発明の実施の形態2による分散データ管理システムを示す構成図である。
【図3】 この発明の実施の形態3による分散データ管理システムを示す構成図である。
【図4】 この発明の実施の形態4による分散データ管理システムを示す構成図である。
【図5】 この発明の実施の形態5による分散データ管理システムを示す構成図である。
【図6】 この発明の実施の形態6による分散データ管理システムを示す構成図である。
【図7】 この発明の実施の形態7による分散データ管理システムを示す構成図である。
【図8】 この発明の実施の形態8による分散データ管理システムを示す構成図である。
【図9】 従来の分散データ管理システムを示す構成図である。
【符号の説明】
1,2 計算機、3 ネットワーク機構、4,5 主メモリ、6,7 二次記憶機構、8,9,10,11 ユーザプロセス(プロセス)、12,13,15,16 キャッシュ領域、14 キャッシュ領域管理機構、17,19,21,23 リードオンリーデータ用キャッシュ領域(サブキャッシュ領域)、18,20,22,24 カレントデータ用キャッシュ領域(サブキャッシュ領域)。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a distributed data management system for realizing efficient use of memory and high-speed data access when a distributed system is constructed.
[0002]
[Prior art]
FIG. 9 shows a conventional distributed data management system based on the client-server configuration shown in Section 5.2.3 (pp.262-265) of “Distributed Operating System” (ASTanenbaum, published by Prentice-Hall International, Inc.), for example. FIG.
[0003]
In the figure, reference numerals 101, 102, and 103 denote client computers, 104 denotes a network mechanism, 105 denotes a cache area management mechanism, and 106 denotes a server computer. As for the computer cache used in each client computer 101, 102, 103, the client computer 101 employs a method of allocating a cache in a memory space allocated to each process, and the client computer 102 is allocated to an OS kernel process. The client computer 103 employs a scheme in which the cache management process is configured as a user process and the cache is allocated in a memory space allocated to the cache management user process.
[0004]
Next, the operation will be described.
In any client computer 101, 102, 103, when referring to data in the user process, if there is the latest data in its own cache area set for each client computer, that is, if it hits Data is referred from the cache area, and when there is no data in its own cache area, that is, when there is a miss, the latest data is referred from another client computer or server computer 106 via the cache area management mechanism 105. When the process updates data, the data block related to the data is updated in the cache area, and the update information is notified to the cache area management mechanism 105.
[0005]
[Problems to be solved by the invention]
Since the conventional distributed data management system is configured as described above, in the method adopted by the client computer 101, when there are a plurality of processes in a single client computer, only the number of processes is cached. Since the area is set, a large amount of memory is required for the cache area, resulting in a problem of poor memory efficiency. For example, when the process A disappears, the cache area set for the process A also disappears, so that other processes refer to data stored in the cache area set for the process A thereafter. Even when trying to do so, the data has to be referred again from the server or the like, so that there is a problem that the cache hit rate decreases.
[0006]
In the method adopted by the client computer 102, data remains in the cache even after the process is extinguished. However, there is a problem that the access speed to the cache is slow because it is necessary to call the kernel function of the OS even if data exists on the cache.
[0007]
In the method adopted by the client computer 103, the cache management is left to the cache management user process, and the memory allocated to the user process is controlled under the management of the OS. Therefore, when the virtual memory method is adopted in the client computer 103, for example, the data on the cache managed by the cache management user process is not stored in the main memory but is swept out to the secondary storage mechanism. There was a problem that there was a case.
[0008]
The present invention has been made to solve the above-described problems, and an object thereof is to obtain a distributed data management system that improves the memory use efficiency of a cache area.
[0009]
Another object of the present invention is to provide a distributed data management system that suppresses a decrease in access speed to a cache.
[0010]
A further object of the present invention is to provide a distributed data management system that suppresses a decrease in cache hit rate.
[0011]
[Means for Solving the Problems]
The distributed data management system according to the present invention includes: A plurality of computers each having a main memory and a secondary storage mechanism connected thereto, a network mechanism connected to the plurality of computers to enable data transfer between the computers, and each connected to the network mechanism In a distributed data management system having a cache area management mechanism for managing a cache area provided for realizing high-speed data access in a computer via a network mechanism, the cache area is stored in the main memory of the computer. A secondary storage mechanism connected to the computer and a plurality of processes generated in the computer are allocated to a shared memory provided as an address space that can be directly accessed, and used in the main memory based on the update frequency of the data to be handled Cache area to distinguish The cache area of each computer is divided into a plurality of sub-cache areas corresponding to the update frequency of the data to be handled, and the cache area of each of the computers holds the common data. When a data block is updated in an area, the corresponding data block is updated in the cache area of another computer, and the sub-cache area is managed for each sub-cache area corresponding to the update frequency of the handled data. Equipped with cache area management mechanism It is what I did.
[0013]
The distributed data management system according to the present invention is provided inside a computer, can directly access the cache area of the computer, and accesses and manages the cache area of the other computer via a network mechanism. Is provided.
[0014]
The distributed data management system according to the present invention divides a cache area so as to distinguish a cache area to be used based on the type of data to be handled in the main memory, and a plurality of sub-cache areas corresponding to the number of types of data to be handled Is provided.
[0015]
The distributed data management system according to the present invention divides a cache area arranged in a secondary storage mechanism connected to a computer, and associates the cache area with a sub-cache area arranged in a main memory of the computer. The secondary storage mechanism is provided with a sub-cache area.
[0016]
The distributed data management system according to the present invention comprises a cache area management mechanism for managing each sub-cache area for each type of sub-cache area corresponding to the data to be handled.
[0017]
A distributed data management system according to the present invention is provided in a computer, and can directly access a sub-cache area of the computer, and a cache area that is accessed and managed via a network mechanism in a sub-cache area of another computer. A management mechanism is provided.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
An embodiment of the present invention will be described below.
Embodiment 1 FIG.
1 is a block diagram showing a distributed data management system according to Embodiment 1 of the present invention. In the figure, 1 and 2 are computers used in the distributed system, 3 is a network mechanism for connecting a plurality of computers such as computers 1 and 2 to realize data transfer between the computers, and 4 and 5 are computers 1 and 2, respectively. Main memory, 6 and 7 are secondary storage mechanisms connected to the computers 1 and 2, respectively, 8 and 9 are user processes (processes) generated in the computer 1, and 10 and 11 are generated in the computer 2 A user process (process), 12 is a cache area allocated to a shared memory provided as an address space that can be directly accessed by the secondary storage mechanism 6 and the user processes 8, 9 in the main memory 4 of the computer 1, and 13 is a Shared memory provided as an address space that can be directly accessed by the secondary storage mechanism 7 and the user processes 10 and 11 in the main memory 5 Cache space allocated, 14 is a cache area management mechanism that manages the cache area 12, 13 such as the computer 1 via the network mechanism 3. In addition, not only the secondary storage mechanism of the own computer but also the data blocks that are stored in the secondary storage mechanism of the other computer and become necessary due to the occurrence of the process are copied to the cache areas 12, 13 and the like.
[0019]
Each data has an identifier and is stored in any of the secondary storage mechanisms 6 and 7 of the computers 1 and 2. The data stored in the secondary storage mechanisms 6 and 7 is called master data. The cache area management mechanism 14 has an identifier of data stored in the secondary storage mechanisms 6, 7, etc. for each of the secondary storage mechanisms 6, 7, etc. of the computers 1, 2, etc.
[0020]
In addition, common data is held in the cache areas 12 and 13 of the computers 1 and 2. Therefore, if a data block is updated in the cache area of one computer, it is necessary to update the corresponding data block in the cache area of another computer in order to maintain the consistency of the cache area.
[0021]
Next, the operation will be described.
In the first embodiment, in order to maintain the consistency of the cache area, a method of transferring the data changed every time data is updated and the identifier of the data to all the computers via the network mechanism 3 is adopted. ing. For other computers to which the changed data and the identifier of the data have been transferred, it is determined whether the target data changed by the cache area management mechanism 14 is held in the cache area or rejected. Further, in the computer that holds the master data for the target data, the master data is updated to the transferred data.
[0022]
For example, a case where the master data stored in the secondary storage mechanism 6 connected to the computer 1 is updated by the user process 8 will be considered. In this case, the computer 1 transfers the changed data and the identifier of the data to all the computers connected to the network mechanism 3. For the computer 2 to which the changed data and the identifier of the data have been transferred, if it is determined that the data changed by the cache area management mechanism 14 should be stored in the cache area 13, the computer 2 determines that the cache area 13 Write changed data to. Further, in a computer that holds the changed target data as master data, the master data is updated to the transferred data.
[0023]
Incidentally, since the data on the cache area 12 exists in the shared memory, the user process 9 can also be referred to. Since the target data is also written in the cache area 13 and the cache area 13 exists in the shared memory as well, the user processes 10 and 11 can also refer to the target data.
[0024]
In addition, as a method for maintaining the consistency of the cache area, a method in which each computer updates its own cache area from time to time, and every time the cache data is updated and the cache data is referred to is recorded. After checking whether the master data has been updated after the update time, a method of referring to the data, by adding an update flag to each cache data or master data, and setting an update flag every time there is a data change A method has been devised for determining whether to refer to master data based on an update flag when referring to data. In the first embodiment of the present invention, any method can be adopted as a method for maintaining the consistency of the cache area.
[0025]
As described above, according to the first embodiment, since the cache area is allocated to the shared memory, a plurality of processes can access the same data in the cache area. The memory usage efficiency can be improved by reducing the memory size.
[0026]
Embodiment 2. FIG.
FIG. 2 is a block diagram showing a distributed data management system according to Embodiment 2 of the present invention. 2, the same reference numerals as those in FIG. 1 denote the same or corresponding parts, and the description thereof is omitted. The second embodiment is different from the first embodiment in that a cache area is set in the secondary storage mechanism.
[0027]
In FIG. 2, 15 is a cache area set in the secondary storage mechanism 6 connected to the computer 1, and 16 is a cache area set in the secondary storage mechanism 7 connected to the computer 2. The cache areas 15, 16, etc. set in the secondary storage mechanisms 6, 7, etc. are not limited to the secondary storage mechanism of the own computer, as are the cache areas set in the main memory. The data block stored in the memory and required by the occurrence of the process is copied.
[0028]
In addition, common data is held in the cache areas 15 and 16 set in the secondary storage mechanisms 6 and 7 and the like. Therefore, in the same way as the cache area set in the main memory, if there is a data block update in the cache area of the secondary storage mechanism connected to one computer, to maintain the consistency of the cache area, It is also necessary to update the corresponding data block in the cache area of the secondary storage mechanism connected to the computer.
[0029]
Further, the cache areas 15, 16 etc. set in the secondary storage mechanisms 6, 7, etc. have a relationship including the cache area set in the main memory, and have a backup function for the cache area set in the main memory. Have. That is, the data block existing in the cache area set in the main memory is always copied to the cache area set in the secondary storage mechanism.
[0030]
Next, the operation will be described.
When data is updated in the computer 1, if the target data to be updated exists in the cache area, the cache area management mechanism 14 causes the cache area 12 in the main memory 4 and the cache area 15 in the secondary storage mechanism 6 to be updated. And update the associated data block. After updating the cache areas 12 and 15 in the computer 1, the cache area management mechanism 14 updates data blocks related to the computer 2 in the cache area 13 of the main memory 5 and the cache area 16 of the secondary storage mechanism 7. .
[0031]
As described above, according to the second embodiment, in addition to obtaining the same effect as that of the first embodiment, even when the computer is stopped after updating the data, the secondary storage mechanism is used. Since a data block held in a cache area never disappears, even if a process tries to refer to a data block held in the cache area of the main memory, the secondary storage of its own computer Since it can be referred from the cache area in the mechanism, there is no need to refer to data from another computer via the network mechanism, and an effect of suppressing a decrease in the cache hit rate can be achieved.
[0032]
Embodiment 3 FIG.
FIG. 3 is a block diagram showing a distributed data management system according to Embodiment 3 of the present invention. 3, the same reference numerals as those in FIG. 1 denote the same or corresponding parts, and the description thereof is omitted. The third embodiment is different from the first embodiment in that the cache area management mechanism 14 is installed in the computer 1.
[0033]
In FIG. 3, the cache area 12 in the main memory 4 of the computer 1 is allocated to a shared memory provided as an address space that can be directly accessed by the cache area management mechanism 14, the secondary storage mechanism 6, and the user processes 8 and 9. Further, the cache area 13 in the main memory 5 of the computer 2 is allocated to a shared memory provided as an address space that can be directly accessed by the secondary storage mechanism 7 and the user processes 10 and 11.
[0034]
The third embodiment is based on the premise that the computer 1 updates data frequently. Further, the computer 2 displays the data on the screen with reference to a part or all of the data held by the computer 1. Since the computer 2 does not have a cache area management mechanism in its own computer, the cache area management mechanism 14 provided in the computer 1 manages the cache area 13 of the computer 2.
[0035]
Next, the operation will be described.
When data is updated in the computer 1, if the target data to be updated exists in the cache area, the cache area management mechanism 14 updates the related data block in the cache area 12 of the main memory 4. Thereafter, the cache area management mechanism 14 updates the data block related to the computer 2 in the cache area 13 of the main memory 5.
[0036]
As described above, according to the third embodiment, in addition to obtaining the same effect as that of the first embodiment, the network mechanism 3 is provided for the computer 1 having the cache area management mechanism 14 therein. Since it is possible to access the cache area 12 without intervention, the access to the data in the cache area can be performed at high speed.
[0037]
Embodiment 4 FIG.
FIG. 4 is a block diagram showing a distributed data management system according to Embodiment 4 of the present invention. 4, the same reference numerals as those in FIG. 3 denote the same or corresponding parts, and the description thereof is omitted. The fourth embodiment is different from the third embodiment in that a cache area is set in the secondary storage mechanism. In the figure, 15 is a cache area set in the secondary storage mechanism 6 connected to the computer 1, and 16 is a cache area set in the secondary storage mechanism 7 connected to the computer 2.
[0038]
Next, the operation will be described.
When data is updated in the computer 1, if the target data to be updated exists in the cache area, the cache area management mechanism 14 causes the cache area 12 in the main memory 4 and the cache area 15 in the secondary storage mechanism 6 to be updated. And update the associated data block. Thereafter, the cache area management mechanism 14 updates data blocks related to the computer 2 in the cache area 13 of the main memory 5 and the cache area 16 of the secondary storage mechanism 7.
[0039]
As described above, according to the fourth embodiment, in addition to obtaining the same effect as that of the third embodiment, even when the computer is stopped after the data is updated, the secondary storage mechanism is used. Since a data block held in a cache area never disappears, even if a process tries to refer to a data block held in the cache area of the main memory, the secondary storage of its own computer Since it can be referred from the cache area in the mechanism, there is no need to refer to data from another computer via the network mechanism, and an effect of suppressing a decrease in the cache hit rate can be achieved.
[0040]
Embodiment 5 FIG.
FIG. 5 is a block diagram showing a distributed data management system according to Embodiment 5 of the present invention. 5, the same reference numerals as those in FIG. 1 denote the same or corresponding parts, and the description thereof is omitted. The fifth embodiment is different from the first embodiment in that the cache area is divided and the cache area to be used is distinguished according to the type of data to be handled.
[0041]
In FIG. 5, for the computer 1, reference numeral 17 denotes a read-only data cache area (sub-cache area) which is similarly set on the shared memory by dividing the cache area 12 for read-only data which is data with low update frequency. Reference numeral 18 denotes a current data cache area (sub-cache area) which is set on the shared memory by dividing the cache area 12 for current data which is frequently updated data. Similarly, for the computer 2, 19 is a read-only data cache area (sub-cache area), and 20 is a current data cache area (sub-cache area).
[0042]
Next, the operation will be described.
When read-only data is updated in the computer 1, if the target data to be updated exists in the read-only data cache area 17, the cache area management mechanism 14 reads the read-only data cache area in the main memory 4. 17 update the associated data block. Thereafter, the cache area management mechanism 14 updates the associated data block in the read-only data cache area 19 for the computer 2. Note that when current data is updated, it is handled in the same manner as when read-only data is updated.
[0043]
As described above, according to the fifth embodiment, since the cache area is divided according to the data type, different types of data do not use the same divided cache area. There is an effect that can be suppressed.
[0044]
In the above description, the case where one cache area management mechanism 14 is provided has been described. However, a cache area management mechanism may be provided for each data type. In this case, there is an effect that the structure of each cache area management mechanism 14 can be simplified.
[0045]
In the above description, the case where data is classified according to the update frequency has been described. For example, the data amount, the data reference frequency, the required data update speed, the right to read / write data, the updatable user, etc. It is also possible to classify the data according to the above.
Further, in the above description, the case where data is classified into two types of read-only data and current data has been described, but it is also possible to adopt a configuration in which data is classified into three or more types.
[0046]
Embodiment 6 FIG.
FIG. 6 is a block diagram showing a distributed data management system according to Embodiment 6 of the present invention. In FIG. 6, the same reference numerals as those in FIG. The sixth embodiment is different from the fifth embodiment in that a cache area to be divided and used is also set in the secondary storage mechanism in the same manner as the cache area is divided and used in the main memory.
[0047]
In FIG. 6, for the computer 1, 21 is a read-only data cache area set in the secondary storage mechanism 6 in association with the read-only data cache area 17 arranged in the main memory 4. (Sub cache area), 22 is a current data cache area (sub cache area) set in the secondary storage mechanism 6 in association with the current data cache area 18 arranged in the main memory 4 ). Similarly, for the computer 2, 23 is a read-only data cache area (sub-cache area) set in the secondary storage mechanism 7, and 24 is a current data cache area set in the secondary storage mechanism 7. (Sub-cache area).
[0048]
Next, the operation will be described.
When read-only data is updated in the computer 1, if the target data to be updated exists in the read-only data cache area 17, the cache area management mechanism 14 reads the read-only data cache area in the main memory 4. 17 and the data block related to the read-only data cache area 21 of the secondary storage mechanism 6 are updated. After updating the read-only data cache area 17 and the like in the computer 1, the cache area management mechanism 14 uses the read-only data cache area 19 and the read-only data cache area 23 of the secondary storage mechanism 7 for the computer 2. Update the associated data block. Even when the current data is updated, it is handled in the same manner as when the read-only data is updated.
[0049]
As described above, according to the sixth embodiment, in addition to obtaining the same effect as that of the fifth embodiment, even when the computer is stopped after updating the data, the secondary storage mechanism is used. Since a data block held in a cache area never disappears, even if a process tries to refer to a data block held in the cache area of the main memory, the secondary storage of its own computer Since it can be referred from the cache area in the mechanism, there is no need to refer to data from another computer via the network mechanism, and an effect of suppressing a decrease in the cache hit rate can be achieved.
[0050]
Embodiment 7 FIG.
FIG. 7 is a block diagram showing a distributed data management system according to Embodiment 7 of the present invention. In FIG. 7, the same reference numerals as those in FIG. The seventh embodiment is different from the fifth embodiment in that a cache area management mechanism 14 is installed in the computer 1.
[0051]
In FIG. 7, the read-only data cache area 17 and the current data cache area 18 in the main memory 4 of the computer 1 are directly accessible by the cache area management mechanism 14, the secondary storage mechanism 6, and the user processes 8 and 9. Allocated to shared memory given as address space. In the main memory 5 of the computer 2, the read-only data cache area 19 and the current data cache area 20 are allocated to a shared memory provided as an address space that can be directly accessed by the secondary storage mechanism 7 and the user processes 10 and 11. It is done.
[0052]
This Embodiment 7 is based on the premise that the computer 1 updates data frequently. Further, the computer 2 displays the data on the screen with reference to a part or all of the data held by the computer 1. Since the computer 2 does not have a cache area management mechanism in its own computer, the cache area management mechanism 14 provided in the computer 1 manages the read-only data cache area 19 and the current data cache area 20 of the computer 2.
[0053]
Next, the operation will be described.
When read-only data is updated in the computer 1, if the target data to be updated exists in the read-only data cache area 17, the cache area management mechanism 14 reads the read-only data cache area in the main memory 4. 17 update the associated data block. Thereafter, the cache area management mechanism 14 updates the associated data block in the read-only data cache area 19 for the computer 2. Note that when the current data is updated, it is handled in the same manner as when the read-only data is updated.
[0054]
As described above, according to the seventh embodiment, in addition to obtaining the same effect as that of the fifth embodiment, the network mechanism 3 is provided for the computer 1 having the cache area management mechanism 14 therein. Since the access to the read-only data cache area 17 and the current data cache area 18 is possible without intervention, access to the data in the cache area can be performed at high speed.
[0055]
Embodiment 8 FIG.
FIG. 8 is a block diagram showing a distributed data management system according to Embodiment 8 of the present invention. 8, the same reference numerals as those in FIG. 7 denote the same or corresponding parts, and the description thereof is omitted. The eighth embodiment is different from the seventh embodiment in that a cache area to be divided and used is also set in the secondary storage mechanism in the same manner as the cache area is divided and used in the main memory.
[0056]
In FIG. 8, for the computer 1, 21 is a read-only data cache area set in the secondary storage mechanism 6 in association with the read-only data cache area 17 arranged in the main memory 4. , 22 are current data cache areas set in the secondary storage mechanism 6 in association with each other so as to include the current data cache area 18 arranged in the main memory 4. Similarly, regarding the computer 2, 23 is a read-only data cache area set in the secondary storage mechanism 7, and 24 is a current data cache area set in the secondary storage mechanism 7.
[0057]
Next, the operation will be described.
When read-only data is updated in the computer 1, if the target data to be updated exists in the read-only data cache area 17, the cache area management mechanism 14 reads the read-only data cache area in the main memory 4. 17 and the data block related to the read-only data cache area 21 of the secondary storage mechanism 6 are updated. Thereafter, the cache area management mechanism 14 updates related data blocks in the read-only data cache area 19 of the main memory 5 and the read-only data cache area 23 of the secondary storage mechanism 7 for the computer 2. Note that when the current data is updated, it is handled in the same manner as when the read-only data is updated.
[0058]
As described above, according to the eighth embodiment, in addition to obtaining the same effect as that of the seventh embodiment, even when the computer is stopped after updating the data, the secondary storage mechanism is used. Since a data block held in a cache area never disappears, even if a process tries to refer to a data block held in the cache area of the main memory, the secondary storage of its own computer Since it can be referred from the cache area in the mechanism, there is no need to refer to data from another computer via the network mechanism, and an effect of suppressing a decrease in the cache hit rate can be achieved.
[0059]
In the distributed data management system according to the first to eighth embodiments described above, two computers are connected to the network mechanism. However, even when there are three or more computers connected to the network mechanism. Of course, it is possible to realize the distributed data management system according to the first to eighth embodiments.
[0060]
【The invention's effect】
As described above, according to the present invention, in a main memory of a computer, a secondary storage mechanism connected to the computer and a shared memory provided as an address space that can be directly accessed by a plurality of processes generated in the computer Since the cache area is allocated to each other, multiple processes can access the same data in the cache area, so that the capacity of the cache area can be reduced and the memory usage efficiency can be improved. Play.
[0061]
According to the present invention, in the main memory, the cache area is divided so as to distinguish the cache area to be used based on the type of data to be handled, and a plurality of sub-cache areas corresponding to the number of types of data to be handled are provided. Since it is configured, since different types of data do not use the same sub-cache area, it is possible to suppress a decrease in hit rate in the cache area.
[0062]
According to the present invention, the secondary storage mechanism connected to the computer having the main memory is provided with the cache area or the sub-cache area in association with the cache area or the sub-cache area arranged in the main memory. Since the data block held in the cache area or sub-cache area in the secondary storage mechanism does not disappear even if the computer stops after updating the data, the process is newly Even when trying to reference a data block held in the cache area or sub-cache area of the main memory, it can be referenced from the cache area or sub-cache area in the secondary storage mechanism of the local computer. There is no need to reference data via a network mechanism to the computer. An effect that it is possible to suppress a decrease in Interview hit ratio.
[0063]
According to the present invention, the cache area or sub-cache area of the computer that is provided inside the computer is directly accessible, and the cache area or sub-cache area of another computer is accessed and managed via the network mechanism. Since the cache area management mechanism is provided, the computer having the cache area management mechanism can access the cache area or sub-cache area without going through the network mechanism. There is an effect that the data can be accessed at high speed.
[0064]
According to the present invention, since each type of sub-cache area corresponding to the data to be handled is provided with the cache area management mechanism for managing the sub-cache area, the structure of each cache area management mechanism is simplified. There is an effect that can be made.
[Brief description of the drawings]
FIG. 1 is a configuration diagram showing a distributed data management system according to a first embodiment of the present invention.
FIG. 2 is a configuration diagram showing a distributed data management system according to a second embodiment of the present invention.
FIG. 3 is a block diagram showing a distributed data management system according to a third embodiment of the present invention.
FIG. 4 is a configuration diagram showing a distributed data management system according to a fourth embodiment of the present invention.
FIG. 5 is a block diagram showing a distributed data management system according to a fifth embodiment of the present invention.
FIG. 6 is a configuration diagram showing a distributed data management system according to a sixth embodiment of the present invention.
FIG. 7 is a block diagram showing a distributed data management system according to a seventh embodiment of the present invention.
FIG. 8 is a configuration diagram showing a distributed data management system according to an eighth embodiment of the present invention.
FIG. 9 is a block diagram showing a conventional distributed data management system.
[Explanation of symbols]
1, 2 computer, 3 network mechanism, 4, 5 main memory, 6, 7 secondary storage mechanism, 8, 9, 10, 11 user process (process), 12, 13, 15, 16 cache area, 14 cache area management Mechanism, 19, 19, 21, 23 Read-only data cache area (sub-cache area), 18, 20, 22, 24 Current data cache area (sub-cache area).

Claims (4)

それぞれが主メモリを有するとともに二次記憶機構が接続される複数の計算機と、
これら複数の計算機に接続されて計算機間のデータの転送を可能とするネットワーク機構と、
該ネットワーク機構に接続されるそれぞれの計算機においてデータアクセスの高速化を実現するために設けられたキャッシュ領域を、ネットワーク機構を介して管理するキャッシュ領域管理機構とを有する分散データ管理システムにおいて、
キャッシュ領域が、計算機の主メモリ内において、当該計算機に接続される二次記憶機構および当該計算機内で発生される複数のプロセスが直接アクセス可能なアドレス空間として与えられる共有メモリに割り当てられ、
主メモリにおいて、取り扱うデータの更新頻度に基づいて使用するキャッシュ領域を区別するようにキャッシュ領域を分割して、取り扱うデータの更新頻度に対応した複数のサブキャッシュ領域を備え、
前記それぞれの計算機のキャッシュ領域には、すべてに共通のデータが保持されるように、1つの計算機のキャッシュ領域においてデータブロックの更新があると、他の計算機のキャッシュ領域においても該当するデータブロックを更新し、
前記取り扱うデータの更新頻度に対応したそれぞれのサブキャッシュ領域毎に、当該サブキャッシュ領域を管理するキャッシュ領域管理機構を備えることを特徴とする分散データ管理システム。
A plurality of computers each having a main memory and connected to a secondary storage mechanism;
A network mechanism that is connected to these multiple computers and enables data transfer between the computers,
In a distributed data management system having a cache area management mechanism for managing a cache area provided to realize high-speed data access in each computer connected to the network mechanism via the network mechanism,
A cache area is allocated in a main memory of a computer to a secondary memory mechanism connected to the computer and a shared memory provided as an address space that can be directly accessed by a plurality of processes generated in the computer,
In the main memory, the cache area is divided so as to distinguish the cache area to be used based on the update frequency of the handled data, and has a plurality of sub-cache areas corresponding to the update frequency of the handled data.
If there is a data block update in the cache area of one computer so that the common data is held in all the cache areas of the respective computers, the corresponding data block is also stored in the cache area of the other computer. Update ,
A distributed data management system comprising a cache area management mechanism for managing each sub-cache area for each sub-cache area corresponding to the update frequency of the handled data .
計算機に接続された二次記憶機構に配置されたキャッシュ領域を分割して、当該計算機が有する主メモリに配置されたサブキャッシュ領域を包含するように対応付けて二次記憶機構にサブキャッシュ領域を備えることを特徴とする請求項記載の分散データ管理システム。A cache area arranged in the secondary storage mechanism connected to the computer is divided, and the sub-cache area is allocated to the secondary storage mechanism in association with the sub-cache area arranged in the main memory of the computer. The distributed data management system according to claim 1, further comprising: 計算機内部に設けられ、当該計算機のサブキャッシュ領域には直接アクセス可能であり、他の計算機のサブキャッシュ領域にはネットワーク機構を介してアクセスして管理するキャッシュ領域管理機構を備えることを特徴とする請求項記載の分散データ管理システム。A cache area management mechanism that is provided inside a computer, is directly accessible to a sub-cache area of the computer, and has a cache area management mechanism that accesses and manages the sub-cache area of another computer via a network mechanism. Item 4. A distributed data management system according to item 1 . 計算機に接続された二次記憶機構に配置されたキャッシュ領域を分割して、当該計算機が有する主メモリに配置されたサブキャッシュ領域を包含するように対応付けて二次記憶機構にサブキャッシュ領域を備えることを特徴とする請求項記載の分散データ管理システム。A cache area arranged in the secondary storage mechanism connected to the computer is divided, and the sub-cache area is allocated to the secondary storage mechanism in association with the sub-cache area arranged in the main memory of the computer. 4. The distributed data management system according to claim 3, further comprising:
JP15552299A 1999-06-02 1999-06-02 Distributed data management system Expired - Lifetime JP4240658B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15552299A JP4240658B2 (en) 1999-06-02 1999-06-02 Distributed data management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15552299A JP4240658B2 (en) 1999-06-02 1999-06-02 Distributed data management system

Publications (2)

Publication Number Publication Date
JP2000347913A JP2000347913A (en) 2000-12-15
JP4240658B2 true JP4240658B2 (en) 2009-03-18

Family

ID=15607914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15552299A Expired - Lifetime JP4240658B2 (en) 1999-06-02 1999-06-02 Distributed data management system

Country Status (1)

Country Link
JP (1) JP4240658B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7444393B2 (en) * 2001-10-30 2008-10-28 Keicy K. Chung Read-only storage device having network interface, a system including the device, and a method of distributing files over a network

Also Published As

Publication number Publication date
JP2000347913A (en) 2000-12-15

Similar Documents

Publication Publication Date Title
US12093177B2 (en) Multi-level partitioned snoop filter
US7249152B2 (en) Dynamic disk space management by multiple database server instances in a cluster configuration
US7010617B2 (en) Cluster configuration repository
US7581025B2 (en) System and method for synchronizing copies of data in a computer system
EP2478442B1 (en) Caching data between a database server and a storage system
US6678799B2 (en) Aggregation of cache-updates in a multi-processor, shared-memory system
JP3281893B2 (en) Method and system for implementing a cache coherency mechanism utilized within a cache memory hierarchy
CN101236527B (en) Line swapping scheme to reduce back invalidations, device and system
US20190026225A1 (en) Multiple chip multiprocessor cache coherence operation method and multiple chip multiprocessor
US6922757B2 (en) Flexible and adaptive read and write storage system architecture
CN111400268B (en) Log management method of distributed persistent memory transaction system
CN111984191A (en) A multi-client caching method and system supporting distributed storage
US6625694B2 (en) System and method for allocating a directory entry for use in multiprocessor-node data processing systems
EP3249539B1 (en) Method and device for accessing data visitor directory in multi-core system
EP1620804A2 (en) Cache allocation upon data placement in network interface
CN104111804A (en) Distributed file system
CN110750507A (en) Client persistent caching method and system under global namespace facing DFS
CN107341114B (en) A method, node controller and system for directory management
CN119493768B (en) Method and system for improving management and performance of Lustre small files
CN117992547A (en) Data processing method and device, electronic device and storage medium
EP0319148B1 (en) Method of operating a multi-processor system for the transfer of data between processor units
US9667735B2 (en) Content centric networking
US20130086325A1 (en) Dynamic cache system and method of formation
JPH10301850A (en) Method and system for providing pseudo fine inclusion system in sectored cache memory so as to maintain cache coherency inside data processing system
JP4240658B2 (en) Distributed data management system

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050701

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050701

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050816

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051014

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060307

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060502

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060524

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060901

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071109

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080804

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081105

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081222

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4240658

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term