JPH05151064A - Tightly coupled multiprocessor system - Google Patents

Tightly coupled multiprocessor system

Info

Publication number
JPH05151064A
JPH05151064A JP3316329A JP31632991A JPH05151064A JP H05151064 A JPH05151064 A JP H05151064A JP 3316329 A JP3316329 A JP 3316329A JP 31632991 A JP31632991 A JP 31632991A JP H05151064 A JPH05151064 A JP H05151064A
Authority
JP
Japan
Prior art keywords
execution
threads
thread
processor
processors
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
JP3316329A
Other languages
Japanese (ja)
Inventor
Hidehiko Wada
英彦 和田
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP3316329A priority Critical patent/JPH05151064A/en
Publication of JPH05151064A publication Critical patent/JPH05151064A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To reduce the traffic of a system bus and to improve the performance of the whole system by performing assignment in consideration of the effect of a cache memory when processors of threads are scheduled. CONSTITUTION:A shared memory is stored with the storage 1 of execution threads, an array assignable processor set 2, an executable thread set 3, a task set, an execution thread set 5, and an execution interruption thread set 6 respectively. One of the processors is provided with a scheduler 7 which assigns the threads of the processors according to the execution history of the execution threads, the assignable processor set 2, executable thread set 3, task set 4, execution thread set 5, and execution interruption threads 6 by referring to the relation between the threads and tasks. Then the threads whose processing is to be restarted are assigned preferentially to the processors to which the threads are assigned before.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、各プロセッサがキャッ
シュメモリを有する密結合マルチプロセッサシステムに
関し、詳しくはスレッドのスケジューリング方式に関す
るものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a tightly coupled multiprocessor system in which each processor has a cache memory, and more particularly to a thread scheduling system.

【0002】[0002]

【従来の技術】従来より、システムバスに接続された共
有メモリと複数個のプロセッサから構成される密結合マ
ルチプロセッサシステムがある。図3はこの種のマルチ
プロセッサシステムの一例を示す要部構成図である。各
プロセッサ10,20,30は、マイクロプロセッサユ
ニットMPUとキャッシュメモリCMから構成される。
なお、プロセッサMPUはそれぞれ浮動小数点演算ユニ
ットFPU等の専用プロセッサを持っている場合があ
る。そしてこれら各プロセッサはシステムバス40を介
して共有メモリ50と接続されている。
2. Description of the Related Art Conventionally, there is a tightly coupled multiprocessor system including a shared memory connected to a system bus and a plurality of processors. FIG. 3 is a main part configuration diagram showing an example of this type of multiprocessor system. Each processor 10, 20, 30 is composed of a microprocessor unit MPU and a cache memory CM.
Each processor MPU may have a dedicated processor such as a floating point unit FPU. Each of these processors is connected to the shared memory 50 via the system bus 40.

【0003】なお、ここで、本発明で使用するタスクと
スレッドという用語について定義しておく。タスクと
は、実際に計算を行なうために必要なシステムや計算機
の資源を管理する単位であり、アドレス空間の単位を指
す。また、スレッドとは計算実行の単位であり、CPU
資源の割当の単位をいう。この定義に従えば、スレッド
はタスク単位で管理される環境の中で実行されるという
ことになる。また、最近の計算モデルでは一つのタスク
の中に複数のスレッドが存在するマルチスレッドのモデ
ルが提案されており、そのようなマルチスレッドの考え
方はマルチプロセッサシステムとの親和性がよいという
点で高く評価されている。
The terms task and thread used in the present invention are defined here. A task is a unit that manages the resources of the system or computer required to actually perform the calculation, and refers to the unit of the address space. A thread is a unit of calculation execution, and a CPU
A unit of resource allocation. According to this definition, threads are executed in an environment managed in task units. In addition, a recent calculation model has proposed a multi-thread model in which multiple threads exist in one task, and such a concept of multi-thread is high in that it has good affinity with a multiprocessor system. Has been evaluated.

