JPH04358258A - Server/client type numerical calculating system - Google Patents

Server/client type numerical calculating system

Info

Publication number
JPH04358258A
JPH04358258A JP13305891A JP13305891A JPH04358258A JP H04358258 A JPH04358258 A JP H04358258A JP 13305891 A JP13305891 A JP 13305891A JP 13305891 A JP13305891 A JP 13305891A JP H04358258 A JPH04358258 A JP H04358258A
Authority
JP
Japan
Prior art keywords
data
processing mechanism
calculation
server
numerical calculation
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
JP13305891A
Other languages
Japanese (ja)
Inventor
Shinobu Matsuzuka
松塚 忍
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP13305891A priority Critical patent/JPH04358258A/en
Publication of JPH04358258A publication Critical patent/JPH04358258A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

PURPOSE:To eliminate necessity for calling a numerical calculation library or considering data structure such as an intermediate result, etc., for numerical calculation on an application program for numerical calculation and further to execute the numerical calculation at high speed with a high-speed processor as a server. CONSTITUTION:An application processing mechanism 11 of a client 10 is constituted to mainly manage only the process of the numerical calculation and to transmit a calculation request containing the data ID of calculating object data through a communication interface mechanism 12 to a server 20 when the calculation is required. When this calculation request is received, a numerical calculation processing mechanism 21 of the server 20 calls the correspondent numerical calculation library, executes the requested calculation with data in an initial data area 23a or an intermediate result area 23b shown by the data ID as the object while using a parameter peculiar for the function type of the requested calculation in a parameter data base 30 and returns the result data ID to the application processing mechanism 11.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】この発明は、数値計算用のアプリ
ケーションプログラムを実行するのに好適なサーバ・ク
ライアント型数値計算方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a server-client numerical calculation method suitable for executing numerical calculation application programs.

【0002】0002

【従来の技術】従来、数値計算用のアプリケーションプ
ログラム(数値計算プログラム)は図9のように構成さ
れており、アプリケーションのコードの他に、同コード
から呼出される数値計算ライブラリのコードを持ってい
た。即ち従来のアプリケーションプログラムは、数値計
算ライブラリを呼出す形で作成されていた。
[Prior Art] Conventionally, a numerical calculation application program (numerical calculation program) is configured as shown in Figure 9, and in addition to the application code, it has a numerical calculation library code that is called from the application code. Ta. That is, conventional application programs were created by calling a numerical calculation library.

【0003】図9に示す構成のアプリケーションプログ
ラムは、次のように実行されるのが一般的であった。即
ち、まず初期データの読込みが行われる。そして、何度
か数値計算ライブラリを呼出して計算が行われ、最終結
果が出力される。この数値計算ライブラリを呼出す際に
は、そのライブラリを用いた数値計算で使用される数値
計算パラメータが引数として渡される。
The application program having the configuration shown in FIG. 9 has generally been executed as follows. That is, first, initial data is read. Then, calculations are performed by calling the numerical calculation library several times, and the final result is output. When calling this numerical calculation library, numerical calculation parameters used in numerical calculation using the library are passed as arguments.

【0004】さて、数値計算ライブラリを呼出して行わ
れる数値計算では、途中の計算結果(中間結果)は、ア
プリケーションプログラム中に用意された中間結果のデ
ータ領域(中間結果領域)に保持される。したがって、
図9のように、n回の数値計算ステップを経て最終結果
を得るアプリケーションプログラムの場合には、n−1
種類の中間結果をアプリケーションプログラム上で管理
する必要がある。
In numerical calculations performed by calling a numerical calculation library, intermediate calculation results (intermediate results) are held in an intermediate result data area (intermediate result area) prepared in the application program. therefore,
As shown in Figure 9, in the case of an application program that obtains the final result after n numerical calculation steps, n-1
It is necessary to manage various types of intermediate results on the application program.

【0005】[0005]

【発明が解決しようとする課題】上記したように、図9
に示すようなアプリケーションプログラムを用いた従来
の数値計算方式では、アプリケーションプログラム(を
実行するプロセス)自身が数値計算ライブラリを呼出す
必要があった。
[Problem to be Solved by the Invention] As mentioned above, FIG.
In the conventional numerical calculation method using an application program as shown in , it was necessary for the application program (the process that executes it) to call the numerical calculation library itself.

【0006】しかし、数値計算ライブラリの呼出し方は
一般に複雑であり、アプリケーションプログラマが習得
するのに時間と労力を必要とするという問題があった。 しかも、数値計算ライブラリの呼出し方は、数値計算ラ
イブラリを提供するベンダー毎に異なっていることから
、アプリケーションの独立性、移植性を悪くするという
問題もあった。
However, there is a problem in that the method of calling a numerical calculation library is generally complicated and requires time and effort for an application programmer to learn. Furthermore, since the method of calling the numerical calculation library differs depending on the vendor providing the numerical calculation library, there is also a problem that the independence and portability of the application are deteriorated.

【0007】また、数値計算ライブラリを呼出す際には
、そのライブラリを用いた数値計算で使用される数値計
算パラメータを引数として渡さなければならず、更に必
要な最終結果以外の、数値計算上の途中結果をアプリケ
ーション上で管理しなければならないため、プログラム
が複雑となり、この点でもアプリケーションプログラマ
に負担をかけていた。更に、アプリケーションプログラ
ムが動作する処理装置(CPU)の性能によって数値計
算の実行性能が決められてしまうという問題もあった。
[0007] Furthermore, when calling a numerical calculation library, the numerical calculation parameters used in the numerical calculation using the library must be passed as arguments, and furthermore, the numerical calculation parameters used in the numerical calculation using the library must be passed as arguments. Since the results must be managed on the application, the program becomes complicated, and this also places a burden on the application programmer. Furthermore, there is a problem in that the execution performance of numerical calculations is determined by the performance of the processing unit (CPU) on which the application program runs.

