JPH0371227A - ソーテイング方法 - Google Patents

ソーテイング方法

Info

Publication number
JPH0371227A
JPH0371227A JP2202598A JP20259890A JPH0371227A JP H0371227 A JPH0371227 A JP H0371227A JP 2202598 A JP2202598 A JP 2202598A JP 20259890 A JP20259890 A JP 20259890A JP H0371227 A JPH0371227 A JP H0371227A
Authority
JP
Japan
Prior art keywords
storage
internal
real
sorting
merge
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
JP2202598A
Other languages
English (en)
Inventor
Gary D Archer
ガリイ・デヴイド・アーチヤー
Roberts Case Douglas
ダグラス・ロバート・ケイス
Hilda J Wu
ヒルダ・ジヤ‐ウエイ・ウ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0371227A publication Critical patent/JPH0371227A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/36Combined merging and sorting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 この発明はソーティングに関するものであり、より詳細
には、CPUの要求によるページングがなされる仮想記
憶装置の環境におけるソーティングに関するものである
B、従来技術 CPUおよび段階的記憶装置 現状のデータ処理マシンを構成する命令プロセ・フサに
結合されているものは、階層的に組織されてLRU型の
管理がなされる、ソフトウェアおよびデータを含んだ段
階的な記憶装置である。最も迅速にアクセスされる記憶
装置は該命令プロセッサの最も近くに配置されている。
またそれは階層の頂点部に配置されている。より低速の
形式のものであり、大量のデータが書き込まれる記憶装
置は、該階層の下位部を占めている。
記憶装置のコストはその動作速度とともに著しく増大す
るために、多くのコンピュータ・システムにおいては、
物理的な記憶装置のサブシステムを多くの実行能力レベ
ルのものに分割している。
これらのレベルの中のあるものは、DAsDやテープの
ように、周辺I10装置として扱われていて、非同期的
なバスを通してアクセスされる。その他のレベルのもの
は、RAMやキャッシュのように、システム・ハードウ
ェアとして直接的に扱われていて、内部記憶装置の一部
として同期的なバスを通してアクセスされる。
“主記憶装置(priitary storage)”
または“内部記憶装置(internal stora
ge)”なる述語は、単一の読み取りまたは書き込みの
転移のために、ランダムにアドレス可能な記憶装置の該
当の部分を特定するものである。18Mシステムにおい
ては、RAMはバイト単位でアドレス可能なものである
“2次(secondary)”または“外部記憶装置
(external storage)”は、ランダム
にアドレス可能なものではなく、また、直接的にアクセ
スされるか、または、固定されたサイズのブロックでア
クセスされねばならない記憶装置の該当の部分を指すも
のである。
主記憶装置または内部記憶装置には“同期的”なる述語
が付されるが、これは、前記の内部記憶装置に関連する
プロセッサが戻りを受は入れるまでは遊休状態にあるこ
とによる。これに対して、求められているデータが(”
 I 10境界”と呼ばれる点を越えている)外部記憶