【0004】さて、このようなバス結合によるメモリ共
有型のマルチプロセッサシステムでは、結合するプロセ
ッサ数が増加すると、プロセッサを結合しているシステ
ムバス40のトラフィックが増加する。そのためメモリ
アクセスに関してプロセッサ間の競合が発生する。プロ
セッサ間の競合が発生すると待ち時間が長くなり、シス
テム全体の性能は低下することになる。システムバス4
0のトラフィックを減少させることができればプロセッ
サ台数を増やしシステム全体の性能を向上させることが
できる。しかし、プロセッサ台数を増やすとやはりシス
テムバス40のトラフィックが増加し、そのため競合の
発生も多くなってしまう。システムバスのトラフィック
を減少させるには、図3に示すように各プロセッサにキ
ャッシュメモリを付加する方式が有効である。
In the memory sharing type multiprocessor system based on such bus coupling, as the number of processors coupled increases, the traffic on the system bus 40 coupling the processors increases. Therefore, competition between processors occurs in memory access. When competition occurs between processors, the waiting time becomes long, and the performance of the entire system deteriorates. System bus 4
If the traffic of 0 can be reduced, the number of processors can be increased and the performance of the entire system can be improved. However, if the number of processors is increased, the traffic on the system bus 40 also increases, which causes more competition. To reduce the system bus traffic, it is effective to add a cache memory to each processor as shown in FIG.

【0005】[0005]

【発明が解決しようとする課題】しかしながら従来のス
ケジューリング方式、すなわち実行途中で中断されたス
レッドを再開する時にはそのスレッドを実行可能である
任意のプロセッサに割り当てるという方式においては、
ハードウェア的に有効であるキャッシュメモリを十分に
利用していないという問題がある。つまりキャッシュの
効果を考慮に入れてスケジューリングを行なっているわ
けではないということである。また従来の方式は新しい
プログラミングモデルであるマルチスレッドに関しても
考慮していないという問題がある。
However, in the conventional scheduling method, that is, in the method of resuming a thread suspended in the middle of execution, the thread is assigned to an executable processor,
There is a problem that the cache memory that is effective in terms of hardware is not fully utilized. In other words, it does not mean that scheduling is performed with the effect of cache taken into consideration. In addition, the conventional method has a problem in that it does not consider the new programming model of multithreading.

【0006】本発明の目的は、このような点に鑑みてな
されたもので、マルチプロセッサシステムにおいてスレ
ッドのプロセッサへのスケジューリングを行なう際、キ
ャッシュメモリによる効果を考慮した割り当てを行なう
ことによってシステムバスのトラフィックを軽減し、さ
らにシステム全体の性能を向上することのできるスケジ
ューリング方式を採用した密結合マルチプロセッサシス
テムを提供することにある。
The object of the present invention has been made in view of the above circumstances, and when a thread is scheduled to a processor in a multiprocessor system, the system bus of the system bus is allocated by allocating the effect of a cache memory. It is an object of the present invention to provide a tightly coupled multiprocessor system adopting a scheduling method that can reduce traffic and improve the performance of the entire system.

【0007】[0007]

【課題を解決するための手段】このような目的を達成す
るために本発明では、密結合マルチプロセッサシステム
において、前記共有メモリに、実行スレッドの記憶、並
びに割り当て可能プロセッサ集合、実行可能スレッド集
合、タスク集合、実行スレッド集合および実行中断スレ
ッド集合のそれぞれを記憶し、前記複数のプロセッサの
内のいずれか一つのプロセッサに、前記実行スレッドの
実行履歴と、割り当て可能プロセッサ集合、実行可能ス
レッド集合、タスク集合、実行スレッド集合および実行
中断スレッド集合からスレッドとタスクの関係を参照
し、プロセッサのスレッドの割り当てを行うスケジュー
ラを備えるようにした。
In order to achieve such an object, according to the present invention, in a tightly coupled multiprocessor system, execution threads are stored in the shared memory, and an assignable processor set, an executable thread set, Each of the task set, the execution thread set, and the execution suspending thread set is stored, and the execution history of the execution thread, the assignable processor set, the executable thread set, and the task are stored in any one of the plurality of processors. A scheduler for allocating processor threads is provided by referring to the relationship between threads and tasks from a set, an execution thread set, and an execution suspension thread set.

【0008】[0008]

