JPH08180025A - Scheduling device - Google Patents

Scheduling device

Info

Publication number
JPH08180025A
JPH08180025A JP31810594A JP31810594A JPH08180025A JP H08180025 A JPH08180025 A JP H08180025A JP 31810594 A JP31810594 A JP 31810594A JP 31810594 A JP31810594 A JP 31810594A JP H08180025 A JPH08180025 A JP H08180025A
Authority
JP
Japan
Prior art keywords
address space
processor
sharing
executed
data structure
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
JP31810594A
Other languages
Japanese (ja)
Inventor
Toshiki Kitsu
俊樹 岐津
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 JP31810594A priority Critical patent/JPH08180025A/en
Publication of JPH08180025A publication Critical patent/JPH08180025A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE: To reduce overheads for holding the consistency of a cache memory and a shared memory by executing all threads belonging to the same process in the same processor. CONSTITUTION: The processors 1a-1c and the shared memory 2 are connected through a bus 3, a data group 4 no be required at the time of executing an operating system is stored in the shared memory 2, the data group 4 is provided with a data structure 5 relating to the process and further, the data structure 5 is provided with an area 6 relating to scheduling. When a certain processor processes the thread supplied to an execution queue, the processor refers to information stored in the area 6 and judges whether or not the processor itself can perform execution. In this case, when the information stored in the area 6 indicates that the execution can be performed in any processor or the information indicates the processor itself, the thread is executed.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、複数のプロセッサがメ
モリを共有するマルチプロセッサシステムに適用して好
適なスケジューリング装置に係り、特にキャッシュメモ
リや共有メモリの一貫性を保持するためのオーバーヘッ
ドを減少させることによりシステム性能の向上を図るこ
とを可能とするスケジューリング装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a scheduling device suitable for use in a multiprocessor system in which a plurality of processors share a memory, and more particularly, to reduce the overhead for maintaining the consistency of cache memory and shared memory. The present invention relates to a scheduling device capable of improving system performance by making it possible.

【0002】[0002]

【従来の技術】従来の複数のプロセッサがメモリを共有
するマルチプロセッサシステムにおいては、共有メモリ
を使用することを前提にオペレーティングシステムが作
成されており、通常は、処理性能を向上させるために、
メモリより高速にアクセス可能なキャッシュメモリを設
け、メモリにアクセスした結果をこのキャッシュメモリ
に蓄積するようにしている。
2. Description of the Related Art In a conventional multiprocessor system in which a plurality of processors share a memory, an operating system is created on the assumption that the shared memory is used. Usually, in order to improve processing performance,
A cache memory that can be accessed faster than the memory is provided, and the result of accessing the memory is stored in this cache memory.

【0003】しかし、プロセススケジューラは、複数の
プロセス間でアドレス空間を共有している場合でも、ス
ケジュールの際にそれを考慮することがなく、そのため
にアドレス空間を共有しているようなプロセス同士が別
々のプロセッサで実行されることがあり、このときに共
有しているアドレス空間に書き込み等の更新が行われる
と、キャッシュメモリの一貫性を保持するための排他制
御を行う必要が発生し、これがオーバーヘッドとなりシ
ステム全体の効率を低下させていた。
However, even if the process scheduler shares the address space among a plurality of processes, the process scheduler does not consider it in the schedule, and therefore the processes sharing the address space are It may be executed by different processors, and if an update such as writing is performed in the shared address space at this time, it is necessary to perform exclusive control to maintain the coherency of the cache memory. It became an overhead and reduced the efficiency of the whole system.

【0004】[0004]

【発明が解決しようとする課題】上述したように、従来
の複数のプロセッサがメモリを共有するマルチプロセッ
サシステムのスケジューリング装置においては、プロセ
スをスケジューリングする際に、プロセス間のアドレス
空間の共有を考慮に入れることがなかったため、キャッ
シュメモリ及び共有メモリの一貫性を保持するためのオ
ーバヘッドを発生させるといった問題があった。
As described above, in the conventional scheduling device of a multiprocessor system in which a plurality of processors share a memory, when the processes are scheduled, the sharing of the address space between the processes is taken into consideration. Since it was not inserted, there was a problem that an overhead for maintaining the consistency of the cache memory and the shared memory was generated.

【0005】本発明は上記実情に鑑みなされたものであ
り、プロセス間でアドレス空間を共有している場合に、
それらのプロセスを同一のプロセッサにスケジューリン
グして実行することにより、キャッシュメモリや共有メ
モリの一貫性を保持するためのオーバーヘッドを減少さ
せ、システム性能の向上を図ることを可能とするスケジ
ューリング装置を提供することを目的とする。
The present invention has been made in view of the above circumstances, and when an address space is shared between processes,
By scheduling and executing those processes on the same processor, the overhead for maintaining the consistency of cache memory and shared memory is reduced, and a scheduling device that can improve system performance is provided. The purpose is to

【0006】[0006]

【課題を解決するための手段】本発明は、複数のプロセ
ッサがメモリを共有するマルチプロセッサシステムであ
って、アドレス空間を共有する複数のスレッドから構成
されるプロセスを実行するマルチプロセッサシステムの
スケジューリング装置において、上記スレッドそれぞれ
が実行されるべきプロセッサを示す情報をプロセス単位
に管理する手段と、上記プロセッサが実行待ち行列に蓄
積されたスレッドを実行する際に、上記格納された情報
からそのスレッドが当該プロセッサにて実行可能である
か否かを判断する手段とを具備し、同一のプロセスに属
するスレッドすべてを同一のプロセッサで実行させるこ
とを特徴とする。
SUMMARY OF THE INVENTION The present invention is a scheduling device for a multiprocessor system in which a plurality of processors share a memory and executes a process composed of a plurality of threads sharing an address space. In the above, a means for managing information indicating a processor in which each of the threads is to be executed in process units, and when the processor executes the threads accumulated in the execution queue It is characterized in that it has means for judging whether or not it can be executed by a processor, and all threads belonging to the same process are executed by the same processor.

【0007】また、本発明は、上記管理手段が、複数の
プロセス間でアドレス空間の共有が発生した際に、この
プロセス群単位に上記スレッドそれぞれが実行されるべ
きプロセッサを示す情報を管理する手段を具備し、同一
のプロセス群に属するスレッドすべてを同一のプロセッ
サで実行させることをすることを特徴とする。
Further, according to the present invention, the management means manages information indicating a processor in which each thread is to be executed in units of this process group when an address space is shared among a plurality of processes. And all threads belonging to the same process group are executed by the same processor.