装置内に存在するときには、関連するプロセッサは、待
機に代えて、他のタスクを実行するためのサーチを行う
。このタスクまたは処理のスイッチングは、新規なデー
タのために検索バスが設定されねばならず、また、以前
のタスクの処理状態は保持されねばならないという点で
非連続的なものである。外部記憶装置からの検索が完了
したときには、CPUを以前の処理またはタスクに戻す
ようにスイッチングさせることが再び必要である。
付加的な記憶装置を主記憶装置の一部として組み込むこ
とによるCPUのオーバヘッドを減少させるために、I
10境界を越えるページングまたは固定されたサイズの
ブロックの参照を少なくすることか所望されていた。“
拡張記憶装置(expanded 5tore)”と呼
ばれる付加された記憶装置は、ブロックまたはページ単
位でアドレス可能(4096バイト/クロツク)なこと
を基本として、ランダムなアクセスがなされる。それは
LRU型の実記憶装置で支援されるベージング記憶装置
としての管理を受ける。
仮想記憶装置のページングの要求 “仮想記憶装置”は、CPUの主記憶装置または内部記
憶装置において利用可能なものより遥かに大きい記憶ス
ペースのアドレスをするものである。それはスペースお
よび時間の双方において参照することの局部性に依存し
ている。即ち、その処理は、−様ではなく、高度に局部
的にされたパターンでの記憶装置の参照に向かう傾向が
ある。
これにより、小さい容量の実記憶装置の内容を這かに大
容量の仮想記憶装置に戻すようにすることが可能にされ
る。参照されたデータが内部記憶装置において利用可能
なものではないときには、それは2次記憶装置からスワ
ップ・インされる。
仮想的要求のベージング・システムにおいては、その仮
想的なページのサブセットが各処理において積極的に参
照される。ページを管理するためのシステムの容量は、
スロットまたは“ページ・フレーム”の数の上限という
見地から計測される。
即ち、ページ・フレームの数は、該ページ・フレームを
支持するようにされる主記憶装置の容量に関連している
。処理によって参照されたページのサブセットの和がペ
ージ・フレームの数を越えているときには、障害が生じ
ることになる。参照されたページがLRtJ型の管理が
なされる主記憶装置内には存在しなかったということか
ら、“障害(faulting)”は2次記憶装置のア
クセスを要求することと同義である。この状態にあるシ
ステムは“ベージング状態にあると呼ばれる。
ベージングおよびスラッシング CPUが幾つかの処理を同時に行っている(マルチプロ
グラミングまたはマルチタスキング)ときには、各処理
においてはページのその“作業セラ) (workin
g 5et)’″を反復して呼ぶことができる。
内部(実)記憶装置の固定したサイズのために、主記憶
装置内に存在する処理毎のページの数は、該処理の個数
とは逆の変動をする。このことにより、多数のページの
障害の発生を回避するために、処理毎に十分な数のペー
ジを主記憶装置内に保持することが不可能になる。かく
して、主(実)記憶装置の容量とマルチプログラミング
の程度との間には臨界的な関係がある。これの意味する
ことは、あるスレッシ3ルドを越えて2次記憶装置と主
記憶装置との間のバスが飽和すると、多くの処理におい
てページの転送が待機され、また、CPUの使用が不十
分にされ、または、欠乏の状態にされるということであ
る。これに関して、′スラッシングなる述語は、高い比
率の再ベージングを内包するために用いられるものであ
り、また、CPUに基づくページ置換マネジャーが、仮
想記憶装置のベージング要求における未来の参照の生起
を不正確に推測する傾向の指標である。
1983年12月20日に5acco et al、に
対して発効された米国特許第4,422,145号であ
る”Thrashing Reduction in 
Demand^ccessing of  a  Da
ta  Ba5e Through  an LRUP
aging Buffer Pool”によれば、“作
業セット”モデルに代わる“ホット・セット(hot 
5et)″を用いたページング要求式の仮想システムに
おいて、ページ、フレームおよび高い比率の再ページン
グ間の相互作用についての説明がされている。
内部および外部ソーティング 通常、ソーティング方法は内部的方法と外部的方法とに
分類される。プロセッサの主記憶装置に完全に含まれる
ことが可能なデータのリストに対してのみ受は入れられ
るように適用される方法が“内部的方法”である。“外
部的方法”は、主記憶装置に適合させるのには大きすぎ
るデータのファイルに合理的に適用されるものであり、
従って、そのソーティング処理の間に、テープまたはD
ASDのような外部的な大容量の記憶装置に依存せねば
ならない。
大吉の“外部的ソーティング方法によれば、ソートされ
るべきファイルを通して第1のバスを形成し、該ファイ
ルを内部記憶装置のサイズとほぼ同じブロックに分解し
て、幾つかの内部的ソーティング方法のいずれか一つを
用いてこれらのブロックのソーティング処理を行い、次
いでその結果を“作業装置”に書き込むようにされる。
これに次いで、該ファイルを通して幾つかのバスを形成
し、ファイル全体についてのソーティング処理がなされ
るまで、より大きいソートされたブロックを連続的に生
成することにより、ソートされたブロックについて一緒
にマージ処理がなされる。
多くの順序付けされたストリングを、より長いストリン
グにマージ処理するために、典型的には、置換選択が用
いられる。このことについては、Addison−fe
sley Publishing Co、による197
3年版権のrThe Art or Computer
 ProgrammingJのVol、 3. l)p