【0008】この発明は上記事情に鑑みてなされたもの
でその目的は、数値計算用のアプリケーションプログラ
ム上では数値計算ライブラリの呼出しを考慮する必要が
全くなく、また数値計算上の途中結果等をその識別子で
管理でき、もってアプリケーションプログラムの簡略化
が図れる数値計算方式を提供することにある。
The present invention was made in view of the above circumstances, and its purpose is to eliminate the need to consider calling a numerical calculation library on an application program for numerical calculations, and to display intermediate results of numerical calculations, etc. The object of the present invention is to provide a numerical calculation method that can be managed using identifiers, thereby simplifying application programs.

【0009】この発明の他の目的は、数値計算用のアプ
リケーションプログラムが動作する処理装置(CPU)
の処理性能が低くても、数値計算が高速に行える数値計
算方式を提供することにある。
Another object of the present invention is to provide a processing unit (CPU) on which an application program for numerical calculation runs.
The object of the present invention is to provide a numerical calculation method that can perform numerical calculations at high speed even if the processing performance is low.

【0010】0010

【課題を解決するための手段および作用】この発明は、
数値計算用のアプリケーションプログラムの負荷を軽減
するために(構造を簡略化するために)、数値計算を実
行するのに必要なコード(数値計算ライブラリ)を、ア
プリケーションを実行するプロセス(第1の処理機構)
から分離してサーバプロセス(第2の処理機構)に集約
し、アプリケーションプロセスからサーバプロセスに対
して計算要求を発行するだけで、計算処理が進められる
構成としたことを特徴とするものである。
[Means and effects for solving the problems] This invention has the following features:
In order to reduce the load on the application program for numerical calculations (to simplify the structure), the code necessary to perform numerical calculations (numerical calculation library) is added to the process of executing the application (first processing). mechanism)
This is characterized by a configuration in which calculation processing can proceed simply by separating it from the application process and consolidating it into a server process (second processing mechanism) and issuing a calculation request from the application process to the server process.

【0011】また、この発明は、数値計算上の途中結果
等をそのデータ識別子に対応させてサーバプロセスにお
いて保持管理し、アプリケーションプロセスに対しては
、途中結果等に代えてそのデータ識別子を渡す構成とす
ることにより、アプリケーションプロセスにおいては、
サーバプロセスから渡されたデータ識別子のみを保持管
理するだけでよく、途中結果等のデータ構造に注意を払
う必要がないようにしたものである。
[0011] Furthermore, the present invention has a structure in which intermediate results of numerical calculations are retained and managed in a server process in association with their data identifiers, and the data identifiers are passed to the application process in place of the intermediate results. By doing so, in the application process,
It is only necessary to hold and manage the data identifier passed from the server process, and there is no need to pay attention to data structures such as intermediate results.

【0012】また、この発明は、数値計算に必要なパラ
メータは計算種別毎に固定である場合が多いことに着目
し、このような固定のパラメータ(標準パラメータ、デ
フォルト値)が計算種別毎に格納されるパラメータデー
タベース(パラメータ格納手段)を設け、サーバプロセ
スは、アプリケーションプロセスにより特別のパラメー
タ指定がない場合には、パラメータデータベースに格納
されている、要求された数値計算種別に対応したパラメ
ータを利用する構成とすることにより、アプリケーショ
ンプロセスからサーバプロセスにパラメータを渡すこと
を不要としたものである。したがってアプリケーション
プロセスは、デフォルト値以外のパラメータを設定した
い場合だけ、パラメータ指定を行えばよい。
[0012] Furthermore, this invention focuses on the fact that parameters necessary for numerical calculations are often fixed for each calculation type, and it is possible to store such fixed parameters (standard parameters, default values) for each calculation type. A parameter database (parameter storage means) is provided, and the server process uses the parameters corresponding to the requested numerical calculation type stored in the parameter database if no special parameters are specified by the application process. This configuration eliminates the need to pass parameters from the application process to the server process. Therefore, the application process only needs to specify parameters when it wants to set parameters other than default values.

【0013】また、アプリケーションプロセスとサーバ
プロセスとの間の数値計算要求やデータ識別子の授受等
が通信インタフェース機構を介して行われる構成とする
ことにより、ネットワークにより相互接続される高速計
算機(例えばスーパーコンピュータ)上でサーバプロセ
スを動作させ、同プロセスにアクセスすることにより、
低速の計算機から高速の数値計算機が効率的に利用でき
る。
[0013] Furthermore, by adopting a configuration in which numerical calculation requests and data identifiers are exchanged between the application process and the server process through a communication interface mechanism, high-speed computers (for example, supercomputers) interconnected through a network can ) by running a server process on the server and accessing the process.
A high-speed numerical calculator can be used efficiently from a low-speed calculator.

【0014】[0014]

【実施例】図1はこの発明を適用する数値計算システム
の一実施例を示すブロック構成図である。
DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a block diagram showing an embodiment of a numerical calculation system to which the present invention is applied.

【0015】図1において、10は数値計算用のアプリ
ケーションプログラムが走行する処理装置、20は処理
装置10からの数値計算要求を受けて数値計算ライブラ
リを呼出して数値計算処理を行う処理装置である。そこ
で処理装置10をクライアント10と呼び、処理装置2
0をサーバ(数値計算サーバ)20と呼ぶことにする。
In FIG. 1, 10 is a processing device running an application program for numerical calculation, and 20 is a processing device that receives a numerical calculation request from the processing device 10, calls a numerical calculation library, and performs numerical calculation processing. Therefore, the processing device 10 is called the client 10, and the processing device 2
0 will be called a server (numerical calculation server) 20.

【0016】クライアント10には、主に上記アプリケ
ーションプログラムおよび同プログラムを実行するCP
Uによって実現されるアプリケーション処理機構11が
設けられる。本実施例において、クライアント10で走
行するアプリケーションプログラムには、図9で示した
ような数値計算ライブラリ(のコード)や、各種中間結
果のデータ領域(中間結果領域)は含まれていない。ま
たクライアント10には、サーバ20側との間でデータ
等の授受を行うための通信インタフェース機構12が設
けられる。
The client 10 mainly includes the above application program and a CP that executes the program.
An application processing mechanism 11 implemented by U is provided. In this embodiment, the application program running on the client 10 does not include (the code for) a numerical calculation library as shown in FIG. 9 and a data area for various intermediate results (intermediate result area). The client 10 is also provided with a communication interface mechanism 12 for exchanging data and the like with the server 20 side.

