JPH04178731A - Reuse system for method cache information in object oriented processing system - Google Patents
Reuse system for method cache information in object oriented processing systemInfo
- Publication number
- JPH04178731A JPH04178731A JP2304135A JP30413590A JPH04178731A JP H04178731 A JPH04178731 A JP H04178731A JP 2304135 A JP2304135 A JP 2304135A JP 30413590 A JP30413590 A JP 30413590A JP H04178731 A JPH04178731 A JP H04178731A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- cache information
- processing system
- information
- oriented processing
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000007246 mechanism Effects 0.000 abstract description 8
- 230000000694 effects Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、オブジェクト指向機能を有する言語処理系に
おけるメソッドの処理方式に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a method processing method in a language processing system having an object-oriented function.
オブジェクト指向処理系では、定義された同一名称を持
つメソッド群より、与えられた実引数のクラス(型)に
合致するメソッド又はメソッドの組合せを実行する。実
行されるメソッド又はメソッドの組合せは、実効メソッ
ドと呼ばれる。与えられた実引数の型に応じ実効メソッ
ドを生成する過程は、メソッドのディスパッチと呼ばれ
る。実効メソッドは、与えられた実引数により動的に定
まるものであり、また特に実効メソッドとしてメソッド
結合と呼ばれるメソッドの組合せを許す処理系において
は、その組合せを動的に計算しなければならないため、
メソッドディスパッチでのオーバヘッドは大きい。この
オーバヘッドが、オブジェクト指向処理系の性能にその
まま影響するので、これをいかに小さくするかがオブジ
ェクト指向処理系の性能面での最重要課題となっている
。In an object-oriented processing system, a method or a combination of methods that matches the class (type) of a given actual argument is executed from a defined group of methods having the same name. The method or combination of methods that is executed is called an effective method. The process of generating an effective method according to the type of the given actual argument is called method dispatch. The effective method is dynamically determined by the given actual arguments, and especially in processing systems that allow combinations of methods called method combinations as effective methods, the combination must be calculated dynamically.
The overhead of method dispatch is large. Since this overhead directly affects the performance of the object-oriented processing system, how to reduce this overhead is the most important issue in terms of the performance of the object-oriented processing system.
近年、メソッドディスパッチの高速化手段として普及し
てきているのが、メソッドキャッシュと呼ばれる手法で
ある。これは、与えられる実引数のクラス(型)をキー
として実効メソッドが登録される″キャッシュテーブル
”を利用するもので概要は次の通り、
(、)与えられた実引数のクラスがキャッシュテーブル
に存在すれば、ともに登録されている実効メソッドを用
いる。In recent years, a technique called method caching has become popular as a means of speeding up method dispatch. This uses a "cache table" in which effective methods are registered using the class (type) of the given actual argument as a key. If it exists, the registered effective method is used.
(b)与えられた実引数のクラスがキャッシュテーブル
に存在しなければ、実効メソッドを計算しキャッシュテ
ーブルに登録する。実効メソッドとしては計算したもの
を用いる。(b) If the class of the given actual argument does not exist in the cache table, calculate the effective method and register it in the cache table. The calculated method is used as the effective method.
従ってメソッドキャッシュ方式を用いれば、処理系起動
直後、キャッシュテーブルにある程度の情報がセットさ
れるまでは、通常のなにも対策を施さない場合と変わり
はないが、それ以降は格段の性能向上が見込まれる。(
ディスパッチ部のみに関して言えば、数倍〜数百倍程度
)これ以降キャッシュテーブルに登録された情報を、単
にキャッシュ情報と呼ぶことにする。Therefore, if you use the method cache method, immediately after the processing system starts up and until a certain amount of information is set in the cache table, it will be the same as when no countermeasures are taken, but after that, the performance will be significantly improved. expected. (
Regarding only the dispatch section, the information registered in the cache table will be simply referred to as cache information.
なお、この種の装置として関連するものには例えばCO
P S L A ’ 86 P roceeding
sのページ1−8 ” Object −Orient
ed P rogrammingWith Fla
vors”等が挙げられる。Note that related devices of this type include, for example, CO
P SLA '86 Proceeding
s page 1-8 ” Object -Orient
edProgrammingWithFla
vors”, etc.
上記従来技術は、キャッシュ情報がセットされるまでの
メソッドディスパッチのオーバヘッドに間しては配慮さ
れておらず、特に当該処理系上の同一アプリケーション
を複数回実行する場合でもその都度キャッシュ情報がセ
ントされるまでは最高の性能にいたらないという問題が
あった。The above conventional technology does not consider the overhead of method dispatch until the cache information is set, and in particular, even when the same application on the processing system is executed multiple times, the cache information is sent each time. The problem was that the best performance could not be achieved until the
本発明は、オブジェクト指向処理系上のアプリケーショ
ンを複数回実行する場合、常に(より正確には2回目以
降は)最高の且つ安定した性能で処理されることを目的
とする。An object of the present invention is to ensure that when an application on an object-oriented processing system is executed multiple times, the application is always processed with the highest and stable performance (more precisely, from the second time onwards).
上記目的を達成するために、従来のメソッドキャッシュ
ユニットに「キャッシュ情報格納機能」と「格納キャッ
シュ情報読込機能jを持つキャッシュ情報入出力機構を
付加し、一度生成されたキャッシュ情報の再利用を可能
にしたものである。In order to achieve the above objectives, we added a cache information input/output mechanism with a "cache information storage function" and a "stored cache information read function" to the conventional method cache unit, making it possible to reuse cache information once generated. This is what I did.
ユーザの指定により、キャッシュ情報入出力機構は、キ
ャッシュテーブルの全情報を指定のあった外部記憶装置
に格納する。また処理系再起動後にユーザの指定により
、キャッシュ情報入出力機構は、外部記憶装置より格納
されているキャッシュ情報を読込んでキャッシュテーブ
ルに情報をセットする。この2つの動作の組合せにより
、本メソッドキャッシュ方式は、ユーザが一度生成した
キャッシュ情報をくり返し再利用することを可能にする
。According to the user's designation, the cache information input/output mechanism stores all information in the cache table in the designated external storage device. Further, after restarting the processing system, the cache information input/output mechanism reads cache information stored from an external storage device and sets the information in the cache table according to a user's designation. By combining these two operations, the present method cache system allows the user to repeatedly reuse cache information that has been generated once.
以下、本発明の一実施例について図面を用いて説明する
。An embodiment of the present invention will be described below with reference to the drawings.
まず第1図により全体構成について説明する。First, the overall configuration will be explained with reference to FIG.
当処理系は、オブジェクト指向処理系本体10とキャッ
シュ情報を格納する外部記憶装置20からなる。This processing system consists of an object-oriented processing system main body 10 and an external storage device 20 that stores cache information.
外部記憶装置i20は、当例では直接アクセス記憶装@
(DASD)を用いているが、ユーザの指定により磁
気テープ装置等にも可変とする。メソッドキャッシュを
実行するのが、メソッドキャッシュユニット11である
。従来メソッドキャッシュユニット11は、キャッシュ
情報によりメソッドディスパッチを実行するキャッシュ
制御機構11aとキャッシュ情報を蓄積するキャッシュ
テーブルllbからなるものであったが、本発明では更
にキャッシュ情報入出力機構(ILc)を追加する。In this example, the external storage device i20 is a direct access storage device@
(DASD), but it can also be changed to a magnetic tape device or the like according to the user's specifications. The method cache unit 11 executes method caching. Conventionally, the method cache unit 11 consists of a cache control mechanism 11a that executes method dispatch based on cache information and a cache table Ilb that stores cache information, but in the present invention, a cache information input/output mechanism (ILc) is further added. do.
オブジェクト指向処理糸IO上でユーザのアプリケーシ
ョンプログラム30が実行されると、キャッシュ情報が
次第にキャッシュテーブルllbに蓄積される。キャッ
シュテーブルllbは、クラスアドレステーブルllb
よとメソッドアドレステーブル11b2からなり、クラ
スアドレスをキーとして対応するメソッドを取り出せる
構造となっている。この情報を基に、キャッシュ制御機
@Llaが。When the user's application program 30 is executed on the object-oriented processing thread IO, cache information is gradually accumulated in the cache table llb. Cache table llb is class address table llb
It consists of a method address table 11b2, and has a structure in which a corresponding method can be retrieved using a class address as a key. Based on this information, the cache controller @Lla.
メソッドディスパッチを行うのがメソッドキャッシュ方
式である。本発明では、ユーザのアプリケーションプロ
グラム30実行後、ユーザの指定により、それまでに生
成されたキャッシュテーブル11b中のクラス及びメソ
ッドに関するアドレス情報等を、キャッシュ情報入出力
機構11cを経て、外部記憶装置20△格納することが
できる。また。The method cache method performs method dispatch. In the present invention, after the user's application program 30 is executed, address information regarding classes and methods in the cache table 11b generated up to that point is transferred to the external storage device 20 via the cache information input/output mechanism 11c according to the user's specifications. △ Can be stored. Also.
オブジェクト指向処理系再起動後での同一アプリケーシ
ョン使用時には、ユーザの指定により、キャッシュ情報
入出力機構lieが、格納されているキャッシュ情報を
外部記憶装置20から読込み、キャノシュテーブルll
bにセットする。これにより、前回のアプリケーション
プログラム奥行終了時のキャッシュテーブルllbをそ
のまま復元することができる。なお、ここで用いる″あ
るデータの71−レス情報等を外部記憶装置へ格納し、
次セツションで、その格納それたアドレス情報等を外部
記憶装置から読込み元のデータを復元する″アルゴリズ
ムは、LISP言語等で一般に知られている中断再開機
能のアルゴリズムと同一である。When using the same application after restarting the object-oriented processing system, the cache information input/output mechanism lie reads the stored cache information from the external storage device 20 according to the user's specifications, and stores it in the cache table ll.
Set to b. Thereby, the cache table llb at the time of the previous application program depth termination can be restored as is. Note that the ``71-response information'' of certain data used here is stored in an external storage device,
In the next session, the algorithm for reading the stored address information etc. from the external storage device and restoring the original data is the same as the algorithm for the suspend/resume function generally known in the LISP language and the like.
本発明が、有効となるユーザの使用方法を第2図にフロ
ーチャートとして示す。第2図(a)はアプリケーショ
ンプログラム初回の実行時の処理の流れ、第2図(b)
は同プログラム2回目以降の実行時の処理の流れを示す
。アプリケーションプログラムの初回実行後に、キャッ
シュ情報の格納を指定しキャッシュテーブルllbの情
報を外部記憶装置20へ格納する。これ以降このアプリ
ケーションプログラムを実行する時は、プログラムロー
ド後、キャッシュ情報の復元指定により、格納されたキ
ャッシュ情報をキャッシュテーブルLlbへ復元してか
らプログラムを実行する。これにより、初回に作成され
たキャッシュ情報を有効に再利用でき、プログラムの実
行性能が向上する。FIG. 2 shows a flowchart of how the present invention is used by a user. Figure 2(a) shows the flow of processing when the application program is executed for the first time, and Figure 2(b)
shows the flow of processing when the same program is executed for the second and subsequent times. After the application program is executed for the first time, storage of cache information is designated and the information of cache table llb is stored in the external storage device 20. From now on, when this application program is executed, after the program is loaded, the stored cache information is restored to the cache table Llb according to the cache information restoration designation, and then the program is executed. This allows the cache information created the first time to be effectively reused, improving program execution performance.
予想される性能向上効果を、第3図にグラフで示す。縦
軸は、プログラムの実行性能、横軸は、 。The expected performance improvement effect is shown graphically in Figure 3. The vertical axis is program execution performance, and the horizontal axis is .
プログラム起動後の経過時間である。キャッシュ情報の
再利用により、本発明ではプログラム起動直後からメソ
ッドキャッシュによる最高且つ安定した性能を得ること
ができる。This is the elapsed time since the program started. By reusing cache information, the present invention can obtain maximum and stable performance by method caching immediately after program startup.
本発明によれば、1度作成したキャッシュ情報を再利用
できるので、ユーザのアプリケーションプログラム起動
(2回目以降)直後より、メソッドキャッシュの効果を
最大限に活かした性能を得ることができる。According to the present invention, since cache information that has been created once can be reused, performance that takes full advantage of the method cache effect can be obtained immediately after the user starts the application program (second time or later).
第1図は、本発明の一実施例で光機能を実現するための
処理系構成図、第2図は、本発明を有効とするユーザの
使用手順を示すフローチャート、第3図は、本発明によ
り期待できる効果をグラフとして表示する図である。
10・オブジェクト指向処理系、
11・・メソッドキャッシュユニット。FIG. 1 is a block diagram of a processing system for realizing an optical function in an embodiment of the present invention, FIG. 2 is a flowchart showing a procedure for use by a user who makes the present invention effective, and FIG. 3 is a diagram of the present invention. FIG. 3 is a diagram showing the expected effects as a graph. 10. Object-oriented processing system, 11. Method cache unit.
Claims (1)
機能を設けることにより、一度生成されたキャッシュ情
報を次セッションでも有効利用することを特徴とするオ
ブジェクト指向処理系の揮発性記憶装置上で実現するメ
ソッドキャッシュ方式。1. A method cache realized on a volatile storage device of an object-oriented processing system, which is characterized by providing a cache information storage function and a storage cache information read function, so that once generated cache information can be effectively used in the next session. method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2304135A JPH04178731A (en) | 1990-11-13 | 1990-11-13 | Reuse system for method cache information in object oriented processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2304135A JPH04178731A (en) | 1990-11-13 | 1990-11-13 | Reuse system for method cache information in object oriented processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04178731A true JPH04178731A (en) | 1992-06-25 |
Family
ID=17929464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2304135A Pending JPH04178731A (en) | 1990-11-13 | 1990-11-13 | Reuse system for method cache information in object oriented processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04178731A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0600649A2 (en) * | 1992-12-02 | 1994-06-08 | International Business Machines Corporation | Data retrieval using a cache |
EP0620522A2 (en) * | 1993-04-13 | 1994-10-19 | Sun Microsystems, Inc. | High performance dynamic linking through caching |
JP2018010452A (en) * | 2016-07-13 | 2018-01-18 | 株式会社バッファローメモリ | Storage device, information processing system, start method of storage device, and program |
-
1990
- 1990-11-13 JP JP2304135A patent/JPH04178731A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0600649A2 (en) * | 1992-12-02 | 1994-06-08 | International Business Machines Corporation | Data retrieval using a cache |
EP0600649A3 (en) * | 1992-12-02 | 1995-02-01 | Ibm | Data retrieval using a cache. |
EP0620522A2 (en) * | 1993-04-13 | 1994-10-19 | Sun Microsystems, Inc. | High performance dynamic linking through caching |
EP0620522A3 (en) * | 1993-04-13 | 1996-05-01 | Sun Microsystems Inc | High performance dynamic linking through caching. |
JP2018010452A (en) * | 2016-07-13 | 2018-01-18 | 株式会社バッファローメモリ | Storage device, information processing system, start method of storage device, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2821345B2 (en) | Asynchronous I / O control method | |
US6820153B2 (en) | Interrupt processing and memory management method in an operation processing device and a device using the same | |
JPH04178731A (en) | Reuse system for method cache information in object oriented processing system | |
JP3538292B2 (en) | Runtime program translation method | |
JP2504843B2 (en) | Buffer expansion device | |
JPH02189658A (en) | Cache memory | |
JPH05113882A (en) | Out-fitted man-machine interface realizing system by intermediate file | |
JPS58182766A (en) | Program tracing device | |
JP2584528Y2 (en) | Information processing device | |
JPH0764802A (en) | Simulation device for real-time system | |
JPH0337748A (en) | External storage accessing system utilizing main storage | |
JPH05334249A (en) | Nesting management system for catalog in interactive processing system | |
JPH04148427A (en) | Program patch system | |
JPH0398123A (en) | Instruction series processor with time stamp | |
JP3125761B2 (en) | Working set calculation processing apparatus and working set calculation processing method | |
JPH04113414A (en) | Automatic application system for disk cache | |
JPH03246633A (en) | Memory management system for interpreter type language processing processor | |
CN111143078A (en) | Data processing method and device and computer readable storage medium | |
JPS58178427A (en) | Processing speed control system of digital computer | |
JP2002196938A (en) | Device for exception handling flow and its handling execution method | |
JPH03282756A (en) | Asynchronous input/output system | |
JPH05334190A (en) | Disk cache system | |
JPH0922363A (en) | Task constituting system | |
JPH0667982A (en) | Address conversion system | |
JPH04305733A (en) | System forming method |