【作用】本発明では、スレッドのプロセッサへのスケジ
ューリングの際、キャッシュメモリによる効果を考慮し
た割り当てを行う。すなわち、処理を再開するスレッド
として、そのスレッドが以前割り当てられたプロセッサ
に優先的に割り当てるようにする。その割り当てが不可
能な場合には、同じタスクに属する別のスレッドが割り
当てられていたプロセッサに割り当てるようにする。同
一タスク内では論理空間が共有されているので、同一タ
スク内の別のスレッドが使用したキャッシュデータの再
利用の可能性は高い。これにより、システムバスのトラ
フィックを軽減させることができる。
According to the present invention, when scheduling threads to processors, allocation is performed in consideration of the effect of the cache memory. That is, as a thread for resuming processing, the thread is preferentially assigned to the previously assigned processor. If the assignment is impossible, another thread belonging to the same task is assigned to the assigned processor. Since the logical space is shared in the same task, there is a high possibility that the cache data used by another thread in the same task will be reused. This can reduce system bus traffic.

【0009】[0009]

【実施例】以下本発明を詳細に説明する。キャッシュメ
モリを有するシステムにおいて、実行を再開するスレッ
ドが中断前とは別のプロセッサに割り当てられた場合、
共有メモリからキャッシュミスしたデータを転送すると
いう動作が必ず必要となり、そのためにシステムバスの
トラフィックが増加することになる。一方実行を再開す
るスレッドが、中断前に実行していたプロセッサに割り
当てられた場合、キャッシュメモリ内に中断前に使用し
ていたデータが残っていれば、キャッシュメモリ内のデ
ータをそのまま利用することによりプログラムの実行ス
ピードは向上する。さらに共有メモリからのデータ転送
が不必要となり、そのためシステムバスのトラフィック
は減少することになる。
The present invention will be described in detail below. In a system with cache memory, if the thread that resumes execution is assigned to a different processor than before the suspension,
The operation of transferring the cache-missed data from the shared memory is always required, which increases the system bus traffic. On the other hand, when the thread that resumes execution is assigned to the processor that was executing before the suspension, if the data that was used before the suspension remains in the cache memory, use the data in the cache memory as is. This improves the program execution speed. Furthermore, data transfer from the shared memory is unnecessary, which reduces system bus traffic.

【0010】このことから、本発明では、処理を再開す
るスレッドを、そのスレッドが以前割り当てられたプロ
セッサに優先的に割り当てるようにする。また、その割
り当てができない場合には、同じタスクに属する別のス
レッドが割り当てられていたプロセッサに割り当てるよ
うにする。なお、同一タスク内では論理空間を共有して
いるので、同一タスク内の別のスレッドが使用したキャ
ッシュデータを再利用できる可能性が高い。このような
方式を採れば、以前キャッシュメモリ内に転送したデー
タを有効に再利用できることは明らかである。このよう
なスケジューリング方式を実現するためには、上記のよ
うなスケジューリングアルゴリズムを実装したスケジュ
ーラと、各プロセッサで実行したスレッド等をそれぞれ
記憶するメモリが必要である。
In view of this, the present invention preferentially allocates a thread for restarting processing to the processor to which the thread was previously allocated. If the allocation cannot be done, another thread belonging to the same task is allocated to the allocated processor. Since the same task shares a logical space, there is a high possibility that the cache data used by another thread in the same task can be reused. It is obvious that the data previously transferred in the cache memory can be effectively reused by adopting such a method. In order to realize such a scheduling method, a scheduler that implements the above-described scheduling algorithm and a memory that stores threads executed by each processor are required.

【0011】図1はこれを実現するためのブロック構成
図である。図において、1は各プロセッサで実行したス
レッドを記憶する実行スレッド記憶メモリであり、各プ
ロセッサごとにそのプロセッサで以前実行されたスレッ
ド番号(1つのスレッドごとに付けられるユニークな番
号)をn個分記憶する。nはタスクやスレッドの特性に
よって変更することができる。2ないし6もメモリであ
り、2は割り当て可能プロセッサ集合、3は実行可能ス
レッド集合、4はタスク集合、5は実行スレッド集合、
6は実行中断スレッド集合をそれぞれ記憶するメモリで
ある。7はスケジューラである。そして、実線の矢印は
スレッドが矢印で示されるタスクに属することを示し、
破線の矢印はプロセッサが過去に実行していたスレッド
を記憶するメモリへの参照関係を示す。
FIG. 1 is a block diagram for realizing this. In the figure, reference numeral 1 is an execution thread storage memory for storing threads executed by each processor. For each processor, n thread numbers (unique numbers assigned to each thread) previously executed by the processor are stored. Remember. n can be changed according to the characteristics of the task or thread. 2 to 6 are also memories, 2 is an assignable processor set, 3 is an executable thread set, 4 is a task set, 5 is an execution thread set,
Reference numeral 6 is a memory for storing each set of execution interrupt threads. 7 is a scheduler. And the solid arrow indicates that the thread belongs to the task indicated by the arrow,
The dashed arrow indicates the reference relationship to the memory that stores the thread that the processor was executing in the past.