【0008】また、本発明は、上記管理手段が、複数の
プロセス群間でアドレス空間の共有が発生した際に、ア
ドレス空間の共有を要求した側のプロセスが形成するす
べてのプロセス群の情報をアドレス空間の共有を要求さ
れた側のプロセスが形成するプロセス群の情報に更新す
る手段を具備し、アドレス空間を共有するプロセス群に
属するスレッドすべてを同一のプロセッサで実行させる
ことを特徴とする。
Further, according to the present invention, when the management means shares the address space among a plurality of process groups, information on all the process groups formed by the process on the side requesting the address space sharing is displayed. The present invention is characterized by including means for updating the sharing of the address space to the information of the process group formed by the process on the requested side, and all threads belonging to the process group sharing the address space are executed by the same processor.

【0009】また、本発明は、上記管理手段が、いずれ
かのプロセスがアドレス空間の共有を解消した際に、こ
のプロセスが形成するプロセス群同士のアドレス空間の
共有が解消されるか否かを判定し、プロセス群同士のア
ドレス空間の共有が解消される場合に、これらのプロセ
ス群各々に個別の情報を割り振る手段を具備してなるこ
とを特徴とする。また、本発明は、上記管理される情報
が、上記複数のプロセッサのいずれのプロセッサで実行
してもかまわない旨を示す情報を含むことを特徴とす
る。
Further, according to the present invention, when the management means cancels the sharing of the address space, whether the sharing of the address space between the process groups formed by this process is canceled or not. It is characterized in that it is provided with means for allocating individual information to each of these process groups when the determination is made and sharing of the address space between the process groups is resolved. Further, the present invention is characterized in that the managed information includes information indicating that any of the plurality of processors may be executed.

【0010】[0010]

【作用】本発明の構成によれば、管理手段が、スレッド
それぞれが実行されるべきプロセッサを示す情報をプロ
セス単位に管理しており、プロセッサが実行待ち行列に
蓄積されたスレッドを実行する際に、この管理された情
報を参照して自身が実行可能なスレッドであるか否かを
判定する。この判定により実行可能な具体例としては、 (1)その情報がいずれのプロセッサで実行してもかま
わない旨を示している場合。 (2)その情報が自身のプロセッサを示している場合。 が挙げられる。
According to the structure of the present invention, the management means manages the information indicating the processor in which each thread is to be executed in process units, and when the processor executes the threads accumulated in the execution queue. By referring to this managed information, it is determined whether or not the thread is an executable thread. Specific examples that can be executed by this determination are: (1) When the information indicates that any processor may execute the information. (2) If the information indicates its own processor. Is mentioned.

【0011】この情報はプロセス単位に管理されるた
め、同一のプロセスに属するスレッドはすべて同一のプ
ロセッサで実行されることになり、アドレス空間を共有
することにより発生するキャッシュメモリや共有メモリ
の一貫性を保持するためのオーバーヘッドを減少させる
ことができる。
Since this information is managed on a process-by-process basis, all threads belonging to the same process will be executed by the same processor, and the consistency of the cache memory and shared memory generated by sharing the address space. Can reduce the overhead for holding.

【0012】また、本発明の構成によれば、複数のプロ
セス間でアドレス空間の共有が発生した際に、上述した
管理手段が、アドレス空間を共有するこれら複数のプロ
セスにより形成されるプロセス群単位にスレッドそれぞ
れが実行されるべきプロセッサを示す情報を管理する。
Further, according to the configuration of the present invention, when the sharing of the address space occurs among a plurality of processes, the management means described above is a process group unit formed by the plurality of processes sharing the address space. Manages information indicating which processor each thread should execute.

【0013】例えば、Aというプロセスが使用するアド
レス空間について、B及びCというプロセスが共有を要
求した場合、このA、B及びCのプロセスを一つのプロ
セス群として、このプロセス群単位に情報を管理する。
For example, when the processes B and C request sharing of the address space used by the process A, the processes A, B and C are treated as one process group, and information is managed in units of this process group. To do.

【0014】これにより、アドレス空間を共有するA、
B及びCのプロセスで形成されるプロセス群に属するス
レッドはすべて同一のプロセッサで実行されることにな
り、これらのプロセスがアドレス空間を共有することに
より発生するキャッシュメモリや共有メモリの一貫性を
保持するためのオーバーヘッドを減少させることができ
る。
As a result, A, which shares the address space,
All threads belonging to the process group formed by the processes of B and C will be executed by the same processor, and the consistency of the cache memory and shared memory generated by sharing the address space between these processes will be maintained. Overhead can be reduced.

【0015】また、本発明の構成によれば、複数のプロ
セス群間でアドレス空間の共有が発生した際に、上述し
た管理手段が、アドレス空間の共有を要求した側のプロ
セスが形成するすべてのプロセス群の情報を、アドレス
空間の共有を要求された側のプロセスが形成するプロセ
ス群の情報に更新する。
Further, according to the configuration of the present invention, when the address space is shared between a plurality of process groups, the above-mentioned management means forms all the processes formed by the process requesting the address space sharing. The process group information is updated to the process group information formed by the process on the side requested to share the address space.

【0016】例えば、いま、A、B及びCにより構成さ
れる第1のプロセス群と、X、Y及びZにより構成され
る第2のプロセス群が存在し、この第1及び第2のプロ
セス群は、それぞれ個別のプロセッサで実行されるもの
とする。そして、第2のプロセス群を形成するXのプロ
セスが、第1のプロセス群を形成するAのプロセスの使
用するアドレス空間の共有を要求した場合を考える。
For example, now, there is a first process group composed of A, B and C, and a second process group composed of X, Y and Z. The first and second process groups are present. Are to be executed by individual processors. Then, consider a case where the process X forming the second process group requests sharing of the address space used by the process A forming the first process group.

【0017】このとき、管理手段は、Aのプロセスが形
成する第1のプロセス群の情報と、Xのプロセスが形成
する第2のプロセス群の情報とが等しいか否かを判断
し、異なっていれば、第2のプロセス群の情報を第1の
プロセス群の情報に更新する。
At this time, the management means determines whether or not the information of the first process group formed by the process A and the information of the second process group formed by the process X are the same and different. If so, the information of the second process group is updated to the information of the first process group.

【0018】この結果、A、B、C、X、Y及びZのプ
ロセスはすべて同一のプロセッサで実行されることにな
り、A及びXのプロセスがアドレス空間を共有すること
により発生するキャッシュメモリや共有メモリの一貫性
を保持するためのオーバーヘッドを減少させることがで
きる。
As a result, the processes of A, B, C, X, Y and Z are all executed by the same processor, and the cache memory and the cache memory generated when the processes of A and X share the address space. The overhead of maintaining shared memory coherency can be reduced.