【0017】一方、サーバ20には、主に上記数値計算
ライブラリ(のコード)および同ライブラリ(のコード
)を実行するCPUによって実現される数値計算処理機
構21と、クライアント10側との間でデータ等の授受
を行うための通信インタフェース機構22とが設けられ
る。
On the other hand, the server 20 has a numerical calculation processing mechanism 21 realized mainly by the above-mentioned numerical calculation library (code) and a CPU that executes the library (code), and the client 10 side. A communication interface mechanism 22 is provided for exchanging such information.

【0018】またサーバ20には、数値計算の対象とな
り得る初期データを同データを識別するための識別子(
データID)に対応させて保持するための初期データ領
域23a、数値計算上の途中結果(中間結果)をそのデ
ータIDに対応させて保持するための幾つかの中間結果
領域23b、および数値計算の最終結果をそのデータI
Dに対応させて保持するための最終結果領域23cの各
データ領域が確保される。
The server 20 also stores initial data that can be subjected to numerical calculations with an identifier (
an initial data area 23a for holding intermediate results (intermediate results) of numerical calculations in correspondence with their data IDs; The final result is the data I
Each data area of the final result area 23c to be held in correspondence with D is secured.

【0019】このようにサーバ20には、従来であれば
アプリケーションプログラムに置かれていた数値計算ラ
イブラリ(のコード)および各中間結果領域等のデータ
領域が、アプリケーションから分離されて置かれる。
As described above, in the server 20, data areas such as (the code of) the numerical calculation library and each intermediate result area, which were conventionally placed in the application program, are placed separately from the application.

【0020】サーバ20には、数値計算実行時に必要な
各種パラメータのデフォルト値(デフォルトパラメータ
、標準パラメータ)が計算種別毎に格納されるデフォル
トパラメータデータベース(以下、パラメータデータベ
ースと称する)30が接続される。クライアント10と
サーバ20とは通信インタフェース機構12,22を介
して通信回線40により相互接続されている。
A default parameter database (hereinafter referred to as a parameter database) 30 is connected to the server 20, in which default values (default parameters, standard parameters) of various parameters necessary when performing numerical calculations are stored for each type of calculation. . The client 10 and the server 20 are interconnected by a communication line 40 via communication interface mechanisms 12 and 22.

【0021】次に、図1の構成の動作を、5変数×10
件のデータの共分散行列を計算し、その固有値ベクトル
を求める場合を例に、図2のフローチャートおよび図3
のシーケンスチャートを適宜参照して説明する。なお、
図2は上記の計算を行うためのクライアント10側の処
理手順を示すフローチャート、図3は上記の計算を行う
際のクライアント10とサーバ20との間の通信手順を
示すシーケンスチャートである。
Next, the operation of the configuration shown in FIG. 1 will be explained using 5 variables x 10
The flowchart in Figure 2 and the flowchart in Figure 3 are taken as an example of calculating the covariance matrix of the data and finding its eigenvalue vector.
This will be explained with reference to the sequence chart as appropriate. In addition,
FIG. 2 is a flowchart showing the processing procedure on the client 10 side for performing the above calculation, and FIG. 3 is a sequence chart showing the communication procedure between the client 10 and the server 20 when performing the above calculation.

【0022】まずクライアント10側のアプリケーショ
ン処理機構11は通信インタフェース機構12を介して
サーバ20側にログオンを要求する(ステップS1)。 これによりサーバ20(の通信インタフェース機構22
)からクライアント10側に、クライアント10とサー
バ20との間の論理的な通信路であるセッションを示す
識別子(セッションID)が渡される。これにより、以
降はこのIDのセッションを介してクライアント10と
サーバ20との間の通信が行われる。
First, the application processing mechanism 11 on the client 10 side requests logon from the server 20 side via the communication interface mechanism 12 (step S1). As a result, the communication interface mechanism 22 of the server 20
) passes an identifier (session ID) indicating a session, which is a logical communication path between the client 10 and the server 20, to the client 10 side. Thereby, communication between the client 10 and the server 20 is subsequently performed via the session of this ID.

【0023】アプリケーション処理機構11は、サーバ
20側から渡されたセッションIDを取得すると(ステ
ップS2)、図示せぬファイルから数値計算の対象とな
り得るデータを1レコード読込み(ステップS3)、デ
ータエリアのセットアップ(データの設定)を次のよう
に行う(ステップS4)。
When the application processing mechanism 11 acquires the session ID passed from the server 20 side (step S2), it reads one record of data that can be the subject of numerical calculation from a file (not shown) (step S3), and stores the data in the data area. Setup (data setting) is performed as follows (step S4).

【0024】まず、クライアント10(内のアプリケー
ション処理機構11)とサーバ20(内の数値計算処理
機構21)との間の通信の中で、データ(サーバ20へ
の入力データ、サーバ20からの出力データ)の受渡し
は、一定のデータ構造を介して行われる。このデータ構
造の概略を図4に示す。
First, during the communication between the client 10 (the application processing mechanism 11 therein) and the server 20 (the numerical calculation processing mechanism 21 therein), data (input data to the server 20, output data from the server 20) Data) is passed through a certain data structure. An outline of this data structure is shown in FIG.

