JPH1049387A - Method and device for buffer management - Google Patents

Method and device for buffer management

Info

Publication number
JPH1049387A
JPH1049387A JP8198898A JP19889896A JPH1049387A JP H1049387 A JPH1049387 A JP H1049387A JP 8198898 A JP8198898 A JP 8198898A JP 19889896 A JP19889896 A JP 19889896A JP H1049387 A JPH1049387 A JP H1049387A
Authority
JP
Japan
Prior art keywords
buffer
task
shared memory
ownership
owner
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.)
Pending
Application number
JP8198898A
Other languages
Japanese (ja)
Inventor
Yukinori Saito
幸儀 斎藤
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.)
NEC Solution Innovators Ltd
Original Assignee
NEC Solution Innovators Ltd
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 NEC Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP8198898A priority Critical patent/JPH1049387A/en
Publication of JPH1049387A publication Critical patent/JPH1049387A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To improve the performance by effectively using a common memory and not performing common exclusive control as much as possible when hash- clusterd buffers are secured in the common memory. SOLUTION: This management device has a buffer management means 40 which assigns buffers to a free area by managing the free area in the common memory 11, a splitting means 20 which hashes records sent out by an arbitrary task and determines a hash cluster, and stores the records in the buffers in the hash cluster, an owner change means 30 which give the owner right of the buffers secured in the common memory to the task, and makes the task transfer the owner right of the buffers and forms a free area in the common area unless there is a free area in the common memory.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はバッファ管理方法お
よび装置に関し、特に並列に実行されるハッシュクラス
タのバッファ管理方法および装置に関する。
The present invention relates to a buffer management method and apparatus, and more particularly, to a buffer management method and apparatus for hash clusters executed in parallel.

【0002】[0002]

【従来の技術】複数のタスクからアクセスされる共有メ
モリ上のバッファの管理においては、従来から競合を回
避するための工夫が種々と構じられている。たとえば、
特開平5−173953号公報によれば、バッファをプ
ロセッサ(タスク)ごとに割当て、排他制御を行なわず
に競合を回避している。さらに、バッファ管理を特定の
一プロセッサに限定しているので、競合回避のための同
期制御を行なう必要がない。
2. Description of the Related Art In managing a buffer on a shared memory accessed by a plurality of tasks, various schemes have been proposed to avoid contention. For example,
According to JP-A-5-173953, a buffer is allocated to each processor (task), and contention is avoided without performing exclusive control. Further, since the buffer management is limited to one specific processor, there is no need to perform synchronization control for avoiding contention.

【0003】[0003]

【発明が解決しようとする課題】上記したような従来の
バッファ管理装置においては、共有メモリが無駄に使わ
れるという欠点がある。すなわち、プロセッサ毎にバッ
ファを割り当てると、ハッシュ結合処理で使用するハッ
シュクラスタ化されたバッファ管理では、クラスタ単位
にプロセッサ毎にバッファを割り当てる必要があり、当
然バッファの中には空きがあるので空きがバッファの数
分増えるからである。
The conventional buffer management device as described above has a disadvantage that the shared memory is wasted. That is, if a buffer is allocated for each processor, it is necessary to allocate a buffer for each processor in a cluster unit in the hash clustered buffer management used in the hash join process. This is because it increases by the number of buffers.

【0004】また、バッファを参照更新する毎に排他制
御を行うシステムでは、システムの処理性能が著しく低
下してしまうことがある。すなわち、排他制御のための
システムオーバヘッドや待合わせのために、本来の業務
処理が先送りされることになる。
In a system that performs exclusive control each time a buffer is referenced and updated, the processing performance of the system may be significantly reduced. In other words, the original business process is postponed due to system overhead for exclusive control or waiting.

【0005】したがって、本発明の目的は、ハッシュ結
合で用いるハッシュクラスタ化されたバッファを共有メ
モリ上に確保する場合に、共有メモリを有効に使用し、
共有排他制御をなるべく行わないようにし、性能を向上
させることにある。
Accordingly, an object of the present invention is to effectively use a shared memory when a hash-clustered buffer used for hash join is secured on the shared memory.
An object of the present invention is to improve performance by minimizing shared exclusion control as much as possible.

【0006】[0006]