【0019】なお、Xのプロセスが、Y及びZのプロセ
スと形成する第2のプロセス群以外に他のプロセスとプ
ロセス群を形成していた場合には、そのすべてのプロセ
ス群の情報を、第1のプロセス群の情報に更新すること
により、これらのオーバーヘッドを減少させる。
If the process X has formed a process group other than the second process group formed with the Y and Z processes, the information of all process groups is changed to These overheads are reduced by updating the information of one process group.

【0020】また、本発明の構成によれば、いずれかの
プロセスがアドレス空間の共有を解消した際に、このプ
ロセスが形成するプロセス群同士のアドレス空間の共有
が解消されるか否かを判定し、プロセス群同士のアドレ
ス空間の共有が解消される場合に、これらのプロセス群
各々に個別の情報を割り振る。
Further, according to the configuration of the present invention, when any process cancels the sharing of the address space, it is determined whether the sharing of the address space between the process groups formed by this process is canceled or not. However, when sharing of the address space between the process groups is canceled, individual information is allocated to each of these process groups.

【0021】ここでは、上述したようなA、B及びCに
より形成される第1のプロセス群と、X、Y及びZによ
り形成される第2のプロセス群がアドレス空間を共有し
ている場合、具体的には、A及びXのプロセスがアドレ
ス空間を共有している場合を前提として、このA及びX
のプロセスによるアドレス空間の共有が解消された場合
を考える。
Here, when the first process group formed by A, B and C as described above and the second process group formed by X, Y and Z share the address space, Specifically, assuming that the processes of A and X share the address space, these A and X are
Consider the case where the sharing of the address space by the process is canceled.

【0022】このとき、管理手段は、この第1及び第2
のプロセス群同士のアドレス空間の共有が解消されるか
否かを判定する。この判定でプロセス群同士のアドレス
空間の共有の解消が拒否される例としては、さらに、B
及びYのプロセスがアドレス空間を共有している場合等
が挙げられる。
At this time, the management means uses the first and second
It is determined whether the sharing of the address space between the process groups is resolved. As an example of rejecting the sharing of the address space between the process groups by this determination, further B
And the processes of Y and Y share the address space.

【0023】そして、プロセス群同士のアドレス空間の
共有が解消される場合には、もはや同じプロセッサで実
行すべき理由がないため、第2のプロセス群の情報を他
の情報に割り振ることが可能となる。この割り振りは、
プロセッサの稼働率に基づく等、所定の規則に従って行
えばよい。これにより、システム全体の効率をより向上
させることが可能となる。
Then, when the sharing of the address space between the process groups is resolved, there is no reason to execute it in the same processor anymore, so it is possible to allocate the information of the second process group to other information. Become. This allocation is
It may be performed according to a predetermined rule such as based on the operating rate of the processor. This makes it possible to further improve the efficiency of the entire system.

【0024】[0024]

【実施例】以下図面を参照して本発明の実施例を説明す
る。まず、図1を参照して本発明の第1実施例を説明す
る。図1は第1実施例に係るスケジューリング装置の概
略構成を示す図である。
Embodiments of the present invention will be described below with reference to the drawings. First, a first embodiment of the present invention will be described with reference to FIG. FIG. 1 is a diagram showing a schematic configuration of the scheduling device according to the first embodiment.

【0025】図1に示すように、同実施例に係るスケジ
ューリング装置は、プロセッサ1a〜1cと共有メモリ
2とがバス3を介して接続されている。また、共有メモ
リ2には、オペレーティングシステムが実行する際に必
要となるデータ群4が格納されている。そして、このデ
ータ群4には、プロセスに関するデータ構造5が含ま
れ、さらに、このプロセスに関するデータ構造5には、
スケジューリングに関する情報を格納するための領域6
が含まれている。このスケジューリングに関する情報を
格納するための領域6には、各プロセスに属するスレッ
ドが実行されるべきプロセッサのIDが格納される。ま
た、プロセッサ1a〜1cのいずれのプロセッサで実行
されてもかまわない場合には、その旨を示す値が格納さ
れる。
As shown in FIG. 1, in the scheduling apparatus according to this embodiment, the processors 1a to 1c and the shared memory 2 are connected via a bus 3. In addition, the shared memory 2 stores a data group 4 required when the operating system executes. The data group 4 includes a data structure 5 related to the process, and the data structure 5 related to the process further includes
Area 6 for storing information about scheduling
It is included. An area 6 for storing information regarding this scheduling stores the ID of the processor in which the thread belonging to each process is to be executed. If any of the processors 1a to 1c may be executed, a value indicating that is stored.

【0026】ここで、あるプロセッサが、実行キューに
投入されたスレッドを処理しようとしたとき、そのプロ
セッサは、この領域6に格納された情報を参照して、自
身が実行可能であるか否かを判定する。この場合、領域
6に格納された情報が、 (1)いずれのプロセッサで実行してもかまわない旨を
示している。 (2)その情報が自身のプロセッサを示している。 ときにそのスレッドを実行する。
Here, when a processor attempts to process a thread put in the run queue, the processor refers to the information stored in this area 6 and determines whether or not it is executable. To judge. In this case, the information stored in the area 6 indicates that (1) it may be executed by any processor. (2) The information indicates its own processor. Sometimes that thread executes.

【0027】これにより、スレッドを実行すべきプロセ
ッサの情報がプロセス単位に管理されることになり、ア
ドレス空間を共有することにより発生するキャッシュメ
モリや共有メモリの一貫性を保持するためのオーバーヘ
ッドを減少させることができる。
As a result, the information of the processor that should execute the thread is managed in process units, and the overhead for maintaining the consistency of the cache memory and the shared memory generated by sharing the address space is reduced. Can be made.

【0028】次に、図2乃至図4を参照して本発明の第
2実施例を説明する。図2に示すように、同実施例に係
るスケジューリング装置は、プロセッサ1a〜1cと共
有メモリ2とがバス3を介して接続されている。また、
共有メモリ2には、オペレーティングシステムが実行す
る際に必要となるデータ群4が格納されている。そし
て、このデータ群4には、プロセスに関するデータ構造
5及び複数のプロセス間におけるアドレス空間の共有に
関するデータ構造8が含まれ、さらに、このプロセスに
関するデータ構造5には、スケジューリングに関する情
報を格納するための領域6とアドレス空間の共有に関す
るデータ構造8を指し示すポインタ7とが含まれてい
る。
Next, a second embodiment of the present invention will be described with reference to FIGS. As shown in FIG. 2, in the scheduling device according to the embodiment, the processors 1 a to 1 c and the shared memory 2 are connected via a bus 3. Also,
The shared memory 2 stores a data group 4 required when the operating system executes. The data group 4 includes a data structure 5 regarding a process and a data structure 8 regarding sharing of an address space among a plurality of processes. Further, the data structure 5 regarding this process stores information regarding scheduling. Area 6 and a pointer 7 pointing to a data structure 8 related to sharing of the address space.

