JPH04178731A - Reuse system for method cache information in object oriented processing system - Google Patents

Reuse system for method cache information in object oriented processing system

Info

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
Application number
JP2304135A
Other languages
Japanese (ja)
Inventor
Mitsuhiro Osada
充弘 長田
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 JP2304135A priority Critical patent/JPH04178731A/en
Publication of JPH04178731A publication Critical patent/JPH04178731A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To always process an application by the highest and stable performance when the application on an object oriented processing system is executed for plural times by providing a cache information storing function and a storage cache information read-in function, and effectively using cache information generated once even in the next session. CONSTITUTION:When the application program 30 of a user is executed on the object oriented processing system 10, the cache information is accumulated one after another in a cache table 11b. The cache table 11b consists of a class address table 11b1 and a method address table 11b2, and is formed in such structure that a correspondent method can be taken out setting a class address as a key. Address information with respect to class and method in a generated cache table 11b, etc., is stored in an external memory device 20 via a cache information input/output mechanism 11c. Thereby, the cache information generated once can be reused, and performance in which the effect of method cache can be displayed to a maximum can be obtained.

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.

〔従来の技術〕[Conventional technology]

オブジェクト指向処理系では、定義された同一名称を持
つメソッド群より、与えられた実引数のクラス(型)に
合致するメソッド又はメソッドの組合せを実行する。実
行されるメソッド又はメソッドの組合せは、実効メソッ
ドと呼ばれる。与えられた実引数の型に応じ実効メソッ
ドを生成する過程は、メソッドのディスパッチと呼ばれ
る。実効メソッドは、与えられた実引数により動的に定
まるものであり、また特に実効メソッドとしてメソッド
結合と呼ばれるメソッドの組合せを許す処理系において
は、その組合せを動的に計算しなければならないため、
メソッドディスパッチでのオーバヘッドは大きい。この
オーバヘッドが、オブジェクト指向処理系の性能にその
まま影響するので、これをいかに小さくするかがオブジ
ェクト指向処理系の性能面での最重要課題となっている
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.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上記従来技術は、キャッシュ情報がセットされるまでの
メソッドディスパッチのオーバヘッドに間しては配慮さ
れておらず、特に当該処理系上の同一アプリケーション
を複数回実行する場合でもその都度キャッシュ情報がセ
ントされるまでは最高の性能にいたらないという問題が
あった。
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).

〔課題を解決するための手段〕[Means to solve the problem]

上記目的を達成するために、従来のメソッドキャッシュ
ユニットに「キャッシュ情報格納機能」と「格納キャッ
シュ情報読込機能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.

〔作用〕[Effect]

ユーザの指定により、キャッシュ情報入出力機構は、キ
ャッシュテーブルの全情報を指定のあった外部記憶装置
に格納する。また処理系再起動後にユーザの指定により
、キャッシュ情報入出力機構は、外部記憶装置より格納
されているキャッシュ情報を読込んでキャッシュテーブ
ルに情報をセットする。この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.

〔実施例〕〔Example〕

以下、本発明の一実施例について図面を用いて説明する
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.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、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).

【図面の簡単な説明】[Brief explanation of the drawing]

第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)

【特許請求の範囲】[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.
JP2304135A 1990-11-13 1990-11-13 Reuse system for method cache information in object oriented processing system Pending JPH04178731A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (5)

* Cited by examiner, † Cited by third party
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