、 251−266において、KnuthにょるSea
rching and Sorting”において説明
されている。
外部的なソーティングにおいて、定量的には、n個のキ
ーの順序が付けられないリストがあり、内部記憶装置の
容量がmanワードであるときには、各ソート・バスに
よりn/m個のソートされたブロックが生成される。後
続の各々のバスにおいてp通りのマージ処理が実行され
ると、ログ(log)(ベース・キー)(n/m)バス
を要求することができる。
工起11々−直における従来の外部的・/−ティング1
973年1月23日にBarsamianに対して発効
された米国特許第3,713.107号の“Firmw
are 5ort Processor System
”は、主記憶装置をソート・バッファとして用いる、多
重オーバラップ式のプロセッサ構成体に分類される。よ
り詳細には、Barsaw+ianによれば、スルーブ
ツトを増大させるために、ホストCPU(20)に結合
され、これとオーバラップされている外部的ソート・プ
ロセッサ(30)が使用されている(コラム3、ライン
59−64 ;コラム19、ライン37からコラム22
、ライン30まで;および、第3図および第5図を参照
)。
1985年11月7日にCa5e et al、によっ
て出願された出願第06/796,034号であるCa
che−effective 5ort String
 GenerationMethod”には、外部ソー
トについての内部ソートオヨヒマージ操作を実行するた
めの、CPUの主記憶装置におけるLRU型の管理がな
されるキャッシュ部分の新規な使用の教示がなされてい
る。これの結果として、各ソートおよびマージのサブセ
ットのサイズが当該キャッシュのサイズよりも小さくな
るように制限することにより、該キャッシュに対するL
RU型のページング動作がトリガされる。
仮想記憶装置におけるソーティング Addison−Wesley Publishing
 Co、による1983年、1988年版権のSedg
ewickによる’A1gorithms’″第2版の
第・187頁において、“大容量の仮想記憶装置は、極
めて大きいファイルをソートするための方法では見落と
すべきではない”旨の指摘をしている。これに次いで、
彼がこれから離れて教示することは、Quicksor
tおよびRadix 5ortのような、VMソートの
環境では成功しない幾つかのソート方法を指摘すること
である。
Addison−Wesley Publishing
 Co、による1975年版権のLorinのSort