【0012】なお、メモリ1ないし6は図3の構成にお
いては共有メモリ50に在り、スケジューラ7は図3の
構成においてはいずれかのプロセッサに設けられる。ス
ケジューラ7は、プロセッサにスレッドの割り当てを行
なう場合、実行スレッド記憶メモリ1にある過去のスレ
ッドの実行履歴と、割り当て可能プロセッサ集合2ない
し実行中断スレッド集合6にあるスレッドとタスクの関
係を参照しながらスケジューリングを行なう。
The memories 1 to 6 are in the shared memory 50 in the configuration of FIG. 3, and the scheduler 7 is provided in any of the processors in the configuration of FIG. When assigning a thread to a processor, the scheduler 7 refers to the past execution history of threads in the execution thread storage memory 1 and the relationship between threads and tasks in the assignable processor set 2 or the execution suspended thread set 6. Schedule.

【0013】このような構成における動作を図2の動作
フローを参照して次に説明する。図2はある時点で割り
当て可能であるプロセッサのスケジューリングに関する
動作フローである。あるプロセッサ(このプロセッサを
Pとする)が空きになると以下の手順に従って処理が行
なわれる。 実行可能集合3の中からスレッド(このスレッドをS
とする)を選択する。 割り当て可能プロセッサ集合2と実行スレッド記憶メ
モリ1を参照して前記選択スレッドSが以前プロセッサ
Pで実行されていたかどうかを判定する。実行されてい
ない場合は次のに移り、実行されていた場合はに移
行する。 スレッドSの中断時間がT1を越しているかどうかを
判定する。越している場合は次の処理に移行する。越
していない場合はの処理に戻る。 実行スレッド記憶メモリ1と割り当て可能プロセッサ
集合2を参照して求めたスレッドがプロセッサPで以前
実行されたスレッドかどうかを、タスク集合4、実行ス
レッド集合5、実行中断スレッド集合6を参照して同一
タスクに属するかどうかを判定する。属しない場合は次
のの処理に移行する。属する場合はの処理に移行す
る。 スレッドSの中断時間がT2を越しているかどうかを
判定する。越していない場合はの処理に戻る。越して
いる場合はの処理に移行する。 スレッドSをプロセッサPで実行する。
The operation of such a configuration will be described below with reference to the operation flow of FIG. FIG. 2 is an operation flow relating to the scheduling of processors that can be assigned at a certain time. When a certain processor (this processor is designated as P) becomes empty, processing is performed according to the following procedure. A thread (this thread is S
And select). By referring to the assignable processor set 2 and the execution thread storage memory 1, it is determined whether or not the selected thread S was previously executed by the processor P. If it has not been executed, move to the next step. If it has been executed, move to. It is determined whether the suspension time of the thread S exceeds T1. If it is over, move to the next process. If not, the process returns to. Whether the thread obtained by referring to the execution thread storage memory 1 and the assignable processor set 2 is the thread previously executed by the processor P is the same by referring to the task set 4, the execution thread set 5, and the execution interrupt thread set 6. Determine if it belongs to a task. If it does not belong, the process moves to the next process. If it belongs, the process shifts to. It is determined whether the suspension time of the thread S exceeds T2. If not, the process returns to. If it is over, move to the process. The thread S is executed by the processor P.

【0014】なお、上記T1,T2はスレッドSをプロ
セッサPで実行して、システムバスのトラフィックを軽
減するのに有効な時間を表わし、キャッシュメモリの構
成やタスク・スレッドの特性によって変化する。T1は
1つのスレッドを同じプロセッサで実行する場合の時間
を示し、T2は1つのスレッドを同じタスク内の別のス
レッドが実行したプロセッサで実行する場合の時間であ
る。
The above T1 and T2 represent the time effective for reducing the traffic on the system bus by executing the thread S in the processor P, and change depending on the cache memory configuration and the task / thread characteristics. T1 indicates the time when one thread is executed by the same processor, and T2 is the time when one thread is executed by the processor executed by another thread in the same task.