【0025】図4のデータ構造は、データの型式(文字
型、整数型、実数型など)を指定するデータタイプ、1
データ当りのバイト数を指定するデータサイズ(1デー
タサイズ)、およびデータ配列上の次元を指定するデー
タ次元の各情報を持つ。本実施例において、データ次元
は、ベクトルの場合に「1」、マトリックスの場合に「
2」となる。また、図4のデータ構造は、次元数分のデ
ータ量のリストへのポインタ、およびデータ実体へのポ
インタを持つ。
The data structure shown in FIG.
It has information on data size (1 data size) that specifies the number of bytes per data, and data dimension that specifies the dimension on the data array. In this example, the data dimension is "1" for vectors and "1" for matrices.
2". Further, the data structure in FIG. 4 has a pointer to a list of data amounts for the number of dimensions and a pointer to a data entity.

【0026】したがって、例えば(3.1,4.6,2
.9,1.3,6.0)というデータ組があり、各デー
タが4バイトの実数型であるものとすると、ステップS
4でセットアップされるデータエリアは図5に示す通り
となる。なお、図中の“TYPE  FLOAT”はデ
ータの型式が実数型であることを示すものである。
Therefore, for example (3.1, 4.6, 2
.. Assuming that there is a data set 9, 1.3, 6.0), and each data is a 4-byte real number type, step S
The data area set up in step 4 is as shown in FIG. Note that "TYPE FLOAT" in the figure indicates that the data type is a real number type.

【0027】アプリケーション処理機構11は、ステッ
プS4を終了すると、同ステップS4で設定したデータ
を通信インタフェース機構12を介してサーバ20に送
る手続きを行う(ステップS5)。この手続きでは、図
4に示す構造のデータと、データ送付のコントロールブ
ロックとがサーバ20に送られる。
When the application processing mechanism 11 finishes step S4, it performs a procedure to send the data set in step S4 to the server 20 via the communication interface mechanism 12 (step S5). In this procedure, data having the structure shown in FIG. 4 and a data sending control block are sent to the server 20.

【0028】サーバ20は、アプリケーション処理機構
11からのデータ送付が行われると、送られたデータ(
データ構造)を同データを識別するためのデータIDに
対応させて初期データ領域23aに保持すると共に、そ
のデータIDを通信インタフェース機構22を介してク
ライアント10に送る。クライアント10内のアプリケ
ーション処理機構11は、サーバ20から送られたデー
タIDを取得し、内部保持する(ステップS6)。
When data is sent from the application processing mechanism 11, the server 20 receives the sent data (
data structure) is held in the initial data area 23a in association with a data ID for identifying the same data, and the data ID is sent to the client 10 via the communication interface mechanism 22. The application processing mechanism 11 in the client 10 acquires the data ID sent from the server 20 and internally holds it (step S6).

【0029】さて、上記したデータ送付のコントロール
ブロックの構造は、図6に示すように、送付モードのフ
ィールドとデータIDのフィールドとからなる。ここで
、送付モードは、新規送付であるか、既に送ったデータ
に対する追加であるかを示すフラグであり、追加モード
のときのみ、データIDフィールドにて追加対象のデー
タID(新規送付モードでデータをサーバ20に送った
際に、サーバ20から取得したID)を指定する。一方
、サーバ20側では、追加モードの場合には、指定され
たIDのデータがあればデータの追加をし、まとまった
データとして管理する。
The structure of the data sending control block described above consists of a sending mode field and a data ID field, as shown in FIG. Here, the sending mode is a flag indicating whether it is new sending or addition to already sent data, and only in the adding mode, the data ID to be added is specified in the data ID field (in the new sending mode, the data Specify the ID (obtained from the server 20 when the ID was sent to the server 20). On the other hand, on the server 20 side, in the case of the addition mode, if there is data with the specified ID, the data is added and managed as a set of data.

【0030】一旦、データIDが付けられたデータは、
後述するように、全てこのIDを通してのみクライアン
ト10(内のアプリケーション処理機構11)からアク
セスできる。この結果、アプリケーション処理機構11
は、データ構造を保持し、管理する煩雑さから解放され
る。
[0030] Once the data ID has been attached, the data is
As will be described later, all can be accessed from the client 10 (the application processing mechanism 11 therein) only through this ID. As a result, the application processing mechanism 11
is freed from the hassle of maintaining and managing data structures.

【0031】アプリケーション処理機構11は、上記ス
テップS3〜S6をファイルの最後(EOF)を検出す
るまで繰返すと、以下に述べるように幾つかの数値計算
要求を繰返す。ここでは、まず共分散行列の計算要求が
、アプリケーション処理機構11から通信インタフェー
ス機構12を介してサーバ20に出される(ステップS
7)。
When the application processing mechanism 11 repeats steps S3 to S6 described above until it detects the end of the file (EOF), it repeats several numerical calculation requests as described below. Here, first, a request to calculate a covariance matrix is issued from the application processing mechanism 11 to the server 20 via the communication interface mechanism 12 (step S
7).

【0032】本実施例において、アプリケーション処理
機構11からサーバ20への数値計算要求は、図7に示
す構造の呼出しインタフェースで実現される。図中、“
DataID”,“Calculation  Typ
e”はプログラミング言語上で定義されたデータタイプ
で、それぞれデータID,計算の機能タイプ(ここでは
、共分散行列を示すフラグ)を表わす。
In this embodiment, a numerical calculation request from the application processing mechanism 11 to the server 20 is realized by a call interface having the structure shown in FIG. In the figure, “
Data ID”, “Calculation Type
e'' is a data type defined on the programming language, and represents a data ID and a calculation function type (here, a flag indicating a covariance matrix), respectively.

【0033】サーバ20内の数値計算処理機構21は、
図7の構造の呼出しインタフェースを用いた数値計算要
求(共分散行列の計算要求)がクライアント10(内の
アプリケーション処理機構11)から出されると、要求
された計算の機能タイプ(共分散行列の計算)に適合す
る数値計算ライブラリを呼出し、初期データ領域23a
内の指定されたデータIDのデータに対して、要求され
た計算(共分散行列の計算)を行う。
[0033] The numerical calculation processing mechanism 21 in the server 20
When a numerical calculation request (covariance matrix calculation request) using the call interface with the structure shown in FIG. ) and calls the numerical calculation library that fits the initial data area 23a.
The requested calculation (covariance matrix calculation) is performed on the data with the specified data ID within.