【課題を解決するための手段】本発明のバッファ管理方
法は、複数のタスクが使用するハッシュクラスタ化され
た共有メモリ上のバッファの管理方法において、バッフ
ァを確保したタスクは前記バッファのオーナ権を保持
し、前記オーナ権を保持するタスクは前記バッファを独
占的にアクセスし、前記共有メモリ上に新たにバッファ
を確保できないときには既にバッファを確保している他
のタスクに前記バッファのオーナ権の譲渡を要求し、前
記オーナ権を取得したタスクは前記バッファを独占的に
アクセスするようにして実現される。
According to a buffer management method of the present invention, in a method of managing a buffer in a hash-clustered shared memory used by a plurality of tasks, the task that has secured the buffer has the ownership of the buffer. The task that holds and owns the ownership exclusively accesses the buffer, and when it is not possible to secure a new buffer on the shared memory, transfers the ownership of the buffer to another task that has already secured the buffer. And the task that has obtained the ownership is realized by exclusively accessing the buffer.

【0007】また、本発明のバッファ管理装置は、複数
のタスクが使用するハッシュクラスタ化された共有メモ
リ上のバッファの管理装置において、前記共有メモリ内
の空きエリアを管理し前記空きエリアにバッファを割当
てるバッファ管理手段と、任意のタスクが送出するレコ
ードをハッシュしてハッシュクラスタを決定し前記ハッ
シュクラスタ内のバッファに前記レコードを格納するス
プリット手段と、前記共有メモリに確保したバッファの
オーナ権をタスクに付与して管理し前記共有メモリに空
きエリアがない場合に前記バッファのオーナ権を前記タ
スクに譲渡させ前記共有メモリに空きエリアを作成する
オーナ変更手段と、複数のタスク間の待合わせを制御す
る待合わせ管理手段とを有して構成される。
In a buffer management device according to the present invention, a buffer management device in a hash-clustered shared memory used by a plurality of tasks manages a free area in the shared memory and stores a buffer in the free area. Buffer managing means for allocating, split means for hashing a record sent by an arbitrary task to determine a hash cluster and storing the record in a buffer in the hash cluster, and assigning the ownership of the buffer secured in the shared memory to the task. Owner change means for transferring the ownership of the buffer to the task when there is no free area in the shared memory and creating a free area in the shared memory, and controlling the queuing between a plurality of tasks. And a queuing management unit.

【0008】さらに本発明のバッファ管理装置は、共有
メモリに空きエリアがなくバッファを確保できないタス
クが既にバッファを確保しているタスクに前記バッファ
のオーナ権を譲渡することを要求するオーナ更新要求フ
ラグを具備し、前記オーナ変更手段は前記オーナ更新要
求フラグを検知して前記共有メモリに空きエリアを作成
する処理を開始するようにして構成される。
The buffer management device according to the present invention further comprises an owner update request flag for requesting that a task that cannot secure a buffer because there is no free area in the shared memory transfers the ownership of the buffer to a task that has already secured the buffer. Wherein the owner changing means detects the owner update request flag and starts a process of creating a free area in the shared memory.

【0009】さらに、本発明のバッファ管理装置におい
て、前記スプリット手段は決定したハッシュクラスタ内
にバッファを確保できないとき前記オーナ変更手段に他
のタスクが保持しているバッファを開放することを指示
する。
Further, in the buffer management device according to the present invention, when the buffer cannot be secured in the determined hash cluster, the split means instructs the owner changing means to release a buffer held by another task.

【0010】さらに、本発明のバッファ管理装置は、前
記ハッシュクラスタ内のバッファを指すポインタをタス
クごとに備えている。
Further, the buffer management device of the present invention has a pointer for the buffer in the hash cluster for each task.

【0011】[0011]

【発明の実施の形態】以下、本発明について図面を参照
しながら説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described below with reference to the drawings.