【0015】[0015]

【発明の効果】以上説明したように、本発明によれば、
キャッシュメモリの効果をスケジューリングに反映する
ことによりシステムバスのトラフィックを軽減させ、さ
らにシステム全体の性能を向上させることができる。特
にキャッシュメモリの容量が大きくなるほど、またプロ
セッサ台数が多くなりシステムバスのトラフィックが大
きい場合ほど、その効果は著しい。
As described above, according to the present invention,
By reflecting the effect of the cache memory on the scheduling, it is possible to reduce the traffic on the system bus and further improve the performance of the entire system. In particular, the larger the cache memory capacity, the larger the number of processors and the larger the system bus traffic, the more remarkable the effect.

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

【図1】本発明に係る共有メモリ型マルチプロセッサシ
ステムにおけるスケジューリング機能部分のブロック構
成図である。
FIG. 1 is a block configuration diagram of a scheduling function portion in a shared memory type multiprocessor system according to the present invention.

【図2】動作を説明するための動作フローである。FIG. 2 is an operation flow for explaining the operation.

【図3】共有メモリ型マルチプロセッサシステムの一例
を示す概念的構成図である。
FIG. 3 is a conceptual configuration diagram showing an example of a shared memory type multiprocessor system.

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

1 実行スレッド記憶メモリ 2 割り当て可能プロセッサ集合 3 実行可能スレッド集合 4 タスク集合 5 実行スレッド集合 6 実行中断スレッド集合 7 スケジューラ 1 Execution Thread Storage Memory 2 Assignable Processor Set 3 Executable Thread Set 4 Task Set 5 Execution Thread Set 6 Execution Suspended Thread Set 7 Scheduler

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】共有メモリと、キャッシュメモリをそれぞ
れ有する複数のプロセッサがシステムバスを介して相互
に接続された構成で成る密結合マルチプロセッサシステ
ムにおいて、 前記共有メモリに、実行スレッドの記憶、並びに割り当
て可能プロセッサ集合、実行可能スレッド集合、タスク
集合、実行スレッド集合および実行中断スレッド集合の
それぞれを記憶し、 前記複数のプロセッサの内のいずれか一つのプロセッサ
に、前記実行スレッドの実行履歴と、割り当て可能プロ
セッサ集合、実行可能スレッド集合、タスク集合、実行
スレッド集合および実行中断スレッド集合からスレッド
とタスクの関係を参照し、プロセッサのスレッドの割り
当てを行うスケジューラを備え、 システムバスのトラフィックを軽減させるようにしたこ
とを特徴とする密結合マルチプロセッサシステム。
1. A tightly coupled multiprocessor system comprising a plurality of processors each having a shared memory and a cache memory connected to each other via a system bus, wherein the shared memory stores and allocates execution threads. Each of a set of executable processors, a set of executable threads, a set of tasks, a set of execution threads, and a set of suspended threads of execution is stored, and the execution history of the execution threads and allocation to any one of the plurality of processors are possible. A scheduler that allocates processor threads by referencing the relationship between threads and tasks from the processor set, executable thread set, task set, execution thread set, and execution interrupt thread set is provided to reduce system bus traffic. That Tightly coupled multiprocessor system according to symptoms.
JP3316329A 1991-11-29 1991-11-29 Tightly coupled multiprocessor system Pending JPH05151064A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3316329A JPH05151064A (en) 1991-11-29 1991-11-29 Tightly coupled multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3316329A JPH05151064A (en) 1991-11-29 1991-11-29 Tightly coupled multiprocessor system

Publications (1)

Publication Number Publication Date
JPH05151064A true JPH05151064A (en) 1993-06-18

Family

ID=18075920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3316329A Pending JPH05151064A (en) 1991-11-29 1991-11-29 Tightly coupled multiprocessor system

Country Status (1)