ing and SortSystems”のpp、 
329−347において、特にその中のpp、 334
−339およびpp、 343−345において、次の
ような指摘をしている。
・・・仮想記憶装置のコンセットによれば、厳密な内部
ソート技術を用いることにより、より多くのファイルを
順序付けることが可能にされよう。実資源および論理的
資源の進歩についての平明性のコンセットのために、こ
のやり方で全てのソーティングを誘導することが可能に
されよう。
しかしながら、仮想記憶装置のとる態様が変動すること
から、ソーティングについての科学技術者は仮想記憶装
置におけるファイルの順序付けをするためには、どの内
部的ソーティングが適切であるかを見出さねばならない
C8発明が解決しようとする課題 この発明の目的は、CPUにおいて能率的な外部的ソー
ト操作を実行するための方法を発明することにある。
関連のある目的は、ベージングの要求をする仮想記憶装
置を有するCPUにおいて前記の方法を実行させること
にある。
その更に別の目的は、前記の仮想記憶装置において、ベ
ージングの欠陥を最小限にして、前記の外部的なソート
操作を実行させることにある。
01課題を解決するための手段 予期せぬこととして観察されたことは、実記憶装置で支
援されるときには、外部ソートのソート・フェーズおよ
びマージ・フェーズの間に、ベージングを要求する仮想
記憶装置が“作業装置”として用いられ、これに次いで
、内部記憶装置またはDASDのいずれかが作業装置と
して作用するときには、要素毎のデータの移動の個数お
よびその実行時間が、当該必要とされたものよりも小さ
いということである。仮想記憶装置を作業装置として用
いる外部ソーティングにおいて、データ要素の参照が2
回しか必要とされないという事実の結果として、ベージ
ングの欠陥を減少させることができる。
ソートされないデータ・ストリングの上に第1のバスが
ある間に第1の参照が生起して、該データがブロックさ
れて、内部(実)記憶装置によって完全に支援されるV
S内でソートされ、これに次いで、内部(実)記憶装置
によって選択的に支援されるVS1即ち作業装置の他の
部分に書き出される。ソートされたデータの各ブロック
が“作業装置”から読み取られたときには、第2の参照
が生起して、第2のバスの間に他のソートされたブロッ
クとのマージがなされる。該作業装置に対してデータ要
素毎に2個の参照だけしかなされなかったという事実に
より、仮想記憶装置の動作における過剰なベージングが
最小にされる。これの理由は、データ要素毎の再ページ
ングの比率が本来的に低いからである。
より詳細にいえば、前達された目的が満足されるのは、
m個の記録の外部ソートのストリング発生において、C
PUのLRU型の管理がなされる仮想記憶装置(VS)
のための新規な使用によってである。これに関して該C
PUに含まれているものは、プログラムおよびデータを
記憶させるための内部(実)記憶装置、および、ソート
および管理操作を実行するための該内部(実)記憶装置
をアクセスするための手段であって、該内部(実)記憶
装置およびアクセス手段はVSとして管理されている。
また、該ソート・ストリングの発生は、該記録のキーに
ついてネストされた順序付けとして明らかなことである
この発明の方法は次の諸ステップを含んでなるものであ
る。即ち: (a)第1のバスの間に、外部源からの記録中の8個の
キーにおけるm / s個のサブセット(s <m)の
1個を、内部(実)記憶装装置によって完全に支援され
ているVSのある部分に取り込み、該取り込まれたサブ
セットをその部分的にネストされた順序付けになるよう
に配列して、該ネストされた順序付けのものを内部(実
)記憶装置によって選択的に支援されているVSの他の
部分に転送し、そして、該不ストされた順序付けについ
てのVSアドレスを有するテーブルの更新を行うことで
あって、該取り込み、配列、転送および更新のステップ
はm/s個のサブセットがなくなるまで反復されること
;および、 (b)第2のバスの間に、m/s個の順序付けがなくな
るまで、それらのテーブルにおけるVSアドレスに従っ
て、該VS内に存在するサブセットのt個の部分的に不
ストされた順序付けの各々から選択された少なくとも1
個のキーの中から、内部(実)記憶装置によって選択的
に支援されているVS内でt通りの置換選択マージ(t
<s)を実行すること; の諸ステップが含まれている。
利点があることとしては、内部/実記憶装置と仮想記憶
装置との比率が増大するにつれて、I10境界を越える
参照の数が減少する。かくして、主記憶装置即ち内部記
憶装置の一部としての拡張記憶装置を有するシステムに
おいて、最適の実行能力が期待される。
E、実施例 この発明のRp G 8行するためのホストCI) U
の環境 この発明の好都合な実施は、IBM MVSオペレーテ
ィング・システムを備えて構築されたCPUとしての、
IBM/360または370のような汎用コンピュータ
において可能にされる。18M7360として構築され
たCPUは、1968年9月3日にAmdahl et
 al、に対して発効された米国特許第3,400.3
71号″Data ProcessingSystem
”に完全に説明されている。
M V Sオペレーティング・システム(OS )は、
IBM刊行物GC2g−1150,”MVS/Exte
ndedArchitecture !liystem
 Programming Library+Syst
