KR20080071177A - Information processing apparatus, computer, resource assigning method and resource assigning program - Google Patents
Information processing apparatus, computer, resource assigning method and resource assigning program Download PDFInfo
- Publication number
- KR20080071177A KR20080071177A KR1020087014299A KR20087014299A KR20080071177A KR 20080071177 A KR20080071177 A KR 20080071177A KR 1020087014299 A KR1020087014299 A KR 1020087014299A KR 20087014299 A KR20087014299 A KR 20087014299A KR 20080071177 A KR20080071177 A KR 20080071177A
- Authority
- KR
- South Korea
- Prior art keywords
- resource
- amount
- resources
- processing
- partition
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
본 발명은 정보 처리를 실행하는 정보 처리 장치와, 계산기 내를 복수의 파티션으로 분할하고, 각각의 파티션이 할당된 리소스를 사용하여 데이터 처리를 실행하는 계산기와, 그 정보 처리 장치나 계산기에서 실행되는 리소스 할당 방법과, 그 리소스 할당 방법의 실현에 사용되는 리소스 할당 프로그램에 대한 것이다. The present invention provides an information processing apparatus for executing information processing, a calculator for dividing the calculator into a plurality of partitions, and performing data processing using resources allocated to each partition, and the information processing apparatus or the calculator. A resource allocation method and a resource allocation program used for realizing the resource allocation method.
하나의 서버 장치 상에 복수의 OS(오퍼레이팅 시스템)를 가동할 수 있는 서버 장치가 사용되고 있다.Server devices capable of operating a plurality of OSs (operating systems) on one server device have been used.
이러한 서버 장치에서는 복수의 CPU가 탑재되어 있으며, 예컨대, OS1이 10대의 CPU를 사용하여 메일 서버로서의 처리를 행하고, OS2가 5대의 CPU를 사용하여 업무용 서버로서의 처리를 행하며, OS3가 3대의 CPU를 사용하여 배치(batch)용 서버로서의 처리를 행한다고 하는 것처럼, 서버 장치 내를 복수의 파티션으로 분할하고, 각각의 파티션이 할당된 CPU 등의 리소스를 사용하여 데이터 처리를 실행하도록 하고 있다.In such a server device, a plurality of CPUs are mounted, for example, OS1 performs processing as a mail server using 10 CPUs, OS2 performs processing as a business server using 5 CPUs, and OS3 uses 3 CPUs. As in the case where the processing is performed as a batch server, the server device is divided into a plurality of partitions, and data processing is executed using resources such as a CPU to which each partition is allocated.
종래, 이러한 서버 장치에서는, 관리자가 항상 서버 장치의 리소스의 사용 상황을 감시하도록 하고, 그 사용 상황에 따라서, 남의 손에 의해 리소스의 분배를 변경하도록 하고 있었다.Conventionally, in such a server device, the administrator always monitors the use state of the resource of the server device, and according to the use state, the distribution of the resource is performed by others' hands.
또한, 어떤 양의 리소스를 어떤 업무에도 할당하지 않고 풀(pool)을 이루게 해 두고, 긴급 시에, 그 풀을 이룬 리소스를, 그것을 필요로 하고 있는 업무에 할당한다는 방법도 사용되고 있으나, 이 경우에도, 리소스를 남의 손에 의해 할당하도록 하고 있다.In addition, a method is provided in which a pool is formed without allocating any amount of resources to any task, and in the case of an emergency, the resources that form the pool are allocated to a task that requires it. In other words, resources are allocated by others.
그러나, 네트워크 비즈니스와 같은 업무에서는, 급격히 부하가 증대하는 일이 발생한다. 이러한 경우에, 남의 손에 의해 리소스의 분배를 변경하도록 하고 있으면, 그 분배의 변경을 실행하는 관리자에 대하여 많은 부하를 강요한다는 문제가 있다.However, in a task such as a network business, a sudden increase in load occurs. In such a case, if the distribution of resources is to be changed by the hands of others, there is a problem that a large load is imposed on the manager who performs the change of the distribution.
그래서, 최근, 리소스로서 CPU를 사용하는 경우의 예로 설명하면, CPU의 사용률을 모니터링하고, 그 모니터링한 CPU의 사용률이 어떤 임계값을 초과한 경우에, 새로운 CPU를 편입시키는 커맨드를 발행함으로써, CPU의 사용률이 커지는 경우에, 새로운 CPU를 자동적으로 편입시키도록 한다는 기술이 사용되게 되었다(예컨대, 특허 문헌 1 참조).Therefore, recently, as an example of using a CPU as a resource, the CPU utilization rate is monitored, and when the monitored CPU utilization rate exceeds a certain threshold, the CPU is issued by issuing a command to incorporate a new CPU. When the utilization rate of is large, the technique of automatically incorporating a new CPU has been used (see, for example, Patent Document 1).
또, 본 발명의 배경 기술로서, 하기의 특허 문헌 2에는, 서비스 접수용 컴퓨터와 복수의 서버를 구비하는 서버 시스템에 있어서, 각 서버가 제공하는 서비스를 시간대에 따라서 변경함으로써, 서비스 품질의 저하를 방지할 수 있도록 하는 발명이 기재되어 있다.In addition, as a background art of the present invention,
또한, 본 발명의 배경 기술로서, 하기의 특허 문헌 3에는, 복수의 노드를 네 트워크로 접속하여 클러스터라고 불리는 노드군을 구성해 두고, 처리 내용을 분할해서 각 노드에 할당하여 분산 처리한다는 클러스터링(clustering) 서비스를 실현하는 방법으로서, 복수의 물리 서버의 각각에, 호스팅 서비스용 가상 서버와 클러스터링 서비스용 가상 서버를 마련하고, 각 클러스터링 서비스용 가상 서버를 네트워크를 통해 접속하여 클러스터를 구성하며, CPU 시간 스케줄링 기능을 사용하여, CPU의 잉여 시간만을 클러스터링 서비스용 가상 서버에 할당함으로써, 호스팅 서비스의 퍼포먼스를 저하시키지 않고, 클러스터링 서비스를 실현할 수 있도록 하는 발명이 기재되어 있다.As a background art of the present invention, in
또한, 본 발명의 배경 기술로서, 하기의 특허 문헌 4에는, 복수의 단말로부터 투입된 복수의 트랜잭션(transaction) 처리 메시지에 대해서, 가동 통계 정보를 기초로, 각각의 실행에 필요로 하는 CPU 사용 시간의 예측값을 산출하고, 그 산출한 예측값과 복수의 서버의 현재의 CPU 사용률에 기초하여, 이들의 트랜잭션 처리 메시지를 복수의 서버에 분배함으로써, 각 서버의 CPU 이용 효율의 평준화를 실현하는 발명이 기재되어 있다.In addition, as a background art of the present invention,
또한, 본 발명의 배경 기술로서, 하기의 특허 문헌 5에는, 자원 관리 서버가 가상 계산기의 자원의 사용 상태를 수집하고, 그것에 기초하여 자원의 사용 상태를 예측하며, 또한, 과거의 가상 계산기의 실행 이력에 의해, 각각의 가상 계산기의 자원의 사용 상태에 대한 상관 관계를 산출하고, 그 예측값과 그 상관 계수에 기초하여, 각각의 가상 계산기의 자원 할당량을 산출함으로써, 자원 할당의 최적화를 실현할 수 있도록 하는 발명이 기재되어 있다.In addition, as a background art of the present invention,
특허 문헌 1: 일본 특허 공개 제2003-150571호 공보Patent Document 1: Japanese Patent Laid-Open No. 2003-150571
특허 문헌 2: 일본 특허 공개 제2002-150000호 공보Patent Document 2: Japanese Patent Laid-Open No. 2002-150000
특허 문헌 3: 일본 특허 공개 제2002-318862호 공보Patent Document 3: Japanese Patent Laid-Open No. 2002-318862
특허 문헌 4: 일본 특허 공개 제2003-296289호 공보Patent Document 4: Japanese Patent Application Laid-Open No. 2003-296289
특허 문헌 5: 일본 특허 공개 제2004-199561호 공보Patent Document 5: Japanese Patent Application Laid-Open No. 2004-199561
그러나, 관리자가 리소스의 사용 상황을 감시하도록 하고, 그 사용 상황에 따라서, 남의 손에 의해 CPU 등의 리소스의 분배를 변경한다는 종래 기술을 따르고 있으면, 리소스의 사용 상황을 항상 관리자가 감시할 필요가 있다는 문제가 있고, 리소스의 분배도 남의 손에 의해 행하지 않으면 안 된다는 문제가 있다.However, if the administrator is to monitor the usage of the resource and follows the conventional technique of changing the distribution of resources such as the CPU by others' hands, the administrator should always monitor the usage of the resource. There is a problem that there is a problem, and there is a problem that the distribution of resources must be performed by others.
사용자에 의한 서버 장치의 이용에 대해서는 특정한 기간이나 특정한 시간대에 증가하거나 감소하는 경우가 많고, 그러한 경우에는 리소스의 사용 상황을 미리 파악할 수 있으나, 그러한 경우에도 리소스의 분배를 남의 손에 의해 행한다는 것은 매우 비효율적이다.The use of the server device by the user is often increased or decreased at a specific time period or a specific time period, and in such a case, the resource use status can be grasped in advance. Very inefficient.
또한, CPU의 사용률을 모니터링하고, 그 모니터링한 CPU의 사용률이 어떤 임계값을 초과한 경우에 새로운 CPU를 자동적으로 편입시키도록 한다는 종래 기술을 따르고 있으면, 어떤 업무의 부하가 높아진 경우에 그 업무에 리소스가 할당되게 되기 때문에, 그 이외의 업무의 부하가 높아져도 이들 업무에 대해서 리소스를 할당할 수 없게 되는 경우가 발생한다는 문제가 있다.In addition, if the conventional technology of monitoring the CPU utilization rate and automatically incorporating a new CPU when the monitored CPU utilization rate exceeds a certain threshold value is reached, Since resources are allocated, there is a problem that the resources cannot be allocated to these tasks even if the load of other tasks is increased.
본 발명은 이러한 사정을 감안하여 이루어진 것으로, 정보 처리 장치의 처리 기능에 대하여, 처리 기능이 부하에 맞춘 적절한 양의 리소스를 확실하게 사용할 수 있도록 하는 새로운 리소스 할당 기술의 제공을 목적으로 한다.The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a new resource allocation technique that enables the processing function to reliably use an appropriate amount of resources in accordance with the load.
또한, 계산기 내를 복수의 파티션으로 분할하고, 각각의 파티션이 할당된 리소스를 사용하여 데이터 처리를 실행한다는 구성을 채용하는 경우에, 리소스의 사용 상황을 미리 파악할 수 있는 경우가 많은 것을 고려해서, 리소스량의 할당을 미리 스케줄링함으로써, 그러한 경우에, 남의 손을 통하지 않고 자동적으로, 각 파티션이 부하에 맞춘 적절한 양의 리소스를 확실하게 사용할 수 있도록 하는 새로운 리소스 할당 기술의 제공을 목적으로 한다.In addition, in the case of adopting a configuration in which the inside of the calculator is divided into a plurality of partitions and each partition performs data processing using the resources allocated to each partition, in consideration of the fact that the use state of the resources is often found in advance, By pre-scheduling the allocation of resource amounts, in such a case, it is aimed at providing a new resource allocation technique that enables each partition to reliably use the appropriate amount of resources according to the load, without going through others' hands.
〔1〕본 발명의 정보 처리 장치의 구성[1] Configuration of the information processing apparatus of the present invention
〔1-1〕제1 구성[1-1] First configuration
상기 목적을 달성하기 위하여, 본 발명의 정보 처리 장치는, (1) 정보 처리를 실행하는 처리부와, (2) 계시(計時) 수단과, (3) 시각에 따라서, 처리 기능에 대하여 할당되어야 할 리소스량을 나타내는 정보를 기억하는 기억 수단과, (4) 계시 수단에 의한 계시 결과에 따라서, 기억 수단을 참조하여 상기 시각에 할당되어야 할 리소스량을 판별하고, 판별된 양의 리소스를 대응하는 처리 기능에 할당하는 제어 수단을 구비하도록 구성한다.In order to achieve the above object, the information processing apparatus of the present invention is to be assigned to a processing function according to (1) a processing unit that executes information processing, (2) timekeeping means, and (3) time. A storage means for storing information indicating the resource amount, and (4) a process for determining the amount of resources to be allocated at the time by referring to the storage means in accordance with the time-keeping result by the timekeeping means, and corresponding processing of the determined amount of resources. It is configured to have control means assigned to the function.
〔1-2〕제2 구성[1-2] Second Configuration
또한, 상기 목적을 달성하기 위하여, 본 발명의 정보 처리 장치는, (1) 각각 다른 처리 기능을 실행하는 복수의 처리부와, (2) 처리부의 각각에 대하여 할당되어야 할 리소스량을, 시각에 대응시켜서 기억하는 기억 수단과, (3) 기억 수단을 참조해서, 현재 시각에 어떤 처리부에 대하여 할당되어야 할 양의 리소스를 할당하는 제어 수단을 구비하도록 구성한다.Further, in order to achieve the above object, the information processing apparatus of the present invention corresponds to (1) a plurality of processing units executing different processing functions and (2) the amount of resources to be allocated to each of the processing units in accordance with time. And storage means (3) and control means for allocating an amount of resources to be allocated to a certain processing part at the present time with reference to the storage means.
이 구성을 취할 때에 있어서, 기억 수단은, 각각의 처리부에 대하여 할당되어야 할 리소스량을 시간대마다 기억하는 경우가 있다.In this configuration, the storage means may store the amount of resources to be allocated to each processing unit for each time zone.
또한, 본 발명의 정보 처리 장치는, 적어도 복수의 처리부를 갖는 제1 장치와, 제1 장치에 접속되는 하나 내지 복수의 단말 장치를 구비하는 것으로 구성되는 경우가 있다.In addition, the information processing apparatus of this invention may be comprised by including the 1st apparatus which has a some process part at least, and one or some terminal apparatus connected to a 1st apparatus.
〔2〕본 발명의 리소스 할당 방법의 구성[2] configuration of a resource allocation method of the present invention
상기 목적을 달성하기 위하여, 본 발명의 리소스 할당 방법에서는, 정보 처리를 행하는 처리부에 대한 처리에 필요로 하는 리소스의 할당을 행하기 위하여, (1) 처리부에 대하여 할당되어야 할 리소스량을 나타낸 스케줄 정보를 참조하고, (2) 스케줄 정보에 기초해서, 현재 시각에 처리부에 대하여 할당되어야 할 리소스량을 판별하며, (3) 판별된 양의 리소스를 처리부에 할당하도록 처리한다.In order to achieve the above object, in the resource allocation method of the present invention, in order to allocate resources required for processing to a processing unit that performs information processing, (1) schedule information indicating an amount of resources to be allocated to the processing unit; (2) determine the amount of resources to be allocated to the processing unit at the current time based on the schedule information, and (3) process to allocate the determined amount of resources to the processing unit.
본 발명의 리소스 할당 방법이 상기의 구성을 채용하는 본 발명의 정보 처리 장치에서 동작함으로써, 본 발명의 정보 처리 장치가 구비하는 하나 또는 복수의 처리 기능이 부하에 맞춘 적절한 양의 리소스를 확실하게 사용할 수 있게 된다.The resource allocation method of the present invention operates in the information processing apparatus of the present invention employing the above configuration, so that one or more processing functions included in the information processing apparatus of the present invention can reliably use an appropriate amount of resources according to the load. It becomes possible.
〔3〕본 발명의 계산기의 구성[3] Configuration of the calculator of the present invention
상기 목적을 달성하기 위하여, 본 발명을 구비하는 계산기는, 계산기 내를 복수의 파티션으로 분할하고, 각각의 파티션이 할당된 리소스를 사용하여 데이터 처리를 실행한다는 구성을 채용할 때에, (1) 각 파티션에 대하여, 이 기간 또는 시각에 대한 시간적 범위에는 이 양의 리소스를 할당한다는 것에 대해서 기술하는 스케줄 정보를 기억하는 기억 수단과, (2) 기억 수단으로부터, 현재의 시각이 속하는 시간적 범위에 대응시켜서 기억되어 있는 리소스량을 취득하는 취득 수단과, (3) 각 파티션이 취득 수단이 취득한 리소스량의 리소스를 사용하여 데이터 처리를 실행하도록 제어하는 제어 수단을 구비한다는 구성을 채용한다.In order to achieve the above object, the calculator provided with the present invention divides the inside of the calculator into a plurality of partitions, and adopts a configuration in which data processing is executed using resources allocated to each partition. A storage means for storing schedule information describing that the partition allocates this amount of resources to the time range for this period or time, and (2) the storage means corresponding to the time range to which the current time belongs. The acquisition means which acquires the amount of resources stored, and (3) the control part which controls each partition to perform data processing using the resource of the resource amount acquired by the acquisition means are employ | adopted.
이 구성을 채용할 때에 있어서, 현재의 시각이 속하는 시간적 범위가 이전회에 판단한 것으로부터 변경되었는지의 여부를 판단하는 판단 수단을 구비하는 경우가 있으며, 이 판단 수단을 구비하는 경우에는, 취득 수단은, 이 판단 수단이 시간적 범위의 변경을 판단하는 경우에, 기억 수단으로부터 리소스량을 취득하게 된다.In adopting this configuration, there may be a case where it is provided with judging means for judging whether or not the temporal range to which the current time belongs is changed from the one judged from the previous time. When the judging means is provided, the obtaining means When the judging means judges the change of the temporal range, the resource amount is acquired from the storage means.
여기서, 기억 수단을 제외한 이상의 각 처리 수단은 컴퓨터 프로그램으로도 실현할 수 있는 것이고, 이 컴퓨터 프로그램은 적당한 컴퓨터 판독 가능한 기록 매체에 기록되어 제공되거나, 네트워크를 통해 제공되며, 본 발명을 실시할 때에 인스톨되어 CPU 등의 제어 수단 상에서 동작함으로써 본 발명을 실현하게 된다.Here, each processing means other than the storage means can also be realized by a computer program, which is provided by being recorded on a suitable computer readable recording medium or provided via a network, and installed when the present invention is implemented. The present invention is realized by operating on a control means such as a CPU.
이와 같이 구성되는 본 발명을 구비하는 계산기에서는, 기억 수단으로부터, 현재의 시각이 속하는 시간적 범위에 대응시켜서 기억되어 있는 리소스량을 취득하면, 각 파티션이 그 취득한 리소스량의 리소스를 사용하여 데이터 처리를 실행하도록 제어한다.In the calculator having the present invention configured as described above, when the resource amount stored in correspondence with the temporal range to which the current time belongs is obtained from the storage means, each partition uses the resource of the acquired resource amount to perform data processing. Control to run
즉, 기억 수단으로부터 취득한 리소스량보다도 적은 리소스량을 사용하고 있는 파티션에 대해서는, 그 차분량에 상당하는 리소스를 새롭게 할당하도록 제어하고, 한편, 기억 수단으로부터 취득한 리소스량보다도 많은 리소스량을 사용하고 있는 파티션에 대해서는, 그 차분량에 상당하는 리소스의 할당을 해제하도록 제어한다.That is, for a partition using less resource amount than the resource amount acquired from the storage means, it is controlled to newly allocate a resource corresponding to the difference amount, while using more resource amount than the resource amount acquired from the storage means. The partition is controlled to deallocate resources corresponding to the difference amount.
여기서, 이 할당을 해제하는 경우에, 그 해제의 대상이 되는 리소스가 사용되고 있는 경우에는, 그 사용이 끝나고 나서, 그 리소스의 할당을 해제하도록 제어하게 된다.Here, in the case of releasing this allocation, if the resource to be released is being used, control is made to release the allocation of the resource after the use is finished.
이렇게 해서, 본 발명을 구비하는 계산기는, 계산기 내를 복수의 파티션으로 분할하고, 각각의 파티션이 할당된 리소스를 사용하여 데이터 처리를 실행한다는 구성을 채용하는 경우에, 리소스의 사용 상황을 미리 파악할 수 있는 경우가 많은 것을 고려해서, 리소스량의 할당을 미리 스케줄링하고, 그 스케줄링에 따라서 각 파티션에 대하여 리소스를 할당하도록 제어하기 때문에, 남의 손을 통하지 않고 자동적으로, 각 파티션이 부하에 맞춘 적절한 양의 리소스를 확실하게 사용할 수 있게 되는 것을 실현할 수 있다.In this way, the calculator according to the present invention divides the inside of the calculator into a plurality of partitions, and in advance adopts a configuration in which data processing is executed using the resources allocated to each partition, so as to grasp in advance the state of use of the resources. In consideration of many cases, the allocation of resource amount is scheduled in advance, and the allocation of resources to each partition is controlled in accordance with the scheduling, so that the appropriate amount of each partition is automatically adjusted without load. It is possible to realize that the resources of the system can be used reliably.
<발명의 효과>Effect of the Invention
본 발명에 따르면, 정보 처리 장치가 구비하는 하나 또는 복수의 처리 기능이 부하에 맞춘 적절한 양의 리소스를 확실하게 사용할 수 있게 된다. According to the present invention, one or more processing functions included in the information processing apparatus can reliably use an appropriate amount of resources according to the load.
이것으로부터, 본 발명에 따르면, 하나 또는 복수의 처리 기능을 사용하여 정보를 처리하는 정보 처리 장치에 있어서, 그 정보 처리를 효율적으로 실행할 수 있게 된다.From this, according to the present invention, the information processing apparatus which processes information by using one or a plurality of processing functions can efficiently execute the information processing.
또한, 본 발명에 따르면, 계산기 내를 복수의 파티션으로 분할하고, 각각의 파티션이 할당된 리소스를 사용하여 데이터 처리를 실행한다는 구성을 채용하는 경우에, 남의 손을 통하지 않고 자동적으로, 각 파티션이 부하에 맞춘 적절한 양의 리소스를 확실하게 사용할 수 있게 된다. Further, according to the present invention, when adopting a configuration in which the inside of the calculator is divided into a plurality of partitions, and each partition executes data processing using the allocated resources, each partition is automatically made without anyone's hands. You will be able to use the right amount of resources to meet your load.
이것으로부터, 본 발명에 따르면, 계산기 내를 복수의 파티션으로 분할하고, 각각의 파티션이 할당된 리소스를 사용하여 데이터 처리를 실행한다는 구성을 채용하는 경우에, 이들의 데이터 처리를 효율적으로 실행할 수 있게 된다.From this, according to the present invention, in the case of adopting a configuration in which the inside of the calculator is divided into a plurality of partitions and each partition executes data processing using the allocated resources, the data processing can be efficiently executed. do.
도 1은 본 발명의 서버 장치의 일실시형태예이다.1 is an example of one embodiment of a server device of the present invention.
도 2는 스케줄 정보 테이블이 관리하는 스케줄 정보의 일례이다.2 is an example of schedule information managed by a schedule information table.
도 3은 스케줄 정보 테이블이 관리하는 스케줄 정보의 설명도이다.3 is an explanatory diagram of schedule information managed by a schedule information table.
도 4는 스케줄 정보 작성부가 실행하는 처리 플로우의 일례이다.4 is an example of a processing flow executed by a schedule information creating unit.
도 5는 스케줄 정보 작성부가 실행하는 처리 플로우의 일례이다.5 is an example of a processing flow executed by a schedule information creating unit.
도 6은 설정 반영부가 실행하는 처리 플로우의 일례이다.6 is an example of a processing flow executed by the setting reflecting unit.
도 7은 설정 반영부가 실행하는 처리 플로우의 일례이다.7 is an example of the processing flow executed by the setting reflecting unit.
도 8은 스케줄 정보 작성 화면의 설명도이다.8 is an explanatory diagram of a schedule information creation screen.
도 9는 OS 선택 화면의 설명도이다.9 is an explanatory diagram of an OS selection screen.
도 10은 CPU수 설정 화면의 설명도이다.10 is an explanatory diagram of a CPU number setting screen.
도 11은 CPU수 설정 종료 화면의 설명도이다.11 is an explanatory diagram of a CPU number setting end screen.
도 12는 설정 반영부가 실행하는 처리 플로우의 다른 일례이다.12 is another example of the processing flow executed by the setting reflecting unit.
도 13은 설정 반영부가 실행하는 처리 플로우의 다른 일례이다.13 is another example of the processing flow executed by the setting reflecting unit.
도 14는 본 발명의 서버 장치의 다른 실시형태예이다.14 shows another embodiment of the server device of the present invention.
도 15는 설정 반영부가 실행하는 처리 플로우의 다른 일례이다.15 is another example of the processing flow executed by the setting reflecting unit.
도 16은 설정 반영부가 실행하는 처리 플로우의 다른 일례이다.16 is another example of the processing flow executed by the setting reflecting unit.
<부호의 설명><Description of the code>
1: 서버 장치 2: 서버 관리 장치1: server device 2: server management device
3: 네트워크 4: 네트워크3: network 4: network
5: 사용자 단말 10: 파티션5: user terminal 10: partition
11: 시스템 보드 12: 서비스 프로세서11: system board 12: service processor
20: 스케줄 정보 작성부 21: 스케줄 정보 송신부20: schedule information creating unit 21: schedule information transmitting unit
100: 오퍼레이팅 시스템 101: 애플리케이션 프로그램100: operating system 101: application program
102: 설정 반영부 103: 시간대 정의 정보 기억부102: setting reflecting unit 103: time zone definition information storage unit
104: 이전회 시간대 정보 기억부 120: 스케줄 정보 테이블104: previous time zone information storage unit 120: schedule information table
121: 스케줄 정보 등록부121: schedule information register
이하, 실시형태에 따라서 본 발명을 상세히 설명한다.EMBODIMENT OF THE INVENTION Hereinafter, this invention is demonstrated in detail according to embodiment.
도 1에, 본 발명의 서버 장치(1)의 일실시형태예를 도시한다.Fig. 1 shows an example of one embodiment of the
이 도면에 도시하는 바와 같이, 본 실시형태의 서버 장치(1)는, 자기 장치의 관리를 행하는 서버 관리 장치(2)와 네트워크(3)를 통해 접속되어 있으며, 네트워크(4)를 통해 접속되는 사용자 단말(5)에 대하여, 예컨대, 메일 서버로서의 기능·업무용 서버로서의 기능·배치용 서버로서의 기능이라는 것처럼, 복수의 서버 기능을 제공하는 처리를 행한다.As shown in this figure, the
본 실시형태의 서버 장치(1)는, 이들 서버 기능의 제공을 실현하기 위하여, 각 서버 기능을 실현하기 위하여 구비하는 오퍼레이팅 시스템(100-i)(i=1∼3) 및 애플리케이션 프로그램(101-i)(i=1∼3)에 따라서, 장치 내가 복수의 파티션(10-i)(i=1∼3)으로 분할된 것이며, 각 파티션(10-i)은, 각각에 할당된 CPU를 하드웨어 자원으로서 사용하여, 자기 파티션(10-i)에 전개되는 오퍼레이팅 시스템(100-i)(i=1∼3)과 애플리케이션 프로그램(101-i)(i=1∼3)에 따라서 소정의 서버 기능을 실행하게 된다.In order to realize the provision of these server functions, the
여기서, 도면 중에 나타내는 도면 부호 11-i(i=1∼4)는 본 실시형태의 서버 장치(1)가 구비하는 시스템 보드이며, 각 오퍼레이팅 시스템(100-i)에 할당되는 CPU(도면 중 둥근 표시로 나타내는 것) 및 메모리를 실장한다. 또한, 도면 부호 12는 본 실시형태의 서버 장치(1)가 구비하는 서비스 프로세서이며, 서버 관리 장치(2)와 제휴해서 본 실시형태의 서버 장치(1)를 관리한다.Here, reference numerals 11-i (i = 1 to 4) shown in the drawings are system boards included in the
이와 같이 구성될 때에 있어서, 본 실시형태의 서버 장치(1)에서 본 실시형태를 실현하기 위하여, 서비스 프로세서(12)는, 각 오퍼레이팅 시스템(100-i)에 할당되는 CPU의 수에 대한 스케줄 정보를 관리하는 스케줄 정보 테이블(120)과, 서버 관리 장치(2)로부터 송신되어 오는 스케줄 정보를 수신하여 스케줄 정보 테이블(120)에 등록하는 스케줄 정보 등록부(121)를 구비한다. 한편, 각 파티션(10-i)은 스케줄 정보 테이블(120)이 관리하는 스케줄 정보에 따라서, 자기 파티션(10-i)에서 사용하는 CPU의 수를 설정하는 설정 반영부(102-i)(i=1∼3)를 구비한다.In this configuration, in order to realize the present embodiment in the
그리고, 서버 관리 장치(2)는, 본 실시형태의 서버 장치(1)의 관리를 실행하 기 위하여, 스케줄 정보 테이블(120)에 등록하는 스케줄 정보를 작성하는 스케줄 정보 작성부(20)와, 스케줄 정보 작성부(20)가 작성한 스케줄 정보를 서비스 프로세서(12)에 송신하여, 스케줄 정보를 스케줄 정보 테이블(120)에 등록하는 스케줄 정보 송신부(21)를 구비한다.In addition, the
도 2에, 스케줄 정보 테이블(120)이 관리하는 스케줄 정보의 일례를 도시한다. 2 shows an example of schedule information managed by the schedule information table 120.
도 2에 도시하는 바와 같이, 스케줄 정보 테이블(120)은 설정된 각 시간대에 대응시켜서, 그 시간대에 있어서, 각 오퍼레이팅 시스템(100-i)에 할당되는 CPU의 수와, 각 오퍼레이팅 시스템(100-i)에는 할당되지 않고 풀을 이루게 되는 CPU의 수를 관리하는 정보를 기억한다. As shown in Fig. 2, the schedule information table 120 corresponds to each set time zone, and in this time zone, the number of CPUs allocated to each operating system 100-i, and each operating system 100-i. ) Stores information that manages the number of CPUs that are not allocated and form a pool.
도 2에 도시하는 스케줄 정보의 예에서는, 본 실시형태의 서버 장치(1)가 메일 서버(OS1)와 업무용 서버(OS2)와 배치용 서버(OS3)라고 하는 3개의 파티션으로 구성되어 있다. 또한, 서버 장치(1)가 전체로 24개의 CPU를 갖는 경우에,In the example of the schedule information shown in FIG. 2, the
메일 서버(OS1) AM 9시∼AM 10시: 고부하 10 CPUMail server (OS1) AM 9:00 AM to 10:00 AM:
PM 12시∼PM 3시: 고부하 8 CPU PM 12:00-PM 3:00:
그 외: 저부하 5 CPU Other:
업무용 서버(OS2) AM 10시∼PM 5시: 고부하 10 CPUBusiness Server (OS2) 10:00 AM to PM 5:00 PM:
그 이외: 저부하 6 CPU Other:
배치용 서버(OS3) AM 1시∼AM 3시: 고부하 10 CPUDeployment Server (OS3) AM 1:00 AM to 3:00 AM:
그 외: 저부하 2 CPU Other:
라고 하는 CPU의 할당이 행해지는 것을 상정하고 있다.It is assumed that the CPU allocation is performed.
즉, 어떤 기능에 대해서 고부하가 예상되는 시간대에 대해서는, 그 기능에 대하여 CPU를 많이 할당함으로써, 그 고부하가 되는 기능에 대응하고 있는 오퍼레이팅 시스템(100-i)의 부하를 저감하도록 CPU수를 스케줄링한다. 한편, 어떤 기능에 대해서 저부하가 예상되는 시간대에 대해서는, 그 기능에 대한 CPU의 할당수를 적게 함으로써, 다른 고부하의 오퍼레이팅 시스템(100-i)에 대하여 보다 많은 CPU를 할당하는 것이 가능해지도록 CPU수를 스케줄링하는 것이다.That is, in a time zone in which a high load is expected for a certain function, the CPU number is scheduled to reduce the load on the operating system 100-i corresponding to the high-loading function by allocating more CPUs for the function. . On the other hand, in a time zone in which a low load is expected for a function, the number of CPUs can be allocated to the other high load operating system 100-i by reducing the number of CPU allocations for that function. To schedule.
여기서, 어떤 시간대에 오퍼레이팅 시스템(100-i)이 고부하인지 저부하인지라고 하는 것은, 그 시간대에서의 CPU의 사용률 등을 사용하여 판단하는 것이 가능하다.Here, whether or not the operating system 100-i is a high load or a low load in a certain time period can be determined using the utilization rate of the CPU in that time period.
또한, 도 2에 도시하는 스케줄 정보의 예에서는, 1시간을 단위로 해서 시간대가 설정되어 있으나, 예컨대 40분이라는 것처럼, 임의의 시간을 단위로 해서 시간대를 설정하는 것도 가능하다. 또한, 도 2에 도시하는 스케줄 정보의 예에서는, 3개의 오퍼레이팅 시스템(100-i)에 공통이 되는 시간대가 설정되는 것이 상정되어 있으나, 각 기능/오퍼레이팅 시스템(100-i)마다 각각의 시간대·각각의 시간의 구분을 설정하는 것도 가능하다.In the example of the schedule information shown in Fig. 2, although the time zone is set in units of one hour, it is also possible to set the time zone in units of arbitrary time, such as 40 minutes. In addition, in the example of the schedule information shown in FIG. 2, it is assumed that the time zone common to the three operating systems 100-i is set. However, each time zone · for each function / operating system 100-i is set. It is also possible to set each time division.
도 3은 도 2에 도시된 스케줄을, 시각을 가로축에, 할당되는 CPU수를 세로축에 나타낸 도면이다. 각 시간대에 할당되거나, 또는 할당되어야 할 CPU수는, 도 3과 같은 형식으로 표시함으로써 용이하게 인식할 수 있게 된다.3 is a diagram showing the schedule shown in FIG. 2 on the horizontal axis of time and the number of CPUs allocated on the vertical axis. The number of CPUs to be allocated or to be allocated to each time zone can be easily recognized by displaying the format as shown in FIG. 3.
이와 같이, 스케줄 정보 테이블(120)은 각 오퍼레이팅 시스템(100-i)에 대하 여, 어떤 시간대에는 어느 정도의 수의 CPU를 할당한다는 것에 대해서 기술하는 스케줄 정보를 관리하는 것이다.In this way, the schedule information table 120 manages schedule information describing that each operating system 100-i allocates a certain number of CPUs in a certain time period.
도 4 및 도 5에, 서버 관리 장치(2)가 구비하는 스케줄 정보 작성부(20)가 실행하는 처리 플로우의 일례를 도시하고, 도 6 및 도 7에, 서버 장치(1)가 구비하는 설정 반영부(102-i)가 실행하는 처리 플로우의 일례를 도시한다.4 and 5 show an example of a processing flow executed by the schedule information creating unit 20 included in the
다음으로, 이들 처리 플로우에 따라서, 도 1에 도시되는 본 실시형태의 서버 장치(1)가 실행하는 처리에 대해서 상세히 설명한다.Next, the processing executed by the
처음으로, 도 4 및 도 5의 처리 플로우에 따라서, 서버 관리 장치(2)가 구비하는 스케줄 정보 작성부(20)가 실행하는 처리에 대해서 설명한다.First, according to the processing flow of FIG. 4 and FIG. 5, the process which the schedule information preparation part 20 with which the
서버 관리 장치(2)가 구비하는 스케줄 정보 작성부(20)는, 서버 관리 장치(2)를 조작하는 관리자로부터 스케줄 정보 테이블(120)에 등록되는 스케줄 정보의 작성 요구가 있으면, 우선 단계 10에서, 스케줄 정보 테이블(120)로부터 현재 관리되고 있는 스케줄 정보를 판독한다. 판독된 스케줄 정보는, 필요에 따라서 도 1에서 도시가 생략된 디스플레이에, 그래프 표시 등의 형태로 표시된다.If the schedule information creation unit 20 included in the
도 8은 디스플레이 상에 표시되는 스케줄 정보 작성 화면의 예를 도시하는 도면이다. 즉, 스케줄 정보 작성부(20)는, 디스플레이에 도 8에 도시하는 바와 같은스케줄 정보 작성 화면을 표시하고, 거기에, 스케줄 정보 테이블(120)로부터 판독한 스케줄 정보를 그래프 형식의 표시 형태로 표시하는 것이다. 도 8의 스케줄 정보 작성 화면에 표시되는 그래프는, 스케줄 정보 작성 화면을 사용하여 작성된 스케줄 정보를, 시각과 CPU수를 대응시켜서 표시하는 것이며, 도 2에 도시된 그래 프와 동등한 것이다.8 is a diagram illustrating an example of a schedule information creation screen displayed on a display. That is, the schedule information preparation unit 20 displays the schedule information creation screen as shown in FIG. 8 on the display, and displays the schedule information read from the schedule information table 120 in a graphical form. It is. The graph displayed on the schedule information creation screen of FIG. 8 displays schedule information created using the schedule information creation screen in correspondence with the time and the number of CPUs, and is equivalent to the graph shown in FIG.
여기서, 도 8에 도시하는 스케줄 정보 작성 화면은, 오퍼레이팅 시스템(100-i)의 선택 요구 시에 조작되는 OS 선택 버튼과, 오퍼레이팅 시스템(100-i)에 할당하는 CPU수의 설정 요구 시에 조작되는 CPU수 설정 버튼을 갖고 있다. Here, the schedule information creation screen shown in FIG. 8 is operated at the time of setting request of OS selection button operated at the time of the selection request of the operating system 100-i, and the number of CPUs allocated to the operating system 100-i. It has a CPU number setting button.
또한, 도 8에 도시하는 스케줄 정보 작성 화면에서는, 오퍼레이팅 시스템(100-i)에 할당되지 않는 CPU의 수(풀을 이루고 있는 CPU의 수)에 대해서 그래프 표시를 하지 않는 예를 나타내고 있으나, 이 CPU수에 대해서도 그래프 표시를 하는 것은 가능하다.In addition, although the schedule information creation screen shown in FIG. 8 shows the example which does not display a graph about the number of CPUs (the number of CPUs which make up a pool) which are not allocated to the operating system 100-i, this CPU is shown. It is also possible to graph the numbers.
계속해서, 단계 11에서, 스케줄 정보 작성 화면에 표시된 OS 선택 버튼이 조작되었는지의 여부를 검출한다. OS 선택 버튼이 조작되었다고 판별된 경우에는 오퍼레이팅 시스템(100-i)의 선택 요구가 발행되기 때문에, 스케줄 정보 작성부(20)는 오퍼레이팅 시스템(100-i)의 선택 요구가 발행되는 것을 기다린다. 오퍼레이팅 시스템(100-i)의 선택 요구가 발행되면, 단계 12로 진행하여, 오퍼레이팅 시스템(100-i)의 선택에 사용하는 OS 선택 화면을 표시하고, 그것에 대한 입력을 접수함으로써 처리 대상의 오퍼레이팅 시스템(100-i)을 선택한다.Subsequently, in
즉, 도 9에 도시하는 바와 같이, 오퍼레이팅 시스템(100-i)의 선택에 사용하는 OS 선택 화면을 표시하고, 그것에 대한 입력을 접수함으로써 처리 대상의 오퍼레이팅 시스템(100-i)을 선택하는 것이다. OS 선택 화면에서는, 선택 대상이 되는 OS가 일람 표시되기 때문에, 오퍼레이터는 선택해야 할 OS를 화면 상에서 지시하고, 선택 버튼을 조작한다.That is, as shown in FIG. 9, the OS selection screen used for the selection of the operating system 100-i is displayed, and the input of the operating system 100-i is selected by selecting the operating system 100-i. In the OS selection screen, since the OS to be selected is displayed in a list, the operator instructs the OS to be selected on the screen and operates the selection button.
계속해서, OS가 선택된 후, 단계 13에서, 스케줄 정보 작성 화면에 표시된 CPU수 설정 버튼이 조작되었는지의 여부를 검출한다. CPU수 설정 버튼이 조작된 경우에는, CPU수 설정 요구가 발행된다. 스케줄 정보 작성부(20)는 처리 대상의 오퍼레이팅 시스템(100-i)에 대한 CPU수의 설정 요구가 발행되는 것을 기다리고, CPU수의 설정 요구가 발행되면, 단계 14로 진행하여, CPU수의 설정에 사용하는 CPU수 설정 화면을 표시한다. 그리고, CPU수 설정 화면으로부터의 입력을 접수함으로써, 처리 대상의 오퍼레이팅 시스템(100-i)에 대한 시간대와 CPU수와의 대응 관계를 입력한다. 스케줄 정보 작성부(20)는, 입력한 대응 관계의 설정 요구가 있는 경우에는, 그 설정 요구에 응답하여 스케줄 정보 테이블(120)로부터 판독한 스케줄 정보를 갱신한다.Subsequently, after the OS is selected, it is detected in
도 10은 CPU수 설정 화면의 표시예를 도시하는 도면이다. 즉, 도 10에 도시하는 바와 같이, 스케줄 정보 작성부(20)는 처리 대상의 오퍼레이팅 시스템(100-i)에 대한 CPU수의 설정에 사용하는 CPU수 설정 화면을 표시하고, 그것에 대한 입력을 접수한다. CPU수 설정 화면에는 시간대를 설정하기 위한 입력란과, 설정되어야 할 CPU수가 입력되는 입력란을 갖는다. 오퍼레이터는, 처리 대상의 오퍼레이팅 시스템(100-i)에 대한 시간대와 CPU수와의 대응 관계를 이들 입력란으로부터 입력하여, CPU수 설정 화면에 표시되는 설정 버튼을 조작한다. 스케줄 정보 작성부(20)는 설정 버튼의 조작을 오퍼레이터가 입력한 대응 관계의 설정 요구로 간주하고, 그 설정 요구에 응답하여 스케줄 정보 테이블(120)로부터 판독한 스케줄 정보를, 입력된 정보로 갱신하는 것이다. 10 is a diagram illustrating a display example of a CPU number setting screen. That is, as shown in FIG. 10, the schedule information preparation part 20 displays the CPU number setting screen used for setting of the CPU number with respect to the operating system 100-i of processing object, and accepts the input about it. do. The CPU number setting screen has an input field for setting a time zone and an input field for inputting the number of CPUs to be set. The operator inputs a correspondence between the time zone and the number of CPUs for the operating system 100-i to be processed from these input fields, and operates a setting button displayed on the CPU number setting screen. The schedule information creation unit 20 regards the operation of the setting button as a setting request of the correspondence input by the operator, and updates the schedule information read from the schedule information table 120 with the input information in response to the setting request. It is.
계속해서, 단계 15에서, 스케줄 정보 작성부(20)는 CPU수 설정 화면에 표시되는 종료 버튼이 조작되었는지의 여부, 다시 말하면 CPU수 설정의 종료 요구가 발행되었는지의 여부를 판단한다. 종료 버튼이 조작되지 않은 경우, 즉, CPU수 설정 화면이 갖는 설정 버튼이 조작된 경우에는, 단계 14로 처리를 되돌려서, 스케줄 정보의 갱신을 속행해 간다.Subsequently, in
한편, 스케줄 정보 작성부(20)는, 단계 15에서, CPU수 설정 화면이 갖는 종료 버튼이 조작되어, CPU수 설정의 종료 요구가 발행된 것을 검출하면, 단계 16으로 진행하여, 처리 계속 요구의 접수, 또는 처리 종료 요구의 접수에 사용하는 CPU수 설정 종료 화면을 표시하고, 그것에 대한 입력을 접수함으로써 처리 계속의 요구가 있는지, 처리 종료의 요구가 있는지를 판단한다.On the other hand, when the schedule information preparation unit 20 detects that the end button of the CPU number setting screen is operated in
도 11은 화면에 표시되는 CPU수 설정 종료 화면의 예를 도시하는 도면이다. 도 11에 도시하는 바와 같이, 처리 계속 요구를 접수하는지 처리 종료 요구를 접수하는지에 사용하는 CPU수 설정 종료 화면이 표시되고, 그것에 대한 입력을 접수함으로써 처리 계속의 요구가 있는지, 처리 종료의 요구가 있는지를 스케줄 정보 작성부(20)는 판단하는 것이다. 11 is a diagram illustrating an example of the CPU number setting end screen displayed on the screen. As shown in Fig. 11, a CPU number setting end screen for use in accepting a process continuation request or a process end request is displayed, and by accepting an input therefor, there is a request for processing continuation or a request for end of processing. The schedule information preparation unit 20 determines whether or not there is.
이 단계 16의 판단 처리에 따라서, 처리 계속의 요구가 발행되었다고 판단했을 때에는, 스케줄 정보 작성부(20)는 단계 11로 되돌아감으로써, 스케줄 정보의 갱신을 속행해 간다.When it is determined that the request for processing continuation has been issued in accordance with the determination process of
한편, 단계 16의 판단 처리에 따라서, 처리 종료의 요구가 발행되었다고 판단했을 때에는, 스케줄 정보 작성부(20)는 단계 17로 진행하여, 스케줄 정보 작성 화면에 그래프 표시하기 위해서 사용되는 스케줄 정보를 단계 14의 처리에서 갱신한 것으로 변경하고, 새롭게 작성된 스케줄 정보를 그래프 표시하는 처리를 행한다.On the other hand, when it is judged that the request for the end of processing has been issued in accordance with the determination process of
계속해서, 단계 18에서, 스케줄 정보 작성부(20)는 각 시간대마다 각 오퍼레이팅 시스템(100-i)에 할당된 CPU수의 총합을 구하고, 그것이 시스템 보드(11)에 실장되는 CPU수의 총합보다도 작은지의 여부를 판단한다. 스케줄 정보 작성부(20)는, 이 판단에 의해 풀을 이루는 CPU를 갖지 않는 시간대가 있는지를 조사한다.Subsequently, at step 18, the schedule information preparation unit 20 obtains the total number of CPUs assigned to each operating system 100-i for each time period, and it is larger than the total number of CPUs mounted on the
계속해서, 단계 19에서, 스케줄 정보 작성부(20)는, 단계 18의 처리에 따라서, 풀을 이루는 CPU를 갖지 않는 시간대가 있는 것이 검출되었는지의 여부를 판단한다. 풀을 이루는 CPU를 갖지 않는 시간대가 있다고 판단했을 때에는, 단계 20으로 진행하여, 스케줄 정보 작성 화면에 그래프 표시한 스케줄 정보에 대해서, 풀을 이루는 CPU가 없는 시간대를 명시 표시하고 나서, 단계 11로 되돌아간다. 이에 따라, 스케줄 정보를 작성하는 관리자에 대하여, 풀을 이루는 CPU를 갖지 않는 시간대가 없어지도록 CPU수를 재설정할 것을 지시한다.Subsequently, in
한편, 단계 19에서, 단계 18의 처리에 따라서, 풀을 이루는 CPU를 갖지 않는 시간대가 없다고 판단했을 때에는, 단계 21로 진행하여, 스케줄 정보 작성부(20)는 스케줄 정보 송신부(21)에 대해서, 새롭게 작성한 스케줄 정보의 송신을 지시하고, 처리를 종료한다.On the other hand, when it is determined in
이 송신 지시를 받아, 스케줄 정보 송신부(21)는, 송신 지시가 있는 스케줄 정보를 서비스 프로세서(12)에 송신한다. 이 스케줄 정보의 송신을 받아, 서비스 프로세서(12)가 구비하는 스케줄 정보 등록부(121)는, 스케줄 정보 송신부(21)로부터 송신되어 오는 스케줄 정보를 수신하여 스케줄 정보 테이블(120)에 등록한다.In response to this transmission instruction, the
이렇게 해서, 스케줄 정보 테이블(120)에는, 도 2에 도시하는 바와 같은 스케줄 정보가 등록되게 되는 것이다.In this way, the schedule information as shown in FIG. 2 is registered in the schedule information table 120.
다음으로, 도 6 및 도 7의 처리 플로우에 따라서, 서버 장치(1)가 구비하는 설정 반영부(102-i)가 실행하는 처리에 대해서 설명한다.Next, the process which the setting reflecting part 102-i with which the
설정 반영부(102-i)는, 예컨대 5분 주기로 설정되는 제어 주기에 도달함으로써 기동되면, 우선 단계 30에서, 도시하지 않은 시계를 참조함으로써 현재 시각을 취득하고, 이어지는 단계 31에서, 스케줄 정보 테이블(120)로부터 스케줄 정보를 판독한다.When the setting reflecting unit 102-i is activated by reaching a control period set to, for example, a 5-minute period, first, in step 30, the present time is obtained by referring to a clock (not shown), and in the following step 31, the schedule information table The schedule information is read from 120.
계속해서, 단계 32에서, 판독한 스케줄 정보에 따라서, 현재 시각이 속하는 시간대에 할당되어 있는 자기 오퍼레이팅 시스템(100-i)(자기가 속하는 파티션(10-i)에 전개되어 있는 오퍼레이팅 시스템(100-i))의 설정 CPU수를 추출하고, 이어지는 단계 33에서, 자기 오퍼레이팅 시스템(100-i)이 현재 사용하고 있는 CPU수를 취득한다.Subsequently, according to the schedule information read in step 32, the operating system 100-i deployed in the self-operating system 100-i (partition 10-i to which it belongs) assigned to the time zone to which the current time belongs. The number of set CPUs of i)) is extracted, and in the following step 33, the number of CPUs currently used by the self-operating system 100-i is acquired.
계속해서, 단계 34에서, 추출한 설정 CPU수와 취득한 사용 CPU수를 비교하고, 이어지는 단계 35에서, 그 비교 결과에 기초하여, 설정 CPU수와 사용 CPU수가 동일한 값인지의 여부, 바꿔 말하면 설정 CPU수 쪽이 사용 CPU수보다도 큰지, 또는 설정 CPU수 쪽이 사용 CPU수보다도 작은지를 판단한다.Subsequently, in step 34, the extracted set number of CPUs is compared with the acquired number of used CPUs, and in step 35, based on the comparison result, whether the set CPU number and the number of used CPUs are the same value, in other words, the set number of CPUs. It is determined whether the number is larger than the number of used CPUs or whether the number of set CPUs is smaller than the number of CPUs used.
이 단계 35의 판단 처리에 따라서, 설정 CPU수와 사용 CPU수가 동일한 값이 라고 하는 비교 결과가 얻어졌을 때에는, 설정 반영부(102-i)는 아무것도 처리를 행하지 않고, 처리를 종료한다.When the comparison result that the set number of CPUs and the number of used CPUs is the same value is obtained in accordance with the determination process of step 35, the setting reflecting unit 102-i does nothing and finishes the processing.
한편, 단계 35의 판단 처리에 따라서, 설정 CPU수 쪽이 사용 CPU수보다도 크다고 하는 비교 결과가 얻어졌을 때에는, 설정 반영부(102-i)는 단계 36으로 진행하여, CPU 편입 커맨드(오퍼레이팅 시스템(100-i)에 장비되어 있는 커맨드이다)를 발행함으로써, 풀을 이루고 있는 CPU 중에서, 설정 CPU수와 사용 CPU수와의 차분에 상당하는 수의 CPU를 자기 오퍼레이팅 시스템(100-i)에 편입시키고(할당하고), 처리를 종료한다. On the other hand, when the comparison result that the number of set CPUs is larger than the number of used CPUs is obtained in accordance with the judgment processing of step 35, the setting reflecting unit 102-i proceeds to step 36, where the CPU incorporation command (operating system ( Is issued to 100-i), and a CPU corresponding to the difference between the number of set CPUs and the number of CPUs used is incorporated into the self-operating system 100-i. (Assignment), the process ends.
한편, 단계 35의 판단 처리에 따라서, 설정 CPU수 쪽이 사용 CPU수보다도 작을 때에는, 설정 반영부(102-i)는 단계 37로 진행하여, 자기 오퍼레이팅 시스템(100-i)에 할당되어 있는 CPU 상에서 작업이 실행되고 있는지의 여부를 판단한다.On the other hand, when the number of set CPUs is smaller than the number of used CPUs according to the judgment processing of step 35, the setting reflecting unit 102-i proceeds to step 37 and the CPU assigned to the self-operating system 100-i. Determine if the job is running on the server.
이 단계 37의 판단 처리에 따라서, CPU 상에서 작업이 실행되고 있지 않다고 판단했을 때에는, 사용 CPU수와 설정 CPU수와의 차분에 상당하는 수의 CPU를 분리하는 것이 가능하기 때문에, 단계 41로 진행하여, CPU 분리 커맨드(오퍼레이팅 시스템(100-i)에 장비되어 있는 커맨드이다)를 발행함으로써, 자기 오퍼레이팅 시스템(100-i)으로부터 사용 CPU수와 설정 CPU수와의 차분에 상당하는 수의 CPU를 분리하고, 그것을 풀에 축적하고, 처리를 종료한다.When it is determined that the job is not being executed on the CPU in accordance with the judgment processing of
한편, 단계 37의 판단 처리에 따라서, CPU 상에서 작업이 실행되고 있다고 판단했을 때에는, 설정 반영부(102-i)는 단계 38로 진행하여, 작업의 실행을 종료 한 CPU가 있는지의 여부를 판단한다.On the other hand, when it is judged that the job is being executed on the CPU in accordance with the judgment processing of
이 단계 38의 판단 처리에 따라서, 작업의 실행을 종료한 CPU가 있을 때에는, 설정 반영부(102-i)는 단계 39로 진행하여, 사용 CPU수와 설정 CPU수와의 차분에 상당하는 수의 CPU를 분리할 때까지, CPU 분리 커맨드를 발행함으로써, 자기 오퍼레이팅 시스템(100-i)으로부터 작업을 실행하고 있지 않은 CPU를 분리하고, 그것을 풀에 축적한다.When there is a CPU that has finished execution of the job in accordance with the determination process of step 38, the setting reflecting unit 102-i proceeds to step 39, where a number corresponding to the difference between the number of used CPUs and the number of set CPUs is obtained. By issuing a CPU disconnection command until the CPU is detached, the CPU that is not executing a task from the self-operating system 100-i is separated and accumulated in the pool.
그리고, 단계 40에서, 사용 CPU수와 설정 CPU수와의 차분에 상당하는 수의 CPU를 분리했는지의 여부를 판단하고, 아직 그 수만큼 분리하고 있지 않을 때에는, 단계 38로 되돌아가서, 작업의 실행을 종료하는 CPU가 발생하는 것을 기다린다. 한편, 사용 CPU수와 설정 CPU수와의 차분에 상당하는 수의 CPU를 분리했을 때에는, 설정 반영부(102-i)는 처리를 종료한다.In step 40, it is determined whether or not the CPU corresponding to the difference between the number of used CPUs and the set CPUs has been separated. If not, the process returns to step 38 to execute the job. Wait for the CPU to exit. On the other hand, when the number of CPUs corresponding to the difference between the number of used CPUs and the set CPUs is separated, the setting reflecting unit 102-i ends the processing.
이렇게 해서, 본 실시형태에서는, 서버 장치(1) 내에서 복수의 오퍼레이팅 시스템(100-i)이 가동함으로써 복수의 서버 기능을 제공하는 경우에, 각각의 오퍼레이팅 시스템(100-i)이 사용하는 CPU수의 할당을 미리 스케줄링해 두고, 그 스케줄링에 따라서 각 오퍼레이팅 시스템(100-i)에 대하여 CPU를 할당하도록 제어하는 것이다.Thus, in this embodiment, when the several operating system 100-i operates in the
각 오퍼레이팅 시스템(100-i)의 부하의 시간적인 변동에 대해서는, 미리 파악 가능한 것이 많기 때문에, 이 본 실시형태의 구성에 따라서, 남의 손을 통하지않고 자동적으로, 각 오퍼레이팅 시스템(100-i)이 부하에 맞춘 적절한 수의 CPU를 사용할 수 있게 된다.Since there are many things which can be grasped | ascertained beforehand about the temporal fluctuation | variation of the load of each operating system 100-i, according to the structure of this embodiment, each operating system 100-i is automatically made through no hand. You can use the appropriate number of CPUs to match the load.
도 12 및 도 13에, 설정 반영부(102-i)가 실행하는 처리 플로우의 다른 일례를 도시한다. 여기서, 도 6 및 도 7의 처리 플로우와 동일한 처리를 실행하는 단계에 대해서는, 동일한 단계 번호로 기술하고 있다.12 and 13 show another example of the processing flow executed by the setting reflecting unit 102-i. Here, the steps of executing the same processing as the processing flow of Figs. 6 and 7 are described with the same step numbers.
도 6 및 도 7의 처리 플로우를 실행하는 경우, 설정 반영부(102-i)는 단계 30에서 현재 시각을 취득하면, 즉시, 단계 31로 진행하여, 스케줄 정보 테이블(120)로부터 스케줄 정보를 판독하도록 하고 있다.6 and 7, when the setting reflecting unit 102-i acquires the current time in step 30, the setting reflecting unit 102-i immediately proceeds to step 31 to read schedule information from the schedule information table 120. FIG. I'm trying to.
이에 비해서, 도 12 및 도 13의 처리 플로우를 실행하는 경우, 설정 반영부(102-i)는, 단계 30에서 현재 시각을 취득하면, 이어지는 단계 100에서, 이전회의 제어 주기에 처리한 시간대로부터 시간대가 변경되었는지의 여부를 판단하고, 시간대가 변경된 경우에만 단계 31로 진행하여, 스케줄 정보 테이블(120)로부터 스케줄 정보를 판독하도록 한다.In contrast, in the case of executing the processing flows of FIGS. 12 and 13, when the setting reflecting unit 102-i acquires the current time in step 30, in the subsequent step 100, the time zone from the time zone processed in the previous control cycle is obtained. Is determined, and the process proceeds to step 31 only when the time zone is changed to read schedule information from the schedule information table 120.
예컨대, 1시간마다 시간대를 설정한다고 하는 규약을 마련하는 경우에는, 현재 시각을 보는 것만으로, 이전회의 제어 주기에 처리한 시간대로부터 시간대가 변경되었는지의 여부를 판단하는 것이 가능하다.For example, in the case of providing a protocol for setting a time zone every hour, it is possible to judge whether or not the time zone has been changed from the time zone processed in the previous control cycle by simply looking at the current time.
이 경우, 시간대가 변경되어 있지 않으면 설정 CPU수에 변경은 없으므로, 단계 31 이후의 처리로 진행할 필요는 없다.In this case, if the time zone is not changed, there is no change in the number of set CPUs. Therefore, it is not necessary to proceed to the process after step 31.
그래서, 도 12 및 도 13의 처리 플로우를 실행하는 경우, 설정 반영부(102-i)는, 단계 30에서 현재 시각을 취득하면, 이어지는 단계 100에서, 이전회의 제어 주기에 처리한 시간대로부터 시간대가 변경되었는지의 여부를 판단하고, 시간대가 변경되지 않았다고 판단했을 때에는, 단계 31 이후의 처리로 진행하지 않고, 즉시 처리를 종료하도록 처리하는 것이다.Therefore, when executing the processing flows of FIGS. 12 and 13, when the setting reflecting unit 102-i acquires the current time in step 30, the time zone is changed from the time zone processed in the previous control cycle in the subsequent step 100. When it is judged whether or not it has been changed, and when it is determined that the time zone has not changed, the processing is performed so as to immediately terminate the processing without proceeding to the processing after step 31.
이 도 12 및 도 13의 처리 플로우를 실행함으로써, 설정 반영부(102-i)는 쓸데없는 처리를 실행하지 않아도 끝나게 된다.By executing this processing flow of Figs. 12 and 13, the setting reflecting unit 102-i is finished without executing unnecessary processing.
한편, 1시간마다 시간대를 설정한다고 하는 규약을 마련하는 것이 아니라, 스케줄 정보를 작성하는 관리자에 대하여 자유롭게 시간대를 설정하는 것을 허가하는 경우에는, 현재 시각을 본 것만으로는, 이전회의 제어 주기에 처리한 시간대로부터 시간대가 변경되었는지의 여부를 판단할 수 없다.On the other hand, instead of establishing a protocol for setting a time zone every hour, when allowing the administrator who creates schedule information to set the time zone freely, the process is performed in the previous control cycle only by viewing the current time. It is not possible to determine whether the time zone has changed from one time zone.
이러한 경우에는, 도 14에 도시하는 바와 같이, 각 파티션(10-i)은, 스케줄 정보 테이블(120)이 관리하는 스케줄 정보로 정의되는 시간대에 대한 정보를 복사하여 기억하는 시간대 정의 정보 기억부(103-i)(i=1∼3)와, 이전회의 제어 주기에 처리한 시간대에 대한 정보를 기억하는 이전회 시간대 정보 기억부(104-i)(i=1∼3)를 구비하도록 한다.In this case, as shown in Fig. 14, each partition 10-i includes a time zone definition information storage unit for copying and storing information on a time zone defined by schedule information managed by the schedule information table 120 ( 103-i) (i = 1 to 3) and a previous time zone information storage unit 104-i (i = 1 to 3) for storing information on the time zone processed in the previous control cycle.
그리고, 서버 장치(1)가 구비하는 설정 반영부(102-i)는, 도 15 및 도 16의 처리 플로우를 실행하도록 한다. 여기서, 도 6 및 도 7의 처리 플로우와 동일한 처리를 실행하는 단계에 대해서는, 동일한 단계 번호로 기술하고 있다.The setting reflecting unit 102-i included in the
즉, 스케줄 정보를 작성하는 관리자에 대하여 자유롭게 시간대를 설정하는 것을 허가하는 경우에는, 설정 반영부(102-i)는, 도 15 및 도 16의 처리 플로우에 도시하는 바와 같이, 단계 30에서 현재 시각을 취득하면, 그것에 이어서, 단계 200에서, 이전회 시간대 정보 기억부(104-i)로부터, 이전회의 제어 주기에 처리한 시간대의 정보를 취득한다. 그것에 이어서, 단계 201에서, 시간대 정의 정보 기억 부(103-i)를 참조함으로써, 현재 시각이 속하는 시간대를 특정한다.That is, when allowing the administrator who creates schedule information to freely set the time zone, the setting reflecting unit 102-i displays the current time in step 30, as shown in the processing flow of FIGS. 15 and 16. Next, subsequent to this, in step 200, the information of the time zone processed in the previous control cycle is acquired from the previous time zone information storage unit 104-i. Subsequently, in step 201, a time zone to which the current time belongs is specified by referring to the time zone definition information storage unit 103-i.
계속해서, 단계 202에서, 단계 200에서 취득한 시간대의 정보와 단계 201에서 특정한 시간대의 정보에 기초하여, 이전회의 제어 주기에 처리한 시간대로부터 시간대가 변경되었는지의 여부를 판단하고, 시간대가 변경된 경우에만 단계 31로 진행하여,, 스케줄 정보 테이블(120)로부터 스케줄 정보를 판독하도록 한다.Subsequently, in step 202, on the basis of the information of the time zone acquired in step 200 and the information of the time zone specified in step 201, it is determined whether or not the time zone has changed from the time zone processed in the previous control cycle, and only when the time zone has changed. Proceeding to step 31, the schedule information is read from the schedule information table 120.
그리고, 처리를 종료하기 전에, 단계 203에서, 이전회 시간대 정보 기억부(104-i)에 대하여, 이번회의 제어 주기에 처리한 시간대의 정보(단계 201에서 특정한 시간대의 정보)를 기록하고 나서, 처리를 종료한다.Then, before ending the process, in step 203, the time zone information storage unit 104-i records the time zone information (information of the time zone specified in step 201) processed in the current control cycle, The process ends.
이렇게 해서, 스케줄 정보를 작성하는 관리자에 대하여 자유롭게 시간대를 설정하는 것을 허가하는 경우에는, 설정 반영부(102-i)는, 도 15 및 도 16의 처리 플로우를 실행함으로써, 이전회의 제어 주기에 처리한 시간대로부터 시간대가 변경되었는지의 여부를 판단하고, 시간대가 변경되지 않은 경우에는, 단계 31 이후의 처리로 진행하지 않고, 즉시 처리를 종료하도록 처리하는 것이다.In this way, when allowing the administrator who creates schedule information to freely set the time zone, the setting reflecting unit 102-i performs the processing flow in the previous control cycle by executing the processing flows of FIGS. 15 and 16. It is determined whether or not the time zone is changed from one time zone. If the time zone is not changed, the processing is performed to immediately end the processing without proceeding to the processing after step 31.
이 도 15 및 도 16의 처리 플로우를 실행함으로써, 설정 반영부(102-i)는 쓸데없는 처리를 실행하지 않아도 끝나게 된다.By executing this processing flow of Figs. 15 and 16, the setting reflecting unit 102-i is finished without executing useless processing.
도시한 실시형태에 따라서 설명하였으나, 본 발명은 이것에 한정되는 것은 아니다. 예컨대, 본 발명은 하나 또는 복수의 처리 기능을 사용하여 정보를 처리한다는 구성을 채용하는 정보 처리 장치를 적용 대상으로 해서, 그 처리 기능에 대한 리소스의 할당을 상술한 바와 같은 형태로 스케줄링함으로써 실현하는 경우에도, 그대로 적용할 수 있는 것이다.Although it demonstrated according to embodiment shown, this invention is not limited to this. For example, the present invention is realized by scheduling an allocation of resources for the processing function in the form described above, with an information processing apparatus adopting a configuration of processing information using one or a plurality of processing functions. Even if it is, it can be applied as it is.
또한, 상기에서 설명한 실시형태에서는, 서버 장치에의 적용을 구체예로 해서 설명하였으나, 본 발명은 서버 장치에만 그 적용이 가능해지는 것은 아니며, 일반적인 계산기에 대해서도 그대로 적용할 수 있는 것이다.In the above-described embodiment, the application to the server device has been described as a specific example. However, the present invention is not only applicable to the server device, but can be applied to a general calculator as it is.
또한, 상기에서 설명한 실시형태에서는, 서버 장치와 서버 관리 장치로 기능을 분리한 형태에 대해서 설명하였으나, 이들 장치에서 실행된 기능·처리는 본질적으로는 분리하고 있을 필요는 없으며, 상기에서 설명한 처리가 모두 단일의 장치에서 완결되어도 좋다. 그 한편으로, 복수의 장치 사이에서 각 기능을 분리한다고 해도, 그 분배는 상기 실시형태와는 다른 형태로 하는 것도 적절히 가능하다.In addition, in the embodiment described above, the form in which the functions are separated into the server apparatus and the server management apparatus has been described. However, the functions and the processes executed in these apparatuses do not necessarily need to be separated. All may be completed in a single device. On the other hand, even if each function is isolate | separated between a some apparatus, it is also possible to make the distribution into the form different from the said embodiment suitably.
본 발명은, 하나 또는 복수의 처리 기능을 사용하여 정보를 처리한다는 구성을 채용하는 정보 처리 장치에 적용할 수 있는 것이며, 그 처리 기능이 부하에 맞춘 적절한 양의 리소스를 확실하게 사용할 수 있도록 하는 것을 실현한다.The present invention can be applied to an information processing apparatus employing a configuration in which information is processed using one or a plurality of processing functions, and the processing functions can be reliably used in an appropriate amount of resources according to the load. To realize.
본 발명은, 계산기 내를 복수의 파티션으로 분할하고, 각각의 파티션이 할당된 리소스를 사용하여 데이터 처리를 실행한다는 구성을 채용하는 계산기에 적용할 수 있는 것이며, 남의 손을 통하지 않고 자동적으로, 각 파티션이 부하에 맞춘 적절한 양의 리소스를 확실하게 사용할 수 있도록 하는 것을 실현한다. The present invention can be applied to a calculator employing a configuration in which the inside of the calculator is divided into a plurality of partitions, and each partition executes data processing using resources allocated to each partition. It ensures that partitions can use the right amount of resources to meet their load.
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020087014299A KR20080071177A (en) | 2008-06-13 | 2005-12-20 | Information processing apparatus, computer, resource assigning method and resource assigning program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020087014299A KR20080071177A (en) | 2008-06-13 | 2005-12-20 | Information processing apparatus, computer, resource assigning method and resource assigning program |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080071177A true KR20080071177A (en) | 2008-08-01 |
Family
ID=39882010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087014299A KR20080071177A (en) | 2008-06-13 | 2005-12-20 | Information processing apparatus, computer, resource assigning method and resource assigning program |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20080071177A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400241A (en) * | 2019-11-14 | 2020-07-10 | 杭州海康威视系统技术有限公司 | Data reconstruction method and device |
-
2005
- 2005-12-20 KR KR1020087014299A patent/KR20080071177A/en active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400241A (en) * | 2019-11-14 | 2020-07-10 | 杭州海康威视系统技术有限公司 | Data reconstruction method and device |
CN111400241B (en) * | 2019-11-14 | 2024-04-05 | 杭州海康威视系统技术有限公司 | Data reconstruction method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPWO2007072544A1 (en) | Information processing apparatus, computer, resource allocation method, and resource allocation program | |
US10003500B2 (en) | Systems and methods for resource sharing between two resource allocation systems | |
CN109936604B (en) | Resource scheduling method, device and system | |
EP3553657A1 (en) | Method and device for allocating distributed system task | |
CN101821997B (en) | Hierarchical reservation resource scheduling infrastructure | |
CN111344688B (en) | Method and system for providing resources in cloud computing | |
CN109564528B (en) | System and method for computing resource allocation in distributed computing | |
Wang et al. | Pigeon: An effective distributed, hierarchical datacenter job scheduler | |
WO2005122681A2 (en) | Goal-oriented predictive scheduling in a grid environment | |
CN113454614A (en) | System and method for resource partitioning in distributed computing | |
EP2391961A1 (en) | System and method for integrating capacity planning and workload management | |
CN112272203A (en) | Cluster service node selection method, system, terminal and storage medium | |
CN106790092A (en) | Remote procedure call services end control system and method | |
US20100211680A1 (en) | Apparatus and method to allocate limited resources | |
CN110287022A (en) | A kind of scheduling node selection method, device, storage medium and server | |
CN115543615A (en) | Resource allocation method and device, electronic equipment and storage medium | |
US11656914B2 (en) | Anticipating future resource consumption based on user sessions | |
US8140552B2 (en) | Method and apparatus for optimizing lead time for service provisioning | |
CN117596247A (en) | Resource monitoring and performance evaluation method based on heterogeneous edge computing system | |
US20100122261A1 (en) | Application level placement scheduler in a multiprocessor computing environment | |
CN112306640A (en) | Container dispensing method, apparatus, device and medium therefor | |
Zhang et al. | Scheduling best-effort and real-time pipelined applications on time-shared clusters | |
KR20080071177A (en) | Information processing apparatus, computer, resource assigning method and resource assigning program | |
WO2022177455A1 (en) | Method and system for optimizing resource and traffic management of a computer execution environment in a vran | |
CN114489978A (en) | Resource scheduling method, device, equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
NORF | Unpaid initial registration fee |