【0034】そして数値計算処理機構21は、サーバ2
0(のサーバプロセス)のプロセス空間内に計算結果領
域(ここでは中間結果領域23b)を確保して計算結果
を格納し、この結果領域(中間結果領域23b)に新し
いデータIDを付与し、そのIDを通信インタフェース
機構22を介してクライアント10のアプリケーション
処理機構11に返す。
[0034]The numerical calculation processing mechanism 21 is connected to the server 2.
A calculation result area (here, the intermediate result area 23b) is secured in the process space of 0 (the server process) to store the calculation results, a new data ID is assigned to this result area (intermediate result area 23b), and the The ID is returned to the application processing mechanism 11 of the client 10 via the communication interface mechanism 22.

【0035】アプリケーション処理機構11は、数値計
算処理機構21から送られたデータID(ここでは、共
分散行列の計算結果のデータID)を内部保持する(ス
テップS8)。アプリケーション処理機構11は、この
データIDを保持しておくだけで、次の作業にとりかか
れる。データ実体(共分散行列の計算結果)について情
報が必要な場合には、後述するようにデータIDを通し
てアクセスすればよい。
The application processing mechanism 11 internally holds the data ID (here, the data ID of the calculation result of the covariance matrix) sent from the numerical calculation processing mechanism 21 (step S8). The application processing mechanism 11 can start the next task simply by holding this data ID. If information about the data entity (covariance matrix calculation result) is required, it can be accessed through the data ID as described later.

【0036】さて、サーバ20内の数値計算処理機構2
1は、サーバ20の起動時に、パラメータデータベース
30を読込んで、数値計算実行に必要な各種のパラメー
タのデフォルト値(デフォルトパラメータ)を保持する
ようになっている。このサーバ20側のパラメータは、
以下に述べるように、アプリケーション処理機構11か
らプログラム実行時に必要に応じて置換えることができ
るものである。
Now, the numerical calculation processing mechanism 2 in the server 20
1 reads the parameter database 30 when the server 20 is started up, and holds default values (default parameters) of various parameters necessary for executing numerical calculations. The parameters on this server 20 side are:
As described below, it can be replaced as necessary from the application processing mechanism 11 during program execution.

【0037】上記のパラメータには、固有値計算の収束
判定定数や最大の反復回数など、数値計算実行上に特徴
的なパラメータが含まれる。従来のアプリケーションプ
ログラムによる数値計算では、数値計算ライブラリの呼
出し毎にこれらのパラメータを指定しなければならない
が、本実施例ではサーバ20に保持されているため、パ
ラメータの変更(置換え)が必要な場合だけ、設定すれ
ばよい。ここでは、クライアント10のアプリケーショ
ン処理機構11からサーバ20に対して固有値計算の収
束判定定数の置換えが指定され(ステップS9)、数値
計算処理機構21に既に保持されている該当パラメータ
が指定パラメータに置換えられたものとする。
The above-mentioned parameters include parameters characteristic of numerical calculation execution, such as a convergence determination constant for eigenvalue calculation and the maximum number of iterations. In numerical calculations using conventional application programs, these parameters must be specified each time the numerical calculation library is called, but in this embodiment, they are stored in the server 20, so if the parameters need to be changed (replaced) Just set it. Here, the application processing mechanism 11 of the client 10 specifies replacement of the convergence determination constant for eigenvalue calculation to the server 20 (step S9), and the corresponding parameter already held in the numerical calculation processing mechanism 21 is replaced with the specified parameter. It is assumed that

【0038】アプリケーション処理機構11は固有値計
算の収束判定定数の置換えを指定すると(置換えが必要
なければ、この指定は不要)、ステップS7の共分散行
列の計算要求時と同様に、図7に示す構造の呼出しイン
タフェースを用いてサーバ20内の数値計算処理機構2
1に対する固有値ベクトルの計算要求を行う(ステップ
S10)。ここでは、“DataID”として、ステッ
プS7の共分散行列の計算要求によりサーバ20から取
得した計算結果(中間結果のデータ)のデータIDが指
定され、“Calculation  Type”とし
て、固有値ベクトルを表わす計算の機能タイプが指定さ
れる。
When the application processing mechanism 11 specifies replacement of the convergence determination constant for eigenvalue calculation (this designation is unnecessary if replacement is not required), the application processing mechanism 11 executes the process shown in FIG. Numerical calculation processing mechanism 2 in the server 20 using the structure call interface
A request is made to calculate the eigenvalue vector for 1 (step S10). Here, the data ID of the calculation result (intermediate result data) obtained from the server 20 in response to the covariance matrix calculation request in step S7 is specified as "Data ID", and the data ID of the calculation representing the eigenvalue vector is specified as "Calculation Type". Function type is specified.

【0039】サーバ20内の数値計算処理機構21は、
クライアント10内のアプリケーション処理機構11か
らの固有値ベクトルの計算要求を受取ると、その要求に
適合する数値計算ライブラリを呼出し、中間結果領域2
3b内の指定されたデータIDのデータに対して、内部
保持しているパラメータ(固有値計算の収束判定定数等
)を用いて固有値ベクトルの計算を行う。
The numerical calculation processing mechanism 21 in the server 20 is
When a request for calculating an eigenvalue vector is received from the application processing mechanism 11 in the client 10, a numerical calculation library matching the request is called, and the intermediate result area 2 is
An eigenvalue vector is calculated for the data with the designated data ID in 3b using internally held parameters (convergence determination constants for eigenvalue calculation, etc.).