【0012】図1は本発明の実施の一形態を示すブロッ
ク図である。同図において、本発明によるバッファ管理
装置は、共有メモリ11と,バッファ10および14
と,クラスタ12と,オーナ更新要求フラグ13と,ス
プリット手段20と,オーナ変更手段30と,バッファ
管理手段40と,検索手段50と,待ち合わせ管理手段
60と,処理タスク70および71と,ポインタ90お
よび91と,データベース80および81とを含む。
FIG. 1 is a block diagram showing an embodiment of the present invention. In the figure, a buffer management device according to the present invention comprises a shared memory 11, buffers 10 and 14.
, Cluster 12, owner update request flag 13, splitting means 20, owner changing means 30, buffer managing means 40, searching means 50, queuing managing means 60, processing tasks 70 and 71, pointer 90 And 91, and databases 80 and 81.

【0013】バッファ10はクラスタ12に含まれる共
有メモリ11上に作成された処理タスク70のものであ
る。
The buffer 10 is for a processing task 70 created on the shared memory 11 included in the cluster 12.

【0014】バッファ14はクラスタ12に含まれる共
有メモリ11上に作成された処理タスク71のものであ
る。
The buffer 14 is for a processing task 71 created on the shared memory 11 included in the cluster 12.

【0015】オーナ更新要求フラグ13はバッファ10
に対してオーナの変更を要求しているか否かを示すフラ
グである。
The owner update request flag 13 is
Is a flag indicating whether or not a request to change the owner has been made.

【0016】スプリット手段20は検索手段50より渡
されたデータ内のキー値をハッシュし格納すべきクラス
タを決定する。
The split means 20 hashes a key value in the data passed from the search means 50 and determines a cluster to be stored.

【0017】オーナ変更手段30はバッファのオーナ権
の変更をオーナ更新要求フラグ13と待ち合わせ管理手
段60とを参照して実行する。
The owner changing means 30 changes the ownership of the buffer by referring to the owner update request flag 13 and the queuing management means 60.

【0018】バッファ管理手段40は共有メモリ11を
従来の技術を用いて管理し、バッファを確保する。
The buffer management means 40 manages the shared memory 11 using a conventional technique, and secures a buffer.

【0019】検索手段50は、データベースを従来の方
法を用いて検索する。
The search means 50 searches the database using a conventional method.

【0020】待ち合わせ管理手段60は従来の技術を用
いてタスク間の待ち合わせ制御を行う。
The queuing management means 60 controls queuing between tasks using a conventional technique.

【0021】処理タスク70と処理タスク71は各々並
列にデータベース80とデータベース81を検索する実
行単位であり、各々のタスクには自分がオーナであるバ
ッファへのポインタであるポインタ90とポインタ91
を含んでいる。
A processing task 70 and a processing task 71 are execution units for searching the database 80 and the database 81 in parallel, respectively. Each task has a pointer 90 and a pointer 91 which are pointers to a buffer which is the owner.
Contains.

【0022】スプリット手段20は、検索手段50から
データを得てキー値を適当にハッシュし格納すべきクラ
スタを決定する。スプリット手段20が処理タスク70
で動作している場合はポインタ90を,そうでない場合
はポインタ91をそれぞれ検査し、ポインタが設定され
ているがどうかの確認を行なう。ポインタが設定されて
いない場合、バッファ管理手段40を呼び出しバッファ
を確保しポインタを設定し、ポインタ90あるいはポイ
ンタ91より得られたバッファにデータを格納する。
The split unit 20 obtains data from the search unit 50, appropriately hashes key values, and determines a cluster to be stored. The splitting means 20 performs the processing task 70
In the case of the operation, the pointer 90 is checked, and if not, the pointer 91 is checked, and it is checked whether or not the pointer is set. If the pointer is not set, the buffer management means 40 is called to secure a buffer, set the pointer, and store the data in the buffer obtained from the pointer 90 or 91.

【0023】さらに、スプリット手段20は、バッファ
10に空きがなくデータを格納できない場合もバッファ
管理手段40を呼び出しバッファを新たに確保し、ポイ
ンタ90を設定し、データを格納する。空きバッファを
新たに作成できない場合、オーナ変更手段30を呼び出
し、他の処理タスクが確保しているバッファのオーナ変
更を要求する。
Further, the split means 20 calls the buffer management means 40 even when the buffer 10 has no free space and cannot store data, newly secures a buffer, sets a pointer 90, and stores the data. If a new free buffer cannot be created, the owner changing means 30 is called to request a change in the owner of the buffer secured by another processing task.