【0029】図3及び図4は、このアドレス空間の共有
に関するデータ構造8を具体的に示した概念図である。
ここでは、図3に示すように、システム中にプロセス9
a、9b及び9cがあり、それらがあるアドレス空間を
共有する場合を考える。図4に示すように、これらのプ
ロセスに対応するデータ構造は、それぞれ13a〜13
cである。そして、このプロセス群に対しprocgroup な
るデータ構造11を割り当てる。また、このプロセス群
に属する各プロセスに対応してpgseg なるデータ構造1
2a〜12cを割り当てる。そして、これらはリンクさ
れた形で保持される。
3 and 4 are conceptual diagrams specifically showing the data structure 8 relating to sharing of the address space.
Here, as shown in FIG.
Consider the case where there are a, 9b and 9c and they share an address space. As shown in FIG. 4, the data structures corresponding to these processes are 13a to 13a, respectively.
c. Then, a data structure 11 called a procgroup is assigned to this process group. In addition, pgseg data structure 1 corresponding to each process belonging to this process group
2a to 12c are assigned. And these are held in linked form.

【0030】このprocgroup 11は、pgseg データ構造
を指し示すためのポインタであるpg-pgseglink、これを
更新する際に排他制御を行うためのロックであるpg-pgs
eglock、及びこのprocgroup 11に属するプロセスが実
行されるべきプロセッサのIDが格納されるpg-cpuなる
メンバにより構成される。一方、pgseg 12a〜12c
には、次のpgseg 構造を指し示すためのポインタである
pgseg-link、procgroup 11を指し示すためのポインタ
であるpgseg-pg、及びこのpgseg が属するプロセスのデ
ータ構造13a〜13cを指し示すためのポインタであ
るpgseg-procpなるメンバで構成される。また、各プロ
セスのデータ構造13a〜13cには、対応するpgseg
データ12a〜12cを指し示すためのポインタである
p-pgsegpなるメンバが存在する。このp-pgsegpは、アド
レス空間を共有していない場合には初期値が格納されて
いる。
This procgroup 11 is a pointer pg-pgseglink that points to a pgseg data structure, and a lock pg-pgs that locks it when updating it.
It is composed of eglock and a member pg-cpu in which the ID of the processor in which the process belonging to this procgroup 11 is to be executed is stored. On the other hand, pgseg 12a-12c
Is a pointer to the next pgseg structure
pgseg-link, pgseg-pg which is a pointer for pointing procgroup 11, and pgseg-procp which is a pointer for pointing the data structure 13a-13c of the process to which this pgseg belongs. In addition, in the data structure 13a to 13c of each process, the corresponding pgseg
It is a pointer for pointing the data 12a to 12c.
There is a member called p-pgsegp. This p-pgsegp stores the initial value when the address space is not shared.

【0031】ここで、図5を参照してプロセス間でアド
レス空間の共有が起こった場合のオペレーティングシス
テムの動作手順を説明する。図5はプロセス間でアドレ
ス空間の共有が起こった場合のオペレーティングシステ
ムの動作手順を説明するためのフローチャートである。
The operating procedure of the operating system when the address space is shared between processes will be described with reference to FIG. FIG. 5 is a flow chart for explaining the operating procedure of the operating system when the address space is shared between processes.

【0032】まず、オペレーティングシステムは、proc
group データ構造11及びpgseg データ構造12a〜1
2cを割り当て(図5のステップA1〜A2)、それぞ
れのデータ構造を適切にリンクすることにより、各メン
バの初期化を行う(図5のステップA3)。最後に、オ
ペレーティングシステムは、これらのプロセス群をどの
プロセッサで実行すべきかを決定し、procgroup データ
構造11のメンバであるpg-cpuにそのプロセッサIDを
格納する(図5のステップA4)。
First, the operating system is proc
group data structure 11 and pgseg data structures 12a-1
2c is allocated (steps A1 and A2 in FIG. 5), and the respective data structures are appropriately linked to initialize each member (step A3 in FIG. 5). Finally, the operating system determines which processor should execute these process groups, and stores the processor ID in pg-cpu, which is a member of the procgroup data structure 11 (step A4 in FIG. 5).

【0033】次に、図6を参照してオペレーティングシ
ステムがスレッドを実行する際の動作手順を説明する。
図6はオペレーティングシステムがスレッドを実行する
際の動作手順を説明するためのフローチャートである。
Next, the operation procedure when the operating system executes a thread will be described with reference to FIG.
FIG. 6 is a flowchart for explaining an operation procedure when the operating system executes a thread.

【0034】実行キューに投入されたスレッドが存在す
る場合(図6のステップB1のY)、オペレーティング
システムは、そのスレッドが属するプロセスのデータ構
造13a〜13cを調べ(図6のステップB2)、メン
バp-pgsegpが初期値でない場合には(図6のステップB
2のN)、対応するpgseg データ構造12a〜12cの
pgseg-pgからprocgroup データ構造11を求め(図6の
ステップB3)、そのメンバであるpg-cpuを参照して予
め設定されたプロセッサIDを認識する(図6のステッ
プB4)。
If there is a thread submitted to the run queue (Y in step B1 in FIG. 6), the operating system checks the data structure 13a-13c of the process to which the thread belongs (step B2 in FIG. 6), and the member If p-pgsegp is not the initial value (step B in FIG. 6)
2 N) of the corresponding pgseg data structure 12a-12c
The procgroup data structure 11 is obtained from pgseg-pg (step B3 in FIG. 6), and the preset processor ID is recognized by referring to the member pg-cpu (step B4 in FIG. 6).

【0035】ここで、オペレーティングシステムは自身
のIDとそのプロセッサIDとが一致しているか否かを
判断し(図6のステップB5)、一致していればそのス
レッドを実行し(図6のステップB5のY)、不一致で
あれば、次の実行待ちスレッドについて同様の処理を繰
り返す(図6のステップB5のN)。
Here, the operating system judges whether or not its own ID and its processor ID match (step B5 in FIG. 6), and if they match, execute the thread (step in FIG. 6). Y in B5), if they do not match, the same process is repeated for the next waiting thread (N in step B5 in FIG. 6).

