JP2003256221A - 並列プロセス実行方法、及びマルチプロセッサ型コンピュータ - Google Patents

並列プロセス実行方法、及びマルチプロセッサ型コンピュータ

Info

Publication number
JP2003256221A
JP2003256221A JP2002053383A JP2002053383A JP2003256221A JP 2003256221 A JP2003256221 A JP 2003256221A JP 2002053383 A JP2002053383 A JP 2002053383A JP 2002053383 A JP2002053383 A JP 2002053383A JP 2003256221 A JP2003256221 A JP 2003256221A
Authority
JP
Japan
Prior art keywords
parallel
program
cpu
allocation
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
JP2002053383A
Other languages
English (en)
Other versions
JP2003256221A5 (ja
Inventor
Toshiaki Mikamo
利彰 三鴨
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002053383A priority Critical patent/JP2003256221A/ja
Priority to DE60307532T priority patent/DE60307532T2/de
Priority to EP03250990A priority patent/EP1341083B1/en
Priority to US10/371,106 priority patent/US20030163512A1/en
Publication of JP2003256221A publication Critical patent/JP2003256221A/ja
Publication of JP2003256221A5 publication Critical patent/JP2003256221A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/451Code distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】 並列プログラムのターンアラウンド時間を保
証した環境下で、システム全体のスループットを向上さ
せる。 【解決手段】 プロセッサ1〜3それぞれの処理時間帯
に対して、並列プログラムA,Bから生成されるプロセ
スA1〜A3,B1〜B2を、各並列プログラムに対し
て予め設定されたプロセッサ配分率に応じた時間に従っ
て、それぞれ割り当てる(ステップS1)。ここで、各
プロセッサそれぞれの処理時間帯のうちプロセスが割り
当てられていない空き時間帯Pに対して、並列プログラ
ムAから生成される並列プロセスPA1〜PA3を、並
列動作可能に割り当てられるかを判定し、並列動作が可
能な場合、空き時間帯Pに対し並列プロセスPA1〜P
A3を追加割り当てする(ステップS2)。そして、プ
ロセッサ1〜3により、各プロセッサそれぞれの処理時
間帯に割り当てられた並列プロセスを実行する(ステッ
プS3)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は並列プロセス実行方
法、マルチプロセッサ型コンピュータ、並列プロセス実
行プログラムおよびそのプログラムを記録した記録媒体
に関し、特に並列プロセスと他のプロセスとを時分割で
実行する並列プロセス実行方法、その方法を実行するマ
ルチプロセッサ型コンピュータ、その方法をコンピュー
タに実行させる並列プロセス実行プログラムおよびその
プログラムを記録した記録媒体に関する。
【0002】
【従来の技術】複数のプロセッサを搭載したコンピュー
タ(マルチプロセッサ型コンピュータ)では、1つのプ
ログラムを複数のプロセッサで並列処理することが出来
る。以下、並列処理可能なプログラムを並列プログラム
と呼ぶ。並列プログラムを処理する場合、1つの並列プ
ログラムから複数の並列プロセスが生成される。各並列
プロセスは、互いに並行して実行可能なプロセスであ
る。生成された複数の並列プロセスは、別々のプロセッ
サで並列に実行される。並列プロセスを実行する各プロ
セッサは互いにデータ交換をしながら、並列プログラム
に定められた一連の処理を実行する。なお、ここでプロ
セスとは、1以上のスレッドを含む処理単位である。ま
た、プロセッサとは、CPU(Central Processing Uni
t)やMPU(Micro Processing Unit)などの処理装置の
ことである。以下の説明では、便宜上、プロセッサとし
てCPUを用いるものとする。
【0003】各並列プロセスの処理には、他の並列プロ
セスとの間でデータ交換(同期通信)を行うべきチェッ
クポイントがある。データ交換が必要な2つの並列プロ
セスを実行する各CPUは、並列プロセスの処理がチェ
ックポイントまで終了したら、データ交換処理を行う。
一方の並列プロセスの処理が先にチェックポイントに達
した場合には、その並列プロセスを実行するCPUは、
データ交換相手の並列プロセスの処理がチェックポイン
トに達するまで同期待ちを行う。
【0004】CPUでのデータ処理には、同期待ち以外
にもIO(Input/Output)待ち等の待ち時間が発生する。
待ち状態となったCPUで他のプロセスを実行させれ
ば、システム全体としての処理効率が向上する。そこ
で、CPUに時分割処理を行わせ、待ち状態のCPUに
他のプロセスの処理を実行させることが行われている。
ここで他のプロセスは、並列プロセスであってもよい
し、単一のCPUで実行される非並列プロセスであって
もよい。
【0005】なお、並列プロセスのデータ交換の同期待
ちの間、CPUが他のプロセスを実行していると、デー
タ交換相手の並列プロセスの処理がチェックポイントに
達したときに、他のプロセスの処理が終了していないこ
とがあり得る。すると、データ交換相手の並列プロセス
を実行するCPUに、同期待ちの時間が発生してしま
う。このような同期待ち時間の発生は、コンピュータシ
ステムの処理効率の低下を招く。また、CPU使用率に
より課金されるようなシステムの場合には、同期待ち分
も課金されることになり、コンピュータシステムの利用
者側にとっても不利益となる。
【0006】そこで、特開平10−74150号公報に
記載されたプロセススケジューリング方法では、時分割
処理を行うコンピュータシステムの各CPUに、並列プ
ロセスおよび他のプロセスの動作開始・停止を、所定の
期間単位(フェーズ)で同時に行わせている。すなわ
ち、ある並列プログラムから生成された複数の並列プロ
セスは、各CPUにおいて同時に処理が開始され、同時
に処理が停止される。これにより、並列プロセス実行時
に発生する同期待ちの時間が、時分割処理を行わなかっ
た場合と同じになる。その結果、並列プログラムを構成
する並列プロセス間の同期待ちを最小限にし、システム
効率の低下を防止することができる。
【0007】ところで、コンピュータで処理するプロセ
スには、ターンアラウンド時間(プロセスの実行開始か
ら実行終了までの時間)の保証が必要なものがある。タ
ーンアラウンド時間の保証が必要なものとして、たとえ
ば、気象データの解析処理がある。膨大な量の気象デー
タを解析する処理は、気象予報を発表する一定時間前に
必ず終了している必要がある。しかし、上記公報記載の
プロセススケジューリング方法では、各フェーズの時間
が固定であるため、並列プログラム毎に、ターンアラウ
ンド時間を保証することができない。たとえば、マルチ
プロセッサ型コンピュータの処理能力の50%を使用し
ないと、ターンアラウンド時間を保証できないような並
列プログラムもあり得る。ところが、上記公報記載のプ
ロセススケジューリング方法では、その並列プログラム
の処理に1フェーズ分(たとえば10%)の時間しか割
り当てることができず、ターンアラウンド時間を保証で
きない。
【0008】このため、このターンアラウンド時間を保
証する従来の方式には、ジョブ(実行プログラム)のス
ケジューリングソフトとして富士通株式会社で販売して
いるParallelnavi(登録商標)のジョブ実
行時間保証機能がある。これは、PCT/JP01/0
1532国際特許出願に記載されており、並列プロセス
毎にこのフェーズの値を指定できるようにし、ターンア
ラウンド時間を保証するスケジューリング方式である。
以下、ターンアラウンド時間を保証するスケジューリン
グ方式を、ターンアラウンド優先ポリシーと呼ぶ。具体
的に説明すると、このターンアラウンド優先ポリシーで
は、時間軸方向にある一定のサイクルを設け、その中を
10個や20個に等分割し、分割した時間単位(この時
間単位をタイムスロットとよび、タイムスロットの数を
パーセンテージで表したのをCPU配分率とよぶ)をプ
ロセスに割り当てる。さらに、実行するべきプロセスの
優先度を、割り当てられたタイムスロットで最大にする
ことによって、確実にそのタイミングで並列プロセスを
動作させる(協調して動作させる)。そして、プロセス
が割り当てられていないタイムスロット(以下、空きC
PU資源と称する)やIO待ち等で空いたCPUに対し
て、他のプロセスを動作させないことによりターンアラ
ウンド時間を保証している。
【0009】
【発明が解決しようとする課題】しかし、従来のターン
アラウンド優先ポリシーでは、空きCPU資源で並列プ
ロセスを一切動作させないため、空きCPU資源が多く
存在した場合に、システム全体のスループットが低下し
てしまうという問題がある。このターンアラウンド優先
ポリシーの課題について、図13を参照して具体的に説
明する。
【0010】図13は、従来のターンアラウンド優先ポ
リシーの実行状態を示す図である。図13によると、C
PU資源として、CPU#0〜#2があり、ある一定の
サイクルを等分割したものとして、タイムスロット#0
〜#9がある。
【0011】ここで、各CPU#0〜#2に対して、タ
イムスロット#0〜#2の期間、並列プログラムA1〜
A3の処理を行わせるものとする。また、各CPU#0
〜#1に対して、タイムスロット#3〜#4の期間、並
列プログラムB1〜B2の処理を行わせるものとする。
そして、各CPU#0〜#1に対するタイムスロット#
5〜#9の期間と、CPU#2に対するタイムスロット
#3〜#9の期間には、空き(アイドル状態)P1〜P
3が設定されているものとする。
【0012】このような状態において、並列プロセスA
1〜A3と並列プロセスB1〜B2は、割り当てられた
タイムスロットでのみ動作し、それ以外では動作しな
い。このため、CPUのアイドル状態が長くなり、シス
テムの稼動率が低下する。つまり、コンピュータシステ
ムの利用者側にとっては、ターンアラウンド時間が保証
されるが、コンピュータシステムの提供者側にとって
は、システム全体のスループットが低下する。
【0013】本発明はこのような点に鑑みてなされたも
のであり、並列プログラムのターンアラウンド時間を保
証した環境下において、スループットを向上させること
ができる並列プロセス実行方法、マルチプロセッサ型コ
ンピュータ、並列プロセス実行プログラム、および並列
プロセス実行プログラムを記録した記録媒体を提供する
ことを目的とする。
【0014】
【課題を解決するための手段】本発明では上記課題を解
決するために、図1に示すような並列プロセス実行方法
が提供される。図1において、本発明の並列プロセス実
行方法は、並列プログラムA、並列プログラムBから生
成される複数の並列プロセスA1〜A3、並列プロセス
B1〜B2それぞれを、複数のプロセッサ(例えばCP
U)1〜3(各プロセッサの識別子は#0〜#2)によ
り並列動作させる場合に適用されている。
【0015】本発明では、所定の周期内で複数のプロセ
ッサそれぞれに対して設けられた処理時間帯に対して、
並列プログラムから生成される複数の並列プロセスを、
並列プログラムに対して予め設定されたプロセッサ配分
率に応じた時間に従って、並列動作するようにそれぞれ
割り当てる(ステップS1)。ここで、処理時間帯のう
ちプロセスが割り当てられていない空き時間帯に対し
て、並列プログラムから生成される複数の並列プロセス
を、並列動作可能に割り当てられるかを判定し、並列動
作が可能と判定された場合、空き時間帯に対して、複数
の並列プロセスを追加割り当てする(ステップS2)。
そして、複数のプロセッサにより、複数のプロセッサそ
れぞれの処理時間帯に割り当てられたプロセスを実行す
る(ステップS3)。すなわち、所定の周期内(サイク
ル)で複数のプロセッサ1〜3それぞれに対して設けら
れた処理時間帯に対して、並列プログラムA,Bから生
成される各並列プロセスA1〜A3,B1〜B2を、並
列プログラムA,Bに対して予め設定されたプロセッサ
配分率に応じた時間に従って、並列動作するようにそれ
ぞれ割り当てる。ここで、複数のプロセッサ1〜3それ
ぞれの処理時間帯のうちのプロセスが割り当てられてい
ない空き時間帯Pに対して、並列プログラムAから生成
される複数の並列プロセスPA1〜PA3を、並列動作
可能に割り当てられるかを判定する。この判定により並
列動作が可能と判定された場合、空き時間帯に対して、
複数の並列プロセスを追加割り当てする。そして、複数
のプロセッサ1〜3により、複数のプロセッサ1〜3そ
れぞれの処理時間帯に割り当てられたプロセスを実行す
る。
【0016】このような並列プロセスによれば、所定の
周期内で複数のプロセッサ1〜3それぞれに対して設け
られた処理時間帯に対して、並列プログラムA,Bから
生成される並列プロセスA1〜A3,B1〜B2が、並
列プログラムA,Bに対して予め設定されたプロセッサ
配分率に応じた時間に従って、並列動作するようにそれ
ぞれ割り当てられる。ここで、複数のプロセッサ1〜3
それぞれの処理時間帯のうちのプロセスが割り当てられ
ていない空き時間帯Pに対して、並列プログラムAから
生成される複数の並列プロセスPA1〜PA3を、並列
動作可能に割り当てられるかが判定される。この判定に
より並列動作が可能と判定された場合、空き時間帯Pに
対して、複数の並列プロセスが追加割り当てされる。そ
して、複数のプロセッサ1〜3により、複数のプロセッ
サ1〜3それぞれの処理時間帯に割り当てられたプロセ
スが実行される。その結果、マルチプロセッサ型コンピ
ュータの処理のうち、並列プログラムの処理に割り当て
られていないプロセッサの処理時間帯に対し、並列動作
可能な複数の並列プロセスを追加割り当てすることがで
き、システム全体のスループット向上が可能となる。
【0017】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。図1は、本発明の原理構成図であ
る。本発明に係る並列プロセス実行方法では、並列プロ
グラムを、複数のプロセッサ1〜3(各プロセッサの識
別子は、#0〜#2)を有するマルチプロセッサ型コン
ピュータにおいて時分割で処理させる。図1の例では、
並列プログラムAと並列プログラムBとを時分割で処理
する。
【0018】図1に示すように、まず、所定の周期内で
複数のプロセッサ1〜3それぞれに対して設けられた処
理時間帯に対して、並列プログラムA,Bから生成され
る並列プロセスA1〜A3,B1,B2を、並列プログ
ラムA,Bに対して予め設定されたプロセッサ配分率に
応じた時間に従って、並列動作するようにそれぞれ割り
当てる(ステップS1)。ここで、予め設定された時間
とは、所定の周期(1サイクル)内で、各並列プログラ
ムから生成されるプロセスがプロセッサを占有する時間
の割合である。図1の例では、並列プログラムAの時間
配分率が30%に設定されている。また、並列プログラ
ムBの時間配分率が20%に設定されている。
【0019】次に、プロセスの割り当て後、複数のプロ
セッサ1〜3それぞれの処理時間帯のうちのプロセスが
割り当てられていない空き時間帯Pに対して、並列プロ
グラムAから生成される複数の並列プロセスPA1〜P
A3を、並列動作可能に割り当てられるかを判定する。
この判定により並列動作が可能と判定された場合、空き
時間帯Pに対して、複数の並列プロセスPA1〜PA3
を追加割り当てする(ステップS2)。ここで、並列動
作が可能かどうかの判定では、複数の並列プロセスPA
1〜PA3を割り当てることができる、異なるプロセッ
サの同じ処理時間帯の有無を判定する。この並列動作と
は、複数の並列プロセスPA1〜PA3が、それぞれに
対応するプロセッサにより、同期通信(データ交換)可
能なように並列に処理されることである。
【0020】そして、複数のプロセッサ1〜3により、
複数のプロセッサ1〜3それぞれの処理時間帯に割り当
てられた並列プロセスを実行する(ステップS3)。こ
こで、複数のプロセッサ1〜3による実行時には、複数
の並列プロセスPA1〜PA3の処理が同時に実行開始
される。そして、割り当てられた時間帯を過ぎると、複
数のプロセッサ1〜3において並列プロセスPA1〜P
A3の実行が同時に終了する。
【0021】なお、1つの並列プログラムから生成され
た複数の並列プロセスを実行する過程では、適宜、並列
プロセスを実行するプロセッサ同士で、互いにデータ交
換が行われる。
【0022】このように、本発明では時分割処理を行う
マルチプロセッサ型コンピュータを用いて、並列プログ
ラムに対して予め設定されたプロセッサ配分率に応じた
時間に従って、並列動作するようにそれぞれ割り当て
る。そして、複数のプロセッサそれぞれの処理時間帯の
うちのプロセスが割り当てられていない空き時間帯に対
して、複数の並列プロセスを割り当てるようにしたた
め、システム全体のスループット向上が可能となる。し
かも、1つの並列プログラムから生成された並列プロセ
スは、同時に実行開始し、同時に実行終了するようにし
たため、時分割処理をしたことによるデータ交換のため
の同期待ちの時間の増加が防止される。
【0023】以下に、本発明の実施の形態について具体
的に説明する。なお、以下の説明では、プロセッサとし
てCPUを用いるものとする。図2は、本発明の実施の
形態を適用したマルチプロセッサ型コンピュータのハー
ドウェア構成例を示す図である。コンピュータ10は、
複数のCPU11〜13によって装置全体が制御されて
いる。各CPU11〜13は、バス18を介して互いに
接続されている。CPU11〜13は、RAM19に格
納された共有プログラム等に基づいて生成されたプロセ
スを実行する。
【0024】各CPU11〜13には、バス18を介し
て、RAM19、ハードディスク装置(HDD)14、
グラフィック処理装置15、入力インタフェース16、
および通信インタフェース17が接続されている。
【0025】RAM19には、CPU11〜13に実行
させるOS(Operating System:本発明の機能を実現す
る基本ソフトウェア)のプログラムの少なくとも一部
や、並列プログラムの少なくとも一部が一時的に格納さ
れる。また、RAM19には、タイムスロット割り当て
マップ等のデータが格納される。
【0026】HDD14は、OSのプログラム、並列プ
ログラム、および非並列プログラムなどが格納される。
また、HDD14には、各種プログラムの実行に必要な
データが格納される。
【0027】グラフィック処理装置15には、モニタ2
0が接続されている。グラフィック処理装置15は、C
PU11〜13からの命令に従って、画像をモニタ20
の画面に表示させる。入力インタフェース16には、キ
ーボード21とマウス22とが接続されている。入力イ
ンタフェース16は、キーボード21やマウス22から
送られてくる信号を、バス18を介してCPU11〜1
3に送信する。
【0028】通信インタフェース17は、ネットワーク
23に接続されている。ネットワーク23は、たとえば
インターネットのような広域ネットワークである。通信
インタフェース17は、ネットワーク23を介して、他
のコンピュータとの間でデータの送受信を行う。
【0029】以上のようなハードウェア構成によって、
本実施の形態の処理機能を実現することができる。たと
えば、図2に示したコンピュータの電源が投入される
と、HDD14に格納されたOSのプログラムの一部
が、RAM19に読み込まれる。そして、各CPU11
〜13によりOSのプログラムが実行される。これによ
り、各CPU11〜13上でOSの動作が開始する。
【0030】図3は、本実施の形態を実現するためのO
Sの機能を示すブロック図である。本実施の形態では、
コンピュータ10内にOS30が立ち上げられる。OS
30は、タイムスロット割り当てマップ31、割り当て
ビットマップ32、空きタイムスロットマップ33、G
UI(Graphical User Interface)34、プログラム3
5、資源管理システム36、および追加割り当てシステ
ム37を有している。資源管理システム36及び追加割
り当てシステム37は、3つのCPU11〜13の何れ
かに設けられている。OS30上では、各CPU11〜
13がそれぞれ識別子CPU#0、CPU#1、CPU
#2で認識される。
【0031】タイムスロット割り当てマップ31は、プ
ロセスの実行タイミングの協調動作のスケジュールが定
義されたデータである。また、タイムスロット割り当て
マップ31は、ユーザの操作入力により、任意のデータ
を登録することが出来る。タイムスロット割り当てマッ
プ31には、各CPUが実行すべきプロセスの割り当て
が、タイムスロット毎に登録されている。このタイムス
ロット割り当てマップ31をもとに、各CPUで現在の
タイムスロットにどのプロセスが割り当てられているの
かを知ることができる。なお、タイムスロット割り当て
マップ31の詳細は後述する。
【0032】割り当てビットマップ32は、各プログラ
ムから生成されるプロセスを割り当て可能なCPUが定
義されたデータである。このデータには、各CPUが実
行可能なプロセスの割り当てが、プログラム毎のビット
情報(0/1)で格納されている。また、この割り当て
ビットマップ32をもとに、各プログラムで生成される
プロセスが、どのCPUに割り当て可能かを知ることが
できる。なお、割り当てビットマップ32の詳細は後述
する。
【0033】空きタイムスロットマップ33には、タイ
ムスロット割り当てマップ31において、プロセスが割
り当てられているタイムスロット、及びプロセスが未割
り当てのタイムスロット(空きCPU資源情報)を表す
ビット情報が格納されている。この空きタイムスロット
マップ33をもとに、各CPUのどのタイムスロットが
空いているのかを知ることができる。なお、空きタイム
スロットマップ33の詳細は後述する。
【0034】GUI34は、キーボード21やマウス2
2等の入力装置からの入力信号を解釈し、各種コマンド
を生成する。GUI34は、生成した制御コマンドを資
源管理システム36に送る。これにより、資源管理シス
テム36において対話型のプロセスが生成される。ま
た、GUI34は、資源管理システム36から送られる
情報を、モニタ20に表示する。
【0035】複数のプログラム35は、並列プログラム
または非並列プログラムである。並列プログラムは、C
PUで並列処理が可能なプログラムである。非並列プロ
グラムは、1つのCPUで実行されるプログラムであ
る。また、複数のプログラム35は、それぞれの少なく
とも一部が、たとえばHDD14からRAM19に読み
込まれる。
【0036】資源管理システム36は、CPU資源、メ
モリ資源などのシステム上の資源を管理する。また、資
源管理システム36は、GUI34、複数のプログラム
35、および追加割り当てシステム37から送られるコ
マンドに基づいてプロセス(並列プロセスや非並列プロ
セス)を生成し、生成したプロセスを時分割で実行す
る。一方、空きCPU資源の状況が変化したときには、
資源管理システム36は追加割り当てシステム37に対
してコマンドを送信する。ここで、時分割で実行する際
には、資源管理システム36は割り当てビットマップ3
2や追加割り当てシステム37の登録内容(詳細は後
述)を参照して、各CPUにプロセスを割り当てる。な
お、資源管理システム36の詳細は図4にて後述する。
【0037】CPU資源追加割り当てシステム37は、
空きCPU資源を追加割り当てする並列プログラムを選
択し、空きCPU資源を使用して協調して動作可能な並
列プログラムか否かを判定する。そして、空きタイムス
ロットマップ33に判定結果を登録し、資源管理システ
ム36へコマンドを送信する。なお、CPU資源追加割
り当てシステム37の詳細は図4にて後述する。
【0038】図4は、資源管理システムと追加割り当て
システムの詳細構成を示す図である。この図では、図3
のCPU11〜13の何れかにより動作する、資源管理
システム36とCPU資源追加割り当てシステム37に
ついて説明する。なお、お互いのメッセージ通知の後
は、資源管理システム36とCPU資源追加割り当てシ
ステム37はそれぞれ独立して動作する。
【0039】資源管理システム36は、プロセスを割り
当てるCPU資源割り当て・解放部361と割り当てら
れたプロセスを実行するプロセス実行部362とを有し
ている。また、資源管理システム36の管理するシステ
ム上の資源には、CPU資源とメモリ資源などがある。
本発明ではCPU資源の活用が主であるため、特にCP
U資源について説明する。このCPU資源は、CPU1
1〜13のデータ処理機能である。また、CPU資源
は、タイムスロットTS単位で管理されている。タイム
スロットTSは、CPU資源の配分単位である。また、
タイムスロットTSは、CPU使用時間を各タイムスロ
ット単位でプロセスに配分することができる。なお、プ
ロセッサに割り当てられる1サイクル内のタイムスロッ
トの数(追加割り当てを除く)をパーセンテージで表し
たものを、以下、CPU配分率と呼ぶ。
【0040】まず、CPU資源割り当て・解放部361
は、プログラムが要求するCPU配分率とCPU数(並
列度)に応じて、CPU資源をそのプログラムを実行す
るためのプロセスに割り当てたり、終了したプロセスの
CPU資源を解放したりする。ここで、空きCPU資源
の状況が変化する。また、CPU資源割り当て・解放部
361では、プロセスを割り当てたCPU資源でそのプ
ロセスが動作するよう実行優先度を上げたり、プロセス
を割り当てたCPU資源で他プロセスが動作できるよう
実行優先度を下げたりする優先度制御(追加割り当て対
象選択部371とは違う処理)を行う。実行優先度と
は、CPUが複数のプロセスの中から実行すべきプロセ
スを選択する際の優先順位であり、プロセス毎に設定さ
れている。すなわち、CPUのタイムスロットに割り当
てられるのは、資源管理システムを介して実行されるプ
ログラムのプロセスである。資源管理システムを介して
実行されないプロセスはタイムスロットへは割り当てず
に、実行優先度に基づいて実行の有無が判断される。具
体的には、CPUは、最も実行優先度の高いプロセスを
実行する。
【0041】ここで、各プロセスの実行優先度を変更す
ることで、スループットの向上を優先させる場合と、タ
ーンアラウンド時間の保証を優先させる場合とを、切り
替えることができる。以下、実行優先度の変更基準につ
いて説明する。(ここでは、空きCPU資源における優
先度制御について例示する) (1)スループットを優先する処理の場合、空きCPU
資源では、資源管理システムを介して生成されるプロセ
スと資源管理システムを介さないプロセスとにおいて、
資源管理システムを介して生成されるプロセスの実行優
先度を低くして、資源管理システムを介さないプロセス
を実行させる。資源管理システムを介さないプロセスが
存在しない場合、資源管理システムを介して生成される
プロセスが実行される。
【0042】(2)ターンアラウンド時間を優先する処
理の場合、空きCPU資源では、追加割り当てされてい
るプログラムのみを実行させる。これにより、空きCP
U資源で実行される処理において、同期待ちが発生する
可能性が低くなる。
【0043】さらに、CPU資源割り当て・解放部36
1は、プロセス実行部362で実行されるプロセスの切
り替え制御を行う。このプロセスの切り替えの際にCP
U資源割り当て・解放部361は、開始するタイムスロ
ットで実行するプロセスが決定したら、プロセス実行部
362により行っている処理を中断させ、コンテキスト
の切り替えを行う。すなわち、プロセス実行部362が
実行していたプロセスのコンテキストを待避させ、実行
するプロセスに対応するコンテキストをプロセス実行部
362に渡す。このコンテキスト(Context)は、各プ
ロセスを実行するのに必要な制御情報であり、プロセス
が中断したときのプログラムカウンタの内容などが含ま
れている。
【0044】ここで、タイムスロット割り当てマップ3
1において開始するタイムスロットにプロセスが割り当
てられていない場合には、CPU資源割り当て・解放部
361は、CPU資源へのCPU配分率に応じたプロセ
スの割り当てを行う。並列プログラムが投入、または終
了して、タイムスロット割り当てマップ31が更新され
ると、CPU資源割り当て・解放部361は、CPU資
源追加割り当てシステム37に対し状況の変化を通知
し、空きCPU資源を追加割り当てするように促す。一
方、CPU資源追加割り当てシステム37から追加割り
当て完了の通知があった場合には、CPU資源割り当て
・解放部361は、空きタイムスロットマップ33など
の追加割り当て情報である登録内容(詳細は後述)を参
照する。そして、CPU資源割り当て・解放部361
は、この登録内容に従って空きタイムスロットで実行す
るプロセスを決定(割り当て)する。
【0045】プロセス実行部362は、複数の並列プロ
グラム35a〜35c、およびGUI34から送られる
コマンドに基づいてプロセス(並列プロセスや非並列プ
ロセス)を生成し、生成したプロセスを時分割で実行す
る。また時分割で実行する際には、プロセス実行部36
2は、CPU資源に割り当てられたプロセスを実行す
る。
【0046】次に、CPU資源追加割り当てシステム3
7は、空きCPU資源を追加割り当てする並列プロセス
を選択する追加割り当て対象選択部371と、空きCP
U資源を使用して協調して動作可能な並列プロセスか否
かを判定する追加割り当て可否判定部372とを備えて
いる。なお、CPU資源追加割り当てシステム37は、
並列プロセスが投入、または終了するのを契機に動作す
る。
【0047】追加割り当て対象選択部371は、空きC
PU資源を追加割り当てする並列プログラムを選択す
る。具体的に説明すると、追加割り当て対象選択部37
1は、並列プログラムが要求するCPU配分率、および
並列度に応じて、並列プログラム毎の割り当てビットマ
ップ32を分類・管理する(図8にて後述)。この並列
度とは、並列プログラムから生成される並列プロセスを
並列で実行するCPU数である。そして、CPU配分率
が高い順に並列プロセスを選択する。また、CPU配分
率が同じ場合は、並列度が高いものを優先して選択す
る。
【0048】追加割り当て可否判定部372は、追加割
り当て対象選択部371で選択された並列プログラムが
空きCPU資源で協調して動作可能かを判定し、協調し
て動作可能な場合のみ空きCPU資源の追加割り当てを
許可する。すなわち、空きタイムスロットマップ33に
対し許可内容を登録する。そして、登録完了後は、CP
U資源割り当て・解放部361へ登録完了の通知を行
う。ここで、この登録は、空きタイムスロットマップ3
3の登録だけでなく、タイムスロット割り当てマップ3
1と同一構成(資源管理システム36で割り当て処理可
能な形式)の一時的な追加割り当てマップを生成しても
よい。また、通知には、登録したCPU番号やタイムス
ロットなど、割り当て処理に必要な情報を通知すること
もできる。このような情報をもとに、資源管理システム
36にて追加割り当てが行われる。また、この追加割り
当てでは、タイムスロット割り当てマップ31、割り当
てビットマップ32、および空きタイムスロットマップ
33を参照して割り当てを行ってもよいし、前述した一
時的な追加割り当てマップ、あるいは通知の内容を参照
して追加割り当てを行ってもよい。このような追加割り
当てに必要な情報を、単に登録内容と称する。なお、追
加割り当て可否判定部372の詳細については、図9に
て後述する。
【0049】このような構成により、並列プログラム3
5a〜35cが投入されると、プロセス実行部362に
て、並列プロセス#11,#12,#21,#31,#
32が生成される。そして、空きCPU資源の状況変化
時にCPU追加割り当て・解放部361にて、CPU資
源追加割り当てシステム37へメッセージを通知する。
メッセージの通知を受けたCPU資源追加割り当てシス
テム37の追加割り当て可否判定部372は、空きタイ
ムスロットマップ33へ空きCPU資源の追加割り当て
登録を行い、CPU資源割り当て・解放部361へ割り
当て登録完了を通知する。一方、割り当て登録完了の通
知を受けたCPU資源割り当て・解放部361は、追加
割り当て状況Exのように、空きタイムスロットマップ
33の登録内容(通知)に従い追加割り当てを行う。こ
の追加割り当て状況Exは、登録内容(通知)に従った
追加割り当て状況である。そして、この割り当てに従
い、プロセス実行部362により、追加割り当てプロセ
スの実行が各CPUにて行われる。なお、追加割り当て
状況Exは、各CPUに対し、並列プログラム(#1)
35aの並列プロセス(#11,#12)が、通常割り
当てによりタイムスロットTSにエントリされており、
追加割り当てにより、非並列プログラム(#2)35b
の非並列プロセス(#21)と並列プログラム(#3)
35cの並列プロセス(#31,#32)とがタイムス
ロットTSにエントリされている状況を示している。
【0050】図5は、タイムスロット割り当てマップの
例を示す図である。図5の例では、1サイクルが10の
タイムスロットに分割されている。各タイムスロットに
は、タイムスロット番号#0〜#9が割り振られてい
る。そして、タイムスロット割り当てマップ31におい
て、複数のCPU#0〜#Mそれぞれに対して、各タイ
ムスロット#0〜#9で実行すべきプロセスが設定され
ている。なお、本発明の説明では、便宜上、複数のCP
U#0〜#Mを3つのCPU#0〜#2とする。したが
って、全てのCPUと表現する場合は、CPU#0〜#
2を指す。
【0051】図5の例において、タイムスロット#0〜
2では、全てのCPU#0〜#2に対して、並列プログ
ラムAから生成された並列プロセスが設定されている。
タイムスロット#3,#4では、CPU#0,#1に対
して、並列プログラムBから生成された並列プロセスが
設定されており、CPU#2に対しては、プロセスが設
定されておらず、空きタイムスロットとなっている。タ
イムスロット#5〜#9では、全てのCPU#0〜#2
に対して、プロセスが設定されておらず、空きタイムス
ロットとなっている。
【0052】図6は、割り当てビットマップの例を示す
図である。図6の例では、各CPUに対して並列プロセ
スが割り振られている。そして、複数のCPU#0〜#
Mそれぞれに対して、各並列プログラム#1〜#Nで実
行すべきプロセスの有無が設定されている。この設定値
は、ビット情報(0/1)として設定されており、ビッ
ト列(CPUが配置されている列)毎の一括演算が可能
である。なお、ビット列の形態は、バイト単位、ワード
単位、あるいはダブルワード単位のデータ型でもよい。
つまり、使用するCPU性能に最適なビット列の形態の
選択を可能とする。これにより論理演算回数を最適化す
ることが可能となる。また、ビット情報(0/1)は、
0を“未割り当てCPU(プロセス無し)”とし、1を
“割り当て済CPU(プロセス有り)”としている。
【0053】図7は、空きタイムスロットマップの例を
示す図である。図7の例では、1サイクルが10のタイ
ムスロットに分割されている。各タイムスロットには、
タイムスロット番号#0〜#9が割り振られている。そ
して、空きタイムスロットマップ33において、複数の
CPU#0〜#Mそれぞれに対して、各タイムスロット
#0〜#9で実行すべきプロセスの有無が設定されてい
る。この設定値は、ビット情報(0/1)として設定さ
れており、タイムスロットに対応するビット列(CPU
が配置されている列)毎の一括演算が可能である。な
お、ビット列の形態は、バイト単位、ワード単位、ある
いはダブルワード単位のデータ型でもよい。つまり、使
用するCPU性能に最適なビット列の形態の選択を可能
とする。これにより論理演算回数を最適化することが可
能となる。また、ビット情報(0/1)は、0を“CP
Uの空き時間帯無し(プロセス有り)”とし、1を“C
PUの空き時間帯有り(プロセス無し)”としている。
【0054】次に、前述した追加割り当て対象選択部3
71における優先選択について、図8を参照して説明す
る。図8は、優先選択のための選択優先度割り当て例を
示す図である。図8に示す例では、縦軸がCPU配分
率、横軸が並列度とするグラフにより選択優先順位を表
している。また、割り当てビットマップ32上の各並列
プログラム101〜104に対して、選択優先順位を表
しているものである。この選択優先順位は、CPU配分
率が高いプログラムから順に選択優先順位が割り当てら
れ、CPU配分率が同じ場合には、CPU配分率が同じ
プログラムのうち、並列度が高いプログラムから順に選
択優先順位が割り当てられる。
【0055】図8において、選択優先順位は、CPU配
分率の最も高いものが並列プログラム101であり、以
下高い順(グラフの上から下へ)に、並列プログラム1
02、並列プログラム103と並列プログラム104
(共に同CPU配分率)という順位となっている。ま
た、CPU配分率が同じ場合には、並列度が高い順(グ
ラフの右から左へ)に選択優先順位が決められる。この
場合、並列プログラム103と並列プログラム104
は、同じCPU配分率であるが、並列プログラム103
の方で並列度が高いため、選択優先順位は並列度の高い
方から並列プログラム103、並列プログラム104の
順となる。
【0056】次に、前述した追加割り当て可否判定部3
72の判定手順について、図9を参照して具体的に説明
する。図9は、追加割り当て可否判定部の判定手順を示
す図である。
【0057】ここでは、追加割り当て可否判定部372
において、空きCPU資源を利用して協調して動作可能
な並列プロセスか判別し、空きCPU資源の追加割り当
てを許可するかを判定する処理について、具体的に説明
する。なお、この判定処理で使用するデータは、並列プ
ロセスごとの割り当てビットマップ32と、タイムスロ
ット毎の空きタイムスロットマップ33である。このデ
ータを用いて以下の判定式(1)により、空きCPU資
源の追加割り当てを許可するかを判定する。
【0058】
【数1】Pi&Ek=Pi:追加割り当て許可する Pi&Ek≠Pi:追加割り当て許可しない (1) Piは、割り当てビットマップ32における、並列プロ
グラムiから生成される並列プロセスに割り当てたCP
Uの割り当てビット列である。また、Ekは、空きタイ
ムスロットマップ33(以下、図9において空きタイム
スロットマップTS1と表現する)における、タイムス
ロット番号kの空きタイムスロット(ビット列)であ
る。なお、この判定式(1)は、まず、割り当てビット
マップ32のビット列であるPiと、空きタイムスロッ
トマップTS1のタイムスロット番号に対応する空きタ
イムスロット(ビット列)であるEkとの論理積をと
る。次に、その積集合とPiが一致しているかどうか
で、許可判定を行う。
【0059】ここで、図9について、以下具体的に説明
する。割り当て状況S1は、タイムスロット割り当てマ
ップ31に基づき割り当てられているCPU資源の状況
を示している。
【0060】今、割り当て状況S1は、並列プログラム
Aから生成される並列プロセスにCPU番号#0,#
1,#2とCPU配分率30%を割り当て、並列プログ
ラムBから生成される並列プロセスにCPU番号#0,
#1とCPU配分率20%を割り当てたとする。この場
合、空きタイムスロットマップと並列プログラムA,B
の割り当てビット列は、それぞれ空きタイムスロットマ
ップTS1、CPU割り当てビット列P1、CPU割り
当てビット列P2のようになる。TS1の行要素(空き
タイムスロットEk)、P1、P2に対して上記判定式
(1)を適用すると、割り当て判定PR1と割り当て判
定PR2のような結果となり、並列プログラムA,Bに
追加割り当てを許可する空きタイムスロットがどこかが
分かる(図9の判定内容を参照)。このようにして、空
きタイムスロットマップTS1を更新して、更新後空き
タイムスロットマップTS2が作成される。
【0061】このように更新された更新後空きタイムス
ロットマップTS2をもとにして、資源管理システム3
6のCPU資源割り当て・解放部361は、各CPU資
源に並列プロセスを追加割り当てする。また、このよう
に更新後空きタイムスロットマップTS2に応じてCP
U資源追加割り当てされた並列プロセスの実行状態は、
後述する図10(発明の実施の形態の効果にて説明)の
ようになる。
【0062】次に、本実施の形態の並列プロセス実行動
作について、図11を参照して具体的に説明する。図1
1は、本実施の形態の並列プロセス実行処理を示すフロ
ーチャートである。この処理は、並列プロセスが投入、
または終了するのを契機に動作し、何れかのCPUにお
いて実行される処理である。以下に、図11の処理をス
テップ番号に沿って説明する。なお、本フローチャート
における各機能の名称については、図3および図4をも
とに説明する。
【0063】[ステップS11] 資源管理システム3
6のCPU資源割り当て・解放部361にて、並列プロ
グラムの要求するCPU数やCPU配分率に応じて、C
PU資源を割り当てたり、並列プログラムに含まれる並
列プロセスに割り当てられているCPU資源を解放した
りする。ここで、空きCPU資源の状況が変化する。
【0064】[ステップS12] 資源管理システム3
6のCPU資源割り当て・解放部361にて、空きCP
U資源の状況が変化したことをCPU資源追加割り当て
システム37に通知し、空きCPU資源を追加割り当て
するように促す。その後、資源管理システム36とCP
U資源追加割り当てシステム37はそれぞれ独立して動
作する。以下のステップS13〜S18は、CPU資源
追加割り当てシステム37の動作として説明している。
また、資源管理システム36のCPU資源割り当て・解
放部361(優先度制御)は、ステップS11にて並列
プロセスを割り当てたCPU資源でその並列プロセスが
動作するよう実行優先度を上げたり、並列プロセスを割
り当てたCPU資源で他並列プロセスが動作できるよう
実行優先度を下げたりする優先度制御(追加割り当て対
象選択部371とは違う処理)を行う。
【0065】さらに、この実行優先度が高い並列プロセ
スに、CPU資源を使用させる。つまり、ステップS1
1で割り当てたCPU資源で、実行優先度が高くなった
並列プロセスが動作する。
【0066】[ステップS13] CPU資源追加割り
当てシステム37の追加割り当て対象選択部371に
て、空きCPU資源を追加割り当てする並列プログラム
を選択する。
【0067】ここで、追加割り当て対象選択部371
は、CPU配分率、並列度に応じた並列プログラムiを
選択する。また、空きタイムスロットマップ33のタイ
ムスロット番号kを初期化する(k=0)。
【0068】[ステップS14] CPU資源追加割り
当てシステム37の追加割り当て対象選択部371に
て、並列プログラムiの割り当てビットマップ32とタ
イムスロット番号kの空きタイムスロットマップ33と
の論理積Iをとる(図9参照)。
【0069】[ステップS15] ここでは、CPU資
源追加割り当てシステム37の追加割り当て可否判定部
372にて、ステップS13で選択された並列プログラ
ムから生成される並列プロセスが空きCPU資源で協調
して動作可能か判定し、協調して動作可能な場合のみ空
きCPU資源の追加割り当てを許可する。つまり、CP
U資源追加割り当てシステム37の追加割り当て可否判
定部372にて、論理積Iが並列プログラムiの割り当て
ビットマップに一致しているかどうかを判定する。
【0070】ここで、論理積Iが並列プログラムiの割り
当てビットマップに一致している場合には、ステップS
16へ進み、一致していない場合には、ステップS17
へ進む。なお、ステップS17へ進む際には、タイムス
ロット番号kをカウントアップ(k=k+1)して、次
のタイムスロットへ処理対象を移動する。
【0071】[ステップS16] CPU資源追加割り
当てシステム37の追加割り当て可否判定部372に
て、ステップS15の判定により論理積Iが並列プログ
ラムiの割り当てビットマップ32に一致しているの
で、タイムスロット番号kの空きタイムスロットマップ
33を更新する。なお、この更新された空きタイムスロ
ットマップ33(空きCPU資源)は、資源管理システ
ム36によりCPU資源の追加割り当てを行うために参
照されるものである。
【0072】[ステップS17] CPU資源追加割り
当てシステム37の追加割り当て可否判定部372に
て、ステップS15によりカウントアップ(k=k+
1)されたタイムスロット番号k が、1サイクルを超
えたかどうかを判定する。
【0073】ここで、タイムスロット番号k が1サイ
クルを超えた場合には、ステップS18へ進み、1サイ
クルを超えない場合には、ステップS14へ戻る。[ス
テップS18] CPU資源追加割り当てシステム37
の追加割り当て対象選択部371にて、割り当てビット
マップ32の追加割り当て可能な並列プログラムが残っ
ているかどうかを判定する。つまり、空きCPU資源を
割り当てる並列プログラムがなくなるまでステップS1
3〜ステップS18を繰り返す。
【0074】ここで、追加割り当て可能な並列プログラ
ムが残っている場合には、ステップS13へ戻り、追加
割り当て可能な並列プログラムが残っていない場合に
は、ステップS19へ進む。
【0075】[ステップS19] 資源管理システム3
6のCPU資源割り当て・解放部361にて、追加割り
当てする空きCPU資源を並列プロセスに割り当てる。
また、CPU資源割り当て・解放部361(実行優先度
制御)にて、空きCPU資源で並列プロセスが動作する
ように並列プロセスの実行優先度を上げたり下げたりす
る。そして、実行優先度が高い並列プロセスにCPU資
源を使用させる。
【0076】そして、資源管理システム36のプロセス
実行部362により、割り当てられた並列プロセスが実
行される。つまり、空きCPU資源で、実行優先度が高
くなった並列プロセスが動作する。
【0077】ステップS19まで進むと、次に並列プロ
セスが投入、終了するまで、ステップS16で割り当て
られた空きCPU資源で並列プロセスが動作する。 [発明の実施の形態の効果]以上の本実施の形態で示し
た並列プロセス実行方法によれば、次のような効果が得
られる。
【0078】以下に、本実施の形態の具体的な効果を示
す。 (1)ターンアラウンド時間を保証し、かつシステム全
体のスループットが向上する。以下、具体的に説明す
る。
【0079】図10は、本実施の形態のCPU資源追加
割り当て後の実行状態を示す図である。本発明のCPU
資源追加割り当てシステムにより、追加割り当てを行っ
たスケジューリングは図10のようになる。
【0080】今、次のような並列プログラムが2つ存在
したとする。 ・並列プログラムA:CPU数3、CPU配分率30% (並列プロセスA1〜A3) ・並列プログラムB:CPU数2、CPU配分率20% (並列プロセスB1〜B2) 従来の技術であるターンアラウンド優先ポリシーによる
スケジューリングでは、前述した図13のようになる。
これは、ターンアラウンド優先ポリシーによるスケジュ
ーリングでは空きCPU資源で並列プロセスを動作させ
ない。このため、後述する図12のようなスループット
優先ポリシー(空きCPU資源に対して動作可能な他の
プロセスを実行させる方法)にみられる同期待ちによる
無駄なCPU消費をなくすことができるが、CPU#0
とCPU#1の稼働率が50%、CPU#2の稼働率が
30%となりスループットが低下する。なお、図12
は、図13に対しスループット優先ポリシーとして表現
したものである。
【0081】対して、図10においては、CPU資源が
割り当てられているタイムスロットには、CPU#0に
対して、並列プロセスA1が30%、並列プロセスB1
が20%の比率で、それぞれタイムスロット#0〜#
2、タイムスロット#3〜#4に配分されている。ま
た、CPU#1に対しても、並列プロセスA2が30
%、並列プロセスB2が20%の比率で配分されてい
る。さらに、CPU#2に対しても、並列プロセスA3
が30%の比率で配分されている。なお、CPU#2の
タイムスロット#3,#4に対しては、空いたCPU資
源(空きタイムスロット)P1がある。
【0082】一方、CPU資源が追加割り当てされたタ
イムスロットには、太線で囲まれた部分が追加割り当て
される。すなわち、タイムスロット#5においては、C
PU#0に対して、並列プロセスA1が10%の比率で
追加的に配分されている。また、CPU#1に対して
も、並列プロセスA2が10%の比率で追加的に配分さ
れている。さらに、CPU#2に対しても、並列プロセ
スA3が10%の比率で追加的に配分されている。タイ
ムスロット#6においては、CPU#0に対して、並列
プロセスB1が10%の比率で追加的に配分されてい
る。また、CPU#1に対しても、並列プロセスB2が
10%の比率で追加的に配分されている。なお、CPU
#2に対しては、空いたCPU資源(空きタイムスロッ
ト)P2を残している。この空いたCPU資源(空きタ
イムスロット)P2は、並列処理が可能な並列プログラ
ムが無い空き時間帯を示している。しかし、処理可能な
プロセスがエントリされれば、空いたCPU資源(空き
タイムスロット)P2に割り当てられることになる。タ
イムスロット#7〜#8においても、同様に配分され
る。
【0083】このように本実施の形態では、空きCPU
資源を使用して協調して動作可能な並列プロセスに空き
CPU資源を追加割り当てする。このため、CPU#
0,#1,#2の空きCPU資源で並列プロセスが動作
するようになり、CPU#0、CPU#1の稼働率は1
00%、CPU#2の稼働率は60%と前述のターンア
ラウンド優先ポリシーと比較してスループットを2倍向
上させることができる。
【0084】ここで、前述した従来のスループット優先
ポリシーの実行状態について、図12を参照して具体的
に説明する。図12は、従来のスループット優先ポリシ
ーの実行状態を示す図である。なお、図12は、図13
にて前述したターンアラウンド優先ポリシーをもとに、
スループットを優先させた例を示している。
【0085】図12によると、CPU資源として、CP
U#0〜#2があり、ある一定のサイクルを等分割した
ものとして、タイムスロット#0〜#9がある。ここ
で、各CPU#0〜#2に対して、タイムスロット#0
〜#2の期間、並列プロセスA1〜A3の処理を行わせ
るものとする。また、各CPU#0〜#1に対して、タ
イムスロット#3〜#4の期間、並列プロセスB1〜B
2の処理を行わせるものとする。
【0086】一方、空きCPU資源となっている、CP
U#0に対するタイムスロット#5〜#9、CPU#1
に対するタイムスロット#5〜#9、およびCPU#3
に対するタイムスロット#3〜#9それぞれにも、並列
プロセスA1〜A3、並列プロセスB1〜B2が割り当
てられている。
【0087】このような状態において、システム全体の
スループット向上を図っている。しかしながら、並列プ
ロセスA3においては、並列プロセスB1,B2がCP
U#0,#1を占有しているため、同期通信(データ交
換等)が出来ず同期待ちすることになる。ただし、並列
プロセスの同期待ちの時間は、その並列プロセスの処理
中の時間として換算される。すなわち、サーバコンピュ
ータの処理機能を顧客に使用させ、CPUの動作時間に
応じて料金を徴収していた場合、同期待ちのCPUルー
プの時間も課金されてしまう。すると、同じ並列プログ
ラムを実行した場合であっても、空きのタイムスロット
があるか否かにより料金が異なってしまう。
【0088】このため、コンピュータシステムのシステ
ム提供者側にとっては、システム全体の効率(スループ
ット)が向上するが、コンピュータシステムの利用者側
にとっては、ターンアラウンド時間の保証がされず、ま
たコストアップにもなる。 (2)並列プロセスのスケジューリング時における計算
処理量を低減する。
【0089】協調して動作できる並列プロセスの判定処
理を単純な論理演算で行うことにより,大規模なシステ
ムでCPUが増加した場合でも、判定処理の計算量は非
常に少なくて済みスケジューリング性能を向上させるこ
とができる。
【0090】今、並列プロセスの割り当てビットマッ
プ、タイムスロット毎の空きタイムスロットマップを3
2ビットのデータ型を用いて表現したとする。この場
合、システムに実装されているCPU数と判定処理に要
する論理演算回数の関係は、下記表(1)のようにな
る。また、下記表(1)より、大規模なシステムでCP
Uが増加しても、判定処理に要する計算量は非常に少な
く済むことがわかる。
【0091】
【表1】
【0092】(3)優先的に動作させたいプログラムに
多くの空きCPU資源を使用させる。CPU配分率に応
じて並列プログラムを選択し空きCPU資源を割り当て
ることにより、優先的に動作させたいプログラムに多く
の空きCPU資源を使用させることができる。
【0093】今、4個のCPUが実装されているシステ
ムにおいて、並列プログラムA、並列プログラムBが、
以下のようにCPU数とCPU配分率を要求したとす
る。 ・並列プログラムA: CPU数4、CPU配分率40
% ・並列プログラムB: CPU数4、CPU配分率10
% この場合、CPU配分率に応じて追加割り当て対象を選
択する追加割り当て対象選択部371により、空きCP
U資源(CPU配分率50%)が以下のように並列プロ
グラム毎に追加割り当てされる。 ・並列プログラムA: 追加で割り当てられたCPU配
分率40% ・並列プログラムB: 追加で割り当てられたCPU配
分率10% このように、並列プログラムが要求したCPU配分率に
応じて空きCPU資源が追加割り当てされるため、空き
CPU資源でも意図したとおりの優先順位で、並列プロ
グラムを動作させることができる。
【0094】なお、上記の例では、マルチCPUにおけ
る並列処理において、プロセスの実行タイミングをスケ
ジュールに合わせて協調動作させるように説明したが、
複数のスレッド間での協調動作をスケジューリングする
こともできる。すなわち、タイムスロット割り当てマッ
プおよび割り当てビットマップにおいて、スレッド単位
で各CPUの処理対象を割り当てることも可能である。
【0095】また、上記の例では、並列プログラムから
生成される並列プロセスを、CPUの空き時間帯に追加
割り当てするように説明したが、並列プログラム以外の
プログラムを同様に追加割り当てすることもできる。
【0096】なお、上記の処理内容は、コンピュータで
読み取り可能な記録媒体に記録されたプログラムに記述
されており、このプログラムをコンピュータで実行する
ことにより、上記処理がコンピュータで実現される。コ
ンピュータで読み取り可能な記録媒体としては、磁気記
録装置や半導体メモリ等がある。市場へ流通させる場合
には、CD−ROM(Compact Disk Read Only Memory)
やフレキシブルディスク等の可搬型記録媒体にプログラ
ムを格納して流通させることができる。また、ネットワ
ークを介して接続されたコンピュータの記憶装置にプロ
グラムを格納しておき、ネットワークを介して接続され
た他のコンピュータにプログラムを転送することもでき
る。コンピュータで実行する際には、コンピュータ内の
ハードディスク装置等にプログラムを格納しておき、メ
インメモリにロードして実行することができる。
【0097】(付記1) 並列プログラムから生成され
る複数の並列プロセスを、複数のプロセッサで並列動作
させるための並列プロセス実行方法において、所定の周
期内で前記複数のプロセッサそれぞれに対して設けられ
た処理時間帯に対して、前記並列プログラムから生成さ
れる複数の並列プロセスを、前記並列プログラムに対し
て予め設定されたプロセッサ配分率に応じた時間に従っ
て並列動作するようにそれぞれ割り当て、前記処理時間
帯のうちプロセスが割り当てられていない空き時間帯に
対して、前記並列プログラムから生成される前記複数の
並列プロセスを、並列動作可能に割り当てられるかを判
定し、並列動作が可能と判定された場合、前記空き時間
帯に対して、前記複数の並列プロセスを追加割り当て
し、前記複数のプロセッサにより、前記複数のプロセッ
サそれぞれの前記処理時間帯に割り当てられたプロセス
を実行する、ことを特徴とする並列プロセス実行方法。
【0098】(付記2) 前記処理時間帯は前記所定の
周期を所定の割合で複数に分割して得られる時間単位か
らなるタイムスロットで区分されており、前記並列プロ
セスの割り当て及び追加割り当ては前記タイムスロット
の割り当てによって行うことを特徴とする付記1記載の
並列プロセス実行方法。
【0099】(付記3) 前記並列動作可能かの判定で
は、前記並列プログラムが複数ある場合、プロセッサ配
分率が高い前記並列プログラムから順に判定を行うこと
を特徴とする付記1記載の並列プロセス実行方法。
【0100】(付記4) 前記並列動作可能かの判定で
は、プロセッサ配分率が同じ前記並列プログラムが複数
ある場合、並列度が高い前記並列プログラムから順に判
定を行うことを特徴とする付記1記載の並列プロセス実
行方法。
【0101】(付記5) 前記並列動作可能かの判定で
は、前記並列プログラムが複数ある場合、並列度が高い
前記並列プログラムから順に判定を行うことを特徴とす
る付記1記載の並列プロセス実行方法。
【0102】(付記6) 前記並列動作可能かの判定で
は、前記並列プログラムの実行が予め許可されている全
ての動作可能プロセッサにおいて重複する空き時間帯が
ある場合、前記重複する空き時間帯において前記並列プ
ログラムの並列動作が可能であると判定することを特徴
とする付記1記載の並列プロセス実行方法。
【0103】(付記7) 前記並列動作可能かの判定で
は、前記複数のプロセッサそれぞれにおいて前記並列プ
ログラムの実行が許可されているか否かをフラグで表し
た第1のビット情報と、前記タイムスロット毎の前記複
数のプロセッサそれぞれへのプロセス割り当ての有無を
フラグで表した第2のビット情報との間で論理積演算を
行い、前記論理積演算の結果に基づいて前記並列動作可
能かの判定を行うことを特徴とする付記2記載の並列プ
ロセス実行方法。
【0104】(付記8) 前記並列動作可能かの判定で
は、前記論理積演算の結果が前記第1のビット情報と等
しくなる前記タイムスロットにおいて、前記並列プログ
ラムの前記複数の並列プロセスの並列動作が可能である
と判定することを特徴とする付記7記載の並列プロセス
実行方法。
【0105】(付記9) 並列プログラムから生成され
る複数の並列プロセスを並列動作させるための複数のプ
ロセッサを有するマルチプロセッサ型コンピュータにお
いて、所定の周期内で前記複数のプロセッサそれぞれに
対して設けられた処理時間帯に対して、前記並列プログ
ラムから生成される複数の並列プロセスを、前記並列プ
ログラムに対して予め設定されたプロセッサ配分率に応
じた時間に従って並列動作するようにそれぞれ割り当て
するプロセッサ割り当て手段と、前記処理時間帯のうち
プロセスが割り当てられていない空き時間帯に対して、
前記並列プログラムから生成される前記複数の並列プロ
セスを、並列動作可能に割り当てられるかを判定し、並
列動作が可能と判定された場合、前記空き時間帯に対し
て、前記複数の並列プロセスを追加割り当てするプロセ
ッサ追加割り当て手段と、前記複数のプロセッサによ
り、前記複数のプロセッサそれぞれの前記処理時間帯に
割り当てられたプロセスを実行するプロセス実行部と、
を有することを特徴とするマルチプロセッサ型コンピュ
ータ。
【0106】(付記10) 並列プログラムから生成さ
れる複数の並列プロセスを、複数のプロセッサで並列動
作させるための並列プロセス実行プログラムにおいて、
コンピュータに、所定の周期内で前記複数のプロセッサ
それぞれに対して設けられた処理時間帯に対して、前記
並列プログラムから生成される複数の並列プロセスを、
前記並列プログラムに対して予め設定されたプロセッサ
配分率に応じた時間に従って並列動作するようにそれぞ
れ割り当て、前記処理時間帯のうちプロセスが割り当て
られていない空き時間帯に対して、前記並列プログラム
から生成される前記複数の並列プロセスを、並列動作可
能に割り当てられるかを判定し、並列動作が可能と判定
された場合、前記空き時間帯に対して、前記複数の並列
プロセスを追加割り当てし、前記複数のプロセッサによ
り、前記複数のプロセッサそれぞれの前記処理時間帯に
割り当てられたプロセスを実行する、処理を実行させる
ことを特徴とする並列プロセス実行プログラム。
【0107】(付記11) 並列プログラムから生成さ
れる複数の並列プロセスを、複数のプロセッサで並列動
作させるためのプログラムを記録したコンピュータ読み
取り可能な記録媒体において、前記コンピュータに、所
定の周期内で前記複数のプロセッサそれぞれに対して設
けられた処理時間帯に対して、前記並列プログラムから
生成される複数の並列プロセスを、前記並列プログラム
に対して予め設定されたプロセッサ配分率に応じた時間
に従って並列動作するようにそれぞれ割り当て、前記処
理時間帯のうちプロセスが割り当てられていない空き時
間帯に対して、前記並列プログラムから生成される前記
複数の並列プロセスを、並列動作可能に割り当てられる
かを判定し、並列動作が可能と判定された場合、前記空
き時間帯に対して、前記複数の並列プロセスを追加割り
当てし、前記複数のプロセッサにより、前記複数のプロ
セッサそれぞれの前記処理時間帯に割り当てられたプロ
セスを実行する、処理を実行させることを特徴とするプ
ログラムを記録したコンピュータ読み取り可能な記録媒
体。
【0108】
【発明の効果】以上説明したように本発明では、並列プ
ログラムが任意のプロセッサ配分率に従い割り当てられ
ると、プロセッサの空き時間帯において並列プログラム
から生成される並列プロセスを並列動作可能に割り当て
られるかを判定し、この並列プロセスをプロセッサの空
き時間帯に割り当てて実行するようにした。これによ
り、並列プログラムのターンアラウンド時間を保証した
環境下において、システム全体のスループットを向上さ
せることが可能となる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の実施の形態を適用したマルチプロセッ
サ型コンピュータのハードウェア構成例を示す図であ
る。
【図3】本実施の形態を実現するためのOSの機能を示
すブロック図である。
【図4】資源管理システムと追加割り当てシステムの詳
細構成を示す図である。
【図5】タイムスロット割り当てマップの例を示す図で
ある。
【図6】割り当てビットマップの例を示す図である。
【図7】空きタイムスロットマップの例を示す図であ
る。
【図8】優先選択のための優先度割り当て例を示す図で
ある。
【図9】追加割り当て可否判定部の判定手順を示す図で
ある。
【図10】本実施の形態のCPU資源追加割り当て後の
実行状態を示す図である。
【図11】本実施の形態の並列プロセス実行処理を示す
フローチャートである。
【図12】従来のスループット優先ポリシーの実行状態
を示す図である。
【図13】従来のターンアラウンド優先ポリシーの実行
状態を示す図である。
【符号の説明】
1〜3 プロセッサ 10 コンピュータ 11〜13 CPU 14 ハードディスク装置(HDD) 15 グラフィック処理装置 16 入力インタフェース 17 通信インタフェース 18 バス 19 RAM A 並列プログラム B 並列プログラム A1〜A3 並列プロセス B1〜B2 並列プロセス P 空きCPU資源 PA1〜PA3 並列プロセス

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 並列プログラムから生成される複数の並
    列プロセスを、複数のプロセッサで並列動作させるため
    の並列プロセス実行方法において、 所定の周期内で前記複数のプロセッサそれぞれに対して
    設けられた処理時間帯に対して、前記並列プログラムか
    ら生成される複数の並列プロセスを、前記並列プログラ
    ムに対して予め設定されたプロセッサ配分率に応じた時
    間に従って並列動作するようにそれぞれ割り当て、 前記処理時間帯のうちプロセスが割り当てられていない
    空き時間帯に対して、前記並列プログラムから生成され
    る前記複数の並列プロセスを、並列動作可能に割り当て
    られるかを判定し、 並列動作が可能と判定された場合、前記空き時間帯に対
    して、前記複数の並列プロセスを追加割り当てし、 前記複数のプロセッサにより、前記複数のプロセッサそ
    れぞれの前記処理時間帯に割り当てられたプロセスを実
    行する、 ことを特徴とする並列プロセス実行方法。
  2. 【請求項2】 前記並列動作可能かの判定では、前記並
    列プログラムが複数ある場合、プロセッサ配分率が高い
    前記並列プログラムから順に判定を行うことを特徴とす
    る請求項1記載の並列プロセス実行方法。
  3. 【請求項3】 前記並列動作可能かの判定では、前記並
    列プログラムの実行が予め許可されている全ての動作可
    能プロセッサにおいて重複する空き時間帯がある場合、
    前記重複する空き時間帯において前記並列プログラムの
    並列動作が可能であると判定することを特徴とする請求
    項1記載の並列プロセス実行方法。
  4. 【請求項4】 前記処理時間帯は前記所定の周期を所定
    の割合で複数に分割して得られる時間単位からなるタイ
    ムスロットで区分されており、 前記並列プロセスの割り当て及び追加割り当ては前記タ
    イムスロットの割り当てによって行い、 前記並列動作可能かの判定では、前記複数のプロセッサ
    それぞれにおいて前記並列プログラムの実行が許可され
    ているか否かをフラグで表した第1のビット情報と、前
    記タイムスロット毎の前記複数のプロセッサそれぞれへ
    のプロセス割り当ての有無をフラグで表した第2のビッ
    ト情報との間で論理積演算を行い、前記論理積演算の結
    果に基づいて前記並列動作可能かの判定を行うことを特
    徴とする請求項1記載の並列プロセス実行方法。
  5. 【請求項5】 並列プログラムから生成される複数の並
    列プロセスを並列動作させるための複数のプロセッサを
    有するマルチプロセッサ型コンピュータにおいて、 所定の周期内で前記複数のプロセッサそれぞれに対して
    設けられた処理時間帯に対して、前記並列プログラムか
    ら生成される複数の並列プロセスを、前記並列プログラ
    ムに対して予め設定されたプロセッサ配分率に応じた時
    間に従って並列動作するようにそれぞれ割り当てするプ
    ロセッサ割り当て部と、 前記処理時間帯のうちプロセスが割り当てられていない
    空き時間帯に対して、前記並列プログラムから生成され
    る前記複数の並列プロセスを、並列動作可能に割り当て
    られるかを判定し、並列動作が可能と判定された場合、
    前記空き時間帯に対して、前記複数の並列プロセスを追
    加割り当てするプロセッサ追加割り当て部と、 前記複数のプロセッサにより、前記複数のプロセッサそ
    れぞれの前記処理時間帯に割り当てられたプロセスを実
    行するプロセス実行部と、 を有することを特徴とするマルチプロセッサ型コンピュ
    ータ。
JP2002053383A 2002-02-28 2002-02-28 並列プロセス実行方法、及びマルチプロセッサ型コンピュータ Pending JP2003256221A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2002053383A JP2003256221A (ja) 2002-02-28 2002-02-28 並列プロセス実行方法、及びマルチプロセッサ型コンピュータ
DE60307532T DE60307532T2 (de) 2002-02-28 2003-02-18 Paralleles Prozess-Ausführungsverfahren und Mehrprozessorenrechner
EP03250990A EP1341083B1 (en) 2002-02-28 2003-02-18 Parallel-process execution method and multiprocessor-type computer
US10/371,106 US20030163512A1 (en) 2002-02-28 2003-02-21 Parallel-process execution method and multiprocessor-type computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002053383A JP2003256221A (ja) 2002-02-28 2002-02-28 並列プロセス実行方法、及びマルチプロセッサ型コンピュータ

Publications (2)

Publication Number Publication Date
JP2003256221A true JP2003256221A (ja) 2003-09-10
JP2003256221A5 JP2003256221A5 (ja) 2004-10-28

Family

ID=27678553

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002053383A Pending JP2003256221A (ja) 2002-02-28 2002-02-28 並列プロセス実行方法、及びマルチプロセッサ型コンピュータ

Country Status (4)

Country Link
US (1) US20030163512A1 (ja)
EP (1) EP1341083B1 (ja)
JP (1) JP2003256221A (ja)
DE (1) DE60307532T2 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178913A (ja) * 2004-12-24 2006-07-06 Fujitsu Ltd 情報処理方法及びプログラム
JP2006309586A (ja) * 2005-04-28 2006-11-09 Fujitsu Ltd バッチスケジューリングプログラム、バッチスケジューリング方法およびバッチスケジューリング装置
JP2008243203A (ja) * 2007-03-28 2008-10-09 Internatl Business Mach Corp <Ibm> 仮想化されたデータ処理環境におけるワークロード管理
WO2011078162A1 (ja) * 2009-12-24 2011-06-30 日本電気株式会社 スケジューリング装置、スケジューリング方法及びプログラム
EP2386950A2 (en) 2010-05-14 2011-11-16 Canon Kabushiki Kaisha Data processing apparatus and data processing method
JP2013041437A (ja) * 2011-08-17 2013-02-28 Nec Corp 計算装置、計算装置の制御方法、及びプログラム
WO2013046321A1 (ja) * 2011-09-27 2013-04-04 株式会社 日立製作所 周期送信制御装置、周期送信制御方法、および周期送信制御プログラム
US8891877B2 (en) 2010-07-21 2014-11-18 Canon Kabushiki Kaisha Data processing apparatus and control method thereof
JP2015532754A (ja) * 2012-08-27 2015-11-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 仮想マシンの配備時間の最適化
US9213906B2 (en) 2008-10-03 2015-12-15 Canon Kabushiki Kaisha Information processing apparatus and method
JP2016194823A (ja) * 2015-03-31 2016-11-17 オムロン株式会社 制御装置
JP2018511850A (ja) * 2015-02-03 2018-04-26 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Cpuリソースを割り当てる装置、デバイス及び方法
KR101889749B1 (ko) 2017-07-21 2018-09-20 주식회사 티맥스데이터 메시지 스케줄링 방법

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8707317B2 (en) 2004-04-30 2014-04-22 Microsoft Corporation Reserving a fixed amount of hardware resources of a multimedia console for system application and controlling the unreserved resources by the multimedia application
US20080178177A1 (en) * 2007-01-19 2008-07-24 Charles Jens Archer Method and Apparatus for Operating a Massively Parallel Computer System to Utilize Idle Processor Capability at Process Synchronization Points
US9165032B2 (en) * 2007-11-21 2015-10-20 Hewlett-Packard Development Company, L.P. Allocation of resources for concurrent query execution via adaptive segmentation
US9229783B2 (en) 2010-03-31 2016-01-05 International Business Machines Corporation Methods and apparatus for resource capacity evaluation in a system of virtual containers
US8869164B2 (en) 2010-09-02 2014-10-21 International Business Machines Corporation Scheduling a parallel job in a system of virtual containers
KR101710910B1 (ko) 2010-09-27 2017-03-13 삼성전자 주식회사 프로세싱 유닛의 동적 자원 할당을 위한 방법 및 장치
KR20120067825A (ko) * 2010-12-16 2012-06-26 한국전자통신연구원 임베디드 리눅스를 위한 적응형 프로세스 스케쥴링 방법
US9513966B2 (en) * 2011-02-17 2016-12-06 Siemens Aktiengesellschaft Parallel processing in human-machine interface applications
US8775837B2 (en) * 2011-08-19 2014-07-08 Oracle International Corporation System and method for enabling turbo mode in a processor
JP2013047892A (ja) * 2011-08-29 2013-03-07 Fujitsu Ltd 情報処理装置、スケジューリング方法およびプログラム
JP2015195003A (ja) * 2014-03-25 2015-11-05 パナソニックIpマネジメント株式会社 コマンド制御装置、コマンド制御方法および集積回路
CN104090817A (zh) * 2014-07-15 2014-10-08 浪潮电子信息产业股份有限公司 一种linux shell脚本并行执行与超时自动退出的处理方法
JP2018018171A (ja) * 2016-07-25 2018-02-01 富士通株式会社 並列処理装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラム
WO2018183676A1 (en) * 2017-03-29 2018-10-04 Ab Initio Technology Llc Systems and methods for performing data processing operations using variable level parallelism
US11188434B2 (en) 2017-12-08 2021-11-30 Ab Initio Technology Llc Systems and methods for monitoring execution of structured query language (SQL) queries
US11977993B2 (en) 2020-11-30 2024-05-07 Getac Technology Corporation Data source correlation techniques for machine learning and convolutional neural models
US11604773B2 (en) 2020-11-30 2023-03-14 Whp Workflow Solutions, Inc. Hierarchical data ingestion in a universal schema
US11477616B2 (en) 2020-11-30 2022-10-18 Getac Technology Corporation Safety detection controller
US11540027B2 (en) 2020-11-30 2022-12-27 Getac Technology Corporation Performant ad hoc data ingestion
US11271810B1 (en) 2020-11-30 2022-03-08 Getac Technology Corporation Heterogeneous cross-cloud service interoperability
US11720414B2 (en) * 2020-11-30 2023-08-08 Whp Workflow Solutions, Inc. Parallel execution controller for partitioned segments of a data model
US11605288B2 (en) 2020-11-30 2023-03-14 Whp Workflow Solutions, Inc. Network operating center (NOC) workspace interoperability
US11468671B2 (en) 2020-11-30 2022-10-11 Getac Technology Corporation Sentiment analysis for situational awareness
US11630677B2 (en) 2020-11-30 2023-04-18 Whp Workflow Solutions, Inc. Data aggregation with self-configuring drivers
WO2022165321A1 (en) 2021-01-31 2022-08-04 Ab Initio Technology Llc Data processing system with manipulation of logical dataset groups

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02242434A (ja) * 1989-03-16 1990-09-26 Hitachi Ltd タスクのスケジューリング方法
WO2002069174A1 (fr) * 2001-02-28 2002-09-06 Fujitsu Limited Procede d'execution en parallele de processus et ordinateur a processeurs multiples

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3730740B2 (ja) * 1997-02-24 2006-01-05 株式会社日立製作所 並列ジョブ多重スケジューリング方法
US6345287B1 (en) * 1997-11-26 2002-02-05 International Business Machines Corporation Gang scheduling for resource allocation in a cluster computing environment
JP2001167060A (ja) * 1999-12-07 2001-06-22 Hitachi Ltd タスク並列化方法
JP2002007150A (ja) * 2000-06-19 2002-01-11 Hitachi Ltd プロセスのスケジューリング方法および装置およびプロセスのスケジューリングプログラムを記録したコンピュータ読み取り可能な記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02242434A (ja) * 1989-03-16 1990-09-26 Hitachi Ltd タスクのスケジューリング方法
WO2002069174A1 (fr) * 2001-02-28 2002-09-06 Fujitsu Limited Procede d'execution en parallele de processus et ordinateur a processeurs multiples

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
FEITELSON, D. G.: "Job Scheduling in the Multiprogrammed Parallel Systems", IBM RESEARCH REPORT, JPN4007000693, August 1997 (1997-08-01), pages 1 - 171, XP002942107, ISSN: 0000809560 *
FRANKE, H., ET AL.: "Gang Scheduling for Highly Efficient Distributed Multiprocessor Systems", FRONTIERS OF MASSIVELY PARALLEL COMPUTING, 1996. PROCEEDINGS ‘FRONTIERS '96.’, SIXTH SYMPOSIUM ON, JPN4007000692, 31 October 1996 (1996-10-31), pages 4 - 12, XP010201571, ISSN: 0000809559, DOI: 10.1109/FMPC.1996.558056 *
小枝祐司: "HPC(High Performance Computing) ベクトルパラレルスーパーコンピュータVX/VPP300/VPP70", FUJITSU, vol. 第47巻、第6号, CSNH199700195001, 20 October 1997 (1997-10-20), JP, pages 442 - 449, ISSN: 0000891944 *
田中稔、外2名: "PRIMEPOWER向け並列プログラム開発・運用環境:Parallelnavi", FUJITSU, vol. 第52巻、第1号, CSNH200300188019, 14 February 2001 (2001-02-14), JP, pages 94 - 99, ISSN: 0000809562 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4711672B2 (ja) * 2004-12-24 2011-06-29 富士通株式会社 情報処理方法及びプログラム
JP2006178913A (ja) * 2004-12-24 2006-07-06 Fujitsu Ltd 情報処理方法及びプログラム
US8407709B2 (en) 2005-04-28 2013-03-26 Fujitsu Limited Method and apparatus for batch scheduling, and computer product
JP4555145B2 (ja) * 2005-04-28 2010-09-29 富士通株式会社 バッチスケジューリングプログラム、バッチスケジューリング方法およびバッチスケジューリング装置
JP2006309586A (ja) * 2005-04-28 2006-11-09 Fujitsu Ltd バッチスケジューリングプログラム、バッチスケジューリング方法およびバッチスケジューリング装置
JP2008243203A (ja) * 2007-03-28 2008-10-09 Internatl Business Mach Corp <Ibm> 仮想化されたデータ処理環境におけるワークロード管理
US9213906B2 (en) 2008-10-03 2015-12-15 Canon Kabushiki Kaisha Information processing apparatus and method
JP5810918B2 (ja) * 2009-12-24 2015-11-11 日本電気株式会社 スケジューリング装置、スケジューリング方法及びプログラム
WO2011078162A1 (ja) * 2009-12-24 2011-06-30 日本電気株式会社 スケジューリング装置、スケジューリング方法及びプログラム
EP2386950A2 (en) 2010-05-14 2011-11-16 Canon Kabushiki Kaisha Data processing apparatus and data processing method
US9003167B2 (en) 2010-05-14 2015-04-07 Canon Kabushiki Kaisha Data processing apparatus and data processing method
US8891877B2 (en) 2010-07-21 2014-11-18 Canon Kabushiki Kaisha Data processing apparatus and control method thereof
JP2013041437A (ja) * 2011-08-17 2013-02-28 Nec Corp 計算装置、計算装置の制御方法、及びプログラム
WO2013046321A1 (ja) * 2011-09-27 2013-04-04 株式会社 日立製作所 周期送信制御装置、周期送信制御方法、および周期送信制御プログラム
JP2015532754A (ja) * 2012-08-27 2015-11-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 仮想マシンの配備時間の最適化
JP2018511850A (ja) * 2015-02-03 2018-04-26 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Cpuリソースを割り当てる装置、デバイス及び方法
JP2016194823A (ja) * 2015-03-31 2016-11-17 オムロン株式会社 制御装置
US10274936B2 (en) 2015-03-31 2019-04-30 Omron Corporation Control apparatus
KR101889749B1 (ko) 2017-07-21 2018-09-20 주식회사 티맥스데이터 메시지 스케줄링 방법

Also Published As

Publication number Publication date
EP1341083B1 (en) 2006-08-16
EP1341083A3 (en) 2004-06-16
DE60307532T2 (de) 2006-12-21
EP1341083A2 (en) 2003-09-03
US20030163512A1 (en) 2003-08-28
DE60307532D1 (de) 2006-09-28

Similar Documents

Publication Publication Date Title
JP2003256221A (ja) 並列プロセス実行方法、及びマルチプロセッサ型コンピュータ
JP3891936B2 (ja) 並列プロセス実行方法、及びマルチプロセッサ型コンピュータ
US9507631B2 (en) Migrating a running, preempted workload in a grid computing system
US20190324819A1 (en) Distributed-system task assignment method and apparatus
RU2454704C2 (ru) Способ и система для выполнения программных приложений и машиночитаемый носитель
EP2300910B1 (en) Scheduler instances in a process
US8793695B2 (en) Information processing device and information processing method
JP5607732B2 (ja) 仮想化環境におけるリソース割り当て
WO2019218708A1 (zh) 一种任务处理方法及处理装置、计算机***
JP2002063148A (ja) 多重プロセッサ・システム
TW200404253A (en) Thread dispatch mechanism and method for multiprocessor computer systems
JP2010044784A (ja) システムにおける要求のスケジューリング
CN115167996A (zh) 调度方法及装置、芯片、电子设备及存储介质
JP6010975B2 (ja) ジョブ管理装置、ジョブ管理方法、及びプログラム
CN112925616A (zh) 任务分配方法、装置、存储介质及电子设备
JP2001195268A (ja) サービスレベルによる資源割当方式
RU2450330C2 (ru) Аппаратно-реализуемый способ выполнения программ
JPH1027167A (ja) 並列計算機の負荷分散方法
CN113296957B (zh) 一种用于动态分配片上网络带宽的方法及装置
JPH02210542A (ja) 仮想計算機システムにおける実行制御方式
JPH07129518A (ja) 計算機システム
JP2000215071A (ja) 仮想計算機システム
JP2003186686A (ja) リソース制御装置、方法及び記憶媒体
JP2004152060A (ja) 計算機システム、および、そのディスクサブシステム
JPH11249917A (ja) 並列型計算機及びそのバッチ処理方法及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070319

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070904