JPH10340198A - Information processing system, its controlling method, information processor and its controlling method - Google Patents

Information processing system, its controlling method, information processor and its controlling method

Info

Publication number
JPH10340198A
JPH10340198A JP14942697A JP14942697A JPH10340198A JP H10340198 A JPH10340198 A JP H10340198A JP 14942697 A JP14942697 A JP 14942697A JP 14942697 A JP14942697 A JP 14942697A JP H10340198 A JPH10340198 A JP H10340198A
Authority
JP
Grant status
Application
Patent type
Prior art keywords
information
processing
method
storing
system
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.)
Withdrawn
Application number
JP14942697A
Other languages
Japanese (ja)
Inventor
Yoshiaki Sudo
義明 数藤
Original Assignee
Canon Inc
キヤノン株式会社
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

Links

Abstract

PROBLEM TO BE SOLVED: To provide an information processing system, its controlling method, an information processor and its controlling method, which can improve throughput by efficiently executing data transfer between networks in an information processing system realizing a distributed processing system between plural information processors.
SOLUTION: The virtual storing space of a program to execute distributed processing is divided to arrange in each storing space of the plural information processors 101 connected to a network 102. Next, a thread started at the program is distributed to each storing space of the plural processor 101. Then the plural processors 101 transport the thread generating a page fault to the storing space of an information processor with a page.
COPYRIGHT: (C)1998,JPO

Description

【発明の詳細な説明】 DETAILED DESCRIPTION OF THE INVENTION

【0001】 [0001]

【発明の属する技術分野】本発明は、複数の情報処理装置間で分散処理を実行する情報処理システム及びその制御方法、情報処理装置及びその制御方法に関するものである。 The present invention relates to an information processing system and a control method thereof to perform distributed processing among multiple information processing apparatuses, an information processing apparatus and a control method thereof.

【0002】 [0002]

【従来の技術】複数のプロセッサを1台の情報処理装置内に持つマルチプロセッサ型情報処理装置において、これら複数のプロセッサを単一のプログラムによって有効に活用可能なタスク/スレッドモデルと呼ばれるプログラム形態が提案されている。 In a multiprocessor-type information processing apparatus having the Related Art plurality of processors in one information processing apparatus, a program mode called effective use possible task / thread model by the plurality of processors to a single program Proposed. これは1つのプログラムをスレッドと呼ばれる複数の実行モジュールと、タスクと呼ばれる資源割り当ての単位に分割したモデルである。 This plurality of execution modules called thread one program, a model divided into units of resource allocation, called tasks.
スレッドはプロセッサ資源の割り当て単位となり、その他の記憶空間資源等はタスクに割り当てられる。 Thread becomes allocation unit of processor resources, other storage space resources such as allocated to the task. そして、タスク内の全てのスレッドに解放されている。 Then, it is freed all threads in the task. このようなタスク/スレッドモデルは、マルチプロセッサ型情報処理装置において、プロセッサ資源を効率よく使用するプログラムのためのモデルである。 Such task / thread model, the multiprocessor-type information processing apparatus, a model for programs that use the processor resources efficiently.

【0003】また、特殊な装置を持たずに従来の主記憶管理装置と複数の情報処理装置間のネットワークを制御しデータを転送する情報処理システムにおいて、以下、 [0003] The information processing system for transferring control and data network between conventional main memory management unit and a plurality of information processing apparatuses without a special apparatus, hereinafter,
説明する分散処理方式が提案されている。 Distributed processing scheme described in has been proposed. この分散処理方式の一例が、文献“Distributed Shared Memory: AS An example of this distributed processing scheme, document "Distributed Shared Memory: AS
urvey of Issues and Algorithms”Computer Vol24,No urvey of Issues and Algorithms "Computer Vol24, No
8,August,1991,pp.52-60(B.Nitzberg and V.Lo著)に記載されている。 8, August, 1991, are described in pp.52-60 (B.Nitzberg and V.Lo Author). この文献には、分散処理方式として、 In this document, a distributed processing system,
複数の情報処理装置上のタスク間で仮想共有記憶を実現する分散仮想共有記憶方式を用いて、そのタスク内の全仮想記憶空間を共有し、その中で複数のスレッドを動作させる分散タスク/スレッドモデルが記載されている。 Using distributed virtual shared memory system to realize the virtual shared memory between tasks on a plurality of information processing devices, distributed task / thread shares all virtual memory space within that task, operating a plurality of threads therein model has been described.
そして、この分散タスク/スレッドモデルは、複数の情報処理装置の各タスク上の全主記憶を分散仮想共有記憶とし、各タスクが1個以上のスレッドを有する1つの分散したタスクとして捉えたものである。 Then, the distributed task / thread model is intended to all the main memory on each task of the plurality of information processing apparatuses and distributed virtual shared memory, each task is regarded as a single distributed task having one or more threads is there.

【0004】このように、分散タスク/スレッドモデルは、上述のタスク/スレッドモデルにおけるマルチプロセッサ型情報処理装置を、複数の情報処理装置とネットワークによる接続に置き換えたものである。 [0004] Thus, distributed task / thread model is a multiprocessor-type information processing apparatus in the above-mentioned task / thread model was replaced by connection of a plurality of information processing devices and the network. そして、この分散タスク/スレッドモデルを用いることにより、複数の情報処理装置に分散した資源を効率よく使用できる。 Then, by using the distributed task / thread model, the distributed resources to a plurality of information processing apparatuses can be efficiently used. また、分散タスク/スレッドモデルにおける分散仮想共有記憶は、ネットワーク間のデータ転送を主に固定長のページデータを使用しており、これにより、高速なデータ転送を実現するネットワークを効率よく使用できる。 Moreover, distributed virtual shared memory in a distributed task / thread model, the data transfer between the network and mainly using page data of a fixed length, thereby, the network to achieve high-speed data transfer can be efficiently used.

【0005】上述の分散タスク/スレッドモデルにおける分散仮想共有記憶では、通常、各情報処理装置の主記憶はその情報処理装置以外からはアクセスできない。 [0005] In a distributed virtual shared memory in the above-described distributed task / thread models, usually not accessible from outside the main memory the information processing apparatus of each information processing apparatus. そのため、各情報処理装置の主記憶を一種のキャッシュとみなして、マルチプロセッサ型情報処理装置のキャッシュの一貫性保持動作と同様な動作を行うことで、各情報処理装置の主記憶間の一貫性を保持する。 Therefore, the main memory is regarded as a kind of cache for each information processing apparatus, by performing cache coherency holding operation similar to the operation of the multiprocessor type information processing apparatus, consistency between the main memory of the information processing apparatus to hold. これにより、 As a result,
各情報処理装置が分散仮想共有記憶にアクセスした場合の各情報処理装置の主記憶上のデータの一貫性が保証される。 Consistency of the data on the main memory of the information processing apparatus when the information processing apparatuses accesses the distributed virtual shared storage is guaranteed. このような各情報処理装置の主記憶の一貫性保持動作として、一般的、にWrite-Invalidate方式を用いる。 As part of the holding operation of the main memory of the information processing apparatuses, typically, using the Write-Invalidate scheme. そして、代表的なWrite-Invalidate方式としてME Then, ME as a typical Write-Invalidate method
SI型方式がある。 There is an SI-type system.

【0006】 [0006]