【0036】これにより、図3に示すプロセス9a、9
b及び9cは、同一のプロセッサで実行されることにな
り、アドレス空間を共有することにより発生するキャッ
シュメモリや共有メモリの一貫性を保持するためのオー
バーヘッドを減少させることができる。
As a result, the processes 9a and 9 shown in FIG.
b and 9c will be executed by the same processor, and the overhead for maintaining the coherency of the cache memory and the shared memory generated by sharing the address space can be reduced.

【0037】次に、図7乃至図9を参照して本発明の第
3実施例を説明する。図7及び図8は、同実施例におけ
るアドレス空間の共有に関するデータ構造8を具体的に
示した概念図である。
Next, a third embodiment of the present invention will be described with reference to FIGS. 7 and 8 are conceptual diagrams specifically showing the data structure 8 regarding sharing of the address space in the embodiment.

【0038】ここでは、図7に示すように、システム中
にプロセス9a、9b、9c、9d及び9eがあり、そ
れらがあるアドレス空間を共有する場合、具体的には、
プロセス9a、9b、9c及び9dがアドレス空間10
xを、プロセス9d及び9eがアドレス空間10yを、
プロセス9a及び9bがアドレス空間10zをそれぞれ
共有する場合を考える。
Here, as shown in FIG. 7, when there are processes 9a, 9b, 9c, 9d and 9e in the system and they share an address space, specifically,
Processes 9a, 9b, 9c and 9d have address space 10
x, processes 9d and 9e allocate address space 10y,
Consider a case where the processes 9a and 9b share the address space 10z.

【0039】図8に示すように、これらのプロセスに対
応するデータ構造は、それぞれ13a〜13eである。
そして、このプロセス群それぞれに対しprocgroup なる
データ構造11x〜11zを割り当てる。また、このプ
ロセス群に属する各プロセスに対応してpgseg なるデー
タ構造12a1〜12e1を割り当てる。そして、これ
らはリンクされた形で保持される。
As shown in FIG. 8, the data structures corresponding to these processes are 13a to 13e, respectively.
Then, data structures 11x to 11z, which are procgroups, are assigned to the respective process groups. Further, the data structures 12a1 to 12e1 of pgseg are assigned to the processes belonging to this process group. And these are held in linked form.

【0040】このprocgroup 11x〜11zは、pgseg
データ構造を指し示すためのポインタであるpg-pgsegli
nk、これを更新する際に排他制御を行うためのロックで
あるpg-pgseglock、及びこのprocgroup 11x〜11z
に属するプロセスが実行されるべきプロセッサのIDが
格納されるpg-cpuなるメンバにより構成される。一方、
pgseg 12a1〜12e1には、次のpgseg 構造を指し
示すためのポインタであるpgseg-link、同一プロセス内
で、別のアドレス空間を共有している場合にそのpgseg
データ構造を指し示すためのポインタであるpgseg-plin
k 、procgroup11x〜11zを指し示すためのポイン
タであるpgseg-pg、及びこのpgseg が属するプロセスの
データ構造13a〜13eを指し示すためのポインタで
あるpgseg-procp なるメンバで構成される。また、各プ
ロセスのデータ構造13a〜13eには、対応するpgse
g データ12a1〜12e1を指し示すためのポインタ
であるp-pgsegpなるメンバが存在する。このp-pgsegp
は、アドレス空間を共有していない場合には初期値が格
納されている。また、これらすべてのデータ構造を更新
する際に排他制御が必要となるが、そのためのロックを
示すものがpglock14である。
This procgroup 11x-11z is pgseg
Pg-pgsegli, which is a pointer to a data structure
nk, pg-pgseglock, which is a lock for performing exclusive control when updating this, and this procgroup 11x to 11z
Pg-cpu is a member in which the ID of the processor in which the process belonging to is to be executed is stored. on the other hand,
For pgseg 12a1 to 12e1, pgseg-link, which is a pointer for pointing to the next pgseg structure, and pgseg when another address space is shared in the same process
Pgseg-plin, which is a pointer for pointing to the data structure
k, pgseg-pg which is a pointer for pointing procgroups 11x to 11z, and pgseg-procp which is a pointer for pointing to the data structure 13a to 13e of the process to which this pgseg belongs. In addition, in the data structures 13a to 13e of each process, the corresponding pgse
There is a member p-pgsegp which is a pointer for pointing the g data 12a1 to 12e1. This p-pgsegp
Stores the initial value when the address space is not shared. Further, exclusive control is required when updating all these data structures, and pglock14 indicates a lock for that purpose.

【0041】ここで、図9を参照してプロセス間でアド
レス空間の共有が起こった場合のオペレーティングシス
テムの動作手順を説明する。図9はプロセス間でアドレ
ス空間の共有が起こった場合のオペレーティングシステ
ムの動作手順を説明するためのフローチャートである。
The operating procedure of the operating system when the address space is shared between processes will be described with reference to FIG. FIG. 9 is a flow chart for explaining the operating procedure of the operating system when the sharing of the address space occurs between processes.

【0042】初めてアドレス空間の共有が発生した場合
には、図5で示した手順により処理を行う。そして、こ
こでは、既に共有されているアドレス空間に対して新た
に共有を要求する場合を説明する。
When the address space is shared for the first time, the processing is performed according to the procedure shown in FIG. Then, here, a case will be described in which a new sharing is requested for an already shared address space.

【0043】この場合、まず、その新たにアドレス空間
の共有を要求したプロセスに対応するpgseg データ構造
12a1〜12e1を割り当てる(図9のステップC
1)。そして、この割り当てたpgseg データ構造と、ア
ドレス空間に対応したprocgroup データ構造11x〜1
1zとの間をリンクさせ、メンバの初期化を行う(図9
のステップC2)。
In this case, first, the pgseg data structures 12a1 to 12e1 corresponding to the process requesting the new sharing of the address space are allocated (step C in FIG. 9).
1). Then, this allocated pgseg data structure and the procgroup data structure 11x to 1 corresponding to the address space
Link with 1z and initialize members (Fig. 9).
Step C2).