【0024】上記の一連の処理で、共有メモリ11に空
きがなくバッファが確保できない場合、オーナ変更手段
30を呼び出し他の処理タスクが確保しているバッファ
のオーナを変更するためにオーナ変更手段30を呼び出
す。
In the above series of processing, if there is no free space in the shared memory 11 and a buffer cannot be secured, the owner changing means 30 is called to change the owner of the buffer secured by another processing task. Call.

【0025】オーナ変更手段30はオーナ更新要求フラ
グ13を設定後に待ち合わせ管理手段60を呼び出し、
バッファのオーナからの使用許可が得られるまで待ち合
わせる。使用許可が得られた場合、ポインタ90を設定
しスプリット手段20に処理を返却する。
The owner changing means 30 calls the waiting management means 60 after setting the owner update request flag 13, and
Wait until the buffer owner gets permission to use it. When the use permission is obtained, the pointer 90 is set, and the process is returned to the split unit 20.

【0026】一方、スプリット手段20では適当なタイ
ミングでオーナ更新要求フラグ13を検査し、オーナ変
更要求がある場合は、待ち合わせ管理手段60を呼び出
し待ち合わせを解除するとともにポインタ90を消去し
オーナを明け渡す。
On the other hand, the split means 20 checks the owner update request flag 13 at an appropriate timing, and when there is an owner change request, calls the queuing management means 60 to cancel the queuing, deletes the pointer 90, and hands over the owner.

【0027】図2は上記のスプリット手段20の動作を
示す流れ図である。同図において、まず、ステップ20
1で検索手段50より渡されたレコード内のキー値をハ
ッシュしクラスタを決定し、ステップ202へ移る(本
実施例ではクラスタ12が決定されたものとする)。
FIG. 2 is a flow chart showing the operation of the split means 20. Referring to FIG.
In step 1, the key value in the record passed from the search unit 50 is hashed to determine a cluster, and the process proceeds to step 202 (in this embodiment, the cluster 12 is determined).

【0028】ステップ202では、ステップ201で決
定されたクラスタ内の更新要求フラグを参照し、オーナ
変更要求があるか否かをチェックする。更新要求がある
場合、ステップ203へ移る。そうでない場合、ステッ
プ204へ移る。
In step 202, it is checked whether or not there is an owner change request by referring to the update request flag in the cluster determined in step 201. If there is an update request, the process proceeds to step 203. Otherwise, go to step 204.

【0029】ステップ203では、オーナ変更手段30
を呼び出し自タスクのバッファのオーナ権を他タスクへ
譲渡し、ステップ204へ移る。
In step 203, the owner changing means 30
And transfers the ownership of the buffer of the invoking task to another task, and proceeds to step 204.

【0030】ステップ204では、ステップ201で決
定されたクラスタ12に対応する処理タスク上のポイン
タを検査し、ポインタがNULLでないかどうかのチェ
ックを行う。ここで本スプリット手段20が処理タスク
70で動作している場合はポインタ90を参照し、処理
タスク71で動作している場合はポインタ91を参照す
る。バッファポインタがNULLでない場合、ステップ
208へ移る。そうでない場合、ステップ205へ移
る。
In step 204, a pointer on the processing task corresponding to the cluster 12 determined in step 201 is checked to check whether the pointer is not NULL. Here, the pointer 90 is referred to when the splitting means 20 is operating in the processing task 70, and the pointer 91 is referred to when the splitting means 20 is operating in the processing task 71. If the buffer pointer is not NULL, the process proceeds to step 208. Otherwise, go to step 205.

【0031】ステップ205ではバッファ管理手段40
を呼び出し新たなバッファを要求し、ステップ206へ
移る。
In step 205, the buffer management means 40
To request a new buffer and go to step 206.

【0032】ステップ206では、ステップ205で要
求したバッファが確保できたか否かをチェックする。バ
ッファが確保できた場合、ステップ208へ移る。そう
でない場合、ステップ207へ移る。
In step 206, it is checked whether the buffer requested in step 205 has been secured. If a buffer is secured, the process proceeds to step 208. If not, the process proceeds to step 207.