em Macros and Facilities 
、 Vol、 1に示されている。ロック管理、中断ま
たはモニタによるサブシステム支援、および、タスクの
伝達や待機のような、標準的なMVSまたはその他のオ
ペレーティング・システム・サービスの詳細については
省略する。これらのOSサービスは、当業者によって良
く認められているものと確信する。
例示的な実施例と先行技術との比較 32MBの内部(実)記憶装置およびほぼ無限のDAS
Dであって、その双方がページングを要求する仮想記憶
装置として管理されているものを有するcpu上で、2
00メガバイト(M B )のデータをソートすること
が所望されているものとする。
256MBの拡張記憶装置とともに、またはこれなしで
、実記憶装置で支援される仮想記憶装置をソート作業装
置として用いて、200MBのファイルを外部的にソー
トすることが意図されている。
第1の例ではこの発明の方法の機能が果たされるが、第
2の例では先行技術による外部的なソーティングが例示
されている。
ここで第1テーブルを参照すると、この仮想記憶装置の
サイズは有効な内部的なソーティング・アルゴリズムを
適用することができる程度に十分に大きく、また、実記
憶装置によって常に支援される程度には十分に小さいも
のである。次の注釈は第1テーブルに示されているコン
トロール・フローの良さを認めるための助けになるもの
である。
ソート・フェーズ 拡張記憶装置は利用可能ではないものとする=(1)3
2MBの利用可能な実記憶装置が存在することから、オ
ペレータGETMAINを用いて、32MBの仮想記憶
装置が確実に指定され、または保留されたことにより、
処理が開始される。
(2)仮想記憶装置は2個の等しい部分に区画される。
第1の部分である INAREAは入力バッファ・エリ
アとして用いられ、これに対して、第2の部分であるR
SAREAはソートされたストリングを記憶するための
出カニリアとして用いられる。
(3)記録は、INAREAが一杯になるまでINAR
EAに転送される。次いで、それらは、INAREA内
の置換−選択内部ソート・アルゴリズムを用いてソート
される。この後で、(a)該記録はソーティングをしな
からRSAREAに変位することができる(即ち、置換
−選択で“最小の”記録を選択した後、この記録は当該
時点においてRSAREAに変位することができる)か
;または、(b) INAREA内の記録に対するポイ
ンタがソートされ、これに次いで、ソートされたポイン
タに基づき、INAREA内の記録がR3AREAに変
位される。
(4)記憶装置マツプ・テーブルSTGMAP内のR3
AREAのアドレスを保持して、その内容を2次記憶装
置に対してページ・アウトする。
(5)仮想記憶装置のその他のセグメントを獲得する。
このセグメントのサイズはR3AREAのサイズ(この
例では16MB)に等しく、このエリアを新しいRSA
REAにする。
(6)入力ファイルにおける全記録が読み取られ、ソー
トされ(配列され)、内部(実)記憶装置で支援される
VSに転送され、2次記憶装置にスワップ・アウトされ
、モしてVSアドレスが記録されるまで、ステップ3−
5を繰り返す。
注意されることは、外部記憶装置への書き込みに先立っ
て、多くの記録をグループ化する処理が“ブロック化”
と呼ばれることである。該ブロック化の処理は、外部記
憶装置に対する書き込みが可能になるのに先立って、R
3AREA内の記録に対して適用されねばならない。該
ブロック化の処理に含まれていることは、ブロック・サ
イズ、ブロック当たりの記録の個数、各ブロックの位置
等を計算することである。また、該ブロック化の処理に
は、選択されたアクセス方法に対して、必要な全情報を
伝えるべきブロックのコントロールの発生も含まれてい
る。記録がページ・アウトできるときでも、それらが仮
想記憶装置内に留まっているときには、言うなれば、そ
れらは既に所要のフォーマット内にあることになる。
拡張記憶装置は利用可能であるとする:(7) GET
MAINされ、参照された仮想記憶装置のサイズが実記
憶装置のサイズを越えたときには、LRUの仮想記憶装
置のページが拡張記憶装置にページ・アウトされるよう
に、ステップ(1)(6)の修正がなされる。また、最
小のインデクス(I)ナンバーをもつR3AREAも拡
張記憶装置にページ・アウトされる。256MBの拡張
記憶装置が利用可能であることから、2次記憶装置に転
送されるページはない。
マージ・フェーズ ソートされるべきファイルは、200/16=13のサ
ブセットまたは13個のソートされたストリングに区画
される。各ストリングのサイズは15MBである。記憶
装置マツプ・テーブル内での各エントリは、゛ミートさ
れたストリングのVS開始アドレスを示すものである。
各ストリングの第1の記録を見出すための記憶装置マツ
プ・テーブル内でのエントリを用いて、各ストリングの
第1の記録がソート/マージ・トリー上に配置される。
次いで、13個のノードを有するトリーを用いて、13
通りの置換/選択マ・−ジが実行される。この時点にお
いて、参照された記録は既に拡張記憶装置にページ・ア
ウトすることが可能であるから、それらは内部(実)記
憶装置に伝送されねばならない。ここで、INAREA
は出力バッファ・エリアとして用いられる。INARE
Aが一杯であるときには、INAREA内のデータは出
力ファイルに書き込まれることになる。全部の記録がマ
ージされて1個の出力ファイルになるまでは、この処理
が続行される。
この発明において、仮想記憶装置にはソート作業のデー
タ・セットが含まれており、この装置は単なる“ソーテ
ィング・エリア”ではない。仮想記憶装置を“ソーティ
ング・エリア”として用いることで、2次記憶装置に対
するデータの転送を回避することができるけれども、典
型的な内部ソーティングのためのデータ参照パターンが
ランダムになり、潜在的な可能性のある記録を何回も参
照するという不利益点がもたらされる。仮想記憶装置の
容量が利用可能な実記憶装置の容量に比べて大きすぎる
ときには、次に続く参照が生じる時点までに、ある1個
の記録が既にページ・アウトされている可能性が極めて
高い。この記録がベージングされるべきであれば、これ
により他のd記録がページ・アウトを生じるようにされ
る。システムのページング比率が上昇を開始すると、“
スラッシングの問題が生じる可能性がある。
仮想記憶装置に対してマツピングされている、各順序を
付されたストリングからの記録のサブセットが一緒にマ
ージされる。通常、ソート・ステップとマージ・ステッ
プとの間には比較的長い時間周期があることから、この
データは既に拡張記憶装置または補助記憶装置のいずれ
かに転送されている可能性がある。しかしながら、該デ
ータには2個の参照しかないことから、記録が一旦順序
通りにされ、また、該記録がマージされたときには、多
くとも2ページの欠陥が生じることがある。
坦慇 通常は、外部的なソートはI10境界(即ち、外部記憶
装置または2次記憶装置に対する参照)になる傾向があ
る。これの意味することは、外部ソートにおける経過時
間の多くが通常はその完了のためのIloに対する待機
のために費やされるということである。I10手段が少
なくなれば、経過時間が短くなる。この発明における外
部ソーティングの方法によれば、従来の外部ソーティン
グの方法に比べて、“ソーティング・エリア”としての
仮想記憶装置を用いる方法と同様に、Iloで必要な活
動が最小限にされる。
次のテーブルを参照すると、仮想記憶装置を支援するた
めに利用可能な実/拡張記憶装置の容量に関する各方法
のための、Iloの活動における比較が示されている。
ここに示されている数字は、各記録のために必要とされ
るIloの活動を表す数である。“2″の意味すること
は、各記録のために2個のIloの活動が要求されると
いうことテアル。“I“の意味することは、各記録のた
めに平均して1個のIloの活動が要求されるというこ
とである。“無限”の意味することは、各記録のために
要求されるIloの活動の個数が、潜在的に無限になる
ということである。
この発明を考慮することで想起されることは、ここでの
開示は例示的なことに過ぎず、この発明の範囲は添記の
特許請求の範囲で規定されるべきであるということであ
る。
F1発明の効果 実記憶装置で支援される、ページングを要求スる仮想記
憶装置が、外部ソートにおいて作業装置として用いられ
るときには、そのデータ変位および処理のための時間は
、内部(実)記憶装置またはDASDのいずれかが作業
装置として作用するときに同じ外部ソートを処理するた
めの時間に比べて、相当に短いものである。また、ソー
ト・フェーズの間に発生された部分的なソートのストリ
ング、および、マージ・フェーズの間に全体として順序
付けられたストリングを再ブロックすることが回避され
る。仮想記憶装置に対する内部(実)記憶装置の支援の
最適な比率は30−80%の間にある。仮想記憶装置を
作業装置として用いた外部ソーティングにおいて、デー
タ要素の参照は2回しか必要とされないという事実の結
果として、ページの欠陥が節減される。
下記の第1テーブルは、作業デバイスとしての仮想記憶
装置で支援される区画された実記憶装置を用いた、この
発明による2相の外部ソート方法における擬似コード表
現を示すものである。
R3AREA  −> υOI  =  1.13

