WO2009110084A1 - プロセス制御方法 - Google Patents

プロセス制御方法 Download PDF

Info

Publication number
WO2009110084A1
WO2009110084A1 PCT/JP2008/054071 JP2008054071W WO2009110084A1 WO 2009110084 A1 WO2009110084 A1 WO 2009110084A1 JP 2008054071 W JP2008054071 W JP 2008054071W WO 2009110084 A1 WO2009110084 A1 WO 2009110084A1
Authority
WO
WIPO (PCT)
Prior art keywords
process control
server
control function
program
multiprocessor environment
Prior art date
Application number
PCT/JP2008/054071
Other languages
English (en)
French (fr)
Inventor
康司 小倉
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to JP2010501736A priority Critical patent/JPWO2009110084A1/ja
Priority to PCT/JP2008/054071 priority patent/WO2009110084A1/ja
Publication of WO2009110084A1 publication Critical patent/WO2009110084A1/ja

Links

Images

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic

Definitions

  • the present invention relates to a process control method in a server in which a program such as a call processing program that requires real-time performance and execution order guarantee and other application programs are executed in a mixed manner.
  • the call processing program in an exchange system using a conventional custom product assumes a single processor environment, and guarantees real-time performance and execution order through exclusive control using interrupt masks and execution order control based on priority.
  • a telecom server based on a general-purpose server is used.
  • an OS Operating System
  • SMP Symmetric Multiple Processor
  • IA Intelligent Architecture
  • CPU Central Processing Unit
  • a call processing program and other application programs are mixedly operated.
  • SMP refers to a system in a multiprocessor system in which the roles of the processors are completely symmetric and are equal.
  • FIG. 1 is a diagram showing an example of process control by a conventional SMP system compatible OS.
  • FIG. 1 it is assumed that three CPUs of CPUs 1 # 01 to 1 # 03 are mounted on the physical server, and the dashed frame surrounding each CPU 1 # 01 to 1 # 03 is the CPU 1 #. The range in which resources 01 to 1 # 03 are used is shown.
  • the server basic unit 2 including the OS 21 compatible with the SMP system and the server unit 3 including the processes 31 # 01 to 31 # 04 corresponding to the call processing program and other application programs cross the CPUs 1 # 01 to 1 # 03. Is executed. That is, the OS 21 activates the processes 31 # 01 to 31 # 04 according to the description of the rc script 22, and at this time, the CPU that executes the processes 31 # 01 to 31 # 04 is not fixed, and the CPU 1 # 01 has a free space. Schedule to operate at ⁇ 1 # 03. Note that the processes 31 # 01 to 31 # 04 use the network interfaces 4 # 0 and 4 # 1 when communication with the outside is required in the course of processing (communication is essential for the call processing process).
  • the SMP system-compatible OS described above can generate and execute a plurality of threads within one process, and the processing capability is improved by assigning these threads to each CPU and executing them simultaneously. Therefore, an application program that does not require an execution order guarantee can operate by making maximum use of processor resources in an SMP environment.
  • FIG. 2 is a diagram illustrating an example of the relationship between the number of call processes per unit time and the resource usage rate under SMP.
  • the curve a is the number of processors “1”
  • the curve b is the number of processors “2”
  • the curve c is the number of processors “ 4 "is shown.
  • the call processing performance is improved in proportion to the number of processors in the range where the number of call processing per unit time is small, but it reverses as the number of call processing per unit time increases, and the maximum processing capacity
  • the number of processors per unit time is most advantageous when the number of processors is “1”.
  • ASMP Asymmetric Multiple Processor
  • the SMP system configuration and the SMP system configuration are optimal for the operation of the call processing process, and it is necessary to improve the system performance by creating a mechanism that can configure both system configurations within one physical server. There is.
  • the present invention has been proposed in view of the above-described conventional problems, and the purpose of the present invention is in a server in which a program that requires real-time performance and guarantee of execution order and other application programs are mixedly executed. It is an object of the present invention to provide a process control method capable of exhibiting high processing capacity for any program.
  • a process control method in a server in which a program that requires real-time property and execution order guarantee and other application programs are mixedly executed, and the process is executed by an operating system that supports a symmetric multiprocessor system.
  • a step of starting a control function a step of controlling execution in an asymmetric multiprocessor environment for a program that requires real-time performance and guarantee of execution order based on the description of the process control table by the started process control function;
  • a step of starting a logical server corresponding to each group in one physical server is provided.
  • execution control in an asymmetric multiprocessor environment and a symmetric multiprocessor environment is performed.
  • FIG. 3 is a diagram showing an example of process control according to the first embodiment of the present invention.
  • FIG. 3 it is assumed that three CPUs of CPUs 1 # 01 to 1 # 03 are mounted on the physical server, and the dashed frame surrounding each of the CPUs 1 # 01 to 1 # 03 is the CPU 1 #. The range in which resources 01 to 1 # 03 are used is shown.
  • the server basic unit 2 executed across the CPUs 1 # 01 to 1 # 03 is provided with an OS 21 compatible with the SMP system and a process control unit 23 for starting the server unit 3 described later.
  • an rc script 22 referred to by the OS 21 and a process control table 24 referred to by the process control unit 23 are provided.
  • the server unit 3 that is executed across the CPUs 1 # 01 to 1 # 03 has a process 31 # 01 that requires real-time performance and guarantee of the execution order based on the process control table 33.
  • a process control individual unit 32 that controls the CPU 1 # 02 and 1 # 03 to execute the other application process processes 31 # 02 to 31 # 04 is fixed to the CPU 1 # 01 and executed by the ASMP. Yes. Note that the processes 31 # 01 to 31 # 04 use the network interfaces 4 # 0 and 4 # 1 when communication with the outside is necessary in the course of processing.
  • the call processing process (process 31 # 01) is fixedly assigned to the CPU 1 # 01 (ASMP), and the other application processes are CPU 1 # 02, 1 By assigning to # 03 (SMP), it is possible to improve the performance of call processing.
  • FIG. 4 is a diagram showing an example of process control according to the second embodiment of the present invention.
  • two logical server units 3 # 1 and 3 # 2 are started, and in each logical server unit 3 # 1 and 3 # 2, the same as the first embodiment shown in FIG. Allocate processes to improve call processing performance.
  • the call processing process and application are divided into groups, and further, the network address and disk resource are separated for each group, and the call processing process and other application processes are multiplexed in each logical server unit 3 # 1, 3 # 2. By starting up, the processing capacity is increased in proportion to the scale-up.
  • FIG. 4 it is assumed that six CPUs of CPUs 1 # 01 to 1 # 06 are mounted on the physical server, and the dashed frame surrounding each of the CPUs 1 # 01 to 1 # 06 is the CPU 1 #. The range in which resources 01 to 1 # 06 are used is shown.
  • the server basic unit 2 executed across the CPUs 1 # 01 to 1 # 06 includes an OS 21 compatible with the SMP system, and a process control common unit 23 ′ for starting the logical server units 3 # 1 and 3 # 2. Is provided.
  • an rc script 22 referred to by the OS 21 and a process control table 24 referred to by the process control common unit 23 ′ are provided.
  • the process control common unit 23 ′ is a “process control common unit” because it controls a plurality of logical server units 3 # 1, 3 # 2 in common. It is functionally the same as the process control unit 23 in FIG. 3 except that the logical server units 3 # 1 and 3 # 2 are activated.
  • the logical server unit 3 # 1 that is executed across the CPUs 1 # 01 to 1 # 03 is a process that requires real-time performance and execution order guarantee such as a call processing process based on the process control table 33 # 1.
  • 31 # 11 is fixed to CPU1 # 01 and executed by ASMP, and other application process processes 31 # 12 to 31 # 14 are controlled by CPU1 # 02 and 1 # 03 by SMP. Part 32 # 1.
  • the network interfaces 4 # 01, 4 # in which network addresses are assigned to the network interfaces 4 # 0, 4 # 1 for each group. 11 is used.
  • the logical server unit 3 # 2 executed across the CPUs 1 # 04 to 1 # 06 has a process that requires real-time performance and execution order guarantee, such as a call processing process, based on the process control table 33 # 2.
  • 31 # 21 is fixed to CPU 1 # 04 and executed by ASMP, and other application process processes 31 # 22 to 31 # 24 are controlled by CPU 1 # 05 and 1 # 06 by SMP. Part 32 # 2.
  • the network interfaces 4 # 02, 4 # in which network addresses are assigned to the network interfaces 4 # 0, 4 # 1 for each group. 12 is used.
  • FIG. 5A and 5B are diagrams showing examples of program and data arrangement on the disk system.
  • FIG. 5A shows the case of the first embodiment shown in FIG. 3, and
  • FIG. 5B shows the second embodiment shown in FIG. This is the case. That is, in (a), the OS 21 corresponding to the server basic unit 2, the rc script 22, the process control unit 23, the process control table 24, the process control individual unit 32 corresponding to the server unit 3, and the process control table on the disk system 5. 33, the load module 30 is stored. In (b), the OS 21, the rc script 22, the process control common unit 23 ′, and the process control table 24 corresponding to the server basic unit 2 are stored in the common part on the disk system 5, and the logical server unit 3 # is stored in the partition 51.
  • FIG. 6 shows an example of the data structure of the process control table 33 (33 # 1, 33 # 2) and 24.
  • the process control table 33 (33 # 1, 33 # 2) includes a WU (Working Unit) attribute table indicating the attributes of the working unit corresponding to the load module, and a restart indicating the restart order of each load module. It includes an order table and a process control individual unit CPU allocation table showing allocation CPUs of the process control individual units.
  • the WU (Working Unit) attribute table is unified with “system type” indicating the system type, “system number” indicating the number in the system, and “LM name” indicating the name of the LM (LoadLModule) to be activated.
  • the restart order table includes a “system type” indicating the system type, a “system number” indicating the number in the system, an “LM name” indicating the name of the LM to be started, and “initial setting” indicating Reboot / PH2 restart, etc.
  • the process control individual unit CPU allocation table includes a “CPU number” indicating the number of the CPU on which the process of the process control individual unit runs.
  • the process control table 24 includes a logical server activation table indicating information of the logical server unit to be activated, and a process control common unit CPU allocation table indicating an allocation CPU of the process control common unit (process control unit).
  • the logical server startup table includes a “logical server name” indicating the logical server name, “initial startup presence / absence” indicating whether to start when the common unit is started, “startup type” indicating synchronous / asynchronous, and blocking / restarting / "PH2 restart failure processing” indicating restart, "restart start count” indicating restart restart count, “restart start count clear time” indicating time for clearing restart restart count, It includes “F switching on / off designation” indicating the server switching presence / absence and “startup waiting time” indicating the waiting time for activation of the individual unit.
  • the process control common unit CPU allocation table includes a “CPU number” indicating the number of the CPU on which the process of the process control common unit runs.
  • FIG. 7 is a diagram showing an example of logical server generation start processing.
  • processing is performed according to the following procedure.
  • Step S1 Process control using the restart type as an argument from the startup script (rc script 22) of the OS 21 or cluster software (software for managing a cluster in a cluster configuration with another physical server (not shown) for troubleshooting)
  • a logical server control is generated and activated in the common unit 23 ′ (process control unit 23).
  • Step S2 The logical server activation table and the process control common unit CPU allocation table of the process control table 24 stored in the disk are read into the memory by the activated logical server control.
  • Step S3 The process control individual unit 32 # n of the logical server unit 3 # n is activated with reference to the information read in the process. In that case, the restart type is passed as an argument.
  • Step S4 In the process control individual unit 32 # n, a main function for restart management is started, and thereby an initial setting process is started.
  • Step S5 The WU attribute table, the restart order table, and the process control individual unit CPU allocation table of the process control table 33 stored in the disk are read into the memory by the activated initial setting process.
  • Step S6 The application process is activated with reference to the information read in the above process.
  • Step S7 After starting the application process, the initial setting start notification is sent to the application process according to the initial setting order table.
  • Step S8 The application process receives the initial setting start notification, executes the initial setting process, and notifies the process control individual unit 32 # n of the execution result.
  • Step S9 After the initial setting of the application process is completed, a notification of completion of logical server activation is sent to the process control common unit 23 ′ (process control unit 23).

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

リアルタイム性と実行順序の保証が要求されるプログラムとその他のアプリケーションプログラムが混在実行されるサーバにおけるプロセス制御方法であって、対称型マルチプロセッサシステム対応のオペレーティングシステムによりプロセス制御機能を起動する工程と、起動したプロセス制御機能により、プロセス制御表の記述に基づき、リアルタイム性と実行順序の保証が要求されるプログラムにつき非対称型マルチプロセッサ環境で実行の制御を行う工程と、起動したプロセス制御機能により、プロセス制御表の記述に基づき、その他のアプリケーションプログラムにつき対称型マルチプロセッサ環境で実行の制御を行う工程とを備える。

Description

プロセス制御方法
 本発明は、呼処理プログラム等のリアルタイム性と実行順序の保証が要求されるプログラムとその他のアプリケーションプログラムが混在実行されるサーバにおけるプロセス制御方法に関する。
 呼処理を扱うサーバでは、リアルタイム性と実行順序の保証が必須要件となる。すなわち、呼処理はユーザ間の通話を媒介するものであるため、リアルタイム性を保証して規定時間内に処理を完了する必要があり、かつ、呼処理パケットの順序逆転を防止するために実行順序の保証を行なう必要がある。
 従来のカスタム製品による交換機システムにおける呼処理プログラムは、シングルプロセッサ環境を前提とし、割込マスクによる排他制御と、優先度による実行順序制御により、リアルタイム性と実行順序の保証を行っていた。
 昨今では、カスタム製品による交換機システムではコスト高になることから、汎用のサーバをベースにしたテレコムサーバが用いられる。このようなテレコムサーバでは、マルチコアCPU(Central Processing Unit)を搭載したIA(Intel Architecture)サーバに、SMP(Symmetric Multiple Processor:対称型マルチプロセッサ)システム対応OS(Operating System)を搭載し、この上で呼処理プログラムとその他のアプリケーションプログラムを混在動作させている。呼処理プログラム以外にその他のアプリケーションプログラムを混在動作させているのは、付帯業務の処理のために他のサーバを設けるのはコスト的に不利だからである。なお、SMPとは、マルチプロセッサシステムにおいて、各プロセッサの役割が完全に対称で、対等になっている形態のシステムをいう。
 図1は従来のSMPシステム対応OSによるプロセス制御の例を示す図である。
 図1においては、CPU1#01~1#03による3個のCPUが物理サーバに実装されている場合を想定しており、各CPU1#01~1#03を囲む破線の枠は、各CPU1#01~1#03のリソースが使用される範囲を示している。
 SMPシステム対応のOS21を含むサーバ基本部2と、呼処理プログラムおよびその他のアプリケーションプログラムに対応するプロセス31#01~31#04を含むサーバ部3は、CPU1#01~1#03を横断する形で実行される。すなわち、OS21はrcスクリプト22の記述に従って各プロセス31#01~31#04を起動し、その際、各プロセス31#01~31#04を実行するCPUを固定せず、空きのあるCPU1#01~1#03で動作するようにスケジューリングする。なお、プロセス31#01~31#04は処理の過程で外部との通信が必要な場合(呼処理プロセスは通信が必須)、ネットワークインタフェース4#0、4#1を使用する。
 上述したSMPシステム対応OSでは、1プロセス内で複数のスレッドを生成、実行することが可能であり、このスレッドをCPU毎に割り当てて同時実行させることで、処理能力の向上を図っている。そのため、実行順序保証の必要がないアプリケーションプログラムは、SMP環境下でプロセッサリソースを最大限に活用して動作することが可能である。
 しかしながら、このようなSMP環境下ではプログラムの実行順序の保証がされないため、呼処理プログラムは従来通りの実装では動作保証ができない。このため、呼処理プログラムは、従来の処理に加えてマルチプロセッサに対応した排他制御を実装し、実行順序を保証する必要がある。
 一方、リアルタイム性の保証は、近年、OSにリアルタイムスケジューラが実装されたことにより、このリアルタイムスケジューラを使用することで、保証が可能となっている。
特開平6-259395号公報
 ところで、マルチプロセッサのテレコムサーバにあっては、当然ながら、プロセッサ数に比例して呼処理性能が向上することが要求されるが、上述した従来のテレコムサーバではプロセッサ数を増やしても一定値以上の性能が出せないことが確認されている。
 図2はSMP下における単位時間当たり呼処理数とリソース使用率の関係の例を示す図であり、曲線aはプロセッサ数「1」、曲線bはプロセッサ数「2」、曲線cはプロセッサ数「4」の場合を示している。図から明らかなように、単位時間当たり呼処理数が小さい範囲ではプロセッサ数に比例して呼処理性能が向上しているが、単位時間当たり呼処理数の増加とともに逆転し、処理可能な最大の単位時間当たり呼処理数としてはプロセッサ数「1」の場合が最も有利となる。
 この原因としては、呼処理プロセスがプロセッサを渡り歩くことにより発生するキャッシュミスヒットによる性能低下と、実行順序保証のために実装したマルチプロセッサに対応した排他制御機能の影響によるものと考えられる。このため、呼処理プロセスはASMP(Asymmetric Multiple Processor:非対称型マルチプロセッサ)により呼処理専用のCPUに割り付けて処理を実行させる必要がある。ASMPとは、マルチプロセッサシステムにおいて、各プロセッサの役割が対等でなく、用途に応じて決められるような形態のシステムをいう。
 また、テレコムサーバでは呼処理プロセスとその他のアプリケーションプロセスを混在起動する必要がある。呼処理プロセスの動作には、前述の通りASMPシステム形態、アプリケーションプロセスはSMPシステム形態が最適であり、1つの物理サーバ内で両方のシステム形態を構成可能な仕組みを作り、システム性能を向上させる必要がある。
 一方、システムのスケールアップによりプロセッサ数が更に増加した場合、ASMPシステム形態で実行する呼処理プロセスについても処理能力を向上させることが要求されるが、固定のCPUに処理を割り当てる形態のASMPには直接的に処理能力向上は期待できない。その解決策としてVMware、Xen等の既存製品による仮想化技術の導入が考えられるが、これら既存の仮想化技術は、ハイスペックなシステム(テレコムサーバのような数十万多重の処理を行なうシステム、2CPU以上で稼動するシステム)やスケールアップ型のシステムには不向きであり、充分な性能を得られないといった問題があり、呼処理環境等に対応した独自の仮想化技術が必要となる。
 本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、リアルタイム性と実行順序の保証が要求されるプログラムとその他のアプリケーションプログラムが混在実行されるサーバにおいて、いずれのプログラムについても高い処理能力を発揮させることのできるプロセス制御方法を提供することにある。
 本発明の一実施形態では、リアルタイム性と実行順序の保証が要求されるプログラムとその他のアプリケーションプログラムが混在実行されるサーバにおけるプロセス制御方法であって、対称型マルチプロセッサシステム対応のオペレーティングシステムによりプロセス制御機能を起動する工程と、起動したプロセス制御機能により、プロセス制御表の記述に基づき、リアルタイム性と実行順序の保証が要求されるプログラムにつき非対称型マルチプロセッサ環境で実行の制御を行う工程と、起動したプロセス制御機能により、プロセス制御表の記述に基づき、その他のアプリケーションプログラムにつき対称型マルチプロセッサ環境で実行の制御を行う工程とを備える。
 好ましくは、予めグルーピングされ、かつ、各グループに対応してネットワークリソースおよびディスクリソースが割り当てられたプロセッサおよびプロセスにつき、各グループに対応した論理サーバを1つの物理サーバ内で起動する工程を備え、起動した論理サーバ毎に、非対称型マルチプロセッサ環境および対称型マルチプロセッサ環境での実行の制御を行う。
 本発明のプロセス制御方法にあっては、リアルタイム性と実行順序の保証が要求されるプログラムとその他のアプリケーションプログラムが混在実行されるサーバにおいて、いずれのプログラムについても高い処理能力を発揮させることができる。
従来のSMPシステム対応OSによるプロセス制御の例を示す図である。 SMP下における単位時間当たり呼処理数とリソース使用率の関係の例を示す図である。 本発明の第1の実施形態にかかるプロセス制御の例を示す図である。 本発明の第2の実施形態にかかるプロセス制御の例を示す図である。 ディスクシステム上のプログラムおよびデータの配置例を示す図である。 プロセス制御表のデータ構造例を示す図である。 論理サーバ生成起動の処理例を示す図である。
符号の説明
 1#01~1#06     CPU
 2             サーバ基本部
 21            OS
 22            rcスクリプト
 23            プロセス制御部
 23'           プロセス制御共通部
 24            プロセス制御表
 3             サーバ部
 3#1~3#n       論理サーバ部
 30、30#1、30#2  ロードモジュール
 31#01~31#24   プロセス
 32、32#1~32#n  プロセス制御個別部
 33、33#1、33#2  プロセス制御表
 5             ディスクシステム
 4#0~4#12      ネットワークインタフェース
 51、52         パーティション
 以下、本発明の好適な実施形態につき説明する。
 図3は本発明の第1の実施形態にかかるプロセス制御の例を示す図である。
 図3においては、CPU1#01~1#03による3個のCPUが物理サーバに実装されている場合を想定しており、各CPU1#01~1#03を囲む破線の枠は、各CPU1#01~1#03のリソースが使用される範囲を示している。
 CPU1#01~1#03を横断する形で実行されるサーバ基本部2には、SMPシステム対応のOS21と、後述するサーバ部3を起動するプロセス制御部23とが設けられている。また、OS21が参照するrcスクリプト22と、プロセス制御部23が参照するプロセス制御表24とが設けられている。
 CPU1#01~1#03を横断する形で実行されるサーバ部3には、プロセス制御表33に基づいて呼処理プロセスのようなリアルタイム性と実行順序の保証が必要なプロセス31#01についてはCPU1#01に固定してASMPで実行させるとともに、その他のアプリケーションプロセスプロセス31#02~31#04についてはCPU1#02、1#03によりSMPで実行させる制御を行うプロセス制御個別部32を備えている。なお、プロセス31#01~31#04は処理の過程で外部との通信が必要な場合、ネットワークインタフェース4#0、4#1を使用する。
 このように、予め静的にプロセス制御表33に指定することで、呼処理プロセス(プロセス31#01)をCPU1#01に固定的に割り当て(ASMP)、他のアプリケーションプロセスはCPU1#02、1#03に割り当てる(SMP)ことで、呼処理の性能向上を図ることが可能となる。
 図4は本発明の第2の実施形態にかかるプロセス制御の例を示す図である。この第2の実施形態では、2個の論理サーバ部3#1、3#2を起動し、各論理サーバ部3#1、3#2内では図3に示した第1の実施形態と同様にプロセスを割り当てて呼処理の性能向上を図っている。また、呼処理プロセスおよびアプリケーションをグループで分割し、更に、グループ毎にネットワークアドレスおよびディスクリソースを分離して、各論理サーバ部3#1、3#2において多重に呼処理プロセスおよびその他のアプリケーションプロセスを起動することで、スケールアップに比例した処理能力の向上を図っている。
 図4においては、CPU1#01~1#06による6個のCPUが物理サーバに実装されている場合を想定しており、各CPU1#01~1#06を囲む破線の枠は、各CPU1#01~1#06のリソースが使用される範囲を示している。
 CPU1#01~1#06を横断する形で実行されるサーバ基本部2には、SMPシステム対応のOS21と、各論理サーバ部3#1、3#2を起動するプロセス制御共通部23'とが設けられている。また、OS21が参照するrcスクリプト22と、プロセス制御共通部23'が参照するプロセス制御表24とが設けられている。なお、プロセス制御共通部23'は複数の論理サーバ部3#1、3#2を共通に制御することから「プロセス制御共通部」となっているが、単一のサーバ部3を起動するか複数の論理サーバ部3#1、3#2を起動するかの違いがあるのみで、機能的には図3のプロセス制御部23と同様である。
 CPU1#01~1#03を横断する形で実行される論理サーバ部3#1には、プロセス制御表33#1に基づいて呼処理プロセスのようなリアルタイム性と実行順序の保証が必要なプロセス31#11についてはCPU1#01に固定してASMPで実行させるとともに、その他のアプリケーションプロセスプロセス31#12~31#14についてはCPU1#02、1#03によりSMPで実行させる制御を行うプロセス制御個別部32#1を備えている。なお、プロセス31#11~31#14は処理の過程で外部との通信が必要な場合、ネットワークインタフェース4#0、4#1にグループ毎にネットワークアドレスを付与したネットワークインタフェース4#01、4#11を使用する。
 CPU1#04~1#06を横断する形で実行される論理サーバ部3#2には、プロセス制御表33#2に基づいて呼処理プロセスのようなリアルタイム性と実行順序の保証が必要なプロセス31#21についてはCPU1#04に固定してASMPで実行させるとともに、その他のアプリケーションプロセスプロセス31#22~31#24についてはCPU1#05、1#06によりSMPで実行させる制御を行うプロセス制御個別部32#2を備えている。なお、プロセス31#21~31#24は処理の過程で外部との通信が必要な場合、ネットワークインタフェース4#0、4#1にグループ毎にネットワークアドレスを付与したネットワークインタフェース4#02、4#12を使用する。
 図5はディスクシステム上のプログラムおよびデータの配置例を示す図であり、(a)は図3に示した第1の実施形態の場合、(b)は図4に示した第2の実施形態の場合である。すなわち、(a)ではディスクシステム5上にサーバ基本部2に対応するOS21、rcスクリプト22、プロセス制御部23、プロセス制御表24と、サーバ部3に対応するプロセス制御個別部32、プロセス制御表33、ロードモジュール30が格納されている。また、(b)ではディスクシステム5上の共通部分にサーバ基本部2に対応するOS21、rcスクリプト22、プロセス制御共通部23'、プロセス制御表24が格納され、パーティション51に論理サーバ部3#1に対応するプロセス制御個別部32#1、プロセス制御表33#1、ロードモジュール30#1が格納され、パーティション52に論理サーバ部3#2に対応するプロセス制御個別部32#2、プロセス制御表33#2、ロードモジュール30#2が格納されている。
 図6はプロセス制御表33(33#1、33#2)、24のデータ構造例を示す図である。(a)において、プロセス制御表33(33#1、33#2)には、ロードモジュールに相当するワーキングユニットの属性を示すWU(Working Unit)属性表と、各ロードモジュールの再開順序を示す再開順序表と、プロセス制御個別部の割当てCPUを示すプロセス制御個別部CPU割付表とを含んでいる。WU(Working Unit)属性表は、システム種別を示す「システム種別」と、システム内の番号を示す「システム番号」と、起動するLM(Load Module)の名称を示す「LM名称」と、一重化/二重化/n多重等のプロセスモデルを示す「プロセスモデル」と、プロセス優先度等を示す「プロセス属性」と、LMを起動するCPUの番号を示す「割付対象CPU番号」とを含んでいる。再開順序表は、システム種別を示す「システム種別」と、システム内の番号を示す「システム番号」と、起動するLMの名称を示す「LM名称」と、Reboot/PH2再開等を示す「初期設定起動種別」と、起動レベル(例えば、1~5)を示す「起動レベル」と、同期/非同期等を示す「同期種別」と、アプリケーションの起動を待つ時間を示す「起動待ち時間」とを含んでいる。プロセス制御個別部CPU割付表は、プロセス制御個別部のプロセスが走行するCPUの番号を示す「CPU番号」を含んでいる。
 (b)において、プロセス制御表24には、起動する論理サーバ部の情報を示す論理サーバ起動表と、プロセス制御共通部(プロセス制御部)の割当てCPUを示すプロセス制御共通部CPU割付表とを含んでいる。論理サーバ起動表は、論理サーバ名称を示す「論理サーバ名」と、共通部起動時に起動するか否かを示す「初期起動有無」と、同期/非同期を示す「起動種別」と、閉塞/再開/再起動を示す「PH2再起失敗時処理」と、再開の再起動回数を示す「再開起動回数」と、再開起動回数をクリアする時間を示す「再開起動回数クリア時間」と、F更時のサーバ切替有無の指定を示す「F更時切替有無指定」と、個別部の起動を待つ時間を示す「起動待ち時間」とを含んでいる。プロセス制御共通部CPU割付表は、プロセス制御共通部のプロセスが走行するCPUの番号を示す「CPU番号」を含んでいる。
 図7は論理サーバ生成起動の処理例を示す図である。
 図7において、処理は次の手順で行われる。
 ステップS1:OS21の起動スクリプト(rcスクリプト22)もしくはクラスタソフト(障害対策のために図示しない他の物理サーバとクラスタ構成をとる場合のクラスタを管理するソフトウェア)より、再開種別を引き数としてプロセス制御共通部23'(プロセス制御部23)内に論理サーバ制御を生成・起動する。
 ステップS2:起動した論理サーバ制御により、ディスクに格納されたプロセス制御表24の論理サーバ起動表およびプロセス制御共通部CPU割付表をメモリ上に読み込む。
 ステップS3:前記工程で読み込んだ情報を参照して論理サーバ部3#nのプロセス制御個別部32#nを起動する。その際には引数として再開種別等を渡す。
 ステップS4:プロセス制御個別部32#nにおいて、再開管理のmain関数を起動し、これにより初期設定処理を起動する。
 ステップS5:起動した初期設定処理により、ディスクに格納されたプロセス制御表33のWU属性表、再開順序表およびプロセス制御個別部CPU割付表をメモリ上に読み込む。
 ステップS6:前記工程で読み込んだ情報を参照してアプリケーションプロセスを起動する。
 ステップS7:アプリケーションプロセスの起動後、初期設定順序表に従い、アプリケーションプロセスに対して初期設定開始通知を行う。
 ステップS8:アプリケーションプロセスでは、初期設定開始通知を受信し、初期設定処理を実行し、実施結果をプロセス制御個別部32#nに通知する。
 ステップS9:アプリケーションプロセスの初期設定完了後、論理サーバ起動完了通知をプロセス制御共通部23'(プロセス制御部23)に通知する。
 本実施形態によれば、次のような利点がある。
(1)呼処理プロセスはASMPを選択し、動作プロセッサを固定化することで、キャッシュミスヒットによる性能低下と、マルチプロセッサに対応した排他制御機能の削除が可能となり、処理性能の向上を図ることができる。
(2)通常のアプリケーションは呼処理プロセスが動作しないプロセッサを使用してSMP環境で動作することにより、プロセッサリソースを最大限に活用して動作することが可能となる。
(3)呼処理プロセス(+アプリケーション)をグループで分割し、また、グループ毎にネットワークリソース(ネットワークアドレス)、ディスクリソースを分離して論理サーバを構成し、1つの物理サーバ内で複数の論理サーバを起動することで、プロセッサ数に比例した呼処理性能向上を可能とすることができる。
(4)呼処理プロセス(+アプリケーション)をリソース分割して起動することで、1グループ内で発生したプロセス障害が他のプロセスに影響を与える事無く修復可能となる。
(5)1つの物理サーバ上で複数の論理サーバを起動可能とすることで、従来、物理サーバ2台で実現していた、障害対策のためのクラスタ構成、ファイル更新、再開エスカレーションが1つの物理サーバ上の2つの論理サーバにより実現可能となる。
 以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。

Claims (12)

  1.  リアルタイム性と実行順序の保証が要求されるプログラムとその他のアプリケーションプログラムが混在実行されるサーバにおけるプロセス制御方法であって、
     対称型マルチプロセッサシステム対応のオペレーティングシステムによりプロセス制御機能を起動する工程と、
     起動したプロセス制御機能により、プロセス制御表の記述に基づき、リアルタイム性と実行順序の保証が要求されるプログラムにつき非対称型マルチプロセッサ環境で実行の制御を行う工程と、
     起動したプロセス制御機能により、プロセス制御表の記述に基づき、その他のアプリケーションプログラムにつき対称型マルチプロセッサ環境で実行の制御を行う工程と
    を備えたことを特徴とするプロセス制御方法。
  2.  請求項1に記載のプロセス制御方法において、
     予めグルーピングされ、かつ、各グループに対応してネットワークリソースおよびディスクリソースが割り当てられたプロセッサおよびプロセスにつき、各グループに対応した論理サーバを1つの物理サーバ内で起動する工程
    を備え、
     起動した論理サーバ毎に、非対称型マルチプロセッサ環境および対称型マルチプロセッサ環境での実行の制御を行う
    ことを特徴とするプロセス制御方法。
  3.  請求項1または2のいずれか一項に記載のプロセス制御方法において、
     プロセス制御機能は、
     物理サーバの全プロセッサにかかるサーバ基本部に設けられる第1のプロセス制御機能と、
     制御対象のプロセスを実行するプロセッサにかかるサーバ部に設けられる第2のプロセス制御機能と
    から構成されることを特徴とするプロセス制御方法。
  4.  リアルタイム性と実行順序の保証が要求されるプログラムとその他のアプリケーションプログラムが混在実行されるサーバ装置であって、
     対称型マルチプロセッサシステム対応のオペレーティングシステムによりプロセス制御機能を起動する手段と、
     起動したプロセス制御機能により、プロセス制御表の記述に基づき、リアルタイム性と実行順序の保証が要求されるプログラムにつき非対称型マルチプロセッサ環境で実行の制御を行う手段と、
     起動したプロセス制御機能により、プロセス制御表の記述に基づき、その他のアプリケーションプログラムにつき対称型マルチプロセッサ環境で実行の制御を行う手段と
    を備えたことを特徴とするサーバ装置。
  5.  請求項4に記載のサーバ装置において、
     予めグルーピングされ、かつ、各グループに対応してネットワークリソースおよびディスクリソースが割り当てられたプロセッサおよびプロセスにつき、各グループに対応した論理サーバを1つの物理サーバ内で起動する手段
    を備え、
     起動した論理サーバ毎に、非対称型マルチプロセッサ環境および対称型マルチプロセッサ環境での実行の制御を行う
    ことを特徴とするサーバ装置。
  6.  請求項4または5のいずれか一項に記載のサーバ装置において、
     プロセス制御機能は、
     物理サーバの全プロセッサにかかるサーバ基本部に設けられる第1のプロセス制御機能と、
     制御対象のプロセスを実行するプロセッサにかかるサーバ部に設けられる第2のプロセス制御機能と
    から構成されることを特徴とするサーバ装置。
  7.  リアルタイム性と実行順序の保証が要求されるプログラムとその他のアプリケーションプログラムが混在実行されるサーバ装置におけるプロセス制御プログラムであって、
     サーバ装置を構成するコンピュータを、
     対称型マルチプロセッサシステム対応のオペレーティングシステムによりプロセス制御機能を起動する手段、
     起動したプロセス制御機能により、プロセス制御表の記述に基づき、リアルタイム性と実行順序の保証が要求されるプログラムにつき非対称型マルチプロセッサ環境で実行の制御を行う手段、
     起動したプロセス制御機能により、プロセス制御表の記述に基づき、その他のアプリケーションプログラムにつき対称型マルチプロセッサ環境で実行の制御を行う手段
    として機能させるプロセス制御プログラム。
  8.  請求項7に記載のプロセス制御プログラムにおいて、
     サーバ装置を構成するコンピュータを、
     予めグルーピングされ、かつ、各グループに対応してネットワークリソースおよびディスクリソースが割り当てられたプロセッサおよびプロセスにつき、各グループに対応した論理サーバを1つの物理サーバ内で起動する手段
    として機能させ、
     起動した論理サーバ毎に、非対称型マルチプロセッサ環境および対称型マルチプロセッサ環境での実行の制御を行う
    プロセス制御プログラム。
  9.  請求項7または8のいずれか一項に記載のプロセス制御プログラムにおいて、
     プロセス制御機能は、
     物理サーバの全プロセッサにかかるサーバ基本部に設けられる第1のプロセス制御機能と、
     制御対象のプロセスを実行するプロセッサにかかるサーバ部に設けられる第2のプロセス制御機能と
    から構成されるプロセス制御プログラム。
  10.  リアルタイム性と実行順序の保証が要求されるプログラムとその他のアプリケーションプログラムが混在実行されるサーバ装置におけるプロセス制御プログラムを記録した記録媒体であって、
     サーバ装置を構成するコンピュータを、
     対称型マルチプロセッサシステム対応のオペレーティングシステムによりプロセス制御機能を起動する手段、
     起動したプロセス制御機能により、プロセス制御表の記述に基づき、リアルタイム性と実行順序の保証が要求されるプログラムにつき非対称型マルチプロセッサ環境で実行の制御を行う手段、
     起動したプロセス制御機能により、プロセス制御表の記述に基づき、その他のアプリケーションプログラムにつき対称型マルチプロセッサ環境で実行の制御を行う手段
    として機能させるプロセス制御プログラムを記録したコンピュータ読取可能の記録媒体。
  11.  請求項10に記載の記録媒体において、
     サーバ装置を構成するコンピュータを、
     予めグルーピングされ、かつ、各グループに対応してネットワークリソースおよびディスクリソースが割り当てられたプロセッサおよびプロセスにつき、各グループに対応した論理サーバを1つの物理サーバ内で起動する手段
    として機能させ、
     起動した論理サーバ毎に、非対称型マルチプロセッサ環境および対称型マルチプロセッサ環境での実行の制御を行う
    コンピュータ読取可能の記録媒体。
  12.  請求項10または11のいずれか一項に記載の記録媒体において、
     プロセス制御機能は、
     物理サーバの全プロセッサにかかるサーバ基本部に設けられる第1のプロセス制御機能と、
     制御対象のプロセスを実行するプロセッサにかかるサーバ部に設けられる第2のプロセス制御機能と
    から構成される
    コンピュータ読取可能の記録媒体。
PCT/JP2008/054071 2008-03-06 2008-03-06 プロセス制御方法 WO2009110084A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010501736A JPWO2009110084A1 (ja) 2008-03-06 2008-03-06 プロセス制御方法
PCT/JP2008/054071 WO2009110084A1 (ja) 2008-03-06 2008-03-06 プロセス制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2008/054071 WO2009110084A1 (ja) 2008-03-06 2008-03-06 プロセス制御方法

Publications (1)

Publication Number Publication Date
WO2009110084A1 true WO2009110084A1 (ja) 2009-09-11

Family

ID=41055663

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/054071 WO2009110084A1 (ja) 2008-03-06 2008-03-06 プロセス制御方法

Country Status (2)

Country Link
JP (1) JPWO2009110084A1 (ja)
WO (1) WO2009110084A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013008325A1 (ja) * 2011-07-13 2013-01-17 富士通株式会社 マルチコアプロセッサシステム、および制御方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07114517A (ja) * 1993-10-15 1995-05-02 Fujitsu Ltd マルチプロセッサシステムのプログラム実行制御方式
JPH07114518A (ja) * 1993-10-15 1995-05-02 Fujitsu Ltd マルチプロセッサシステムにおけるタスクスケジューリング方式
JPH10116262A (ja) * 1996-06-21 1998-05-06 Fujitsu Ltd 並列計算機、プロセッサ要素ネットワーク、および並列計算機用プログラムを記録した記録媒体
JP2000235554A (ja) * 1999-02-15 2000-08-29 Fujitsu Ltd 並列計算機の分割・結合システムおよび記録媒体
JP2001167075A (ja) * 1999-12-10 2001-06-22 Fujitsu Ltd 機能分散及び負荷分散処理マルチプロセッサシステム
JP2006209479A (ja) * 2005-01-28 2006-08-10 Seiko Epson Corp プロセッサおよび情報処理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3820645B2 (ja) * 1996-09-20 2006-09-13 株式会社日立製作所 マルチプロセッサシステム
JP2002278778A (ja) * 2001-03-21 2002-09-27 Ricoh Co Ltd 対称型マルチプロセッサシステムにおけるスケジュール装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07114517A (ja) * 1993-10-15 1995-05-02 Fujitsu Ltd マルチプロセッサシステムのプログラム実行制御方式
JPH07114518A (ja) * 1993-10-15 1995-05-02 Fujitsu Ltd マルチプロセッサシステムにおけるタスクスケジューリング方式
JPH10116262A (ja) * 1996-06-21 1998-05-06 Fujitsu Ltd 並列計算機、プロセッサ要素ネットワーク、および並列計算機用プログラムを記録した記録媒体
JP2000235554A (ja) * 1999-02-15 2000-08-29 Fujitsu Ltd 並列計算機の分割・結合システムおよび記録媒体
JP2001167075A (ja) * 1999-12-10 2001-06-22 Fujitsu Ltd 機能分散及び負荷分散処理マルチプロセッサシステム
JP2006209479A (ja) * 2005-01-28 2006-08-10 Seiko Epson Corp プロセッサおよび情報処理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"The Microsoft IIS Team, Microsoft Windows Server 2003 Resource Kit Kino Hen IIS 6.0, 1st edition", NIKKEI BP SOFT PRESS, 14 June 2004 (2004-06-14), pages 96 - 98 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013008325A1 (ja) * 2011-07-13 2013-01-17 富士通株式会社 マルチコアプロセッサシステム、および制御方法
JPWO2013008325A1 (ja) * 2011-07-13 2015-02-23 富士通株式会社 マルチコアプロセッサシステム、および制御方法
US9547576B2 (en) 2011-07-13 2017-01-17 Fujitsu Limited Multi-core processor system and control method

Also Published As

Publication number Publication date
JPWO2009110084A1 (ja) 2011-07-14

Similar Documents

Publication Publication Date Title
US10733032B2 (en) Migrating operating system interference events to a second set of logical processors along with a set of timers that are synchronized using a global clock
US9996401B2 (en) Task processing method and virtual machine
Humphries et al. ghost: Fast & flexible user-space delegation of linux scheduling
US8762999B2 (en) Guest-initiated resource allocation request based on comparison of host hardware information and projected workload requirement
EP2628080B1 (en) A computer cluster arrangement for processing a computation task and method for operation thereof
US20050251806A1 (en) Enhancement of real-time operating system functionality using a hypervisor
JP4705051B2 (ja) 計算機システム
US9063918B2 (en) Determining a virtual interrupt source number from a physical interrupt source number
JP2006155480A (ja) スケジューリング方法、スケジューリング装置およびマルチプロセッサシステム
US20080229319A1 (en) Global Resource Allocation Control
JP2004535615A (ja) 区分処理環境における共有i/o
JP5458998B2 (ja) 仮想マシンシステムおよび仮想マシン管理方法
CN113778612A (zh) 基于微内核机制的嵌入式虚拟化系统实现方法
US8977752B2 (en) Event-based dynamic resource provisioning
CN107528871B (zh) 存储系统中的数据分析
JP2017162522A (ja) マルチコアシステムのインターラプト割り当て方法及び装置
KR20210051325A (ko) 비대칭 멀티프로세싱 시스템의 데이터 공유 장치 및 방법
WO2009110084A1 (ja) プロセス制御方法
US9110731B1 (en) Hard allocation of resources partitioning
Karanasos et al. Advancements in YARN Resource Manager.
JP2010277177A (ja) マルチオペレーティングシステム制御方法及びプロセッサシステム
CN113076180B (zh) 上行数据通路的构建方法及数据处理系统
Walters et al. Enabling interactive jobs in virtualized data centers
US9176910B2 (en) Sending a next request to a resource before a completion interrupt for a previous request
Mvondo et al. Tell me when you are sleepy and what may wake you up!

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08721491

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2010501736

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08721491

Country of ref document: EP

Kind code of ref document: A1