【0040】そして数値計算処理機構21は、サーバ2
0(のサーバプロセス)のプロセス空間内に計算結果領
域(ここでは最終結果領域23c)を確保して固有値ベ
クトルの計算結果を格納し、この結果領域(最終結果領
域23c)に新しいデータIDを付与し、そのIDを通
信インタフェース機構22を介してクライアント10の
アプリケーション処理機構11に返す。アプリケーショ
ン処理機構11は、数値計算処理機構21から送られた
(固有値ベクトルの計算結果の)データIDを内部保持
する(ステップS11)。
[0040]The numerical calculation processing mechanism 21 is connected to the server 2.
A calculation result area (here, the final result area 23c) is secured in the process space of 0 (the server process) to store the calculation result of the eigenvalue vector, and a new data ID is assigned to this result area (final result area 23c). Then, the ID is returned to the application processing mechanism 11 of the client 10 via the communication interface mechanism 22. The application processing mechanism 11 internally holds the data ID (of the calculation result of the eigenvalue vector) sent from the numerical calculation processing mechanism 21 (step S11).

【0041】本実施例においてアプリケーション処理機
構11が必要とする計算結果は、固有値ベクトルのみで
ある。そこでアプリケーション処理機構11は、ステッ
プS11で得た固有値ベクトルのデータIDを指定して
、サーバ20に対してデータ送付要求を通信インタフェ
ース機構12経由で送出する(ステップS12)。
In this embodiment, the calculation result required by the application processing mechanism 11 is only the eigenvalue vector. Therefore, the application processing mechanism 11 specifies the data ID of the eigenvalue vector obtained in step S11, and sends a data sending request to the server 20 via the communication interface mechanism 12 (step S12).

【0042】さて、アプリケーション処理機構11から
は、サーバ20上のデータ実体に対しては前記したよう
にデータIDを通してしかアクセスできない。そこで本
実施例では、この種のアクセス(データ送付要求)を、
図8に示す構造の呼出しインタフェースを用いて実現す
るようにしている。
Now, the application processing mechanism 11 can access the data entity on the server 20 only through the data ID, as described above. Therefore, in this embodiment, this type of access (data sending request) is
This is implemented using a call interface having the structure shown in FIG.

【0043】図8において、“Attribute”は
必要なデータの属性を示すフラグである。この“Att
ribute”として、データ実体を表わすフラグを指
定すれば、“DataID”で指定されるデータIDの
データ(ここではサーバ20の最終結果領域23cに格
納されていた固有値ベクトルの計算結果のデータ)がサ
ーバ20からクライアント10へ送付されて、同クライ
アント10内に確保された図4に示す構造のデータエリ
アに格納され、このデータエリアへのポインタが(“v
alue”を介して)アプリケーション処理機構11に
渡される、ここで、“Attribute”として、そ
のデータが生成された計算の機能タイプなどの付属情報
を得るように指定することも可能である。
In FIG. 8, "Attribute" is a flag indicating the required data attribute. This “Att.
If you specify a flag representing the data entity as "ribute", the data of the data ID specified by "DataID" (here, the data of the calculation result of the eigenvalue vector stored in the final result area 23c of the server 20) will be transferred to the server. 20 to the client 10 and stored in a data area with the structure shown in FIG.
It is also possible to specify that additional information such as the functional type of the calculation for which the data was generated is to be obtained as an "Attribute".

【0044】このようにアプリケーション処理機構11
は、図8に示す構造の呼出しインタフェースを用いた固
有値ベクトルのデータ送付要求により、サーバ20から
(最終結果領域23cに格納されていた)固有値ベクト
ルの計算結果のデータを取得する(ステップS13)。 これによりアプリケーション処理機構11は、取得した
データの出力処理を行った後(ステップS14)、通信
インタフェース機構12を介してサーバ20側にログオ
フを要求する(ステップS15)。
In this way, the application processing mechanism 11
acquires the data of the calculation result of the eigenvalue vector (stored in the final result area 23c) from the server 20 in response to a data sending request of the eigenvalue vector using the calling interface having the structure shown in FIG. 8 (step S13). As a result, the application processing mechanism 11 outputs the acquired data (step S14), and then requests the server 20 to log off via the communication interface mechanism 12 (step S15).

【0045】なお、前記実施例では、クライアント(と
なる処理装置)10とサーバ(となる処理装置)20だ
けが、通信回線により接続されている場合について説明
したが、これに限るものではない。例えば、多数の処理
装置がネットワークにより相互接続されたネットワーク
システムに、スーパーコンピュータなどの高速の処理装
置が存在する場合、同処理装置をサーバとして低速の処
理装置(クライアント)からログオンすることにより、
高速処理装置の高速数値計算機能を利用することも可能
である。
[0045] In the above embodiment, the case where only the client (processing device) 10 and the server (processing device) 20 are connected through a communication line has been described, but the invention is not limited to this. For example, if a high-speed processing device such as a supercomputer exists in a network system in which a large number of processing devices are interconnected via a network, by logging on from a low-speed processing device (client) using the same processing device as a server,
It is also possible to utilize the high-speed numerical calculation function of a high-speed processing device.

【0046】また、ネットワーク上の各処理装置がクラ
イアントまたはサーバのいずれか一方に固定的に設定さ
れる必要はなく、クライアントおよびサーバのいずれと
しても動作可能な構成とすることも可能である。
Furthermore, each processing device on the network does not need to be fixedly set as either a client or a server, and can be configured to operate as either a client or a server.

【0047】[0047]