【0033】ステップ207では、他タスクがオーナの
バッファを得る為にオーナ変更手段30を呼び出し、ス
テップ208へ移る。
In step 207, another task calls the owner changing means 30 in order to obtain the owner's buffer, and proceeds to step 208.

【0034】ステップ208では、ポインタが差し示す
バッファにレコードを転送し、スプリット手段20を終
了する。このとき、スプリット手段20が処理タスク7
0で動作している場合にはポインタ90参照し、処理タ
スク71で動作している場合にはポインタ91を参照す
る。
In step 208, the record is transferred to the buffer indicated by the pointer, and the splitting means 20 ends. At this time, the split means 20 sets the processing task 7
When operating at 0, the pointer 90 is referenced, and when operating at the processing task 71, the pointer 91 is referenced.

【0035】図3は上記のオーナ変更手段30の動作を
示す流れ図である。同図において、まず、ステップ30
1でオーナ変更の種別を判定する。オーナ変更の種別が
オーナ権明け渡しの場合、ステップ302へ移る。そう
でない場合、ステップ306へ移る。
FIG. 3 is a flowchart showing the operation of the owner changing means 30 described above. Referring to FIG.
In step 1, the type of owner change is determined. If the owner change type is the owner right surrender, the process proceeds to step 302. Otherwise, go to step 306.

【0036】ステップ302では明け渡しを待っている
タスクのポインタへ自タスクのポインタの内容をコピー
する。具体的にはオーナ変更手段30が処理タスク70
で動作している場合、ポインタ90の内容をポインタ9
1にコピーする。処理タスク71で動作している場合に
は、ポインタ91の内容をポインタ90にコピーする。
In step 302, the contents of the pointer of the invoking task are copied to the pointer of the task waiting for surrender. Specifically, the owner changing unit 30 sets the processing task 70
, The contents of the pointer 90 are stored in the pointer 9
Copy to 1. If the processing task 71 is operating, the contents of the pointer 91 are copied to the pointer 90.

【0037】ステップ303では、オーナ変更手段30
が動作している処理タスクのバッファポインタをNUL
Lに設定し、ステップ304へ移る。
In step 303, the owner changing means 30
NUL sets the buffer pointer of the processing task where
Set to L, and proceed to step 304.

【0038】ステップ304では、クラスタ12内のオ
ーナ更新要求フラグ13をリセットし、ステップ305
に移る。
In step 304, the owner update request flag 13 in the cluster 12 is reset, and in step 305
Move on to

【0039】ステップ306では、オーナ更新要求フラ
グ13をセットし、ステップ307へ移る。
At step 306, the owner update request flag 13 is set, and the routine goes to step 307.

【0040】ステップ307では、待ち合わせ管理手段
60を呼び出し、オーナ権が譲渡されるまで待ち合わ
せ、待ちが解除されるとオーナ変更手段30を終了す
る。
In step 307, the waiting management means 60 is called, waiting until the ownership is transferred, and when the waiting is released, the owner changing means 30 ends.

【0041】ステップ305では、待ち合わせ管理手段
60を呼び出してオーナ権の明け渡しを要求している処
理タスクの待ち合わせを解除しオーナ変更手段30を終
了する。
In step 305, the waiting management means 60 is called to cancel the waiting of the processing task requesting the release of the ownership, and the owner changing means 30 is terminated.

【0042】なお、検索手段50は、従来の技術でデー
タベースを検索し、レコードをスプリット手段20へ渡
す。
The search means 50 searches the database by a conventional technique, and transfers the record to the split means 20.

【0043】また、バッファ管理手段40は、従来の技
術で共有メモリ11内の空間管理を行いバッファを確保
する。確保できない場合はエラーを返却し、確保できた
場合はバッファへのポインタを返却する。
The buffer management means 40 manages the space in the shared memory 11 by a conventional technique to secure a buffer. If it cannot be allocated, it returns an error. If it can be allocated, it returns a pointer to a buffer.

【0044】さらに、待ち合わせ管理手段60は、従来
の方法(例えばセマフォ制御)で処理タスクの待ち合わ
せ制御を行う。
Further, the queuing management means 60 controls queuing of the processing task by a conventional method (for example, semaphore control).

【0045】[0045]

【発明の効果】以上、詳細に説明したように、本発明に
よれば、共有メモリに空きが無くなるまでオーナ変更手
段が動作しないので、バッファは処理タスクの排他的な
使用となる。したがって、バッファにレコードを転送す
るたびに排他制御を行う必要がなく、スプリット処理を
実行できる。
As described above in detail, according to the present invention, the buffer is exclusively used by the processing task because the owner changing means does not operate until the shared memory is full. Therefore, it is not necessary to perform exclusive control every time a record is transferred to the buffer, and the split processing can be executed.

【0046】また、共有メモリに空きがない場合にはオ
ーナ権の変更を行いバッファにレコード転送するので、
共有メモリを有効に使用できる。
If there is no free space in the shared memory, the ownership is changed and the record is transferred to the buffer.
The shared memory can be used effectively.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施の一形態を示すブロック図。FIG. 1 is a block diagram showing one embodiment of the present invention.

【図2】スプリット手段の動作を示す流れ図。FIG. 2 is a flowchart showing the operation of a split unit.

【図3】オーナ変更手段の動作を示す流れ図。FIG. 3 is a flowchart showing the operation of the owner changing means.

【符号の説明】[Explanation of symbols]

10,14 バッファ 11 共有メモリ 12 クラスタ 13 オーナ変更要求フラグ 20 スプリット手段 30 オーナ変更手段 40 バッファ管理手段 50 検索手段 60 待ち合わせ管理手段 70,71 処理タスク 80,81 データベース 90,91 ポインタ 10, 14 Buffer 11 Shared Memory 12 Cluster 13 Owner Change Request Flag 20 Split Means 30 Owner Change Means 40 Buffer Management Means 50 Search Means 60 Queue Management Means 70, 71 Processing Tasks 80, 81 Database 90, 91 Pointer

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 複数のタスクが使用するハッシュクラス
タ化された共有メモリ上のバッファの管理方法におい
て、バッファを確保したタスクは前記バッファのオーナ
権を保持し、前記オーナ権を保持するタスクは前記バッ
ファを独占的にアクセスし、前記共有メモリ上に新たに
バッファを確保できないときには既にバッファを確保し
ている他のタスクに前記バッファのオーナ権の譲渡を要
求し、前記オーナ権を取得したタスクは前記バッファを
独占的にアクセスすることを特徴とするバッファ管理方
法。
1. A method for managing a buffer in a hash clustered shared memory used by a plurality of tasks, wherein a task that has secured a buffer holds the ownership of the buffer, and the task that holds the ownership is the task that holds the ownership. When the buffer is exclusively accessed and a new buffer cannot be secured on the shared memory, the task that has requested the transfer of the ownership of the buffer to another task that has already secured the buffer and has acquired the ownership is A buffer management method, wherein the buffer is exclusively accessed.
【請求項2】 複数のタスクが使用するハッシュクラス
タ化された共有メモリ上のバッファの管理装置におい
て、前記共有メモリ内の空きエリアを管理し前記空きエ
リアにバッファを割当てるバッファ管理手段と、任意の
タスクが送出するレコードをハッシュしてハッシュクラ
スタを決定し前記ハッシュクラスタ内のバッファに前記
レコードを格納するスプリット手段と、前記共有メモリ
に確保したバッファのオーナ権をタスクに付与して管理
し前記共有メモリに空きエリアがない場合に前記バッフ
ァのオーナ権を前記タスクに譲渡させ前記共有メモリに
空きエリアを作成するオーナ変更手段と、複数のタスク
間の待合わせを制御する待合わせ管理手段とを有するこ
とを特徴とするバッファ管理装置。
2. A buffer management device for managing a buffer in a hash clustered shared memory used by a plurality of tasks, wherein the buffer management means manages a free area in the shared memory and allocates a buffer to the free area. Split means for hashing a record sent by the task to determine a hash cluster and storing the record in a buffer in the hash cluster, and assigning and managing the task with the ownership of the buffer secured in the shared memory, and When there is no free area in the memory, there are owner changing means for transferring ownership of the buffer to the task to create a free area in the shared memory, and queuing management means for controlling queuing between a plurality of tasks. A buffer management device, characterized in that:
【請求項3】 請求項2記載のバッファ管理装置におい
て、共有メモリに空きエリアがなくバッファを確保でき
ないタスクが既にバッファを確保しているタスクに前記
バッファのオーナ権を譲渡することを要求するオーナ更
新要求フラグを具備し、前記オーナ変更手段は前記オー
ナ更新要求フラグを検知して前記共有メモリに空きエリ
アを作成する処理を開始することを特徴とするバッファ
管理装置。
3. The buffer management apparatus according to claim 2, wherein a task that cannot secure a buffer because there is no free area in the shared memory requests the task that has already secured the buffer to transfer the ownership of the buffer. A buffer management device comprising an update request flag, wherein the owner change unit detects the owner update request flag and starts processing for creating a free area in the shared memory.
【請求項4】 請求項2または3記載のバッファ管理装
置において、前記スプリット手段は決定したハッシュク
ラスタ内にバッファを確保できないとき前記オーナ変更
手段に他のタスクが保持しているバッファを開放するこ
とを指示することを特徴とするバッファ管理装置。
4. The buffer management device according to claim 2, wherein the split unit releases the buffer held by another task to the owner changing unit when a buffer cannot be secured in the determined hash cluster. A buffer management device.
【請求項5】 請求項2,3または4記載のバッファ管
理装置において、前記ハッシュクラスタ内のバッファを
指すポインタをタスクごとに備えていることを特徴とす
るバッファ管理装置。
5. The buffer management device according to claim 2, wherein a pointer pointing to a buffer in the hash cluster is provided for each task.
JP8198898A 1996-07-29 1996-07-29 Method and device for buffer management Pending JPH1049387A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8198898A JPH1049387A (en) 1996-07-29 1996-07-29 Method and device for buffer management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8198898A JPH1049387A (en) 1996-07-29 1996-07-29 Method and device for buffer management