【0044】ここで、互いに別のアドレス空間を共有し
ているプロセス同志が新たにアドレス空間を共有する場
合には(図9のステップC3のY)、双方のデータ構造
を合わせ、グルーピングする必要がある。この際、アド
レス空間の共有を要求した側のprocgroup データ構造の
後リンク(pg-forw )又は前リンク(pg-back )をたど
り、共有する相手側プロセスの属するprocgroup データ
構造が出現してこないかを確認する(図9のステップC
4〜C6)。もし、相手側プロセスの属するprocgroup
データ構造が出現した場合には(図9のステップC6の
Y)、すでに共有によるデータ構造のグルーピングが行
われていることになるので、新たに処理を行う必要はな
い。一方、相手側プロセスの属するprocgroup データ構
造が出現しなかった場合には、グルーピングを行う(図
9のステップC7)。この場合、要求側プロセスの属す
るprocgroup データ構造と相手側プロセスの属するproc
group データ構造とをリンクさせ、要求側プロセスの属
するprocgroup データ構造すべてのpg-cpuメンバを相手
の属するprocgroup データ構造のpg-cpuメンバに更新す
る。
Here, when processes that share different address spaces share a new address space (Y in step C3 of FIG. 9), it is necessary to match both data structures and perform grouping. is there. At this time, follow the back link (pg-forw) or front link (pg-back) of the procgroup data structure on the side that requested sharing of the address space, and see if the procgroup data structure to which the other process to be shared belongs appears (Step C in FIG. 9)
4-C6). If the other process belongs to procgroup
If a data structure appears (Y in step C6 in FIG. 9), it means that the data structure has already been grouped by sharing, so that it is not necessary to perform new processing. On the other hand, if the procgroup data structure to which the other process belongs does not appear, grouping is performed (step C7 in FIG. 9). In this case, the procgroup data structure of the requesting process and the proc of the other process
Link with the group data structure and update all pg-cpu members of the procgroup data structure to which the requesting process belongs to the pg-cpu member of the procgroup data structure to which the requesting process belongs.

【0045】これにより、図7に示すプロセス9a、9
b、9c、9d及び9eは、同一のプロセッサで実行さ
れることになり、アドレス空間を共有することにより発
生するキャッシュメモリや共有メモリの一貫性を保持す
るためのオーバーヘッドを減少させることができる。
As a result, the processes 9a and 9 shown in FIG.
b, 9c, 9d, and 9e will be executed by the same processor, and the overhead for maintaining the consistency of the cache memory and shared memory generated by sharing the address space can be reduced.

【0046】次に、図10を参照して上述したプロセス
間のアドレス空間の共有が解消された場合のオペレーテ
ィングシステムの動作手順を説明する。図10はプロセ
ス間のアドレス空間の共有が解消された場合のオペレー
ティングシステムの動作手順を説明するためのフローチ
ャートである。
Next, the operating procedure of the operating system when the sharing of the address space between processes described above is canceled will be described with reference to FIG. FIG. 10 is a flowchart for explaining the operating procedure of the operating system when the sharing of the address space between processes is canceled.

【0047】ここでは、図7の状態から、プロセス9d
が共有アドレス10xの共有を解消する場合を考える。
この場合、まずオペレーティングシステムは、共有の解
消するアドレス空間に対応するprocgroup データ構造1
1xから、pgseg データ構造12d1を取り除く(図1
0のステップD1)。この際、そのpgseg データ構造が
他のprocgroupデータ構造にも存在する場合には、このp
gseg データ構造同士のリンクも適切に更新する。この
例では、pgseg データ構造12d2が存在するため、こ
のpgsegデータ構造12d2のpgseg-plink を初期化し
ておく。
Here, the process 9d is changed from the state of FIG.
Consider a case in which the sharing of the shared address 10x is canceled.
In this case, the operating system first sets the procgroup data structure 1 corresponding to the address space to be shared.
Remove the pgseg data structure 12d1 from 1x (Fig. 1
0 step D1). At this time, if the pgseg data structure also exists in another procgroup data structure, this p
Update links between gseg data structures appropriately. In this example, since the pgseg data structure 12d2 exists, the pgseg-plink of this pgseg data structure 12d2 is initialized.

【0048】次に、procgroup データ構造のリンクをた
どり、先頭のprocgroup を検索する(図10のステップ
D2)。この例では11xが該当する。そして、ここに
つながれているすべてのpgseg に対して、各々のpgseg-
plink をたどり、共有関係のあるprocgroup データ構造
を求め、これをprocgroup データ構造のリンクpg-link
に加える。この例では、procgroup データ構造11xか
らpg-pgseglinkをたどり、pgseg 12a1がまず検索さ
れる。そして、このpgseg 12a1は、pgseg12a2
に対するリンクをもっているので、pgseg 12a2の属
するprocgroupデータ構造であるprocgroup データ構造
11zをprocgroup データ構造11xのリンクpg-link
に加える(図10のステップD4)。オペレーティング
システムは、この動作を繰り返し、pgseg 12b1及び
pgseg 12c1についての処理が終了したら、procgrou
p データ構造11xのpg-link をたどり、次のprocgrou
pデータ構造について同様の処理を繰り返す。
Next, the link of the procgroup data structure is followed to search for the first procgroup (step D2 in FIG. 10). In this example, 11x is applicable. And for every pgseg connected here, each pgseg-
Follow plink to find a procgroup data structure with a shared relationship, and link it to the procgroup data structure pg-link
Add to In this example, pg-pgseglink is traced from the procgroup data structure 11x, and pgseg 12a1 is searched first. And this pgseg 12a1 is pgseg 12a2
Pgseg 12a2's procgroup data structure 11z, which is a procgroup data structure 11z, is linked to procgroup data structure 11x.
(Step D4 in FIG. 10). The operating system repeats this operation, and pgseg 12b1 and
When the processing for pgseg 12c1 is completed, procgrou
Follow the pg-link of the p data structure 11x to find the next procgrou
Repeat the same process for the p data structure.

【0049】この処理がすべて終了した時点で、プロセ
ス群を分割できる場合には、pg-link でつながれている
procgroup 群とつながれていないprocgroup 群とに分か
れるので(図10のステップD6のY)、つながれてい
ないprocgroup 群をpg-forw及びpg-back でリンクする
(図10のステップD7)。また、つながれているproc
group 群に対しても、pg-forw 及びpg-back を設定して
おくとともに、pg-link を初期化しておく。
At the time when all of this processing is completed, if the process group can be divided, it is connected by pg-link.
Since the procgroup group and the unconnected procgroup group are separated (Y in step D6 of FIG. 10), the unconnected procgroup group is linked by pg-forw and pg-back (step D7 of FIG. 10). Also, the connected proc
Set pg-forw and pg-back for the group group as well as initialize pg-link.