Claims (6)

    【特許請求の範囲】
  1. (1)キーに基づく記録における外部ソート操作のソー
    ト・フェーズおよびマージ・フェーズの間に、CPUの
    LRU管理型の仮想記憶装置(VS)を作業装置として
    用いる新規な方法であって、前記のVSは高速内部(実
    )記憶装置および低速大容量の支援記憶装置によって指
    示されており: (a)ソート・フェーズの間に、記録キーのサブセット
    を完全に内部記憶装置で支援されているVSに読み込み
    、該記録を順序付けられたストリングに配列し、そして
    、該順序付けられたストリングをVSの他の選択的に内
    部記憶装置で支援されている部分にマッピング処理を施
    すこと;および、 (b)マージ・フェーズの間に、該ソートされたストリ
    ングの予め選択された要素を完全に内部記憶装置で支援
    されているVSにマッピング処理を施して戻し、そして
    、前記マッピング処理を施された予め選択されたストリ
    ング要素について複数通りのマージ操作を実行すること
    ; の諸ステップが含まれている前記の方法。
  2. (2)該複数通りのマージは置換選択タイプのものであ
    って、 更に、該ソート・フェーズには、全ての順序付けられた
    ストリングについて、VSの開始アドレスのテーブルの
    生成・更新操作が含まれており、 また更に、複数通りのマージにおいて用いられる予め選
    択された要素は、該テーブルのアドレスおよびこれから
    の変位に従ってアクセスされる、 請求項1に記載の方法。
  3. (3)各サブセットは、該サブセットのアドレス容量の
    少なくとも2倍のVSの補完スペースに取り込まれるも
    のであって、 更に、該順序付けられたストリングは、 内部記憶装置内でのデータ転送ではなく、内部記憶装置
    で支援されたVSの別異の部分に、VSアドレスの変更
    によって書き込まれる、 請求項1に記載の方法。
  4. (4)m個の記録のソート・ストリングの発生における
    、CPUのLRU管理型の仮想記憶装置を用いる新規な
    方法であって、前記CPUに含まれているものは、プロ
    グラムおよびデータを記憶するための内部(実)記憶装
    置、および、ソート操作および管理操作を実行するため
    に該実記憶装置をアクセスするための手段であり、前記
    実記憶装置およびアクセス手段は仮想記憶装置として管
    理され、前記ソート・ストリングの発生は記録のキーの
    ネストされた順序付けとして示されており: (a)第1のバスの間に、外部源からの記録中のs個の
    キーにおけるm/s個のサブセット(s<m)の1個を
    、内部(実)記憶装置によって完全に支援されているV
    Sのある部分に取り込み、該取り込まれたサブセットを
    その部分的にネストされた順序付けになるように配列し
    て、該ネストされた順序付けのものを内部(実)記憶装
    置によって選択的に支援されているVSの他の部分に転
    送し、そして、該ネストされた順序付けについてのVS
    アドレスを有するテーブルの更新を行うことであって、
    m/s個のサブセットがなくなるまで反復されること;
    および、 (b)第2のバスの間に、m/s個の順序付けがなくな
    るまで、それらのテーブルにおけるVSアドレスに従っ
    て、該VS内に存在するサブセットのt個の部分的にネ
    ストされた順序付けの各々から選択された少なくとも1
    個のキーの中から、内部(実)記憶装置によって選択的
    に支援されているVS内でt通りの置換選択マージ(t
    <s)を実行すること; の諸ステップが含まれている前記の方法。
  5. (5)前記内部記憶装置に含まれているものは、バイト
    単位でランダムにアドレス可能な部分、および、ブロッ
    ク単位でLRU型の管理がなされる部分である、請求項
    1または4に記載の方法。
  6. (6)VSに対する内部(実)記憶装置の支援の比率は
    実質的に30−80%の範囲内にある、請求項1または
    4に記載の方法。
