[go: up one dir, main page]

JP4211645B2 - 専用プロセッサの備わった計算機システム - Google Patents

専用プロセッサの備わった計算機システム Download PDF

Info

Publication number
JP4211645B2
JP4211645B2 JP2004073678A JP2004073678A JP4211645B2 JP 4211645 B2 JP4211645 B2 JP 4211645B2 JP 2004073678 A JP2004073678 A JP 2004073678A JP 2004073678 A JP2004073678 A JP 2004073678A JP 4211645 B2 JP4211645 B2 JP 4211645B2
Authority
JP
Japan
Prior art keywords
processor
cpu
dedicated
address space
flag
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.)
Expired - Fee Related
Application number
JP2004073678A
Other languages
English (en)
Other versions
JP2005266841A (ja
Inventor
浩平 渡辺
一浩 佐藤
浩司 増田
千江子 秋葉
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004073678A priority Critical patent/JP4211645B2/ja
Publication of JP2005266841A publication Critical patent/JP2005266841A/ja
Application granted granted Critical
Publication of JP4211645B2 publication Critical patent/JP4211645B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Description

本発明は、複数の汎用プロセッサが備わっている計算機システムにかかわり、オペレーティングシステムにおける、プロセッサの割り当て制御方法に関する。
特許文献1に記載のように、ユーザが指定したプログラムを他のプログラムとは別のプロセッサで動作させる計算機システムとして、ネットワークに接続された2台以上のプロセッサからユーザが特定のプログラムを動作させるプロセッサを選択できる、プロセッサ指定方式がある。
特開平7−311743号公報
背景技術に記載したプロセッサ指定方式は、ユーザが指定したプログラムを、ネットワークで接続された2台以上のプロセッサから1つのプロセッサを選択する方式であり、次のような問題点がある。
まず、特定のプログラムを複数台のプロセッサで動作させたい場合に、上記のプロセッサ選択方式では個々のプロセッサは独立した計算機であるので、これは不可能である。
つぎに、プロセッサを1台追加する際に、計算機を1台追加することとなり、そのため、全体の計算機システムの管理、運用が複雑になってしまい、システム拡張性が損なわれる。
また、特定のプログラムが他のプログラムと情報の受け渡しをする際には、ネットワークを介しているため、通信の手間が発生し、このオーバヘッドが無視できない。
さらに、特定のプログラムの総実行時間を短縮するため、プロセッサを全て使用して動作させることも不可能である。
本発明の目的は、複数の汎用プロセッサが備わった、1台のマルチプロセッサ計算機システムにおいて、汎用プロセッサのうち、1台以上のプロセッサをユーザが任意に指定したプログラムのみを動作させる専用のプロセッサとして割り当てる方法を提供することにある。
一般的に、プログラムがプロセッサで動作する際は、プロセッサごとに存在しプロセッサ資源を各プログラムに割り当てるディスパッチャが、レディなアドレス空間をサーチし、レディなアドレス空間が見つかれば、そのアドレス空間内で動作するレディなプロセスにプロセッサ資源を割り当てる(ディスパッチする)。
本発明では、ディスパッチャが、当該プロセッサが専用プロセッサであるかどうかを識別できるよう、プロセッサを管理するプロセッサ論理情報テーブルに専用プロセッサであるかどうかを示すフラグを設ける。
また、ユーザが専用プロセッサで動作させたいプログラムが専用プロセッサにてディスパッチされるよう、このプログラムが動作するアドレス空間を管理するテーブルに専用プロセッサを使用することを示すフラグを設ける。
ディスパッチャは、当該プロセッサが専用プロセッサで、かつ、ディスパッチしようとするアドレス空間に専用プロセッサを使用するフラグが立っていた場合に、ディスパッチする。また、当該プロセッサが専用プロセッサでない通常のプロセッサで、かつ、ディスパッチしようとするアドレス空間に専用プロセッサを使用するフラグが立っていなかった場合、ディスパッチする。
本発明により、複数の汎用プロセッサが備わった1台のマルチプロセッサシステムにおいて、上記プロセッサのうち1台以上のプロセッサを、ユーザが任意に指定したプログラムのみ実行する専用のプロセッサとすることができるため、ユーザはプロセッサ負荷に影響を及ぼさずに計算機システムで、プロセッサ負荷の非常に高いプログラムを実行したいときに、プロセッサ負荷の高いプログラムを専用プロセッサで動作させることで専用のプロセッサでない通常のプロセッサのプロセッサ負荷に影響を与えずにプロセッサ負荷の高いプログラムを実行することができる。その際、専用プロセッサは1台の計算機システムで実現されているため、ユーザが指定する特定のプログラムを変更する必要はなく、また、特定のプログラムが他のプログラムと情報の受け渡しを行う場合も、通信等のオーバヘッドは発生せず、従来のマルチプロセッサシステムと同等の性能で実現できる。
以下、本発明の実施の形態を図面により詳細に説明する。
図1は本発明の実施例の全体構成であり、100は通常CPU(プロセッサ)、101は特定の処理専用のCPUである。116、117はCPUの識別部であり、これによりソフトウェアはCPUが特定の処理専用のCPUであるかを識別する。CPU物理情報102、103は各々のCPUの物理情報を格納するテーブル、CPU論理情報104、105は各々のCPUの論理情報を格納するテーブル(これらの情報はCPU管理テーブル99a、bに格納されている)、システム共通領域106は計算機システム共通の情報を格納するテーブル、ディスパッチャ107a、bはCPU資源を各プロセスに割り当てる手段、初期設定制御108は計算機システムの初期設定をする手段、ジョブ管理109はジョブの入力から実行に移すまでを管理する手段、アドレス空間管理テーブル110、111、112は各ジョブが動作するアドレス空間を管理するテーブル、タスク113、114、115はジョブを構成する各プロセス群である。CPU101が専用CPUであるという情報はハードウェアが保持している。初期設定制御108が初期設定時にハードウェアにCPU情報を問い合わせることで当該CPUが専用CPUであるかどうかをソフトウェアが認識する。CPU100、101の資源をアドレス空間110a、111a、112aに割り当てることをディスパッチと呼ぶ。これは手段107が対応する。
図2はCPU100、101の論理情報テーブル104、105の詳細であり、200は当該CPUが専用CPUであるかを示すフラグである。このフラグ200は初期設定制御108がシステム初期設定時に、当該CPUが専用CPUである場合に立てる。ディスパッチャ107は当フラグ200を参照することにより、割り当てようとしているCPUが通常CPUか専用CPUのどちらであるかを判断する。
図3はアドレス空間管理テーブル110、111、112の詳細であり、300は当該アドレス空間が専用CPUのみで動作する要求があることを示すフラグ、301は当該アドレス空間が通常CPU、又は専用CPUで動作する要求があることを示すフラグである。ディスパッチャ107はディスパッチしようとしているアドレス空間に専用CPUのみで動作フラグ300を参照することで、通常CPU、又は専用CPU各々のCPUを当該アドレス空間に割り当ててもよいかを判断する。また、ディスパッチャはすべてのCPUで動作フラグ301を参照することで、同様のディスパッチ制御を行うが、すべてのCPUで動作フラグ301が立っていた場合は、通常CPU、専用CPUどちらのCPUでも当該アドレス空間をディスパッチする。
図4からは本発明の1つの実施例を示している。システムの起動時に図4の初期設定制御108が動作する。初期設定制御108はCPU番号をCPU物理情報テーブル102、103、CPU論理情報テーブル104、105に格納し(ステップ401)、CPUが専用CPUであるかどうかをハードウェアすなわち、各CPUの識別部116、117に問い合わせる(ステップ402)。ハードウェアから専用CPUであると報告されたなら(ステップ403)、CPU論理情報テーブル105の専用CPUフラグ200を立てる(ステップ404)。ここまでの処理(ステップ401からステップ404まで)をCPUの数だけ繰り返す(ループ400)。初期設定制御108の処理が終了した時点で、どのCPUが専用CPUであるかは各CPUの論理情報テーブル104、105で判断できる。以降、専用CPUフラグ200は変更されない。
ユーザがジョブを入力すると、図5のジョブ管理109が動作する。ジョブ管理109は入力ジョブを受け付け(ステップ500)、ジョブに対してアドレス空間を割り当て(ステップ501)、ジョブを実行する(ステップ502)。
図6はジョブ実行の一例を示している。すなわち、図5のステップ502の詳細フローである。ユーザジョブが当該アドレス空間110a、111a、112aを専用CPUのみで動作するよう要求していた場合は(ステップ600)、当該アドレス空間管理テーブル110、111、112の専用CPUのみで動作フラグ300を立てる(ステップ601)。また、当該アドレス空間110a、111a、112aを通常CPU、専用CPUを含むすべてのCPUで動作するよう要求した場合は(ステップ602)、当該アドレス空間管理テーブル110、111、112のすべてのCPUで動作フラグ301を立てる(ステップ603)。ここで、各アドレス空間管理テーブル110、111、112の専用CPUのみで動作フラグ300と、すべてのCPUで動作フラグ301は排他的であり、1つのアドレス空間ではどちらか一方のフラグが立っているか、両方とも立っていないかである。すなわち、専用CPUのみで動作、すべてのCPUで動作、の両方を要求することはできない。専用CPUの要求に関する処理が終了すると、ディスパッチャ107を呼ぶ。ここで一度制御を明示的にディスパッチャに移すことで、次のユーザ処理(ステップ604)からは必ず要求した方のCPUでディスパッチされる。
図7はOSからの視点で、ディスパッチャ107がアドレス空間110a、111a、112aをディスパッチする流れを示している。まず、当該アドレス空間の専用CPUに対する要求と、当該CPUが専用CPUであるかという属性とを照らし合わせる、ディスパッチテスタ700を実行する。図8がディスパッチテスタの流れである。ディスパッチテスタ700は、当該CPUが専用CPUであるかどうかをCPU論理情報テーブル104、105の専用CPUフラグ200を参照することで判断する(ステップ800)。
当該CPUが専用CPUであった場合は、次にディスパッチしようとしているアドレス空間が専用CPUを使用する指定であるか(専用CPUのみで動作フラグ300またはすべてのCPUで動作フラグ301が立っているか)を判断する(ステップ801)。専用CPUを使用する指定であった場合はディスパッチ可能であると判断する(ステップ803)。専用CPUを使用する指定でなかった場合は、ディスパッチ不可能であると判断する(ステップ804)。
当該CPUが専用CPUでなかった場合は、次にディスパッチしようとしているアドレス空間が専用CPUのみで動作する指定であるかをアドレス空間管理テーブルの専用CPUのみで動作のフラグ300で判断する(ステップ802)。専用CPUのみで動作する指定でなかった場合は、ディスパッチ可能であると判断する(ステップ803)。専用CPUのみで動作する指定であった場合はディスパッチ不可能であると判断する(ステップ804)。
ディスパッチテスタ700が終了すると、ディスパッチャ107は、ディスパッチテスタが、当該アドレス空間をディスパッチテスタがディスパッチ可能であると判断したかどうかを判定する(ステップ701)。ディスパッチ可能であった場合は、アドレス空間内のレディなタスクをサーチする(ステップ702)。ディスパッチ不可能であった場合は当該アドレス空間をほかのCPUでディスパッチさせるよう、要求する(ステップ703)。
例えば、ジョブ110が専用CPUのみで動作するよう要求があった場合は、専用CPUの要求に関する処理(ステップ603まで)でアドレス空間管理テーブル110に専用CPUのみで動作フラグ300が立つ。この間は専用CPUのみで動作フラグ300、及びすべてのCPUで動作フラグ301共に立っていないため、通常CPU100で動作する。その後、ディスパッチャ107をコールするが、ディスパッチテスタ700が当該アドレス空間110をディスパッチできないと判断するため、ディスパッチされない。その後、専用CPU101が当該アドレス空間110aをディスパッチしようとしたとき、専用CPU101のディスパッチャ107でディスパッチテスタ700が、当該アドレス空間110aをディスパッチ可能と判断し、ディスパッチされる。
また、第2の例としてアドレス空間111aのジョブがすべてのCPUで動作するよう要求があった場合は、専用CPUの要求に関する処理(ステップ603まで)でアドレス空間管理テーブル111にすべてのCPUで動作フラグ301が立つ。この間は通常CPU100で動作する。その後、ディスパッチャ107をコールする。ディスパッチテスタ700は、当該アドレス空間111aをディスパッチ可能と判断し、再度ディスパッチする。その後、割り込み等でプロセスが中断した場合、他のCPUが当該アドレス空間111aをディスパッチしようとしたときに通常CPU100、専用CPU101のどちらのCPUのディスパッチャ107でもディスパッチテスタ700がディスパッチ可能と判断するため、どちらのCPUでも動作する。
本発明の構成の概要を示す図である。 本発明の構成における管理テーブルを示す図である。 本発明の構成における管理テーブルを示す図である。 本発明の一実施例における初期設定処理のフローチャートである。 本発明の一実施例におけるジョブ入力からジョブ実行までのフローチャートである。 本発明の一実施例におけるジョブ実行のフローチャートである。 本発明の一実施例におけるディスパッチャのフローチャートである。 本発明の一実施例におけるディスパッチャ内部処理のフローチャートである。
符号の説明
100 … 通常CPU
101 … 専用CPU
102 … CPU物理情報管理テーブル
103 … CPU物理情報管理テーブル
104 … CPU論理情報管理テーブル
105 … CPU論理情報管理テーブル
106 … システム共通情報管理テーブル
107 … ディスパッチャ
108 … 初期設定制御部
109 … ジョブ管理部
110 … アドレス空間管理テーブル
111 … アドレス空間管理テーブル
112 … アドレス空間管理テーブル
113 … アドレス空間内タスク群
114 … アドレス空間内タスク群
115 … アドレス空間内タスク群
116 … プロセッサ識別子
117 … プロセッサ識別子

Claims (2)

  1. 複数のプロセッサを備えた計算機システムにおいて
    当該プロセッサが専用プロセッサであるか通常のプロセッサかどうかを識別するための第1のフラグを、前記プロセッサを管理するプロセッサ論理情報テーブルに設定する手段
    前記専用プロセッサで動作させたいプログラムを専用プロセッサに割り当てるための第2のフラグを、前記プログラムが動作するアドレス空間を管理するテーブルに設定する手段
    前記第1のフラグ及び前記第2のフラグが前記専用プロセッサの利用を示す場合に、前記専用プロセッサを前記アドレス空間に割り当てる手段と、
    前記第1のフラグ及び前記第2のフラグが前記専用プロセッサの利用を示していなかった場合に、通常のプロセッサを前記アドレス空間に割り当てる手段と
    前記プログラムが中断した場合、当該割り当てられていた前記アドレス空間の利用を待つ通常のプロセッサもしくは専用プロセッサに割り当てる手段とを備えたことを特徴とする計算機システム。
  2. 複数のプロセッサを備えた計算機システムにおけるプロセッサの割り当て制御方法において、
    当該プロセッサが専用プロセッサであるか通常のプロセッサかどうかを識別するための第1のフラグを、前記プロセッサを管理するプロセッサ論理情報テーブルに設定するステップと
    前記専用プロセッサで動作させたいプログラムを専用プロセッサに割り当てるための第2のフラグを、前記プログラムが動作するアドレス空間を管理するテーブルに設定するステップと
    前記第1のフラグ及び前記第2のフラグが前記専用プロセッサの利用を示す場合に、前記専用プロセッサを前記アドレス空間に割り当てるステップと、
    前記第1のフラグ及び前記第2のフラグが前記専用プロセッサの利用を示していなかった場合に、通常のプロセッサを前記アドレス空間に割り当てるステップと
    前記プログラムが中断した場合、当該割り当てられていた前記アドレス空間の利用を待つ通常のプロセッサもしくは専用プロセッサに割り当てステップとを有することを特徴とするプロセッサの割り当て制御方法。
JP2004073678A 2004-03-16 2004-03-16 専用プロセッサの備わった計算機システム Expired - Fee Related JP4211645B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004073678A JP4211645B2 (ja) 2004-03-16 2004-03-16 専用プロセッサの備わった計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004073678A JP4211645B2 (ja) 2004-03-16 2004-03-16 専用プロセッサの備わった計算機システム

Publications (2)

Publication Number Publication Date
JP2005266841A JP2005266841A (ja) 2005-09-29
JP4211645B2 true JP4211645B2 (ja) 2009-01-21

Family

ID=35091371

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004073678A Expired - Fee Related JP4211645B2 (ja) 2004-03-16 2004-03-16 専用プロセッサの備わった計算機システム

Country Status (1)

Country Link
JP (1) JP4211645B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4969791B2 (ja) * 2005-03-30 2012-07-04 株式会社日立製作所 ディスクアレイ装置およびその制御方法
CN100432944C (zh) * 2005-09-30 2008-11-12 中国科学院研究生院 计算机系统
JP2007219937A (ja) * 2006-02-17 2007-08-30 Toyota Infotechnology Center Co Ltd タスク管理システム、タスク管理方法およびタスク管理プログラム
JP4936517B2 (ja) * 2006-06-06 2012-05-23 学校法人早稲田大学 ヘテロジニアス・マルチプロセッサシステムの制御方法及びマルチグレイン並列化コンパイラ
US8136111B2 (en) 2006-06-27 2012-03-13 International Business Machines Corporation Managing execution of mixed workloads in a simultaneous multi-threaded (SMT) enabled system
JP5949245B2 (ja) * 2012-07-11 2016-07-06 富士通株式会社 情報処理装置、実行プログラムおよび実行方法

Also Published As

Publication number Publication date
JP2005266841A (ja) 2005-09-29

Similar Documents

Publication Publication Date Title
US9965324B2 (en) Process grouping for improved cache and memory affinity
JP2866241B2 (ja) コンピュータシステムおよびスケジューリング方法
JP3678414B2 (ja) 多重プロセッサ・システム
US7979861B2 (en) Multi-processor system and program for causing computer to execute controlling method of multi-processor system
TW200404253A (en) Thread dispatch mechanism and method for multiprocessor computer systems
US20050071843A1 (en) Topology aware scheduling for a multiprocessor system
KR20090108868A (ko) 가상 머신 관리 시스템 및 그의 프로세서 자원 관리방법
JP2004326755A (ja) 仮想計算機環境におけるディスパッチ機能の管理
KR20130119285A (ko) 클러스터 컴퓨팅 환경에서의 자원 할당 장치 및 그 방법
JP2006524381A (ja) 共有リソースの同時アクセス
JPH0628053B2 (ja) マルチプロセッサシステムの資源の割当制御方法
JP2007115246A (ja) ソフトウェアによって使用される資源を動的に割り当てるための方法及び装置
US7007150B2 (en) Memory balancing and optimization services
US4945470A (en) Hierarchy multi-processor system and control method therefor
JP3541212B2 (ja) プロセッサ割当て装置
JP2009223842A (ja) 仮想計算機制御プログラム及び仮想計算機システム
JP6543219B2 (ja) 仮想マシン配置装置およびリソース管理方法
JP4211645B2 (ja) 専用プロセッサの備わった計算機システム
JPH06243112A (ja) マルチプロセッサ装置
JP4862056B2 (ja) 仮想計算機管理機構及び仮想計算機システムにおけるcpu時間割り当て制御方法
US20060020701A1 (en) Thread transfer between processors
TWI783401B (zh) 記憶體管理方法和相關產品
JP2004192400A (ja) ジョブスケジューリング方法および装置
JPH0612395A (ja) マルチプロセサシステムにおけるタスク割り付け方法
JPH02238556A (ja) プロセススケジューリング方式およびマルチプロセッサシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060306

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071114

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080613

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080619

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081007

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081020

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111107

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4211645

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111107

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111107

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121107

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121107

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131107

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees