JPH077380B2 - バッファ管理方法 - Google Patents

バッファ管理方法

Info

Publication number
JPH077380B2
JPH077380B2 JP60161834A JP16183485A JPH077380B2 JP H077380 B2 JPH077380 B2 JP H077380B2 JP 60161834 A JP60161834 A JP 60161834A JP 16183485 A JP16183485 A JP 16183485A JP H077380 B2 JPH077380 B2 JP H077380B2
Authority
JP
Japan
Prior art keywords
buffer
free
management area
shared
dedicated
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
JP60161834A
Other languages
English (en)
Other versions
JPS6224355A (ja
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP60161834A priority Critical patent/JPH077380B2/ja
Publication of JPS6224355A publication Critical patent/JPS6224355A/ja
Publication of JPH077380B2 publication Critical patent/JPH077380B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、共通メモリを有する密結合のマルチプロセツ
サ・システムに係わり、特に共通メモリ内にキユー・バ
ッファを設けてプロセツサ間で共用する場合のバッファ
の確保・解放に好適なバッファ管理方法に関する。
〔発明の背景〕
通信制御装置などを負荷分散マルチプロセツサで構成す
る例が増えている。その場合、各プロセツサの共通リソ
ースを共通メモリに格納することが多いが、その参照に
は競合防止の排他制御が必要で処理能力が低下の原因と
なる。(大宮他,“交換・通信処理用OSと処理系ハード
ウエア構成の一検討",電子通信学会技術研究報告,Vol.8
4,No.212,SE84−79,1984年11月に詳しい。) 〔発明の目的〕 本発明の目的は、上記したようなマルチプロセツサ・シ
ステムにおいてバッファを共通リソースとして共通メモ
リに設けた場合に、その参照に必要な排他制御の実行回
数を削減し、プロセツサの処理能力低下を防止するバッ
ファ管理方法を提供することにある。
〔発明の概要〕
本発明の特徴は、前記したマルチプロセツサ・システム
において、プロセツサ間の共通メモリに設けたバッファ
を確保する際、予め複数個の空きバッファを確保して自
プロセツサの管理下におき、自プロセツサの管理下に空
きバッファが有る間はこれを使用するとともに、専有す
る空きバッファの個数が許容個数を超えた場合は、措定
個数(複数)の空きバッファを一括して共用バッファ・
プールに解放することにより、排他制御を必要とする共
通メモリのバッファ管理領域への参照回数を減らす点に
ある。
〔発明の実施例〕
以下、本発明の実施例を第1図から第3図により説明す
る。
第1図は、本バッファ管理方法を実現するマルチプロセ
ツサ・システムの構成と、共通メモリ内のバッファ構成
を示したものである。第1図において、P1およびP2はプ
ロセツサをCMは共通メモリを示す。CM内において、CBC
はプロセツサ間で共有している空バッファCBの管理領域
を示し、Nは空きバッファの個数を、HPはチエインされ
ているバッファの先頭のバッファBのアドレスを格納し
ている。さらにバッファBは、チエイン中の次のバッフ
ァのアドレスを示すポインタPと、情報領域Iとから成
る。Sは、共通空きバッファCBからバッファを確保する
際に排他制御を行なうためのセオフオアである。
一方、BCiはPiの専用バッファ管理領域を、BiはBCiで管
理されている空きバッファを示し、構成はそれぞれCBC,
CBと同じである。
第2図は、プロセツサPiにおけるバッファ確保処理の動
作プローを示したのものである。第2図において、ステ
ツプ21ではまずPiの専用バッファ管理領域BCiを参照し
空きバッファBiの有無を調べる。空きバッファがあれば
Bi確保ステツプ26にてBiを1個確保して動作を終了す
る。ステツプ21で空きバッファが無かつた場合、共有バ
ッファからバッファを確保するため、まずT&S(S)
ステツプ22にてセオフオアSをオペランドとするTest&
Set命令を実行し、共有バッファの参照権を獲得する。
次にCBC判定ステツプ23にて共有バッファ管理領域CBCを
参照し、空きバッファの個数を調べる。なお共有バッフ
ァからは一度に複数個のバッファを確保しておくが、そ
の個数をH個とすると、ステツプ23の結果、H個以上の
空きバッファCBがあつた場合は、CBH個確保ステツプ24
にてCBをH個確保してBCiに連結し、一方、CBがn個
(n<H)しかなかつた場合はCBn個確保ステツプ27に
てCBをn個確保してBCiに連結し、CBCおよびBCiのバッ
ファ個数表示を更新しておく。次にS解放ステツプ25に
てセオフオアSを解放した後、Bi確保ステツプ26にてBi
を1個確保して動作を終わる。
なお、ステツプ23にて共有バッファが無かつた場合は、
他プロセツサから共有バッファが解放される(第3図参
照)のを待つために、S解放ステツプ28にてセオフオア
を解放した後ステツプ22に戻る。
第3図は、プロセツサPiにおけるバッファ解放処理の動
作フローを示したものである。第2図において、ステツ
プ31では解放すべきバッファをまず自プロセツサ専有の
バッファとしてBi中に連結しておく。次にBCi判定ステ
ツプ32にてBiの個数nを調べ、その結果バッファ専有最
大許容数F(F>H)を越えていれば、T&S(S)ス
テツプ33にてセオフオアSをオペランドとするTest&Se
t命令を実行して共有バッファの参照権を獲得した後、C
B(F−H)個解放にてH個を越えた分のBiを共有バッ
ファとして解放するとともに、S解放ステツプ35にてセ
オフオアSを解放して動作を終了する。複数のバッファ
を共有バツフアプールに1度にまとめて(F−H個)解
放するのは、共有バッファの参照回数を減らすためであ
る。なおステツプ32にて、Biの個数がF個未満であつた
場合は直ちに動作を終了する。
上記実施例は、プロセツサが2台の場合を示しだが、3
台以上の場合も各プロセツサ毎のBCiおよびBiを設ける
ことで実現できる。また各プロセツサがローカルメモリ
を有する場合は、BCiをローカルメモリに格納すると、
メモリそのものの各プロセツサによるアクセス競合確立
を減少させることができ、一層効率が向上する。
〔発明の効果〕
本発明によれば、共通メモリ中にプロセツサ間共有バッ
ファ・プールを有するマルチプロセツサ・システムにお
いて、共有バッファ・プールからのバッファ確保・解放
を複数個をまとめて行なうため、共有バッファ・プール
の参照回数を削減でき、その結果、共有バッファ・プー
ルの参照時な必要な排他制御によつて生じるプロセツサ
・オーバヘツドを削減できる効果がある。特にプロセツ
サ台数が増加するにつれて効果が大きくなる。
【図面の簡単な説明】
第1図は、本バツフア管理方法を適用する密結合マルチ
プロセツサ・システムの構成図、第2図は、バツフア確
保の動作手順を示すフローチヤート、第3図はバツフア
解放の動作手順を示すフローチヤートである。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】共通メモリ内に、共有バッファ管理領域
    と、各プロセッサに専用のバッファ管理領域とを有する
    マルチプロセッサ・システムにおいて、各プロセッサ
    が、 (a)バッファ要求に対して自分に専用のバッファ管理
    領域で管理されている空きバッファを割り当てるステッ
    プと、 (b)上記専用バッファ管理領域で空きバッファが不足
    したとき、上記共有空きバッファ・プールから複数個の
    空きバッファを一括して確保し、これらの空きバッファ
    を上記専用バッファ管理領域の管理下に移すステップ
    と、 (c)空き状態となったバッファを上記専用バファ管理
    領域で管理しておき、空きバッファの個数が許容個数を
    超えた場合、所定個数の空きバッファを一括して上記共
    有空きバッファ・プールに戻すステップ を含むことを特徴とするバッファ管理方法。
JP60161834A 1985-07-24 1985-07-24 バッファ管理方法 Expired - Lifetime JPH077380B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60161834A JPH077380B2 (ja) 1985-07-24 1985-07-24 バッファ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60161834A JPH077380B2 (ja) 1985-07-24 1985-07-24 バッファ管理方法

Publications (2)

Publication Number Publication Date
JPS6224355A JPS6224355A (ja) 1987-02-02
JPH077380B2 true JPH077380B2 (ja) 1995-01-30

Family

ID=15742811

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60161834A Expired - Lifetime JPH077380B2 (ja) 1985-07-24 1985-07-24 バッファ管理方法

Country Status (1)

Country Link
JP (1) JPH077380B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0325557A (ja) * 1989-06-22 1991-02-04 Kokusai Denshin Denwa Co Ltd <Kdd> 2cpuの共有バッファ管理方式
JPH0438540A (ja) * 1990-06-05 1992-02-07 Toshiba Corp メモリ管理方式
JP2629572B2 (ja) * 1993-08-23 1997-07-09 日本電気株式会社 動的確保領域の保証方式
JP4651780B2 (ja) * 2000-06-20 2011-03-16 Necエンジニアリング株式会社 キュー作成装置
US6931497B2 (en) * 2003-01-09 2005-08-16 Emulex Design & Manufacturing Corporation Shared memory management utilizing a free list of buffer indices

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS605358A (ja) * 1983-06-24 1985-01-11 Fujitsu Ltd 記憶領域のセル管理制御方式

Also Published As

Publication number Publication date
JPS6224355A (ja) 1987-02-02

Similar Documents

Publication Publication Date Title
US6108766A (en) Structure of processor having a plurality of main processors and sub processors, and a method for sharing the sub processors
US6223207B1 (en) Input/output completion port queue data structures and methods for using same
KR101834195B1 (ko) 다중코어 시스템 및 로드 밸런싱 방법
US9378047B1 (en) Efficient communication of interrupts from kernel space to user space using event queues
CN103744716A (zh) 一种基于当前vcpu调度状态的动态中断均衡映射方法
CN111240813A (zh) 一种dma调度方法、装置和计算机可读存储介质
US20060212840A1 (en) Method and system for efficient use of secondary threads in a multiple execution path processor
JPH077380B2 (ja) バッファ管理方法
CN113051049A (zh) 任务调度系统、方法、电子设备及可读存储介质
US5953535A (en) Using intelligent bus bridges with pico-code to service interrupts and improve interrupt response
JPH07141208A (ja) マルチタスク処理装置
JP2986930B2 (ja) 対称型マルチプロセッサのタスクスケジューリング方式
JPH05120039A (ja) タスクスケジユーリング方式
JPH08314850A (ja) 計算機システムのバスブリッジ
CN116302303B (zh) 一种基于type1虚拟化系统的实时性增强方法及装置
CN111858011A (zh) 一种多数据流任务处理方法、装置、设备及存储介质
JPH0652052A (ja) 仮想共用記憶方式
JPS638962A (ja) バツフア管理方式
JPH07105099A (ja) 分散メモリ保護管理装置
JPH06187312A (ja) マルチcpuシステムにおける処理方法および装置
JPH0273430A (ja) 仮想計算機システムにおける入出力動作に伴う事象の通知方法
JP2910176B2 (ja) 要求受付処理装置
JPS6010381A (ja) マルチプロセツサシステムにおける入出力割込受付プロセツサの決定方式
JPH05113893A (ja) 仮想計算機システムにおけるボリユーム資源管理方式
JPS6079461A (ja) 負荷分散方式