Publications (1)

Publication Number Publication Date
JPH1049387A true JPH1049387A (en) 1998-02-20

Family

ID=16398781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8198898A Pending JPH1049387A (en) 1996-07-29 1996-07-29 Method and device for buffer management

Country Status (1)

Country Link
JP (1) JPH1049387A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120271943A1 (en) * 2009-12-31 2012-10-25 Pu Chen Method, apparatus, and system for scheduling distributed buffer resources

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120271943A1 (en) * 2009-12-31 2012-10-25 Pu Chen Method, apparatus, and system for scheduling distributed buffer resources
US8914501B2 (en) * 2009-12-31 2014-12-16 Huawei Technologies Co., Ltd. Method, apparatus, and system for scheduling distributed buffer resources

Similar Documents

Publication Publication Date Title
JP4612710B2 (en) Transaction parallel control method, database management system, and program
US5642501A (en) Computer method and apparatus for asynchronous ordered operations
JP3748774B2 (en) I / O transfer in a cache coherence shared disk computer system
JPH10222407A (en) Method for processing multiple data base transactions in same process for reducing process overhead and redundant retrieval from data base server
JP2004326755A (en) Management of dispatching function in virtual computer environment
US20050027719A1 (en) Database control method
JPH09325944A (en) I/o device and computer system data i/o for reference between multiplex memory devices
US6185650B1 (en) High performance locking facility
JPH09288654A (en) Multiple data source and computer system data input and output device using inter-sink reference
JPH0962635A (en) Customer information control system and method having transaction-serialization control function in loosely-coupled parallel processing environment
CN116303661B (en) Processing method, device and system for sequences in distributed database
JP3639366B2 (en) Address space sharing system
JPH1049387A (en) Method and device for buffer management
US10628391B1 (en) Method and system for reducing metadata overhead in a two-tier storage architecture
JPS63263557A (en) Adjustment of access by simultaneous transaction for hierarchical related resource
JPH09288653A (en) Computer system data input and output device using inter-cpu reference
JPH09231180A (en) Server dividing method
JP2787107B2 (en) Buffer control system and device
JP2000137688A (en) Multiplex processor system and data processing method
Osmon et al. The Topsy project: a position paper
JPH05165700A (en) File server
JPH0561739A (en) Swap file managing system
JP2968756B2 (en) Internal resource matching method and apparatus in multiprocessor system
JPH0444291B2 (en)
Takkar Scheduling real-time transactions in parallel database systems.

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19990622