【発明が解決しようとする課題】しかしながら、上記従来のWrite-Invalidate方式によって一貫性保持動作をを行う分散仮想共有記憶を有する情報処理システムでは、 [SUMMARY OF THE INVENTION However, in the information processing system having a distributed virtual shared memory to perform consistent holding operation by the conventional Write-Invalidate method,
同じ分散仮想共有記憶のページを、複数の情報処理装置が同時にアクセスすると、ページスラッシングと呼ばれる頻繁なページの移動が発生する。 The pages in the same distributed virtual shared memory, the plurality of information processing apparatus is accessed at the same time, the movement of frequent page called a page thrashing. この頻繁なページの移動は、ネットワークの輻輳を起こしたり、情報処理装置の負荷が大きくなってしまう。 This movement of the frequent page, or cause network congestion, the load of the information processing apparatus is increased. そのため、プログラム内のスレッドを分散して実行しているにも拘らず、処理能力が極端に低下し1つの情報処理装置でそのプログラムを実行するよりも処理時間が長くなったり、他のプログラムの処理を妨げたりしてしまうという問題があった。 Therefore, despite running distributed threads in the program, or longer processing time than the processing capability to execute the program in extremely reduced one information processing apparatus, other programs there is a problem in that or interfere with the process.

【0007】本発明は上記の問題点に鑑みてなされたものであり、複数の情報処理装置間で分散処理方式を実現する情報処理システムにおいて、ネットワーク間のデータ転送を効率的に実行し、処理能力を向上することができる情報処理システム及びその制御方法、情報処理装置及びその制御方法を提供することを目的とする。 [0007] The present invention has been made in view of the above problems, an information processing system for realizing the distributed processing scheme between a plurality of information processing apparatuses to perform data transfer between the network efficiently, process the information processing system and a control method thereof capable of improving the ability for its object to provide an information processing apparatus and a control method.

【0008】 [0008]

【課題を解決するための手段】上記の目的を達成するための本発明による情報処理システムは以下の構成を備える。 Means for Solving the Problems An information processing system according to the present invention for achieving the above object comprises the following arrangement. 即ち、複数の情報処理装置間で分散処理を実行する情報処理システムであって、分散処理を行うプログラムの仮想記憶空間を分割して、前記複数の情報処理装置の各記憶空間に配置する配置手段と、前記プログラムにおいて起動されたスレッドを、前記複数の情報処理装置の各記憶空間に分配する分配手段と、前記複数の情報処理装置において、ページフォールトが発生したスレッドを、該ページを有する情報処理装置の記憶空間に移送する移送手段とを備える。 That is, an information processing system that performs distributed processing among a plurality of information processing apparatuses, by dividing the virtual storage space of the program performing the distributed processing, arrangement means for arranging in each storage space of the plurality of information processing devices When the thread has been started in the program, and distributing means for distributing to each storage space of the plurality of information processing devices, in the plurality of information processing apparatuses, a thread a page fault occurs, the information processing with the page and a transfer means for transferring the storage space of the device.

【0009】また、好ましくは、前記配置手段は、前記プログラムの仮想記憶空間の内、コード領域を前記複数の情報処理装置の各記憶空間に読み込み専用で配置し、 [0009] In a preferred embodiment, the positioning means of the virtual memory space of the program, to place the code region in read-only in the storage space of the plurality of information processing apparatuses,
該コード領域以外の領域をページ単位に分割して該複数の情報処理装置の各記憶空間に配置する。 Placed in the storage space of the plurality of information processing apparatuses by dividing the area other than the coding region into pages. また、好ましくは、前記移送手段は、ページフォールトが発生したスレッドの状態を示すスレッド情報を獲得する獲得手段と、前記獲得手段で獲得したスレッド情報を、前記ページを有する情報処理装置に出力する出力手段とを備え、 In a preferred embodiment, the transfer means, and acquisition means for acquiring thread information indicating the state of the thread a page fault occurs, the thread information acquired by the acquiring means, and outputs to the information processing apparatus having the page output and means,
前記出力手段によって出力されたスレッド情報を用いて、前記ページを有する情報処理装置上で前記ページフォールトが発生したスレッドの再実行を制御する。 Using thread information output by said output means, the page fault on the information processing apparatus having the page to control the re-execution of the thread occurred.

【0010】また、好ましくは、前記複数の情報処理装置において、ページフォールトが発生したスレッドに、 [0010] Preferably, in the plurality of information processing devices, the thread a page fault occurs,
該ページの内容を転送する転送手段と、ページフォールトが発生したスレッドのページの属性に基づいて、前記移送手段による移送、あるいは前記転送手段による転送を選択的に実行する実行手段とを更に備える。 Transfer means for transferring the contents of the page, based on the thread page attributes a page fault occurs, further comprising an execution unit selectively executing the transfer transport, or by the transfer means by said transfer means.

【0011】また、好ましくは、前記ページの属性は、 [0011] In addition, preferably, the attribute of the page,
前記移送手段による移送、あるいは前記転送手段による転送の実行を示す属性である。 Transfer by said transfer means, or is an attribute that indicates the execution of the transfer by said transfer means. また、好ましくは、前記転送手段は、更に、前記ページの一貫性保持動作を実行する。 Also, preferably, the transfer means further performs consistency holding operation of the page. また、好ましくは、前記ページの属性を設定する設定手段を更に備える。 In a preferred embodiment, the apparatus further comprising setting means for setting an attribute of the page.

【0012】また、好ましくは、前記仮想記憶空間を構成する各ページのページフォールトの履歴を管理する管理手段を更に備え、前記設定手段は、前記管理手段に管理されている前記各ページのページフォールトの履歴に基づいて、前記ページの属性を設定する。 [0012] Preferably, further comprising a managing means for managing a history of page faults of each page constituting the virtual storage space, the setting means, the page fault for each page that is managed by the management means based on the history, to set the attributes of the page. また、好ましくは、前記ページフォールトの履歴は、少なくとも、ページスラッシングによって発生したページフォールト、 Also preferably, the history of the page fault, at least, a page fault caused by the page thrashing,
スレッドの頻繁な移送によって発生したページフォールトを含む。 Including a page fault generated by frequent transfer of the thread.

【0013】上記の目的を達成するための本発明による情報処理システムの制御方法は以下の構成を備える。 The control method of an information processing system according to the present invention for achieving the above object comprises the following arrangement. 即ち、複数の情報処理装置間で分散処理を実行する情報処理システムの制御方法であって、分散処理を行うプログラムの仮想記憶空間を分割して、前記複数の情報処理装置の各記憶空間に配置する配置工程と、前記プログラムにおいて起動されたスレッドを、前記複数の情報処理装置の各記憶空間に分配する分配工程と、前記複数の情報処理装置において、ページフォールトが発生したスレッドを、該ページを有する情報処理装置の記憶空間に移送する移送工程とを備える。 That is, a method of controlling an information processing system for executing distributed processing among multiple information processing apparatuses, by dividing the virtual storage space of the program performing the distributed processing, arranged in each storage space of the plurality of information processing devices a placement step of the thread activated in the program, a distribution step of distributing to each storage space of the plurality of information processing devices, in the plurality of information processing apparatuses, a thread a page fault occurs, the pages and a transfer step of transferring the storage space of the information processing apparatus having.

【0014】上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。 [0014] The information processing apparatus according to the present invention for achieving the above object comprises the following arrangement. 即ち、少なくとも1つ以上の他の情報処理装置との間で分散処理を実行する情報処理装置であって、分散処理を行うプログラムで起動されたスレッドの状態を監視する監視手段と、前記監視手段による監視の結果、自装置のスレッドにページフォールトが発生した場合、該ページを有する他の情報処理装置に該スレッドを送信する送信手段と、前記監視手段による監視の結果、他の情報処理装置のスレッドにページフォールトが発生し、かつ該ページを自装置が有する場合、該スレッドを前記他の情報処理装置より受信する受信手段とを備える。 That is, an information processing apparatus which executes distributed processing between at least one or more other information processing apparatus, a monitoring means for monitoring the state of a thread that is started by a program that performs the distributed processing, the monitoring unit result of monitoring by, if a page fault to the thread of the self-device is generated, and transmitting means for transmitting the thread to another information processing apparatus having the page of monitoring by said monitoring means results in the other information processing apparatus thread page fault occurs, and when having the page own device, and a receiving means for receiving from said other information processing apparatus the thread.

【0015】また、好ましくは、自装置のスレッドにページフォールトが発生した場合、該ページの内容を該ページを有する他の情報処理装置より獲得する獲得手段と、自装置でページフォールトを発生したスレッドのページの属性に基づいて、前記送信手段による送信、あるいは前記獲得手段による獲得を選択的に実行する実行手段とを更に備える。 [0015] Preferably, if the page fault to the thread of the self-device is generated, the thread contents of the page that generated the acquisition means for acquiring from the other information processing apparatus having the page, a page fault in the self-device based on the attributes of the page, further comprising an execution unit selectively executing the acquisition by the transmission by the transmitting means, or the acquisition means.

【0016】上記の目的を達成するための本発明による情報処理装置の制御方法は以下の構成を備える。 The control method of an information processing apparatus according to the present invention for achieving the above object comprises the following arrangement. 即ち、 In other words,
少なくとも1つ以上の他の情報処理装置との間で分散処理を実行する情報処理装置の制御方法であって、分散処理を行うプログラムで起動されたスレッドの状態を監視する監視工程と、前記監視工程による監視の結果、自装置のスレッドにページフォールトが発生した場合、該ページを有する他の情報処理装置に該スレッドを送信する送信工程と、前記監視工程による監視の結果、他の情報処理装置のスレッドにページフォールトが発生し、かつ該ページを自装置が有する場合、該スレッドを前記他の情報処理装置より受信する受信工程とを備えることを特徴とする情報処理装置の制御方法。 A method for controlling an information processing apparatus which executes distributed processing between at least one or more other information processing apparatus, a monitoring process to monitor the state of the thread that is activated by the program to perform distributed processing, the monitoring result of monitoring by step, if the page fault to the thread of the self-device is generated, a transmission step of transmitting the thread to another information processing apparatus having the page, the monitoring by the monitoring step result, another information processing apparatus If the thread was a page fault occurs, and the page is the self apparatus with the control method for an information processing apparatus characterized by comprising a reception step of receiving the thread from the other information processing apparatus.

【0017】上記の目的を達成するための本発明によるコンピュータ可読メモリは以下の構成を備える。 The computer readable memory according to the present invention for achieving the above object comprises the following arrangement. 即ち、 In other words,
複数の情報処理装置間で分散処理を実行する情報処理システムの制御のプログラムコードが格納されたコンピュータ可読メモリであって、分散処理を行うプログラムの仮想記憶空間を分割して、前記複数の情報処理装置の各記憶空間に配置する配置工程のプログラムコードと、前記プログラムにおいて起動されたスレッドを、前記複数の情報処理装置の各記憶空間に分配する分配工程のプログラムコードと、前記複数の情報処理装置において、ページフォールトが発生したスレッドを、該ページを有する情報処理装置の記憶空間に移送する移送工程のプログラムコードとを備える。 A computer-readable memory that the program code of the control are stored in an information processing system that performs distributed processing among a plurality of information processing apparatuses, by dividing the virtual storage space of the program performing the distributed processing, the plurality of information processing a program code for a placement step of placing in each storage space of the device, the thread activated in the program, a program code for a distribution step of distributing to each storage space of the plurality of information processing apparatuses, the plurality of information processing devices in the thread a page fault occurs, and a program code of a transfer step of transferring the storage space of the information processing apparatus having the page.

【0018】 [0018]

【発明の実施の形態】以下、図面を参照して本発明の好適な実施形態を詳細に説明する。 DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, with reference to the accompanying drawings illustrating the preferred embodiments of the invention in detail. (実施形態1)図1は本発明に適用される分散処理方式を実現する情報処理システムの構成を示す図である。 (Embodiment 1) FIG. 1 is a diagram showing a configuration of an information processing system for realizing distributed processing method applied to the present invention.

【0019】各情報処理装置101は単独で一般的な情報処理装置として動作することが可能であり、ネットワーク102によって接続され相互に通信可能である。 [0019] Each information processing apparatus 101 is capable of operating as a general information processing apparatus alone, can communicate with each other are connected by a network 102. 但し、各情報処理装置101が全ての入出力装置を備えている必要はない。 However, it is not necessary to each of the information processing apparatus 101 is provided with all input and output devices. また、ソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給できる構成を有している。 Also, a storage medium storing program code of software, has a structure that can be supplied to a system or an apparatus. 次に、実施形態1で実行される処理について、図2を用いて説明する。 Next, processing executed in the embodiment 1 will be described with reference to FIG. 図2は本発明の実施形態1で実行される処理を示すフローチャートである。 Figure 2 is a flow chart showing the processing executed in the first embodiment of the present invention.

【0020】情報処理装置101上にプログラムを生成すると、ステップS201において、そのプログラムの仮想記憶空間をページ単位に分割し、そのプログラムを動作させる複数の情報処理装置に転送する。 [0020] After generating the program on the information processing apparatus 101, in step S201, divides the virtual memory space of the program in units of pages, and transfers the plurality of information processing apparatuses for operating the program. プログラムの仮想記憶空間の一部分のページが転送された情報処理装置では、そのプログラムのスレッドを動作させる枠組としてタスクを生成する。 In the information processing apparatus portion of the page is transferred in the virtual memory space of the program, it generates a task as framework for running the threads of the program. そして、そのタスク上に転送されてきた仮想記憶空間の一部分のページを張り付ける。 Then, paste the pages of a portion of the virtual memory space that has been transferred on to the task.

【0021】尚、仮想記憶空間の転送対象となる情報処理装置の選択は、プログラムで選択したり、ユーザが選択したり、分散情報処理上の負荷管理サーバなどによって自動的に負荷の軽い情報処理装置を選択することで実現可能である。 [0021] The selection of the transfer subject to the information processing apparatus of the virtual storage space, to select a program, or select the user, lighter automatically loaded by such load management server on the distributed information processing It can be realized by selecting a device. また、プログラム上の仮想記憶空間の分配方法は、プログラムによって明示的に分配する方法、 Also, the distribution method of the virtual memory space in the program, a method of explicitly distributed by the program,
ユーザが指定して分配する方法、単純にページ単位でプログラムの先頭から順番に割り当てる方法等が考えられる。 How the user distributes specify, and a method can be considered that simply assigns the beginning of the program in units of pages in sequence. ここで、ページ単位でプログラムの先頭から順番に割り当てる分配方法の一例を、図3に示しておく。 Here, an example of a distribution method of assigning sequentially from the beginning of the program in units of pages, previously shown in FIG.

【0022】ステップS202において、起動されたスレッドを各情報処理装置上に生成されたタスクに移送し、スレッドの実行を開始する。 [0022] In step S202, to transfer the start thread on tasks generated on each of the information processing apparatus starts executing the thread. 詳しくは、プログラムの起動時に少なくとも1つのスレッドが起動される。 Specifically, at least one thread is started when the program. そして、その起動されたスレッドが仮想記憶空間が転送された情報処理装置の何れかに移送された後、そのスレッドが実行される。 Then, the start thread is after the virtual memory space is transferred to one of the information processing apparatus that has been transferred, the thread is executed. また、起動時に、ユーザが複数のスレッドの起動を指定したり、プログラム中で複数のスレッドが起動された場合にも、それら複数のスレッドは、仮想記憶空間が転送された情報処理装置のどれかに移送された後、それらのスレッドが実行される。 Also, during startup, or specify start users of the plurality of threads, even when a plurality of threads is invoked in the program, the plurality of threads, one of the information processing apparatus virtual memory space is transferred after being transferred to, those threads are executed.

【0023】尚、仮想記憶空間が転送された情報処理装置の内、起動されたスレッドの移送対象となる情報処理装置の選択方法としては、単純に各情報処理装置を順番に選択する方法や、現在動作しているスレッドが少ない情報処理装置を選択する方法等がある。 [0023] Among the virtual storage space information processing apparatus that has been transferred, as a selection method of an information processing apparatus as a transfer target of the activated thread, a method of simply selecting each information processing apparatus in sequence, and a method of selecting a thread currently running small information processing apparatus. ステップS20 Step S20
3において、実行されたスレッドがその情報処理装置のタスク上に存在するページにアクセスをして処理を実行する。 In 3, it was run thread executes a process to access a page that exists on the task of the information processing apparatus. そして、その情報処理装置のタスク内に存在するページにアクセスしている限り実行が進む。 Then, execution as long as accessing the pages located in the task of the information processing apparatus proceeds.

【0024】ステップS204において、スレッドが動作中にページフォールトを起こした場合にスレッドの移送を開始する。 [0024] In step S204, to start a thread transfer of when the thread has caused a page fault during operation. 詳しくは、以下説明するステップS20 For more information, step S20 which will be described below
4a〜ステップS204cの処理を実行する。 It executes the processing of 4a~ step S204c. まず、ステップS204aにおいて、スレッドの動作中にページフォールトが発生したか否かを判定する。 First, in step S204a, whether the page fault during thread operation has occurred. ページフォールトが発生しない場合(ステップS204aでNO)、 If a page fault does not occur (NO in step S204a),
そのスレッドはページフォールトが発生するまで動作を続行する。 The thread to continue the operation until the page fault occurs. 一方、ページフォールトが発生した場合(ステップS204aでYES)、ステップS204bに進む。 On the other hand, when a page fault occurs (YES in step S204a), the process proceeds to step S204b.

【0025】ステップS204bにおいて、ページフォールトが発生したスレッドを一旦停止する。 [0025] In step S204b, temporarily stopped the thread a page fault occurs. そして、ステップS204cにおいて、そのスレッドの状態を保存し、この保存したスレッドの状態を転送することでスレッドの移送が開始される。 Then, in step S204c, and save the state of the thread, the thread transfer is initiated by transferring the state of the saved thread. 尚、スレッドの動作中にページフォールトが発生する場合というのは、各情報処理装置上にタスクの仮想記憶空間内のページに分散して配置されている状態において、あるスレッドが仮想記憶空間内で現在動作している情報処理装置のタスク上に存在しないページにアクセスした場合であり、この場合、OS Incidentally, because if a page fault occurs during thread operation, in the state of being arranged distributed in a page of virtual memory space of the task on the information processing apparatus, in a thread virtual storage space a case where the access to a page that does not exist on the task of the current operation to have the information processing apparatus, in this case, OS
カーネルがページフォールトを発生する。 The kernel generates a page fault.

【0026】ステップS205において、ページフォールトが発生したページを特定し、そのページがどの情報処理装置上に存在するかを探索する。 [0026] In step S205, to identify pages a page fault occurs, to explore whether the page exists on which the information processing apparatus. この探索は、ページの分配が静的なものであれば、各ページに対して、自身が存在する情報処理装置を示す情報を管理する管理表を情報処理装置上に用意しておく。 This search as long as the page distribution is static, for each page, are prepared on the information processing apparatus management table for managing information indicating the information processing apparatus itself is present. そして、その管理表を参照することで、ページがどの情報処理装置上に存在するかを探索することができる。 Then, by referring to the management table, it is possible to explore whether present on any information processing device page. 一方、ページの分配が動的なものであれば、各ページに対し、自身が存在する情報処理装置を示す情報を管理するサーバを用意しておく。 On the other hand, if the page distribution is dynamic, with respect to each page, are prepared a server to manage information showing an information processing apparatus itself is present. そして、そのサーバにページがどの情報処理装置上に存在するかを問い合わせることで、ページがどの情報処理装置上に存在するかを探索することができる。 Then, by asking pages to the server resides on which the information processing apparatus may search whether there a page which the information processing device. また、サーバによってページフォールトの発生したアクセス対象であるページを探索する方法以外に、各情報処理装置にページの移動状態をすべて通知して各情報処理装置内の管理表を毎回更新してっても良い。 Further, in addition to the method of searching for a page to be accessed generated page fault by the server, the management table in the information processing apparatus to notify all the moving state of the page to each information processing apparatus went updated each time it may be.

【0027】ステップS206において、スレッドを実際に転送し、そのスレッドの実行を再開する。 [0027] In step S206, the actual transfer of the thread resumes execution of the thread. 詳しくは、以下説明するステップS206a〜ステップS20 For more information, step S206a~ step S20 which will be described below
6cの処理を実行する。 To perform the processing of 6c. まず、ステップS206aにおいて、スレッドの転送元の情報処理装置が、ステップS First, at step S206a, a thread transfer source of the information processing apparatus, the step S
204cで保存したスレッドの状態をネットワークに転送する。 To transfer the thread state of which was stored at 204c to the network. ステップS206bにおいて、スレッドの転送先の情報処理装置が、転送されてきたスレッドを受信する。 In step S206b, the thread of the destination information processing apparatus receives the thread which has been transferred. そして、ステップS206cにおいて、転送されてきたスレッドの状態を利用してスレッドの実行を再開する。 Then, in step S206c, resumes execution of the thread by using a state of the thread that has been transferred.

【0028】このように、ページフォールトの発生によって、転送されたスレッドは、このステップ206の処理によって実行を再開する。 [0028] Thus, the occurrence of page faults, transfer thread resumes execution by the processing of step 206. そして、ステップS203 Then, step S203
に戻り、目的のページをアクセスして、それ以後の処理を続行する。 Return to, to access the desired page, to continue the subsequent processing. 以上説明したように、実施形態1によれば、ページフォルトが発生したスレッドを、そのページフォールトが発生した情報処理装置に移送することができる。 As described above, according to the first embodiment, the thread a page fault, can be transferred to the information processing apparatus to which the page fault has occurred. これにより、スレッドが固定的に分散された分散処理方式に比べて、ネットワーク上のページ転送を低減し、ページスラッシングによる処理能力の低下を防止することができる。 Thus, as compared with the distributed processing scheme thread is fixedly dispersed, reducing the page transfer on the network, it is possible to prevent deterioration of the processing capacity by the page thrashing.

【0029】尚、実施形態1では、プログラムが起動されたときにプログラムの仮想記憶空間内のページをコード領域やデータ領域を区別せずに分配していた(図3参照)。 [0029] In the first embodiment, the program had distributed the pages of the virtual storage space of the program without distinguishing code or data space when it is activated (see Figure 3). そのため、実施形態1では、その情報処理装置にない命令コードのページをアクセスした場合にもページフォールトが発生する。 Therefore, in the first embodiment, a page fault is generated even when the access to a page of the instruction code is not in the information processing apparatus. しかし、実際のプログラムでは、コード領域に書き込みを行うことはないので、図4 However, the actual program, since no writing to the coding region, Figure 4
に示すように、コード領域は書き込み不可の状態で全ての情報処理装置に分配することが可能である。 As shown in the code region can be distributed to all of the information processing apparatus in a state of non-writable. これにより、データ領域やスタック領域内のページに対するページフォールトが発生した場合に限って、ページフォルトが発生したスレッドを、そのページフォールトが発生した情報処理装置に移送するような構成にすることができる。 Accordingly, only when a page fault occurs to the page of the data area and a stack area, the thread a page fault, can be configured to transfer the information processing apparatus to which the page fault has occurred .

【0030】このように、プログラムの仮想記憶空間において、コード領域等の読み込み専用領域を全ての情報処理装置に分配しておくことで、スレッドの移送回数をより低減することができ、更なる処理の効率化をはかることが可能となる。 [0030] Thus, in the virtual memory space of the program, by leaving distributes a read-only area such as a coding region in all of the information processing apparatus, it is possible to further reduce the transfer times of the thread, further processing it is possible to improve the efficiency. (実施形態2)上記実施形態1では、スレッドを移送することで、処理の効率化を図ることができる情報処理システムを説明した。 Embodiment 2 In Embodiment 1, by transferring the thread, has been described an information processing system which can improve the efficiency of processing. しかしながら、この情報処理システムでは、あるスレッドが連続して異なるページをアクセスする場合、そのスレッドは各ページをアクセスする毎に各ページを有する情報処理装置に移送されることになる。 However, in this information processing system, when accessing the page with different threads in succession, the thread will be transferred to the information processing apparatus having each page each time to access each page. つまり、スレッドが情報処理装置間を頻繁に転送されることになり、このような場合は、情報処理システムの処理効率が低下してしまう。 In other words, results in a thread is transferred between the information processing apparatus frequently, such a case, processing efficiency of the information processing system is reduced.

【0031】そこで、以下、説明する実施形態2では、 [0031] Therefore, in the following, in the second embodiment will be described,
分散処理方式でプログラムを実行する情報処理システムにおいて、発生したページフォールトの内容に基づいて、ページを転送するページ転送方式とそのページが存在するスレッドを移送するスレッド移送方式を選択的に使い分ける。 An information processing system for executing programs in a distributed processing system, based on the content of the generated page fault, a page transfer method for transferring a page thread transfer method for transferring a thread that page is present selectively use both. つまり、ページの一貫性保持動作のためのページ転送が頻繁に行われる場合には、スレッド移送方式を用いる。 In other words, if the page transfer for page consistency holding operation is frequently performed, the use of the thread transfer method. また、スレッド移送のためのスレッド状態の転送が頻繁に行われる場合には、ページ転送方式を用いる。 Further, when the thread state for thread transport transfer is frequently performed, using the page transfer mode. これにより、実施形態1に比べて、より情報処理システムの効率化を図ることができる。 Thus, as compared with the embodiment 1, increase efficiency of more information processing system.

【0032】次に、実施形態2で実行される処理について、図5を用いて説明する。 [0032] Next, processing executed in the second embodiment will be described with reference to FIG. 図5は本発明の実施形態2 Figure 5 is a second embodiment of the present invention
で実行される処理を示すフローチャートである。 In is a flowchart showing a process executed. 尚、図5のフローチャートにおいて、実施形態1の図2のフローチャートと同様のステップには、同じステップ番号を付加し、その詳細については省略する。 In the flowchart of FIG. 5, the same steps as the flow chart of FIG. 2 in the first embodiment, by adding the same step numbers, and details thereof will be omitted. ステップS21 Step S21
4において、スレッドが動作中にページフォールトを発生したか否かを判定する。 In 4, it determines whether the thread has generated the page fault during operation. ページフォールトが発生していない場合(ステップS214でNO)、ステップS2 If a page fault does not occur (NO in step S214), step S2
03に戻る。 Back to 03. 一方、ページフォールトが発生した場合(ステップS214でYES)、ステップS215に進む。 On the other hand, when a page fault occurs (YES at step S214), the process proceeds to step S215. 尚、ステップS214における判定は、通常の主記憶管理装置を用いれば、ハードウェアフォールトの発生の有無を検出することで実現できる。 The determination in step S214 is the use of the usual main storage management device can be realized by detecting the presence or absence of occurrence of a hardware fault.

【0033】ステップS215において、スレッドが動作中にページフォールトを発生した場合に、そのスレッドを移送(スレッド移送方式)するか、あるいは分散仮想共有記憶の一貫性保持動作に従って、ページや制御メッセージを転送(ページ転送方式)するか否かを判定する。 [0033] In step S215, the when the thread has generated the page fault during operation, or transfer the thread transferring (thread transfer method), or in accordance with consistent holding operation of the distributed virtual shared memory, the page or control messages It determines whether (page transfer method) to. 尚、実施形態2では、システムに組み込まれた様々なポリシに従って、上記のスレッド移送方式あるいはページ転送方式のどちらかの方式を用いるかを決定する。 In the embodiment 2, according to various policies built into the system, to determine whether to use either the method of the thread transfer method or page transfer method.
簡単な例としては、仮想記憶空間内のすべてのページにページ転送方式、スレッド移送方式のどちらかを用いることを示す属性を設定しておき、その属性に従って用いる方式を決定する。 As a simple example, the page transfer method on all pages of the virtual storage space, may be set an attribute indicating that the use of either thread transfer method, to determine the method used in accordance with the attribute. この場合、プログラマがその属性を設定可能とする。 In this case, the programmer can be set its attributes. これにより、仮想記憶空間内のデータの種類に従って、プログラマがページに対する制御を可能とすることができる。 Thus, according to the type of data in the virtual storage space, the programmer can allow control over the page.

【0034】スレッドの転送を行わない場合(ステップS215でNO)、ステップS216に進む。 The case without thread transfer (NO at step S215), the process proceeds to step S216. 一方、スレッドの転送を行う場合(ステップS215でYE On the other hand, when performing thread transfer (YE in step S215
S)、ステップS217に進む。 S), the process proceeds to step S217. スレッドの転送を行わない場合、ステップS216において、ページフォールトが発生したページの分散仮想共有記憶に対する一貫性保持動作を行うためのメッセージ転送やページ転送等の操作を行う。 If you do not thread transfer, in step S216, it performs an operation such as message transfer and page transfer for a consistent holding operation for distributed virtual shared memory page a page fault occurs. 詳しくは、以下説明するステップS216 Specifically, steps S216 to be described below
a〜ステップS216cの処理を実行する。 It executes the processing of a~ step S216c.

【0035】まず、ステップS216aにおいて、ページフォールトの発生したページの一貫性保持動作を制御するためのメッセージをネットワークに転送する。 [0035] First, in step S216a, forwarding the message for controlling the consistency holding operation of the generated page page fault to the network. ステップS216bにおいて、そのページの受信先の情報処理装置が、ページの受信、あるいはページプロテクション状態を変更するためのメッセージを受信する。 In step S216b, the receiver of the information processing apparatus of the page, receives the message for changing reception of a page, or a page protection state. ステップS216cにおいて、受信したメッセージに基づいて、ページの書き込み及びページプロテクション状態を変更する。 In step S216c, based on the received message, to change the write and page protection state of the page.

【0036】一方、スレッドの転送を行う場合、ステップS217において、ページフォールトが発生したスレッドを、そのページが存在する情報処理装置に移送する。 On the other hand, when performing thread transfer, in step S217, the thread a page fault occurs, transferring the information processing apparatus is present the page. 詳しくは、以下説明するステップS217a〜ステップS217fの処理を実行する。 For more information, it executes the processing of step S217a~ step S217f to be described below. まず、ステップS2 First, step S2
17aにおいて、ページフォールトが発生したスレッドを一旦停止する。 In 17a, once to stop the thread a page fault occurs. ステップS217bにおいて、そのスレッドの状態を保存する。 In step S217b, to save the state of the thread. ステップS217cにおいて、ページフォールトが発生したページを特定し、そのページがどの情報処理装置上に存在するかを探索する。 In step S217c, it identifies a page a page fault occurs, to explore whether the page exists on which the information processing apparatus.
ステップS217dにおいて、保存したスレッドを状態を転送する。 In step S217d, and transfers the state saved thread. ステップS217eにおいて、スレッドの転送先の情報処理装置が、転送されてきたスレッドを受信する。 In step S217e, the thread of the destination information processing apparatus receives the thread which has been transferred. ステップS217fにおいて、転送されてきたスレッドの状態を利用してスレッドの実行を再開する。 In step S217f, resumes execution of the thread by using a state of the thread that has been transferred.

【0037】以上説明したように、実施形態2によれば、発生したページフォールトの内容に基づいて、ページを転送するページ転送方式とそのページが存在するスレッドを移送するスレッド移送方式を選択的に使い分けることができる。 [0037] As described above, according to the second embodiment, based on the contents of the generated page fault, a page transfer method for transferring a page thread transfer method for transferring a thread that page is present selectively it can be selectively used. これにより、ネットワーク上のページ転送あるいはスレッドの移送を低減し、処理能力を高く保つことができる。 This reduces the page transfer or thread transport on the network, it can be kept high throughput.

【0038】尚、実施形態2では、仮想記憶空間内のすべてのページにページ転送方式、スレッド移送方式のどちらかを用いることを示す属性を設定しておくことで、 [0038] In the second embodiment, by setting the attribute indicating the use page transfer method on all pages of the virtual storage space, either thread transport system,
ページ転送方式、あるいはスレッド移送方式を用いるかを決定していた。 Page transfer method or whether to use the thread transfer method, were determined. このページに設定する属性を、当該ページフォールトの発生の履歴に基づいて設定することにより、よりページ転送や、スレッド移送を低減することができる。 Attributes to be set in this page, by setting on the basis of the history of the occurrence of the page fault, it can be reduced more page transfer and, a thread transfer.

【0039】例えば、あるページのページフォールトの発生した履歴が、各スレッドによって頻繁にアクセスされ、一貫性保持動作のためにページ転送やメッセージ転送が頻繁に行われているページである場合には、当該ページの属性をスレッド移送方式に設定する。 [0039] For example, the generated history page faults there pages, are frequently accessed by each thread, if a page page transfer and message transfer for consistency holding operation is frequently carried out, set the attributes of the page to the thread transport system. 逆に、あるスレッドが有するページのページフォールトの発生した履歴が、そのスレッドの移送が頻繁に行われているページである場合には、当該ページの属性をページ転送方式に設定する。 Conversely, the generated history page faults pages included in a thread, if a page that transfer of the thread is frequently performed sets the attribute of the page to the page transfer method.

【0040】このように、ページのページフォールトの発生した履歴に基づいて、ページの属性を設定することで、更なる処理の効率化をはかることが可能となる。 [0040] Thus, based on the generated history page faults pages, by setting the attribute of a page, it is possible to improve efficiency of further processing.
尚、本発明は、複数の機器(例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置等)に適用してもよい。 The present invention is a plurality of devices (e.g., host computer, interface device, reader, printer, etc.) or an apparatus from an apparatus comprising a single device (e.g., copying machine, facsimile machine) it may be applied to.

【0041】また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPU Further, an object of the present invention, a storage medium storing software program codes for realizing the functions of the above embodiments is supplied to a system or an apparatus and a computer (or CPU
やMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。 Or MPU) also by reading out and executing the program code stored in the storage medium, it is needless to say that is achieved.

【0042】この場合、記憶媒体から読出されたプログラムコード自体が上述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。 [0042] In this case, the program codes read from the storage medium realizes the functions of the embodiments described above, the storage medium storing the program code constitutes the present invention. プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、 As the storage medium for supplying the program codes, a floppy disk, a hard disk, an optical disk,
CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。 CD-ROM, CD-R, magnetic tape, nonvolatile memory card, ROM, and the like.

【0043】また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。 [0043] Further, by a computer executing the read program code, as well as functions of the above embodiments are realized on the basis of the instructions of the program code, OS (operating system running on the computer ) performs a part or all of the processing but also to a case where the functions of the embodiments mentioned above are realized by those processes like.

【0044】更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 [0044] Furthermore, the program code read from the storage medium are written in a memory of a function expansion unit connected to a function expansion board inserted into the computer or on the basis of the instructions of the program code, the function expansion board or function expansion unit CPU performs part or all of the actual processing so that the program codes and the functions of the above embodiments are realized by those processes.

【0045】本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになるが、簡単に説明すると、図6のメモリマップ例に示す各モジュールを記憶媒体に格納することになる。 [0045] When the present invention is applied to the storage medium, the storage medium when it will store the program codes corresponding to the flowcharts described in the embodiments will be briefly described, as an example of a memory map in FIG. 6 It will store the respective modules shown in the storage medium. すなわち、少なくとも「配置モジュール」、「分配モジュール」および「移送モジュール」の各モジュールのプログラムコードを記憶媒体に格納すればよい。 That is, at least "placement module", may be stored a program code for each module in the "distribution module" and "transport module" in the storage medium.

【0046】尚、「配置モジュール」は、分散処理を行うプログラムの仮想記憶空間を分割して、複数の情報処理装置の各記憶空間に配置する。 [0046] Incidentally, "arrangement module", divides the virtual memory space of the program performing the distributed processing, are arranged in each storage space of the plurality of information processing apparatuses. 「分配モジュール」 "Distribution module"
は、プログラムにおいて起動されたスレッドを、複数の情報処理装置の各記憶空間に分配する。 Is a thread which is activated in the program, is distributed to each storage space of the plurality of information processing apparatuses. 「移送モジュール」は、複数の情報処理装置において、ページフォールトが発生したスレッドを、該ページを有する情報処理装置の記憶空間に移送する。 "Transport module", in the plurality of information processing apparatuses, a thread a page fault occurs, transferring the storage space of the information processing apparatus having the page.

【0047】 [0047]

【発明の効果】以上説明したように、本発明よれば、複数の情報処理装置間で分散処理方式を実現する情報処理システムにおいて、ネットワーク間のデータ転送を効率的に実行し、処理能力を向上することができる情報処理システム及びその制御方法、情報処理装置及びその制御方法を提供できる。 As described in the foregoing, according the present invention, improved in the information processing system for implementing a distributed processing scheme between a plurality of information processing apparatuses, the data transfer between the network efficiently executed, the processing capacity the information processing system and a control method thereof capable of, can provide an information processing apparatus and a control method.

【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS

【図1】本発明に適用される分散処理方式を実現する情報処理システムの構成を示す図である。 1 is a diagram showing a configuration of an information processing system for realizing distributed processing method applied to the present invention.

【図2】本発明の実施形態1で実行される処理を示すフローチャートである。 2 is a flow chart showing the processing executed in the first embodiment of the present invention.

【図3】本発明の実施形態1のプログラム上の仮想記憶空間の分配の一例を示す図である。 3 is a diagram showing an example of the distribution of the virtual memory space in the program according to the first embodiment of the present invention.

【図4】本発明の実施形態1のプログラム上の仮想記憶空間の分配の一例を示す図である。 Is a diagram illustrating an example of the distribution of the virtual memory space in the program according to the first embodiment of the present invention; FIG.

【図5】本発明の実施形態2で実行される処理を示すフローチャートである。 5 is a flowchart illustrating a process executed in the second embodiment of the present invention.

【図6】本発明の実施形態を実現するプログラムコードを格納した記憶媒体のメモリマップの構造を示す図である。 6 is a diagram showing a structure of a memory map of a storage medium storing program code for realizing the embodiment of the present invention.

【符号の説明】 DESCRIPTION OF SYMBOLS

101 ホスト 102 ネットワーク 101 Host 102 Network

Claims (29)

    【特許請求の範囲】 [The claims]
  1. 【請求項1】 複数の情報処理装置間で分散処理を実行する情報処理システムであって、 分散処理を行うプログラムの仮想記憶空間を分割して、 1. A data processing system for executing distributed processing among multiple information processing apparatuses, by dividing the virtual storage space of the program performing the distributed processing,
    前記複数の情報処理装置の各記憶空間に配置する配置手段と、 前記プログラムにおいて起動されたスレッドを、前記複数の情報処理装置の各記憶空間に分配する分配手段と、 前記複数の情報処理装置において、ページフォールトが発生したスレッドを、該ページを有する情報処理装置の記憶空間に移送する移送手段とを備えることを特徴とする情報処理システム。 And arrangement means for arranging in each storage space of the plurality of information processing apparatuses, a thread activated in the program, and distributing means for distributing to each storage space of the plurality of information processing devices, in the plurality of information processing devices the information processing system threads a page fault occurs, characterized in that it comprises a transport means for transporting the storage space of the information processing apparatus having the page.
  2. 【請求項2】 前記配置手段は、前記プログラムの仮想記憶空間の内、コード領域を前記複数の情報処理装置の各記憶空間に読み込み専用で配置し、該コード領域以外の領域をページ単位に分割して該複数の情報処理装置の各記憶空間に配置することを特徴とする請求項1に記載の情報処理システム。 Wherein said positioning means division, of the virtual memory space of the program, to place the code region in read-only in the storage space of the plurality of information processing devices, an area other than the coding region into pages the information processing system according to claim 1, characterized in that arranged in each storage space of the plurality of information processing apparatus and.
  3. 【請求項3】 前記移送手段は、ページフォールトが発生したスレッドの状態を示すスレッド情報を獲得する獲得手段と、 前記獲得手段で獲得したスレッド情報を、前記ページを有する情報処理装置に出力する出力手段とを備え、 前記出力手段によって出力されたスレッド情報を用いて、前記ページを有する情報処理装置上で前記ページフォールトが発生したスレッドの再実行を制御することを特徴とする請求項1に記載の情報処理システム。 Wherein said transferring means includes acquisition means for acquiring thread information indicating the state of the thread a page fault occurs, the thread information acquired by said acquisition means, output for outputting the information processing apparatus having the page and means, using the thread information output by said output means, according to claim 1, wherein the page fault on the information processing apparatus having the page and controlling the re-execution of the thread that generated the information processing system.
  4. 【請求項4】 前記複数の情報処理装置において、ページフォールトが発生したスレッドに、該ページの内容を転送する転送手段と、 ページフォールトが発生したスレッドのページの属性に基づいて、前記移送手段による移送、あるいは前記転送手段による転送を選択的に実行する実行手段とを更に備えることを特徴とする請求項1に記載の情報処理システム。 Wherein in said plurality of information processing devices, the thread a page fault occurs, a transfer means for transferring the contents of the page, based on the thread page attributes a page fault occurs, according to the transfer means transport or information processing system according to claim 1, further comprising an execution means for executing the transfer by said transfer means selectively.
  5. 【請求項5】 前記ページの属性は、前記移送手段による移送、あるいは前記転送手段による転送の実行を示す属性であることを特徴とする請求項4に記載の情報処理システム。 Wherein attributes of the page, the information processing system according to claim 4, characterized in that the transfer by the transfer means, or is an attribute that indicates the execution of the transfer by said transfer means.
  6. 【請求項6】 前記転送手段は、更に、前記ページの一貫性保持動作を実行することを特徴とする請求項4に記載の情報処理システム。 Wherein said transfer means further information processing system according to claim 4, characterized in that to perform a consistency holding operation of the page.
  7. 【請求項7】 前記ページの属性を設定する設定手段を更に備えることを特徴とする請求項1に記載の情報処理システム。 7. The information processing system according to claim 1, characterized by further comprising setting means for setting an attribute of the page.
  8. 【請求項8】 前記仮想記憶空間を構成する各ページのページフォールトの履歴を管理する管理手段を更に備え、 前記設定手段は、前記管理手段に管理されている前記各ページのページフォールトの履歴に基づいて、前記ページの属性を設定することを特徴とする請求項7に記載の情報処理システム。 8. further comprising a managing means for managing a history of page faults for each page constituting the virtual storage space, the setting means, on the history of the page fault for each page that is managed by the management means based on the information processing system according to claim 7, characterized in that to set the attributes of the page.
  9. 【請求項9】 前記ページフォールトの履歴は、少なくとも、ページスラッシングによって発生したページフォールト、スレッドの頻繁な移送によって発生したページフォールトを含むことを特徴とする請求項8に記載の情報処理システム。 History wherein said page fault, at least, the information processing system according to claim 8, characterized in that it comprises a page fault caused by the page thrashing, a page fault caused by frequent transfer of threads.
  10. 【請求項10】 複数の情報処理装置間で分散処理を実行する情報処理システムの制御方法であって、 分散処理を行うプログラムの仮想記憶空間を分割して、 10. A method of controlling an information processing system for executing distributed processing among multiple information processing apparatuses, by dividing the virtual storage space of the program performing the distributed processing,
    前記複数の情報処理装置の各記憶空間に配置する配置工程と、 前記プログラムにおいて起動されたスレッドを、前記複数の情報処理装置の各記憶空間に分配する分配工程と、 前記複数の情報処理装置において、ページフォールトが発生したスレッドを、該ページを有する情報処理装置の記憶空間に移送する移送工程とを備えることを特徴とする情報処理システムの制御方法。 An arrangement step of arranging the respective storage space of the plurality of information processing apparatuses, a thread activated in the program, a distribution step of distributing to each storage space of the plurality of information processing devices, in the plurality of information processing devices , thread a page fault occurs, the control method for an information processing system, characterized in that it comprises a transfer step of transferring the storage space of the information processing apparatus having the page.
  11. 【請求項11】 前記配置工程は、前記プログラムの仮想記憶空間の内、コード領域を前記複数の情報処理装置の各記憶空間に読み込み専用で配置し、該コード領域以外の領域をページ単位に分割して該複数の情報処理装置の各記憶空間に配置することを特徴とする請求項10に記載の情報処理システムの制御方法。 Wherein said arranging step, of the virtual memory space of the program, to place the code region in read-only in the storage space of the plurality of information processing devices, dividing an area other than the coding region into pages control method for an information processing system according to claim 10, characterized in that arranged in each storage space of the plurality of information processing apparatus and.
  12. 【請求項12】 前記移送工程は、ページフォールトが発生したスレッドの状態を示すスレッド情報を獲得する獲得工程と、 前記獲得工程で獲得したスレッド情報を、前記ページを有する情報処理装置に出力する出力工程とを備え、 前記出力工程によって出力されたスレッド情報を用いて、前記ページを有する情報処理装置上で前記ページフォールトが発生したスレッドの再実行を制御することを特徴とする請求項10に記載の情報処理システムの制御方法。 12. The method of claim 11, wherein the transfer step includes a acquisition step for acquiring thread information indicating the state of the thread a page fault occurs, the thread information acquired in the acquiring step, the output to be outputted to an information processing apparatus having the page and a step, by using a thread information output by said output step, according to claim 10 wherein the page fault on the information processing apparatus having the page and controlling the re-execution of the thread that generated control method for an information processing system.
  13. 【請求項13】 前記複数の情報処理装置において、ページフォールトが発生したスレッドに、該ページの内容を転送する転送工程と、 ページフォールトが発生したスレッドのページの属性に基づいて、前記移送工程による移送、あるいは前記転送工程による転送を選択的に実行する実行工程とを更に備えることを特徴とする請求項10に記載の情報処理システムの制御方法。 13. A plurality of information processing apparatuses, to the thread a page fault occurs, a transfer step of transferring the contents of the page, based on the thread page attributes a page fault occurs, due to the transfer process transfer, or a control method for an information processing system according to claim 10, characterized by further comprising an execution step of executing the transfer by the transfer step selectively.
  14. 【請求項14】 前記ページの属性は、前記移送工程による移送、あるいは前記転送工程による転送の実行を示す属性であることを特徴とする請求項13に記載の情報処理システムの制御方法。 14. Attributes of the page, the control method for an information processing system according to claim 13, wherein the transfer by the transfer step, or is an attribute indicating the execution of transfer by the transfer step.
  15. 【請求項15】 前記転送工程は、更に、前記ページの一貫性保持動作を実行することを特徴とする請求項10 15. The transfer step further, claim 10, characterized in that to perform consistency holding operation of the page
    に記載の情報処理システムの制御方法。 Control method for an information processing system according to.
  16. 【請求項16】 前記ページの属性を設定する設定工程を更に備えることを特徴とする請求項10に記載の情報処理システムの制御方法。 16. The control method for an information processing system according to claim 10, further comprising a setting step of setting an attribute of the page.
  17. 【請求項17】 前記仮想記憶空間を構成する各ページのページフォールトの履歴を記憶媒体に管理する管理工程を更に備え、 前記設定工程は、前記管理工程で前記記憶媒体に管理されている前記各ページのページフォールトの履歴に基づいて、前記ページの属性を設定することを特徴とする請求項16に記載の情報処理システムの制御方法。 17. further comprising a management step of managing the history of the page fault for each page constituting the virtual storage space in a storage medium, wherein the setting step, each is managed in the storage medium by the management process based on the page fault history, control method of an information processing system according to claim 16, characterized in that to set the attributes of the page.
  18. 【請求項18】 前記ページフォールトの履歴は、少なくとも、ページスラッシングによって発生したページフォールト、スレッドの頻繁な移送によって発生したページフォールトを含むことを特徴とする請求項17に記載の情報処理システムの制御方法。 History 18. The page fault, at least, the control of the information processing system according to claim 17, characterized in that it comprises a page fault caused by the page thrashing, a page fault caused by frequent transfer of thread Method.
  19. 【請求項19】 少なくとも1つ以上の他の情報処理装置との間で分散処理を実行する情報処理装置であって、 分散処理を行うプログラムで起動されたスレッドの状態を監視する監視手段と、 前記監視手段による監視の結果、自装置のスレッドにページフォールトが発生した場合、該ページを有する他の情報処理装置に該スレッドを送信する送信手段と、 前記監視手段による監視の結果、他の情報処理装置のスレッドにページフォールトが発生し、かつ該ページを自装置が有する場合、該スレッドを前記他の情報処理装置より受信する受信手段とを備えることを特徴とする情報処理装置。 19. An information processing apparatus for performing distributed processing between at least one or more other information processing apparatus, a monitoring means for monitoring the state of a thread that is started by a program for performing distributed processing, results of monitoring by the monitoring unit, if the page fault to the thread of the self-device is generated, and transmitting means for transmitting the thread to another information processing apparatus having the page of monitoring by said monitoring means results, other information page fault in thread processing device has occurred, and in the case where the information processing apparatus having the page, the information processing apparatus comprising: a receiving means for receiving from said other information processing apparatus the thread.
  20. 【請求項20】 自装置のスレッドにページフォールトが発生した場合、該ページの内容を該ページを有する他の情報処理装置より獲得する獲得手段と、 自装置でページフォールトを発生したスレッドのページの属性に基づいて、前記送信手段による送信、あるいは前記獲得手段による獲得を選択的に実行する実行手段とを更に備えることを特徴とする請求項19に記載の情報処理装置。 20. If a page fault to the thread of the self-device is generated, and acquisition means for acquiring the content of the page from the other information processing apparatus having the page, the thread of the page that generated the page fault in the self-device based on the attribute information processing apparatus according to claim 19, further comprising an execution means for executing the acquisition by by transmitting, or the acquisition means and the transmitting means selectively.
  21. 【請求項21】 前記ページの属性を設定する設定手段を更に備えることを特徴とする請求項20に記載の情報処理装置。 21. The information processing apparatus according to claim 20, characterized by further comprising setting means for setting an attribute of the page.
  22. 【請求項22】 前記監視手段は、前記スレッドを構成する各ページのページフォールトの履歴を管理する管理手段を更に備え、 前記設定手段は、前記管理手段に管理されている前記各ページのページフォールトの履歴に基づいて、前記ページの属性を設定することを特徴とする請求項21に記載の情報処理装置。 22. The monitoring unit further comprises a management means for managing the history of the page fault for each page constituting the threads, the setting means, a page fault of each page that is managed by the management means based on the history, the information processing apparatus according to claim 21, characterized in that to set the attributes of the page.
  23. 【請求項23】 前記ページフォールトの履歴は、少なくとも、ページスラッシングによって発生したページフォールト、スレッドの頻繁な移送によって発生したページフォールトを含むことを特徴とする請求項22に記載の情報処理装置。 History 23. The page fault, at least, the information processing apparatus according to claim 22, characterized in that it comprises a page fault caused by the page thrashing, a page fault caused by frequent transfer of threads.
  24. 【請求項24】 少なくとも1つ以上の他の情報処理装置との間で分散処理を実行する情報処理装置の制御方法であって、 分散処理を行うプログラムで起動されたスレッドの状態を監視する監視工程と、 前記監視工程による監視の結果、自装置のスレッドにページフォールトが発生した場合、該ページを有する他の情報処理装置に該スレッドを送信する送信工程と、 前記監視工程による監視の結果、他の情報処理装置のスレッドにページフォールトが発生し、かつ該ページを自装置が有する場合、該スレッドを前記他の情報処理装置より受信する受信工程とを備えることを特徴とする情報処理装置の制御方法。 24. A method of controlling an information processing apparatus which executes distributed processing between at least one or more other information processing apparatus, monitoring for monitoring the state of a thread that is started by a program that performs distributed processing a step, wherein the monitoring by the monitoring process result, if the page fault to the thread of the self-device is generated, a transmission step of transmitting the thread to another information processing apparatus having the page, the monitoring by the monitoring step results, page fault occurs in the thread of the other information processing apparatus, and in the case where the information processing apparatus having the page, the information processing apparatus characterized by comprising a reception step of receiving from said other information processing apparatus the thread control method.
  25. 【請求項25】 自装置のスレッドにページフォールトが発生した場合、該ページの内容を該ページを有する他の情報処理装置より獲得する獲得工程と、 自装置でページフォールトを発生したスレッドのページの属性に基づいて、前記送信手段による送信、あるいは前記獲得手段による獲得を選択的に実行する実行工程とを更に備えることを特徴とする請求項24に記載の情報処理装置の制御方法。 25. If a page fault to the thread of the self-device is generated, the acquisition step of acquiring from the other information processing apparatus having the page content of the page, the threads of the page that generated the page fault in the self-device based on the attributes, a method of controlling an information processing apparatus according to claim 24, wherein the execution step and further be provided with a selectively perform acquisition by the transmission by the transmitting means, or the acquisition means.
  26. 【請求項26】 前記ページの属性を設定する設定工程を更に備えることを特徴とする請求項25に記載の情報処理装置の制御方法。 26. A control method for an information processing apparatus according to claim 25, further comprising a setting step of setting an attribute of the page.
  27. 【請求項27】 前記監視工程は、前記スレッドを構成する各ページのページフォールトの履歴を記憶媒体に管理する管理工程を更に備え、 前記設定工程は、前記管理工程で前記記憶媒体に管理されている前記各ページのページフォールトの履歴に基づいて、前記ページの属性を設定することを特徴とする請求項26に記載の情報処理装置の制御方法。 27. The monitoring step further comprises a management step of managing the history of the page fault for each page constituting the thread storage medium, wherein the setting step, it is managed in the storage medium by the management process on the basis of the history of the page fault for each page, a method of controlling an information processing apparatus according to claim 26, characterized in that to set the attributes of the pages are.
  28. 【請求項28】 前記ページフォールトの履歴は、少なくとも、ページスラッシングによって発生したページフォールト、スレッドの頻繁な移送によって発生したページフォールトを含むことを特徴とする請求項22に記載の情報処理装置の制御方法。 History 28. The page fault, at least, the control of the information processing apparatus according to claim 22, characterized in that it comprises a page fault caused by the page thrashing, a page fault caused by frequent transfer of thread Method.
  29. 【請求項29】 複数の情報処理装置間で分散処理を実行する情報処理システムの制御のプログラムコードが格納されたコンピュータ可読メモリであって、 分散処理を行うプログラムの仮想記憶空間を分割して、 29. A computer-readable memory that the program code of the control are stored in an information processing system that performs distributed processing among a plurality of information processing apparatuses, by dividing the virtual storage space of the program performing the distributed processing,
    前記複数の情報処理装置の各記憶空間に配置する配置工程のプログラムコードと、 前記プログラムにおいて起動されたスレッドを、前記複数の情報処理装置の各記憶空間に分配する分配工程のプログラムコードと、 前記複数の情報処理装置において、ページフォールトが発生したスレッドを、該ページを有する情報処理装置の記憶空間に移送する移送工程のプログラムコードとを備えることを特徴とするコンピュータ可読メモリ。 A program code for a placement step of placing in each storage space of the plurality of information processing apparatuses, a thread activated in the program, a program code for a distribution step of distributing to each storage space of the plurality of information processing devices, wherein a plurality of information processing apparatuses, a thread a page fault occurs, the computer readable memory characterized by comprising a program code of the transfer step of transferring the storage space of the information processing apparatus having the page.
JP14942697A 1997-06-06 1997-06-06 Information processing system, its controlling method, information processor and its controlling method Withdrawn JPH10340198A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14942697A JPH10340198A (en) 1997-06-06 1997-06-06 Information processing system, its controlling method, information processor and its controlling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14942697A JPH10340198A (en) 1997-06-06 1997-06-06 Information processing system, its controlling method, information processor and its controlling method

Publications (1)

Publication Number Publication Date
JPH10340198A true true JPH10340198A (en) 1998-12-22

Family

ID=15474857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14942697A Withdrawn JPH10340198A (en) 1997-06-06 1997-06-06 Information processing system, its controlling method, information processor and its controlling method

Country Status (1)

Country Link
JP (1) JPH10340198A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033932A (en) * 2006-07-28 2008-02-14 Hewlett-Packard Development Co Lp System and method for recompiling code based on locality domain and thread affinity in numa computer system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033932A (en) * 2006-07-28 2008-02-14 Hewlett-Packard Development Co Lp System and method for recompiling code based on locality domain and thread affinity in numa computer system

Similar Documents

Publication Publication Date Title
US8032899B2 (en) Providing policy-based operating system services in a hypervisor on a computing system
US5159678A (en) Method for efficient non-virtual main memory management
US6996828B1 (en) Multi-OS configuration method
US7181744B2 (en) System and method for transferring data between virtual machines or other computer entities
US6832298B2 (en) Server system operation control method
US6338079B1 (en) Method and system for providing a group of parallel resources as a proxy for a single shared resource
US5835775A (en) Method and apparatus for executing a family generic processor specific application
US20050251806A1 (en) Enhancement of real-time operating system functionality using a hypervisor
US20020152331A1 (en) User mode device driver interface
US20030061262A1 (en) Method and apparatus for partitioning resources within a computer system
US5692192A (en) Load distribution method and system for distributed threaded task operation in network information processing apparatuses with virtual shared memory
US6345352B1 (en) Method and system for supporting multiprocessor TLB-purge instructions using directed write transactions
US5842226A (en) Virtual memory management for a microkernel system with multiple operating systems
US20040205776A1 (en) Method and apparatus for concurrent update and activation of partition firmware on a logical partitioned data processing system
US7203941B2 (en) Associating a native resource with an application
US20070101334A1 (en) Dynamic policy manager method, system, and computer program product for optimizing fractional resource allocation
US5687372A (en) Customer information control system and method in a loosely coupled parallel processing environment
US20020184290A1 (en) Run queue optimization with hardware multithreading for affinity
US6272612B1 (en) Process for allocating memory in a multiprocessor data processing system
US20050033948A1 (en) Method and apparatus for providing updated system locality information during runtime
US6591355B2 (en) Distributed shared memory system with variable granularity
US5630133A (en) Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
US20050044547A1 (en) System and method for allocating system resources
US6247042B1 (en) Method and system for restoring the state of physical memory as the focus changes among application programs in a computer
US6985976B1 (en) System, method, and computer program product for memory management for defining class lists and node lists for allocation and deallocation of memory blocks

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040907