JPH03171249A - Processor number limiting system - Google Patents
Processor number limiting systemInfo
- Publication number
- JPH03171249A JPH03171249A JP31092489A JP31092489A JPH03171249A JP H03171249 A JPH03171249 A JP H03171249A JP 31092489 A JP31092489 A JP 31092489A JP 31092489 A JP31092489 A JP 31092489A JP H03171249 A JPH03171249 A JP H03171249A
- Authority
- JP
- Japan
- Prior art keywords
- processors
- processor
- maximum
- user
- processor number
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 67
- 230000004075 alteration Effects 0.000 abstract 5
- 238000007726 management method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 1
- 238000001994 activation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、ユーザプログラムの並列処理を可能としてい
るオペレーティングシステムにおいて、ユーザプログラ
ムに複数のプロセッサを割り当てる場合の同時割当可能
なプロセッサ数を制限する方式に関する。[Detailed Description of the Invention] [Industrial Application Field] The present invention limits the number of processors that can be simultaneously assigned when multiple processors are assigned to a user program in an operating system that enables parallel processing of user programs. Regarding the method.
ユーザプログラムの並列処理は、ユーザプログラムの要
求に応じて複数のプロセッサを同時にひとつのユーザプ
ログラムに割り当てることによって実現される。Parallel processing of user programs is realized by simultaneously assigning multiple processors to one user program according to the requests of the user program.
複数プロセッサをひとつのユーザプログラムに割り当て
るには、大きく分けて2種類の方式がある。ひとつは、
システム内に複数のプロセッサが構或されている一種の
サブシステムを定義しておき、ユーザプログラムが並列
処理を開始する前にそのユーヂプログラムをそのサブシ
ステムに移動させる方式である。そのサブシステムに入
った直後から複数のプロセッサが利用可能となる。これ
に対して、このようなサブシステムは構或しないで、プ
ロセッサ要求が発生した時点で空いているプロセッサを
そのユーザプログラムが使えるようにする方式がある。There are broadly two types of methods for allocating multiple processors to one user program. one is,
In this method, a type of subsystem in which a plurality of processors are configured is defined in the system, and the user program is moved to that subsystem before the user program starts parallel processing. Multiple processors are available immediately after entering the subsystem. On the other hand, there is a method in which such a subsystem is not an issue, and a vacant processor is made available to the user program at the time a processor request occurs.
前者のサブシステム構成方式では、複数のサブシステム
を構或することが可能である。いろいろな数のプロセッ
サが構或されたサブシステムを定義することと、各ユー
ザが使えるサブシステムを制限することにより、各ユー
ザが同時に使えるプロセッサ数を制限することができる
。しかし、この方式はサブシステム間の負荷がアンバラ
ンスになると、一方のサブシステムが過負荷状態にあっ
てプロセッサ待状態のユーザプログラムがあるにもかか
わらず、負荷のないサブシステムに属するプロセッサは
遊んでいると言う状況が発生する。In the former subsystem configuration method, it is possible to configure a plurality of subsystems. By defining subsystems with varying numbers of processors and limiting the subsystems that each user can use, it is possible to limit the number of processors that each user can use simultaneously. However, with this method, if the load between subsystems becomes unbalanced, even if one subsystem is overloaded and there is a user program waiting for a processor, the processors belonging to the unloaded subsystem will be idle. A situation arises where it is said that
つまり、システム全体から見るとプロセッサの利用効率
が悪い。In other words, from the perspective of the entire system, the processor usage efficiency is poor.
後者のプロセッサプール方式では、負荷に応じてプロセ
ッサが割り当てられていくので、プロセッサ待状態のユ
ーザプログラムがあるのに空きプロセッサが存在すると
言う状況は発生しない。従って、プロセッサの利用効率
は良い。しかし、各ユーザが同時に使えるプロセッサ数
の制限は、サブシステム構或方式では可能であるが、こ
のプロセッサプール方式ではできない。In the latter processor pool method, processors are allocated according to the load, so a situation where there is a user program waiting for a processor but there are free processors does not occur. Therefore, the utilization efficiency of the processor is good. However, although it is possible to limit the number of processors that each user can use simultaneously with the subsystem structure or method, this is not possible with this processor pool method.
一般的には、システムを利用しているユーザの権利は対
等ではない。多額の費用を支払っているユーザには、少
額の費用しか支払っていないユーザよりも、より多くの
権利を与える必要がある。また、サイトによって負担は
公平でも、特定のユーザにより多くの権利を与えたい場
合もある。Generally, the rights of users using a system are not equal. Users who pay a large amount of money should be given more rights than users who pay a small amount of money. Also, depending on the site, even if the burden is fair, there may be cases where it is desired to give more rights to specific users.
このように本格的な運用を考慮すると、ユーザプログラ
ムの並列処理を可能とするオペレーティングシステムに
おいては、ユーザプログラム毎に使えるプロセッサ数を
制限する機能が必要になる。Considering such full-scale operation, an operating system that allows parallel processing of user programs needs a function to limit the number of processors that can be used for each user program.
前述のように、サブシステム構成方式では比較的簡単に
この機能が実現できるがプロセッサ利用効率が低い。そ
こで、本発明のプロセッサ数制限方式は、プロセッサ利
用効率のよいプロセッサブール方式においてもユーザプ
ログラム毎に割当可能なプロセッサ数を制限するのが目
的である。As mentioned above, this function can be achieved relatively easily using the subsystem configuration method, but the processor usage efficiency is low. Therefore, the purpose of the processor number limiting method of the present invention is to limit the number of processors that can be allocated to each user program even in the processor Boolean method, which has good processor utilization efficiency.
本発明のプロセッサ制限方式は、ユーザプログラムの並
列処理を可能にしているオペレーティングシステムにお
いてユーザプログラム毎に割当可能なプロセッサの数を
制限する方式であって、自プロセスの利用可能な最大プ
ロセッサ数を特権ユーザモードの場合だけ増加できる最
大プロセッサ数変更手段と、現在自プロセスが使ってい
る現行プロセッサ数を最大プロセッサ数の範囲内で変更
する現行プロセッサ数変更手段と、新しく生成されたプ
ロセスに自プロセスの最大プロセッサ数の情報を伝える
プロセッサ数情報初期化手段とを有している。The processor limitation method of the present invention is a method for limiting the number of processors that can be assigned to each user program in an operating system that enables parallel processing of user programs, and is a method that limits the number of processors that can be assigned to each user program. There is a means for changing the maximum number of processors that can be increased only in user mode, a means for changing the number of current processors that can change the current number of processors currently used by the own process within the range of the maximum number of processors, and a means for changing the number of current processors that can be increased only in user mode. and processor number information initialization means for conveying information on the maximum number of processors.
次に本発明について図面を参照して更に詳しく説明する
。第1図を参照すると、本発明の実施例は、自プロセス
(P)の利用可能な最大プロセッサ数(M)を特権ユー
ザモードの場合だけ増加できる最大プロセッサ数変更手
段l1と、現在自プロセス(P)が使っている現行プロ
セッサ数(C)を最大プロセッサ数の範囲内で変更する
現行プロセッサ数変更手段l2と、新しく生戊されたプ
ロセス(Pn)に自プロセス(P)のi大プo−t’ツ
サ数(M)の情報を伝えるプロセッサ数情報初期化手段
13とから構或される。Next, the present invention will be explained in more detail with reference to the drawings. Referring to FIG. 1, the embodiment of the present invention includes a maximum processor number changing means l1 that can increase the maximum number of processors (M) available for the own process (P) only in the privileged user mode, and a current own process (P). A current processor number changing means l2 for changing the current number of processors (C) used by P) within the range of the maximum number of processors; -t' processor number information initialization means 13 that conveys information on the number of processors (M).
次に本実施例の動作について図面を参照して説明する。Next, the operation of this embodiment will be explained with reference to the drawings.
第2図を参照すると、最大プロセッサ数変更手段l1は
、特権ユーザ判定ステップ2lで特権ユーザとして呼び
出されたかどうかを判定する。Referring to FIG. 2, the maximum processor number changing means l1 determines whether or not the user has been called as a privileged user in a privileged user determining step 2l.
もし、特権ユーザであった場合は、最大プロセッサ数設
定ステップ22で、指定された値を各プロセス固有でオ
ペレーティングシステムのみがアクセスできる領域にあ
る最大プロセッサ数格納領域〈第1図のM)に設定し、
ノーマルリターンする。If you are a privileged user, in the maximum processor number setting step 22, set the specified value in the maximum processor number storage area (M in Figure 1), which is unique to each process and is accessible only to the operating system. death,
Return to normal.
もし、特権ユーザでなかった場合は数値比較ステップ2
3で、指定された値と現在の最大プロセッサ数格納領域
の値とを比較する。指定された値のほうが小さい場合と
両値が等しい場合は、最大プロセッサ数設定ステップ2
4で指定された値を最大プロセッサ数格納領域に設定し
、ノーマルリターンする。指定された値が現在の最大プ
ロセッサ数よりも大きい場合は、最大プロセッサ数を変
更せずにエラーリターンする。If you are not a privileged user, compare numerical values step 2
In step 3, the specified value is compared with the value of the current maximum number of processors storage area. If the specified value is smaller or the two values are equal, proceed to step 2 of setting the maximum number of processors.
Set the value specified in step 4 in the maximum processor number storage area and return to normal. If the specified value is greater than the current maximum number of processors, return with an error without changing the maximum number of processors.
第3図を参照すると、現行プロセッサ数変更手段12は
、数値比較ステップ31で自プロセスの最大プロセッサ
数(第1図のM〉と指定された値とを比較する。指定さ
れた値のほうが小さい場合と両値が等しい場合は、現行
プロセッサ数設定ステップ32で指定された値を各プロ
セス固有でオペレーティングシステムのみがアクセスで
きる領域にある自プロセスの現行プロセッサ数格納領域
(第1図のC)に設定し、ノーマルリターンする。Referring to FIG. 3, the current processor number changing means 12 compares the maximum number of processors of its own process (M in FIG. 1) with the specified value in a numerical comparison step 31.The specified value is smaller. If both values are equal, the value specified in the current processor number setting step 32 is stored in the current processor number storage area of the own process (C in Figure 1), which is unique to each process and is accessible only by the operating system. Set and return to normal.
指定された値のほうが大きい場合は、現行プロセッサ数
の変更は行わず、エラーリターンする。If the specified value is larger, the current number of processors is not changed and an error is returned.
第4図を参照すると、プロセッサ数情報初期化手段13
は、現行プロセッサ数初期化ステップ41で、新しく生
戊されたプロセス(第1図のPn)の現行プロセッサ数
(第1図のCn)に1を設定し、最大プロセッサ数初期
化ステップ42で、自プロセス(第1図のP〉の最大プ
ロセッサ数(第1図のM)を新プロセス(第1図のPn
)の最大プロセッサ数(第1図のMn)に複写する。Referring to FIG. 4, processor number information initialization means 13
In the current processor number initialization step 41, the current processor number (Cn in FIG. 1) of the newly created process (Pn in FIG. 1) is set to 1, and in the maximum processor number initialization step 42, The maximum number of processors (M in Figure 1) of the own process (P in Figure 1) is set to the maximum number of processors (M in Figure 1) of the own process (P in Figure 1)
) to the maximum number of processors (Mn in FIG. 1).
最後に、本発明のプロセッサ数制限方式を利用してセッ
ションに応じて利用可能なプロセッサ数を制限する方式
について説明する。Finally, a method of limiting the number of usable processors according to a session using the processor number limiting method of the present invention will be described.
まず、第5図に示されるようなセッション管理方式を想
定する。オペレーティングシステムは端末Tからのログ
イン要求を検出すると、その端末を使っているユーヂと
対話をするインクプリタプロセスPiを生戊する。以降
、インクプリタプロセスPiは端末Tから入力されたコ
ードを解析し、そのコードに対応した処理を行う。入力
されたコードがコマンドまたはユーザプログラムの起動
を意味している場合は、インクプリタプロセスPiは新
しいプロセスとしてコマンドプロセスPcを軌道し、自
分自身はコマンドプロセスが終了するのを待つ。コマン
ドプロセスPcは、指定されたコマンドまたはユーザプ
ログラムを実行し、終了したらインクプリタプロセスP
iに通知する。First, a session management method as shown in FIG. 5 is assumed. When the operating system detects a login request from a terminal T, it spawns an inscriber process Pi that interacts with the user using that terminal. Thereafter, the ink printer process Pi analyzes the code input from the terminal T and performs processing corresponding to the code. If the input code means starting a command or a user program, the inscriber process Pi orbits the command process Pc as a new process and waits for the command process to terminate. The command process Pc executes the specified command or user program, and when it is finished, the inscriber process Pc executes the specified command or user program.
Notify i.
第6図は第5図のセッション管理方式に本実施例のプロ
セッサ数制限方式を適用したときの動作を示す図である
。ログインのによって起動されたインタブリタプロセス
は、特権ユーザ状態でセッションの初期化処理を行う。FIG. 6 is a diagram showing the operation when the processor number limiting method of this embodiment is applied to the session management method of FIG. 5. The interpreter process started by login performs session initialization processing in the privileged user state.
この処理の中で、ログインしたユーザに対応した最大プ
ロセッサ数を本実施例の最大プロセッサ数変更手段11
によって設定する。この後、インクプリタプロセスは特
権ユーザ状態からログインしたユーザにユーザモードを
変更し、端末との会話を開始する。端末との会話を開始
した以降は、特権ユーザ状態でないので、最大プロセッ
サ数を増加させることはできない。しかし、本実施例の
最大プロセッサ数変更手段l1は、特権ユーザでない場
合にも最大プロセッサ数の減少は可能となっている。つ
まり、端末からの指示で最大プロセッサ数変更手段1l
を実行することにより、最大プロセッサ数を減少させる
事は可能である。During this process, the maximum processor number changing unit 11 of this embodiment changes the maximum number of processors corresponding to the logged-in user.
Set by. After this, the inscriber process changes the user mode from the privileged user state to the logged in user and begins a conversation with the terminal. After starting a conversation with the terminal, the maximum number of processors cannot be increased because the user is not in a privileged user state. However, the maximum processor number changing means l1 of this embodiment allows the maximum number of processors to be reduced even when the user is not a privileged user. In other words, the maximum number of processors can be changed by instructions from the terminal.
It is possible to reduce the maximum number of processors by executing
次に、端末から並列処理プログラムの起動要求■が入力
されると、インクプリタプロセスはコマンドプロセスの
起動処理を行う。この起動処理の中で、本実施例のプロ
セッサ数情報初期化手段l3を実行し、コマンドプロセ
スを
現行プロセッサ数=1
最大プロセッサ数=インタブリタプロセスの最大プロセ
ッサ数
の状態で起動する。つまり、コマンドプロセスの最大プ
ロセッサ数もログインしたユーヂに応じて決まった値に
なっている。そして、このコマンドプロセスは並列処理
を行うために複数のプロセッサを確保しようとするが、
このプロセッサ確保処理の中で本実施例の現行プロセッ
サ数変更手段12を実行する。現行プロセッサ数変更手
段12がノーマルリターンした時だけ、実際に複数のプ
ロセッサが確保され、並列処理が行われる。現行プロセ
ッサ数変更手段l2がエラーリターンした場合は、その
ユーザプログラムは異常終了とする。Next, when a parallel processing program activation request (2) is input from the terminal, the ink interpreter process performs a command process activation process. In this startup process, the processor number information initializing means 13 of this embodiment is executed, and the command process is started in a state where the current number of processors=1 and the maximum number of processors=the maximum number of processors of the interprinter process. In other words, the maximum number of processors for the command process is also a fixed value depending on the logged-in user. And this command process tries to allocate multiple processors to perform parallel processing, but
During this processor securing process, the current processor number changing means 12 of this embodiment is executed. Only when the current processor number changing means 12 returns to normal, a plurality of processors are actually secured and parallel processing is performed. If the current processor number changing means 12 returns with an error, the user program is abnormally terminated.
つまり、各ユーザ毎に決められた最大プロセッサ数以上
のプロセッサを使った並列処理は実行できない事になる
。In other words, parallel processing using more processors than the maximum number of processors determined for each user cannot be executed.
以上に説明したように、本発明のプロセッサ数制限方式
を適用したシステムでは、プロセッサプール方式でユー
ヂプログラムの並列処理を実現しても、ユーザに応じて
同時に使えるプロセッサ数を制限することが可能となる
。As explained above, in a system to which the processor number limiting method of the present invention is applied, even if parallel processing of user programs is realized using a processor pool method, it is possible to limit the number of processors that can be used simultaneously depending on the user. becomes.
第1図は本発明のプロセッサ数制限方式の内部構或を示
す説明図、第2図は最大プロセッサ数変更手段における
処理を示す流れ図、第3図は現行プロセッサ数変更手段
における処理を示す流れ図、第4図はプロセッサ数情報
初期化手段における処理を示す流れ図、第5図は一般の
セッション管理を示す概念図、第6図は本発明のプロセ
ッサ数制限方式を適用したセッション管理方式の動作を
示す流れ図である。
11・・・・・・最大プロセッサ数変更手段l2・・・
・・・現行プロセッサ数変更手段l3・・・・・・プロ
セッサ数情報初期化手段P・・・・・・自フロセス
M・・・・・・自プロセスの最大プロセッサ数格納領域
C・・・・・・自プロセスの現行プロセッサ数格納領域
Pn・・・・・・新プロセス
Mn・・・・・・新プロセスの最大プロセッサ数格納領
域
Cn・・・・・・新プロセスの現行プロセッサ数格納領
域FIG. 1 is an explanatory diagram showing the internal structure of the processor number limiting method of the present invention, FIG. 2 is a flowchart showing the processing in the maximum processor number changing means, and FIG. 3 is a flowchart showing the processing in the current processor number changing means. FIG. 4 is a flowchart showing the processing in the processor number information initialization means, FIG. 5 is a conceptual diagram showing general session management, and FIG. 6 shows the operation of the session management method to which the processor number limiting method of the present invention is applied. This is a flowchart. 11... Maximum number of processors changing means l2...
... Current processor number changing means l3 ... Processor number information initialization means P ... Own process M ... Maximum processor number storage area for own process C ... ... Current processor number storage area of own process Pn ... New process Mn ... Maximum processor number storage area of new process Cn ... Current processor number storage area of new process
Claims (1)
ティングシステムにおいてユーザプログラム毎に割当可
能なプロセッサの数を制限する方式であって、自プロセ
スの利用可能な最大プロセッサ数を特権ユーザモードの
場合だけに増加する最大プロセッサ数変更手段と、現在
自プロセスが使っている現行プロセッサ数を最大プロセ
ッサ数の範囲内で変更する現行プロセッサ数変更手段と
、新しく生成されたプロセスに自プロセスの最大プロセ
ッサ数の情報を伝えるプロセッサ数情報初期化手段とか
ら構成されるプロセッサ数制限方式。A method of limiting the number of processors that can be assigned to each user program in an operating system that allows parallel processing of user programs, and increases the maximum number of processors that can be used by the own process only in privileged user mode. processor number changing means; current processor number changing means for changing the current number of processors currently used by its own process within the range of the maximum number of processors; and a processor that conveys information about the maximum number of processors of its own process to a newly generated process. A method for limiting the number of processors, comprising a number information initialization means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31092489A JPH03171249A (en) | 1989-11-30 | 1989-11-30 | Processor number limiting system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31092489A JPH03171249A (en) | 1989-11-30 | 1989-11-30 | Processor number limiting system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03171249A true JPH03171249A (en) | 1991-07-24 |
Family
ID=18011027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31092489A Pending JPH03171249A (en) | 1989-11-30 | 1989-11-30 | Processor number limiting system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03171249A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006114048A (en) * | 2004-10-15 | 2006-04-27 | Microsoft Corp | Portable computing environment |
WO2007088816A1 (en) * | 2006-01-31 | 2007-08-09 | Seiko Epson Corporation | Multi-processor system and program for causing computer to execute multi-processor system control method |
US7454754B2 (en) | 2001-08-06 | 2008-11-18 | International Business Machines Corporation | System for providing resources based on licensing contract with user by correcting the error between estimated execution time from the history of job execution |
JP2010186284A (en) * | 2009-02-12 | 2010-08-26 | Hitachi Ltd | File input/output method |
-
1989
- 1989-11-30 JP JP31092489A patent/JPH03171249A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7454754B2 (en) | 2001-08-06 | 2008-11-18 | International Business Machines Corporation | System for providing resources based on licensing contract with user by correcting the error between estimated execution time from the history of job execution |
US8245237B2 (en) | 2001-08-06 | 2012-08-14 | International Business Machines Corporation | Providing resources to a job comparing estimated execution time on currently available nodes and estimated execution time on nodes available after completion of a currently executing job |
US8689229B2 (en) | 2001-08-06 | 2014-04-01 | International Business Machines Corporation | Providing computational resources to applications based on accuracy of estimated execution times provided with the request for application execution |
JP2006114048A (en) * | 2004-10-15 | 2006-04-27 | Microsoft Corp | Portable computing environment |
WO2007088816A1 (en) * | 2006-01-31 | 2007-08-09 | Seiko Epson Corporation | Multi-processor system and program for causing computer to execute multi-processor system control method |
US7797515B2 (en) | 2006-01-31 | 2010-09-14 | Seiko Epson Corporation | System and method for limiting the number of unit processors for which suspension of processing is prohibited |
JP2010186284A (en) * | 2009-02-12 | 2010-08-26 | Hitachi Ltd | File input/output method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5835737A (en) | Method and apparatus for arbitrating access to selected computer system devices | |
US7433962B2 (en) | Multi-user computer system with an access balancing feature | |
JPH0830471A (en) | Execution processor change system for job | |
US7150020B2 (en) | Resource management | |
US8296766B2 (en) | Start-up task dispatching for instant messenger applications | |
JPH03171249A (en) | Processor number limiting system | |
JP2010218151A (en) | Virtual computer management mechanism and cpu time allocation control method in virtual computer system | |
EP1611523A2 (en) | Controlling usage of system resources by a network manager | |
CN108885565B (en) | Operating system support for gaming modes | |
CN114880042A (en) | Application starting method and device, electronic equipment and computer readable storage medium | |
JP2006065430A (en) | Method for varying virtual computer performance | |
JPH04335441A (en) | Command immediate answer property securing system | |
JPH04355867A (en) | System for distributed processing | |
JPH03100852A (en) | Controlling method for execution of service process | |
JP2790472B2 (en) | Multiple conversation processing control method | |
JP2000194573A (en) | System and method for thread control | |
CN115712510A (en) | Access method of equipment and related components thereof | |
JPH0342765A (en) | Decentralized processor | |
JP3095163B2 (en) | How to control the automatic logon function | |
CN114691279A (en) | Resource scheduling method, device and storage medium | |
JPH06332865A (en) | Inter-program communication control system | |
JPH04220750A (en) | Communication environment constructing method | |
JPH1185543A (en) | Exclusive control method and machine-readable recording medium recorded with program | |
JP2003131938A (en) | Method and system for managing memory | |
JPH08329022A (en) | Input/output process load decentralization control system for multiprocessor system |