【発明の効果】以上詳述したようにこの発明によれば、
数値計算を実行するのに必要なコード(数値計算ライブ
ラリ)を、アプリケーションを実行するプロセス(第1
の処理機構)から分離してサーバプロセス(第2の処理
機構)上に置き、アプリケーションプロセスでは数値計
算のための手順だけを管理し、アプリケーションプロセ
スからサーバプロセスに対して計算要求を発行するだけ
で、計算処理が進められる構成としたので、アプリケー
ションプログラム上では、多様かつ複雑な数値計算実行
時の機能呼出しインタフェースを記述する必要がなくな
る。このため、アプリケーションプログラマは、ごく少
数の簡単な呼出しインタフェースのみを用いて複雑な数
値計算のためのプログラムを作成することができる。
[Effects of the Invention] As detailed above, according to the present invention,
The code necessary to perform numerical calculations (numerical calculation library) is transferred to the process that executes the application (the first
It is separated from the server process (second processing mechanism) and placed on the server process (second processing mechanism), and the application process manages only the steps for numerical calculation, and the application process only issues calculation requests to the server process. Since the configuration allows the calculation process to proceed, there is no need to write a function call interface for executing various and complicated numerical calculations on the application program. This allows application programmers to write programs for complex numerical calculations using only a few simple calling interfaces.

【0048】また、この発明によれば、数値計算上の途
中結果等をそのデータ識別子に対応させてサーバプロセ
スにおいて保持管理し、アプリケーションプロセスに対
しては、途中結果等に代えてそのデータ識別子を渡す構
成としたので、アプリケーションプロセスにおいては、
サーバプロセスから渡されたデータ識別子のみを保持管
理するだけでよく、途中結果等のデータ構造に注意を払
う必要がないため、この点からもアプリケーションプロ
グラムの簡略化が図れ、アプリケーションプログラマの
負担を軽減できる。
Further, according to the present invention, the intermediate results of numerical calculations are retained and managed in the server process in correspondence with their data identifiers, and the data identifiers are sent to the application process in place of the intermediate results. Since we configured it to pass, in the application process,
It is only necessary to hold and manage the data identifier passed from the server process, and there is no need to pay attention to the data structure of intermediate results, etc. This also simplifies the application program and reduces the burden on the application programmer. can.

【0049】また、この発明によれば、数値計算に必要
なパラメータの標準値(標準パラメータ、デフォルト値
)が計算種別毎に格納されるパラメータデータベース(
パラメータ格納手段)を設け、サーバプロセスでは、ア
プリケーションプロセスにより特別のパラメータ指定が
なければ、パラメータデータベース内の数値計算種別に
対応したパラメータを利用する構成としたので、通常は
アプリケーションプロセスからサーバプロセスにパラメ
ータを渡すことが不要となり、この点からもアプリケー
ションプログラムの簡略化が図れる。
Further, according to the present invention, a parameter database (
The server process uses the parameters corresponding to the numerical calculation type in the parameter database unless a special parameter is specified by the application process.Usually, parameters are transferred from the application process to the server process. It is no longer necessary to pass , and from this point of view as well, the application program can be simplified.

【0050】更に、この発明によれば、アプリケーショ
ンプロセスとサーバプロセスとが同一マシン上で動く必
要がないため、ネットワークにより相互接続される高速
計算機上でサーバプロセスを動作させ、同プロセスにア
クセスすることにより、低速の計算機から高速の数値計
算機を効率的に利用することができる。
Furthermore, according to the present invention, since the application process and the server process do not need to run on the same machine, the server process can be run and accessed on high-speed computers interconnected by a network. This allows efficient use of high-speed numerical calculators from low-speed computers.

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

【図1】この発明を適用する数値計算システムの一実施
例を示すブロック構成図。
FIG. 1 is a block diagram showing an embodiment of a numerical calculation system to which the present invention is applied.

【図2】同実施例において、共分散行列を計算し、その
固有値ベクトルを求める場合のクライアント10側の処
理手順を示すフローチャート。
FIG. 2 is a flowchart showing the processing procedure on the client 10 side when calculating a covariance matrix and finding its eigenvalue vector in the same embodiment.

【図3】共分散行列を計算し、その固有値ベクトルを求
める場合のクライアント10とサーバ20との間の通信
手順を示すシーケンスチャート。
FIG. 3 is a sequence chart showing a communication procedure between the client 10 and the server 20 when calculating a covariance matrix and finding its eigenvalue vector.

【図4】同実施例で適用されるデータ構造を示す図。FIG. 4 is a diagram showing a data structure applied in the same embodiment.

【図5】図4のデータ構造の具体例を示す図。FIG. 5 is a diagram showing a specific example of the data structure of FIG. 4;

【図6】データ送付のコントロールブロックの構造を示
す図。
FIG. 6 is a diagram showing the structure of a data sending control block.

【図7】数値計算要求のための呼出しインタフェースの
記述例を示す図。
FIG. 7 is a diagram showing a description example of a call interface for requesting numerical calculation.

【図8】データ送付要求のための呼出しインタフェース
の記述例を示す図。
FIG. 8 is a diagram showing a description example of a call interface for a data sending request.

【図9】数値計算用の従来のアプリケーションプログラ
ムの構成を示す図。
FIG. 9 is a diagram showing the configuration of a conventional application program for numerical calculation.

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

10…クライアント(処理装置)、11…アプリケーシ
ョン処理機構(第1の処理機構)、12…通信インタフ
ェース機構、20…サーバ(処理装置)、21…数値計
算処理機構(第2の処理機構)、22…通信インタフェ
ース機構、23a…初期データ領域、23b…中間結果
領域、23c…最終結果領域、30…パラメータデータ
ベース、40…通信回線。
10... Client (processing device), 11... Application processing mechanism (first processing mechanism), 12... Communication interface mechanism, 20... Server (processing device), 21... Numerical calculation processing mechanism (second processing mechanism), 22 ...Communication interface mechanism, 23a...Initial data area, 23b...Intermediate result area, 23c...Final result area, 30...Parameter database, 40...Communication line.

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】  数値計算用のアプリケーションプログ
ラムを実行する第1の処理機構であって、数値計算を必
要とする場合には、対象とするデータを識別するための
データ識別子を持つ数値計算要求を発行し、計算結果等
のデータを必要とする場合には同データを識別するため
のそのデータ識別子を持つデータ送付要求を発行する第
1の処理機構と、この第1の処理機構からの上記数値計
算要求を受けた場合には、同要求中の上記データ識別子
で示されるデータを対象に要求された数値計算処理を実
行し、その計算結果を同計算結果を識別するためのデー
タ識別子に対応させて内部保持すると共に、このデータ
識別子を同計算結果に代えて上記第1の処理機構に返し
、上記第1の処理機構からの上記データ送付要求を受け
た場合には、同要求中の上記データ識別子で示される内
部保持データを上記第1の処理機構に返す第2の処理機
構と、上記第1の処理機構と上記第2の処理機構との間
で上記数値計算要求およびデータ識別子の授受を含む通
信を行なうための通信インタフェース機構と、を具備し
、上記第1の処理機構がクライアントとなり、上記第2
の処理機構がサーバとなって数値計算が行われることを
特徴とするサーバ・クライアント型数値計算方式。
Claim 1: A first processing mechanism that executes an application program for numerical calculation, which, when numerical calculation is required, sends a numerical calculation request having a data identifier for identifying target data. and a first processing mechanism that issues a data sending request with a data identifier for identifying the same data when data such as calculation results is required, and the above-mentioned numerical value from this first processing mechanism. When a calculation request is received, the requested numerical calculation process is performed on the data indicated by the above data identifier in the request, and the calculation result is associated with a data identifier for identifying the calculation result. At the same time, this data identifier is returned to the first processing mechanism in place of the calculation result, and when a data sending request is received from the first processing mechanism, the data in the request is a second processing mechanism that returns internally held data indicated by the identifier to the first processing mechanism; and a second processing mechanism that sends and receives the numerical calculation request and the data identifier between the first processing mechanism and the second processing mechanism. a communication interface mechanism for performing communication including communication, wherein the first processing mechanism is a client and the second processing mechanism is a client.
A server-client numerical calculation method characterized in that the processing mechanism functions as a server and performs numerical calculations.
【請求項2】  上記第1の処理機構は、数値計算の対
象となり得る初期データを上記第2の処理機構に予め送
り、上記第2の処理機構は上記第1の処理機構から送ら
れたデータを同データを識別するためのデータ識別子に
対応させて内部保持すると共に、このデータ識別子を上
記第1の処理機構に通知することを特徴とする請求項1
記載のサーバ・クライアント型数値計算方式。
2. The first processing mechanism sends initial data that can be subjected to numerical calculation to the second processing mechanism in advance, and the second processing mechanism processes the data sent from the first processing mechanism. Claim 1, wherein the data identifier is internally held in correspondence with a data identifier for identifying the same data, and the data identifier is notified to the first processing mechanism.
Server/client type numerical calculation method described.
【請求項3】  数値計算に必要な各種の標準パラメー
タが計算種別毎に格納されるパラメータ格納手段を更に
備え、上記第2の処理機構は、上記第1の処理機構によ
り特別のパラメータ指定がない限りは、上記パラメータ
格納手段に格納されている、要求された数値計算種別に
対応した標準パラメータを利用することを特徴とする請
求項2記載のサーバ・クライアント型数値計算方式。
3. Further comprising parameter storage means for storing various standard parameters necessary for numerical calculations for each type of calculation, wherein the second processing mechanism does not specify any special parameters by the first processing mechanism. 3. The server-client numerical calculation method according to claim 2, wherein standard parameters corresponding to the requested numerical calculation type stored in said parameter storage means are used.
JP13305891A 1991-06-04 1991-06-04 Server/client type numerical calculating system Pending JPH04358258A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13305891A JPH04358258A (en) 1991-06-04 1991-06-04 Server/client type numerical calculating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13305891A JPH04358258A (en) 1991-06-04 1991-06-04 Server/client type numerical calculating system

Publications (1)

Publication Number Publication Date
JPH04358258A true JPH04358258A (en) 1992-12-11

Family

ID=15095844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13305891A Pending JPH04358258A (en) 1991-06-04 1991-06-04 Server/client type numerical calculating system

Country Status (1)

Country Link
JP (1) JPH04358258A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1026605A1 (en) * 1999-02-04 2000-08-09 van Brummen, John Method for publishing numerical data in a computer network and method for representing numerical data items in an application object
JP2010061648A (en) * 2008-09-04 2010-03-18 Internatl Business Mach Corp <Ibm> Method and device for data processing in hybrid computing environment, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1026605A1 (en) * 1999-02-04 2000-08-09 van Brummen, John Method for publishing numerical data in a computer network and method for representing numerical data items in an application object
JP2010061648A (en) * 2008-09-04 2010-03-18 Internatl Business Mach Corp <Ibm> Method and device for data processing in hybrid computing environment, and program

Similar Documents

Publication Publication Date Title
US7386609B2 (en) Method, system, and program for managing devices in a network
US9189263B1 (en) Object synchronization in shared object space
US5655146A (en) Coexecution processor isolation using an isolation process or having authority controls for accessing system main storage
US5999942A (en) Method and apparatus for enforcement of behavior of application processing systems without modifying application processing systems
US8464242B2 (en) Virtualization of configuration settings
US8185578B2 (en) Client server system and method for executing an application utilizing distributed objects
CN109634718B (en) Method and system for creating mirror image by cloud platform
JPH0827726B2 (en) Common agent computer management system and method
US20050086237A1 (en) Shared queues in shared object space
JPH0743686B2 (en) Method and apparatus for dynamic application invocation in a distributed heterogeneous environment
JPH0675846A (en) Method and apparatus for directing and calling object of application with database
JPH0364890B2 (en)
US5887169A (en) Method and apparatus for providing dynamic entry points into a software layer
JPH09512358A (en) Interface device and method
US20180307692A1 (en) Software application interface for mediating access to services of a centralized data store
JP3307329B2 (en) Network configuration managed access system and method
JPH1021089A (en) Emulation for delay exception on digital computer with corresponding strict exception mechanism
EP0348053B1 (en) Controlling the initiation of logical systems in a data processing system with logical processor facility
JP4084850B2 (en) Safety device and safety management method for data processing system
US8676842B2 (en) Creating multiple Mbeans from a factory Mbean
JPH04358258A (en) Server/client type numerical calculating system
JP2005523513A (en) System and method for managing operating system option values
JP2000047836A (en) Data base management system for storing permanent attribute and non-permanent attribute and storage method
KR102567773B1 (en) Log information extraction device and method in combat system system
JP2001290691A (en) Computer system and secondary storage device