【0050】次に、分割されたグループの一方を、適切
なプロセッサで実行させるため、pg-cpuを更新する。な
お、pg-link でつながれていないprocgroup 群が存在し
なかった場合には、分割ができない場合ということにな
り、この場合には、pg-form とpg-back を設定してpg-l
ink を初期化する。これにより、システム全体の効率を
より向上させることが可能となる。
Next, pg-cpu is updated so that one of the divided groups is executed by an appropriate processor. If there is no procgroup group that is not connected by pg-link, it means that it cannot be divided.In this case, set pg-form and pg-back and set pg-l
Initialize ink. This makes it possible to further improve the efficiency of the entire system.

【0051】[0051]

【発明の効果】以上詳記したように本発明によれば、プ
ロセス間でアドレス空間を共有している場合に、それら
のプロセスを同一のプロセッサにスケジューリングして
実行することにより、キャッシュメモリや共有メモリの
一貫性を保持するためのオーバーヘッドを減少させ、シ
ステム性能の向上を図ることが可能となる。
As described above in detail, according to the present invention, when an address space is shared between processes, the processes are scheduled and executed by the same processor, so that the cache memory and the shared memory can be shared. It is possible to reduce the overhead for maintaining the memory consistency and improve the system performance.

【0052】また、同一プロセッサで実行すべき必要性
がなくなった場合に、実行プロセッサを適切に割り振る
ため、システム全体の効率をより向上させることが可能
となる。
Further, when there is no need for execution by the same processor, the execution processors are appropriately allocated, so that the efficiency of the entire system can be further improved.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の第1実施例に係るスケジューリング装
置の概略構成を示す図。
FIG. 1 is a diagram showing a schematic configuration of a scheduling device according to a first embodiment of the present invention.

【図2】本発明の第2実施例に係るスケジューリング装
置の概略構成を示す図。
FIG. 2 is a diagram showing a schematic configuration of a scheduling device according to a second embodiment of the present invention.

【図3】第2実施例におけるアドレス空間の共有に関す
るデータ構造を具体的に示した概念図。
FIG. 3 is a conceptual diagram specifically showing a data structure regarding sharing of an address space in the second embodiment.

【図4】第2実施例におけるアドレス空間の共有に関す
るデータ構造を具体的に示した概念図。
FIG. 4 is a conceptual diagram specifically showing a data structure regarding sharing of an address space in the second embodiment.

【図5】プロセス間でアドレス空間の共有が起こった場
合のオペレーティングシステムの動作手順を説明するた
めのフローチャート。
FIG. 5 is a flowchart for explaining an operating procedure of an operating system when sharing of an address space occurs between processes.

【図6】オペレーティングシステムがスレッドを実行す
る際の動作手順を説明するためのフローチャート。
FIG. 6 is a flowchart for explaining an operation procedure when the operating system executes a thread.

【図7】第3実施例におけるアドレス空間の共有に関す
るデータ構造を具体的に示した概念図。
FIG. 7 is a conceptual diagram specifically showing a data structure regarding sharing of an address space in the third embodiment.

【図8】第3実施例におけるアドレス空間の共有に関す
るデータ構造を具体的に示した概念図。
FIG. 8 is a conceptual diagram specifically showing a data structure relating to sharing of an address space in the third embodiment.

【図9】プロセス間でアドレス空間の共有が起こった場
合のオペレーティングシステムの動作手順を説明するた
めのフローチャート。
FIG. 9 is a flowchart for explaining an operating procedure of the operating system when sharing of an address space occurs between processes.

【図10】プロセス間のアドレス空間の共有が解消され
た場合のオペレーティングシステムの動作手順を説明す
るためのフローチャート。
FIG. 10 is a flowchart illustrating an operating procedure of an operating system when sharing of an address space between processes is canceled.

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

1a〜1c…プロセッサ、2…共有メモリ、3…バス、
4…オペレーティングシステムが使用するデータ群、5
…プロセスに関するデータ構造、6…スケジュールに関
する情報を格納するための領域、7…アドレス空間の共
有に関するデータ構造へのポインタ、8…アドレス空間
の共有に関するデータ構造。
1a to 1c ... Processor, 2 ... Shared memory, 3 ... Bus,
4 ... Data group used by operating system, 5
... data structure regarding process, 6 ... area for storing information regarding schedule, 7 ... pointer to data structure regarding sharing of address space, 8 ... data structure relating to sharing of address space.

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセッサがメモリを共有するマ
ルチプロセッサシステムであって、アドレス空間を共有
する複数のスレッドから構成されるプロセスを実行する
マルチプロセッサシステムのスケジューリング装置にお
いて、 上記スレッドそれぞれが実行されるべきプロセッサを示
す情報をプロセス単位に管理する手段と、上記プロセッ
サが実行待ち行列に蓄積されたスレッドを実行する際
に、上記格納された情報からそのスレッドが当該プロセ
ッサにて実行可能であるか否かを判断する手段とを具備
し、同一のプロセスに属するスレッドすべてを同一のプ
ロセッサで実行させることを特徴とするマルチプロセッ
サシステムのスケジューリング装置。
1. A scheduling device of a multiprocessor system in which a plurality of processors share a memory, and which executes a process composed of a plurality of threads sharing an address space, each thread is executed. A means for managing information indicating a processor to be processed in process units, and whether the thread can be executed by the processor from the stored information when the processor executes the thread accumulated in the execution queue. A scheduling device for a multiprocessor system, comprising: a means for determining whether or not the threads belong to the same process, and all threads belonging to the same process are executed by the same processor.
【請求項2】 上記管理手段は、複数のプロセス間でア
ドレス空間の共有が発生した際に、このプロセス群単位
に上記スレッドそれぞれが実行されるべきプロセッサを
示す情報を管理する手段を具備し、同一のプロセス群に
属するスレッドすべてを同一のプロセッサで実行させる
ことを特徴とする請求項1記載のマルチプロセッサシス
テムのスケジューリング装置。
2. The management means comprises means for managing information indicating a processor in which each of the threads should be executed in units of this process group when an address space is shared among a plurality of processes, 2. The scheduling device for a multiprocessor system according to claim 1, wherein all threads belonging to the same process group are executed by the same processor.
【請求項3】 上記管理手段は、複数のプロセス群間で
アドレス空間の共有が発生した際に、アドレス空間の共
有を要求した側のプロセスが形成するすべてのプロセス
群の情報をアドレス空間の共有を要求された側のプロセ
スが形成するプロセス群の情報に更新する手段を具備
し、アドレス空間を共有するプロセス群に属するスレッ
ドすべてを同一のプロセッサで実行させることを特徴と
する請求項2記載のマルチプロセッサシステムのスケジ
ューリング装置。
3. When the address space is shared among a plurality of process groups, the management means shares the information of all process groups formed by the process on the side requesting the sharing of the address space with the shared address space. 3. The method according to claim 2, further comprising means for updating the information of a process group formed by a process on the requesting side so that all threads belonging to the process group sharing the address space are executed by the same processor. Scheduling device for multiprocessor system.
【請求項4】 上記管理手段は、いずれかのプロセスが
アドレス空間の共有を解消した際に、このプロセスが形
成するプロセス群同士のアドレス空間の共有が解消され
るか否かを判定し、プロセス群同士のアドレス空間の共
有が解消される場合に、これらのプロセス群各々に個別
の情報を割り振る手段を具備してなることを特徴とする
請求項3記載のマルチプロセッサシステムのスケジュー
リング装置。
4. The management means, when any process cancels the sharing of the address space, judges whether or not the sharing of the address space between the process groups formed by this process is canceled, 4. The scheduling device for a multiprocessor system according to claim 3, further comprising means for allocating individual information to each of these process groups when sharing of the address space between the groups is canceled.
【請求項5】 上記管理される情報は、上記複数のプロ
セッサのいずれのプロセッサで実行してもかまわない旨
を示す情報を含むことを特徴とする請求項1、2、3又
は4記載のマルチプロセッサシステムのスケジューリン
グ装置。
5. The multi-information according to claim 1, wherein the managed information includes information indicating that any of the plurality of processors may be executed. Processor system scheduling device.
JP31810594A 1994-12-21 1994-12-21 Scheduling device Pending JPH08180025A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31810594A JPH08180025A (en) 1994-12-21 1994-12-21 Scheduling device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31810594A JPH08180025A (en) 1994-12-21 1994-12-21 Scheduling device