Country Link
JP (1) JPH05151064A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08227364A (en) * 1994-12-20 1996-09-03 Nec Corp Method and device for executing sequential multithread
US6088788A (en) * 1996-12-27 2000-07-11 International Business Machines Corporation Background completion of instruction and associated fetch request in a multithread processor
KR100488836B1 (en) * 2000-06-20 2005-05-11 인터내셔널 비지네스 머신즈 코포레이션 Parallel software processing system
US7171666B2 (en) 2000-08-04 2007-01-30 International Business Machines Corporation Processor module for a multiprocessor system and task allocation method thereof
WO2007017932A1 (en) * 2005-08-09 2007-02-15 Fujitsu Limited Schedule control program and schedule control method
WO2010120376A2 (en) * 2009-04-16 2010-10-21 Vns Portfolio Llc Method and apparatus for dynamic partial reconfiguration on an array of processors
US8539153B2 (en) 2009-02-25 2013-09-17 Samsung Electronics Co., Ltd. System on chip and electronic system having the same

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08227364A (en) * 1994-12-20 1996-09-03 Nec Corp Method and device for executing sequential multithread
US6088788A (en) * 1996-12-27 2000-07-11 International Business Machines Corporation Background completion of instruction and associated fetch request in a multithread processor
KR100488836B1 (en) * 2000-06-20 2005-05-11 인터내셔널 비지네스 머신즈 코포레이션 Parallel software processing system
US7171666B2 (en) 2000-08-04 2007-01-30 International Business Machines Corporation Processor module for a multiprocessor system and task allocation method thereof
WO2007017932A1 (en) * 2005-08-09 2007-02-15 Fujitsu Limited Schedule control program and schedule control method
JPWO2007017932A1 (en) * 2005-08-09 2009-02-19 富士通株式会社 Schedule control program and schedule control method
KR100942740B1 (en) * 2005-08-09 2010-02-17 후지쯔 가부시끼가이샤 Computer-readable recording medium recording schedule control program and schedule control method
JP4651671B2 (en) * 2005-08-09 2011-03-16 富士通株式会社 Schedule control program and schedule control method
US8479205B2 (en) 2005-08-09 2013-07-02 Fujitsu Limited Schedule control program and schedule control method
US8539153B2 (en) 2009-02-25 2013-09-17 Samsung Electronics Co., Ltd. System on chip and electronic system having the same
WO2010120376A2 (en) * 2009-04-16 2010-10-21 Vns Portfolio Llc Method and apparatus for dynamic partial reconfiguration on an array of processors
WO2010120376A3 (en) * 2009-04-16 2011-03-24 Vns Portfolio Llc Method and apparatus for dynamic partial reconfiguration on an array of processors

Similar Documents

Publication Publication Date Title
US6961935B2 (en) Multi-processor system executing a plurality of threads simultaneously and an execution method therefor
EP0747816B1 (en) Method and system for high performance multithread operation in a data processing system
JP4606142B2 (en) Scheduling method, scheduling apparatus, and multiprocessor system
US5745778A (en) Apparatus and method for improved CPU affinity in a multiprocessor system
US9804666B2 (en) Warp clustering
US7143412B2 (en) Method and apparatus for optimizing performance in a multi-processing system
US6633897B1 (en) Method and system for scheduling threads within a multiprocessor data processing system using an affinity scheduler
US8122451B2 (en) Method and apparatus for dispatching tasks in a non-uniform memory access (NUMA) computer system
US5884077A (en) Information processing system and method in which computer with high load borrows processor of computer with low load to execute process
US8799554B1 (en) Methods and system for swapping memory in a virtual machine environment
JP5040773B2 (en) Memory buffer allocation device and program
US10423446B2 (en) Data processing
CN108549574B (en) Thread scheduling management method and device, computer equipment and storage medium
US20050022173A1 (en) Method and system for allocation of special purpose computing resources in a multiprocessor system
JP2561801B2 (en) Method and system for managing process scheduling
JP2003030050A (en) Method for executing multi-thread and parallel processor system
JP2002342163A (en) Method for controlling cache for multithread processor
WO2007020739A1 (en) Scheduling method, and scheduling device
CN112764904A (en) Method for preventing starvation of low priority tasks in multitask-based system
JPH03113563A (en) Multiprocessor scheduling method
CN112925616A (en) Task allocation method and device, storage medium and electronic equipment
EP2282265A1 (en) A hardware task scheduler
JPH05151064A (en) Tightly coupled multiprocessor system
JPH0628323A (en) Process execution control method
US6016531A (en) Apparatus for performing real time caching utilizing an execution quantization timer and an interrupt controller