JP2202598A 1989-08-02 1990-08-01 ソーテイング方法 Pending JPH0371227A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US38924389A 1989-08-02 1989-08-02
US389243 1989-08-02

Publications (1)

Publication Number Publication Date
JPH0371227A true JPH0371227A (ja) 1991-03-27

Family

ID=23537435

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2202598A Pending JPH0371227A (ja) 1989-08-02 1990-08-01 ソーテイング方法

Country Status (3)

Country Link
US (1) US5414842A (ja)
EP (1) EP0411788A3 (ja)
JP (1) JPH0371227A (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5794240A (en) * 1992-05-26 1998-08-11 Fujitsu Limited Multi-threaded sorting system for a data processing system
JPH06242925A (ja) * 1993-02-15 1994-09-02 Mitsubishi Electric Corp ソート処理装置
GB2283118B (en) * 1993-02-15 1997-06-18 Mitsubishi Electric Corp Sorting apparatus
US5487166A (en) * 1994-09-19 1996-01-23 Amdahl Corporation Computer with two-dimensional merge tournament sort using offset-value coding
US5632035A (en) * 1994-09-20 1997-05-20 International Business Machines Corporation Process for verifying GDMO template references and for providing an ordered list of GDMO templates
US5819082A (en) * 1995-06-07 1998-10-06 Sierra On-Line, Inc. Data storage optimization using an access order resource list
JPH0954676A (ja) * 1995-08-11 1997-02-25 Yamaha Corp 整順列化方法および整順列化装置
US5852826A (en) * 1996-01-26 1998-12-22 Sequent Computer Systems, Inc. Parallel merge sort method and apparatus
US5884297A (en) * 1996-01-30 1999-03-16 Telefonaktiebolaget L M Ericsson (Publ.) System and method for maintaining a table in content addressable memory using hole algorithms
US8234477B2 (en) * 1998-07-31 2012-07-31 Kom Networks, Inc. Method and system for providing restricted access to a storage medium
US6738769B2 (en) 2001-01-11 2004-05-18 International Business Machines Corporation Sorting multiple-typed data
US7484074B2 (en) * 2006-01-18 2009-01-27 International Business Machines Corporation Method and system for automatically distributing real memory between virtual memory page sizes
US8839215B2 (en) 2010-07-19 2014-09-16 International Business Machines Corporation String cache file for optimizing memory usage in a java virtual machine
CN101976224B (zh) * 2010-10-13 2012-05-16 清华大学 一种嵌入式系统的内存管理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62113234A (ja) * 1985-11-07 1987-05-25 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション レコ−ドセツト分類方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3713107A (en) * 1972-04-03 1973-01-23 Ncr Firmware sort processor system
US4423479A (en) * 1980-11-14 1983-12-27 Sperry Corporation Cache/disk subsystem with acquire write command
US4422145A (en) * 1981-10-26 1983-12-20 International Business Machines Corporation Thrashing reduction in demand accessing of a data base through an LRU paging buffer pool
JPS61275934A (ja) * 1985-05-31 1986-12-06 Toshiba Corp デイスクソ−トシステム
US4873625A (en) * 1987-11-17 1989-10-10 International Business Machines Corporation Method and apparatus for extending collation functions of a sorting program
US5038278A (en) * 1988-04-01 1991-08-06 Digital Equipment Corporation Cache with at least two fill rates
US5003459A (en) * 1988-04-01 1991-03-26 Digital Equipment Corporation Cache memory system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62113234A (ja) * 1985-11-07 1987-05-25 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション レコ−ドセツト分類方法

Also Published As

Publication number Publication date
EP0411788A3 (en) 1992-08-05
US5414842A (en) 1995-05-09
EP0411788A2 (en) 1991-02-06

Similar Documents

Publication Publication Date Title
US5694568A (en) Prefetch system applicable to complex memory access schemes
US7844802B2 (en) Instructions for ordering execution in pipelined processes
US6112285A (en) Method, system and computer program product for virtual memory support for managing translation look aside buffers with multiple page size support
RU2212704C2 (ru) Структура совместно используемого кэша для временных и невременных команд
JP2839060B2 (ja) データ処理システムおよびデータ処理方法
US6408325B1 (en) Context switching technique for processors with large register files
US6542960B1 (en) System and method for parity caching based on stripe locking in raid data storage
US5734817A (en) Method for making a data base available to a user program during data base recovery
US7493464B2 (en) Sparse matrix
JPH06309224A (ja) データ・ページの制御方法及びデータ処理システム
JPH0371227A (ja) ソーテイング方法
US5796989A (en) Method and system for increasing cache efficiency during emulation through operation code organization
EP0221358B1 (en) Sort string generation in a staged storage system
US6745291B1 (en) High speed LRU line replacement system for cache memories
CN1196997C (zh) 不按序执行指令的装置和检测不按序指令的方法
JP3527765B2 (ja) プログラムキャッシュ装置
EP0782725A1 (en) Computer with two-dimensional merge tournament sort using caching
US5671405A (en) Apparatus and method for adaptive logical partitioning of workfile disks for multiple concurrent mergesorts
US5333291A (en) Stride enhancer for high speed memory accesses with line fetching mode and normal mode employing boundary crossing determination
Li et al. A multi-hashing index for hybrid dram-nvm memory systems
Li et al. Phast: Hierarchical concurrent log-free skip list for persistent memory
JPH08255079A (ja) コンピュータ・プロセッサ用のレジスタ・キャッシュ
US4992935A (en) Bit map search by competitive processors
JP2002202960A (ja) データ処理方法および装置
EP0890148A1 (en) Cache multi-block touch mechanism for object oriented computer system