Publications (1)

Publication Number Publication Date
JPH08180025A true JPH08180025A (en) 1996-07-12

Family

ID=18095551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31810594A Pending JPH08180025A (en) 1994-12-21 1994-12-21 Scheduling device

Country Status (1)

Country Link
JP (1) JPH08180025A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100608220B1 (en) * 2003-06-27 2006-08-08 가부시끼가이샤 도시바 Information processing system, memory management method and recording medium for storing program to execute the method
KR100623217B1 (en) * 2003-06-27 2006-09-18 가부시끼가이샤 도시바 Scheduling method, recording medium for storing program to execute the method and realtime processing system
US7418705B2 (en) 2003-06-27 2008-08-26 Kabushiki Kaisha Toshiba Method and system for performing real-time operation
US7464379B2 (en) 2003-08-14 2008-12-09 Kabushiki Kaisha Toshiba Method and system for performing real-time operation
CN100462924C (en) * 2005-03-25 2009-02-18 株式会社东芝 Schedulability determination method and real-time system
US7685599B2 (en) 2003-09-26 2010-03-23 Kabushiki Kaisha Toshiba Method and system for performing real-time operation
JP2010211259A (en) * 2009-03-06 2010-09-24 Nec Corp Virtual machine system, information processor, resource management method, program and recording medium
US8495651B2 (en) 2003-07-22 2013-07-23 Kabushiki Kaisha Toshiba Method and system for performing real-time operation including plural chained tasks using plural processors

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7657890B2 (en) 2003-06-27 2010-02-02 Kabushiki Kaisha Toshiba Scheduling system and method in which threads for performing a real-time operation are assigned to a plurality of processors
KR100623217B1 (en) * 2003-06-27 2006-09-18 가부시끼가이샤 도시바 Scheduling method, recording medium for storing program to execute the method and realtime processing system
US7356666B2 (en) 2003-06-27 2008-04-08 Kabushiki Kaisha Toshiba Local memory management system with plural processors
US7418705B2 (en) 2003-06-27 2008-08-26 Kabushiki Kaisha Toshiba Method and system for performing real-time operation
KR100608220B1 (en) * 2003-06-27 2006-08-08 가부시끼가이샤 도시바 Information processing system, memory management method and recording medium for storing program to execute the method
US7739457B2 (en) 2003-06-27 2010-06-15 Kabushiki Kaisha Toshiba Local memory management system with plural processors
US8171477B2 (en) 2003-06-27 2012-05-01 Kabushiki Kaisha Toshiba Method and system for performing real-time operation
US8495651B2 (en) 2003-07-22 2013-07-23 Kabushiki Kaisha Toshiba Method and system for performing real-time operation including plural chained tasks using plural processors
US7464379B2 (en) 2003-08-14 2008-12-09 Kabushiki Kaisha Toshiba Method and system for performing real-time operation
US8087020B2 (en) 2003-08-14 2011-12-27 Kabushiki Kaisha Toshiba Method and system for performing real-time operation
US7685599B2 (en) 2003-09-26 2010-03-23 Kabushiki Kaisha Toshiba Method and system for performing real-time operation
CN100462924C (en) * 2005-03-25 2009-02-18 株式会社东芝 Schedulability determination method and real-time system
JP2010211259A (en) * 2009-03-06 2010-09-24 Nec Corp Virtual machine system, information processor, resource management method, program and recording medium

Similar Documents

Publication Publication Date Title
US10387194B2 (en) Support of non-trivial scheduling policies along with topological properties
US6816947B1 (en) System and method for memory arbitration
US7080375B2 (en) Parallel dispatch wait signaling method, method for reducing contention of highly contended dispatcher lock, and related operating systems, multiprocessor computer systems and products
EP0428006B1 (en) Multilevel locking system and method
JP3444505B2 (en) Scheduling apparatus and method
US8185710B2 (en) Hardware memory locks
JP3155537B2 (en) Real memory management method
JPH01188965A (en) Data processing
EP1906313A1 (en) Memory management in a shared memory system
US20130263148A1 (en) Managing a set of resources
Ulusoy Research issues in real-time database systems: survey paper
Cole et al. Analysis of randomized work stealing with false sharing
US10360079B2 (en) Architecture and services supporting reconfigurable synchronization in a multiprocessing system
JPH08180025A (en) Scheduling device
US7406554B1 (en) Queue circuit and method for memory arbitration employing same
JP6732032B2 (en) Information processing equipment
JPH06348661A (en) Inter-multiprocessor exclusive control system
JPH05151064A (en) Tightly coupled multiprocessor system
Istavrinos et al. A process and memory model for a parallel distributed-memory machine
US7000089B2 (en) Address assignment to transaction for serialization
JP2023179057A (en) Arithmetic processing unit and arithmetic processing method
Warner et al. The impact of multilevel security on database buffer management
JP2004086921A (en) Multiprocessor system and method for executing task in multiprocessor system thereof
JPH07120305B2 (en) Database processing method by multiprocessor
Ulusoy Lock-based concurrency control in distributed real-time database systems