Sign In to Follow Application
View All Documents & Correspondence

"Information Processing Apparatus, Process Control Method, And Computer Program"

Abstract: A method and apparatus for processing data with optimum logical processor allocated to physical processor are provided. In data processing where a logical processor is allocated to a physical process, entry setting and updating process of a first conversion table and a second conversion table are performed. The first conversion table converts a logical partition address (virtual physical address) space into physical address space, and the second conversion table converts virtual address space into the physical address space. The allocation of the logical processor to the physical processor is thus updated. In this arrangement, data processing is performed so that the logical processor is allocated to the physical processor in an optimum manner with hardware workload and the form of data processing program taken into account.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
24 April 2006
Publication Number
24/2007
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

SONY CORPORATION
7-35, Kitashinagawa 6-chome, Shinagawa-ku, Tokyo 141-0001, Japan

Inventors

1. ATSUSHI TOGAWA
C/O SONY COMPUTER ENTERTAINMENT INC. 2-6-21, Minami-Aoyama, Minato-ku, Tokyo, Japan.
2. KENICHI MURATA
C/O SONY COMPUTER ENTERTAINMENT INC. 2-6-21, Minami-Aoyama, Minato-ku, Tokyo, Japan

Specification

DESCRIPTION
INFORMATION PROCESSING APPARATUS, PROCESS CONTROL METHOD,
AND COMPUTER PROGRAM
Technical Field
[0001]
The present invention relates to an information processing apparatus, a process control method, and a computer program. More specifically, the present invention relates to an information processing apparatus, a process control method, and a computer program for processing data with a physical processor allocated to a logical processor in a logical partition of each operating system (OS) in a time sharing manner in a multi-OS environment where a plurality of OS's function. Background Art
[0002]
In a multi operating system (OS) having a plurality of OS's in a single system, each OS can execute respective process and hardware common to the system, such as a central processing unit (CPU) and a memory is successively switched in time sequence.
[0003]
Scheduling of processes (tasks) of a plurality of OS's is executed by a partition management software program, for
example. If an OS (a) and an OS ((3) coexist in a single system with the process of OS(a) being a partition A and the process of OS (f}) being a partition B, the partition management software program determines the scheduling of the partition A and the partition B, and executes the process of the OS's with the hardware resources allocated based on the determined scheduling. [0004]
Patent Document 1 discloses a task management technique of a multi OS system. According to Patent Document 1, tasks to be executed by a plurality of OS's are scheduled with a priority placed on a process having urgency. [0005]
In such multi OS system, an entity processing data is set up as a partition. More specifically, a logical partition is set up as an entity that shares resources in a system. A variety of resources such as use time of the physical processor, virtual address space, and memory space are allocated to the logical partition. The process is then performed using the allocated resources. A logical processor corresponding to any physical processor is set up in the logical partition, and data processing is performed based on the logical processor. The logical processor does not always correspond to the physical processor on a one-to-one correspondence. For example, a single logical processor
can correspond to a plurality of physical processors, and a
plurality of logical processors can correspond to a single
/
physical processor.
[0006]
If a plurality of processes are performed in parallel using the logical processor, the physical processor is used by scheduling the plurality of logical processors. More specifically, the plurality of logical processors uses the physical processor in a time sharing manner.
[0007]
When a plurality of logical processors are used to process data with a plurality of physical processors applied,
one of methods of increasing data processing efficiency is
/
to set and update an allocation relationship between the logical processor and the physical processor. If one physical processor is used for a long period of time, the temperature of the physical processor rises as a result of heating. If a plurality of physical processors are used, the physical processors are preferably switched as appropriate.
[Patent Document 1] Japanese Unexamined Patent Application Publication No. 2003-345612 Disclosure of the Invention
[Problems to be Solved by the Invention] [0008]
The object of the present invention is to provide an information processing apparatus, a process control method, and a computer program for setting and updating an appropriate allocation relationship between a logical
processor and a physical processor to achieve .-efficient data
i processing and avoid using the physical processor for an
excessively long period of time in a data processing system that uses a plurality of logical processors to process data with a plurality of physical processors applied.
[0009]
The object of the present invention is also to provide an information processing apparatus, a process control method, and a computer program for setting and updating an allocation relationship between the logical processor and the physical processor in an appropriate manner to efficiently process data by setting and updating appropriately a table applied to address space' conversion among a virtual address space, a logical partition address (virtual physical address) space, and a physical address space.
[Means for Solving the Problems]
[0010]
In a first aspect of the present invention, an information processing apparatus includes a control OS executing a process for allocating a plurality of logical
processors to a physical processor in a time sharing manner, and a guest OS for which a logical partition as an application entity of the logical processor is set. The control OS sets and updates, as address conversion tables for determining an allocation relationship between the logical processor and the physical processor, two address conversion tables of a first conversion table that sets an allocation relationship between a logical partition address space and a physical address space and a second conversion table that sets an allocation relationship between a virtual address space in the guest OS and the physical address space [0011]
In the information processing apparatus of one embodiment of the present invention, the control OS acquires a physical address corresponding to an index of the first conversion table determined based on a logical partition address, and updates a physical address corresponding to an index of the second conversion table determined based on a virtual address. [0012]
In the information processing apparatus of one embodiment of the present invention, in order to switch the allocation relationship between the logical processor and the physical processor, the control OS acquires a physical address determined from an index of the first conversion
table corresponding to the logical processor allocated to the physical processor, invalidates all entries in the second conversion table holding the acquired physical address, acquires an index of the first conversion table corresponding to a logical processor that is newly allocated to the physical processor, and stores, as a physical address corresponding to the acquired index, physical address information of the physical processor with the logical processor to be allocated thereto. [0013]
In the information processing apparatus of one embodiment of the present invention, the physrcal address includes a physical address of an MMIO register of the physical processor. [0014]
In the information processing apparatus of one embodiment of the present invention, the control OS updates the allocation relationship between the logical processor and the physical processor to switch from one physical processor to another at the moment an operation time of a process of using the one physical processor reaches a predetermined threshold time. [0015]
In the information processing apparatus of one embodiment of the present invention, the control OS updates
the allocation relationship between the logical processor and the physical processor to switch from one physical processor to another at the moment the temperature of the one physical processor reaches a predetermined threshold temperature.
[0016]
In the information processing apparatus of one embodiment of the present invention, the control OS sets the allocation relationship between the logical processor and the physical processor so that a plurality of physical processors operating in parallel are set as a physical processor group connected to the same power supply line.
[0017]
In the information processing apparatus of one embodiment of the present invention, the control OS sets the
/
allocation relationship between the logical processor and the physical processor, based on access status of the physical processor accessing to memories arranged in different locations within the information processing apparatus, in a manner such that an access frequency of a physical processor accessing to a memory located closer to the physical processor becomes higher.
[0018]
In a second aspect of the present invention, a process control method for processing data with a plurality of
time sharing manner, includes setting a logical partition on a guest OS as an application entity of the logical processor, and updating two address conversion tables of a first conversion table that sets an allocation relationship between a logical partition address space and a physical address space and a second conversion table that sets an
/
allocation relationship between a virtual address space in the guest OS and the physical address space.
[0019]
In the process control method of one embodiment of the present invention, the table updating step includes acquiring a physical address corresponding to an index of the first conversion table determined based on a logical partition address, and updating a physical address corresponding to an index of the second conversion table determined based on a virtual address.
[0020]
In the process control method of one embodiment of the present invention, in order to switch the allocation relationship between the logical processor and the physical processor, the process control method further includes updating a physical address determined from an index of the first conversion table corresponding to the logical processor allocated to the physical processor, invalidating
all entries in the second conversion table holding the acquired physical address, acquiring an index of the first conversion table corresponding to a logical processor that is newly allocated to the physical processor, and storing, as a physical address corresponding to the acquired index, physical address information of the physical processor with the logical processor to be allocated thereto. [0021]
In the process control method of one embodiment of the present invention, in the process control method, preferably, the physical address includes a physical address of an MMIO register of the physical processor. [0022]
In the process control method of one embodiment of the present invention, the process control method includes updating the allocation relationship between the logical processor and the physical processor to switch from one physical processor to another at the moment an operation time of a process of using the one physical processor reaches a predetermined threshold time. [0023]
In the process control method of one embodiment of the present invention, the control OS includes updating the allocation relationship between the logical processor and the physical processor to switch from one physical processor
to another at the moment the temperature of the one physical processor reaches a predetermined threshold temperature. [0024]
In the process control method of one embodiment of the present invention, the control OS includes setting the allocation relationship between the logical processor and the physical processor so that a plurality of physical processors operating in parallel are set as a physical processor group connected to the same power supply line.
[0025]
In the process control method of one embodiment of the present invention, the control OS includes updating setting the allocation relationship between the logical processor and the physical processor, based on access status of the physical processor accessing to memories arranged in different locations within the information processing apparatus, in a manner such that an access frequency of a physical processor accessing to a memory located closer to the physical processor becomes higher.
[0026]
In a third aspect of the present invention, a computer program for processing data with a plurality of logical processors allocated to a physical processor in a time sharing manner, includes a step of setting a logical partition on a guest OS as an application enti;ty of the
-Illogical processor, and a step of updating two address conversion tables of a first conversion table that sets an allocation relationship between a logical partition address space and a physical address space and a second conversion table that sets an allocation relationship between a virtual address space in the guest OS and the physical address space. [0027]
The computer program of one embodiment of the present invention is provided, to a general-purpose computer system executing a variety of program code, in a computer-readable storage medium, such as a CD, an FD, or a MO, or a communication medium such as network. By providing the computer program in a computer readable manner, the computer system performs process responsive to the computer program.
[0028]
These and other features, and advantages of the present invention will become obvious from the following description of the present invention and the accompanying drawings. In the context of the description of the present invention, a system refers to a logical set of a plurality of apparatuses, and is not limited to an apparatus that houses elements within the same casing. [Advantages]
[0029] •In accordance with embodiments of the present invention,
the logical processor is allocated to the physical processor. Tables applied to address conversion between different address spaces including the virtual address space, the logical partition address (virtual physical address), and the physical address are set up. By appropriately modifying the conversion tables, an appropriate allocation relationship between the logical processor and the physical processor is set and updated. Efficient data processing is thus performed.
[0030]
In accordance with embodiments of the present invention, the control OS uses the two address conversion tables, namely, the first conversion table for converting the logical partition address (virtual physical address) space to the physical address space, and the second conversion table for converting the virtual address space to the physical address space. By setting and updating entries in the tables, the control OS updates the allocation relationship between the logical processor and the physical
processor. Depending on situations, the allocation
/ relationship between the logical processor and the physical
processor is modified. The physical processor thus processes data in a time sharing manner in accordance with a data process sequence. Data processing is appropriately performed taking into consideration workload on hardware and
data processing programs. [0031]
In accordance with embodiments of the present invention, the control OS performs a rotation process on the physical processors, namely, a migration process by updating the conversion tables. This arrangement controls heating of the physical processor due to continuous use of a long period of time.
[0032]
In accordance with embodiments of the present invention, in a system having a group of physical processors connected to different power supply lines, a plurality of logical processors allocated to different physical processors operate in parallel. By allocating the logical processors to the physical processors connected to the same power supply line, power to a physical processor group in an idle mode can be cut off. Power saving is thus performed.
[0033]
In accordance with embodiments of the present invention, the address conversion table is updated to allocate the logical processor corresponding to each process to a physical processor that is located closer to a memory having a higher access frequency therefrom in a system having a plurality of memories arranged in different locations- within the apparatus. The processor allocation process achieves
high-speed data accessing, thereby leading to highly efficient data processing. Brief Description of the Drawings [0034]
[Fig. 1] Fig. 1 is a block diagram of an information processing apparatus of one embodiment of the present invention.
[Fig. 2] Fig. 2 illustrates the structure of a processor module in the information processing apparatus.
[Fig. 3] Fig. 3 illustrates the structure of operating systems in the information processing apparatus of one embodiment of the present invention.
[Fig. 4] Fig. 4 illustrates allocation of a logical processor to a physical processor in a time sharing manner.
[Fig. 5] Fig. 5 illustrates an allocation process between the logical processor and the physical processor.
[Fig. 6] Fig. 6 illustrates an address space and a conversion table as an address conversion mechanism in the information processing apparatus of one embodiment of the present invention.
[Fig. 7] Fig. 7 illustrates a first conversion table applied to the information processing apparatus of one embodiment of the present invention.
[Fig. 8] Fig. 8 illustrates a second conversion table applied to the information processing apparatus of one
embodiment of the present invention.
[Fig. 9] Fig. 9 is a flowchart illustrating an update process of entries in the conversion table.
[Fig. 10] Fig. 10 specifically illustrates the update process of the entries in the conversion process.
[Fig. 11] Fig. 11 is a flowchart illustrating a process of updating the allocation relationship between the logical processor and the physical processor.
[Fig. 12] Fig. 12 specifically illustrates a process of updating the allocation relationship between the logical processor and the physical processor.
[Fig. 13] Fig. 13 specifically illustrates a process of updating the allocation relationship between the logical processor and the physical processor.
[Fig. 14] Fig. 14 specifically illustrates a process of updating the allocation relationship between the logical processor and the physical processor.
[Fig. 15] Fig. 15 specifically illustrates a process of updating the allocation relationship between the logical processor and the physical processor.
[Fig. 16] Fig. 16 illustrates the structure of a processor module having a timer and a temperature sensor.
[Fig. 17] Fig. 17 illustrates a switching process of switching a time-dependent allocation relationship between the logical processor and the physical processor.
[Fig. 18] Fig. 18 illustrates a switching process 'of switching a temperature-dependent allocation relationship between the logical processor and the physical processor.
[Fig. 19] Fig. 19 illustrates a process of excluding a physical processor that becomes defective at a pre-operation stage or an operation stage from allocation candidates to the logical processor.
[Fig. 20] Fig. 20 illustrates an arrangement that
determines the allocation relationship between the logical
processor and the physical processor based on the
relationship between the physical processor and a power
supply in use. '
[Fig. 21] Fig. 21 illustrates the allocation process of allocating the logical processor to the physical processor based on accessing to the physical processor.
[Fig. 22] Fig. 22 illustrates the allocation process of allocating the logical processor to the physical processor based on accessing to the physical processor.
[Fig. 23] Fig. 23 illustrates the allocation process of allocating the logical processor to the physical processor based on accessing to the physical processor. Best Mode for Carrying Out the Invention [0035]
An information processing apparatus, a process control method, and a computer program are described below with
reference to the drawings. [0036]
The hardware structure of the information processing apparatus of one embodiment of the present invention is described below with reference to Fig. 1. A processor module 101 includes a plurality of processors (processing units), and processes data in accordance with a variety of programs stored in a ROM (read-only memory) 104 and an HDD 123, including operating systems (OS's) and application programs running on the OS. The processor module 101 will be described later with reference to Fig. 2. [0037]
In response to a command input via the processor module 101, a graphic engine 102 generates data to be displayed on a screen of a display forming an output unit 122, for example, performs a 3D graphic drawing process. A main memory (DRAM) 103 stores the program executed by the processor module 101 and parameters that vary in the course of execution of the program. These elements are interconnected via a host bus 111 including a CPU bus. [0038]
The host bus 111 is connected to an external bus 112, such as a PCI (peripheral component interconnect/interface) bus via a bridge 105. The bridge 105 controls data inputting and outputting between the host bus 111, the
external bus 112, a controller 106, a memory card 107, and other devices.
[0039]
An input unit 121 inputs information to an input device, such as a keyboard and a pointing device, operated by a user. An output unit 122 includes an image output unit, such as
one of a liquid-crystal display and a CRT (Cathode Ray Tube),
i and an audio output device such as a loudspeaker.
[0040]
The HDD (Hard Disk Drive) 123 drives a hard disk loaded therewithin, thereby recording or playing back a program to be executed by the processor module 101 and information. [0041]
A drive 124 reads data and programs stored in a loaded removable recording medium 127, such as a magnetic disk, an optical disk, a magneto-optic disk, a semiconductor memory, or the like, and supplies the data and the programs to a main memory (DRAM) 103 via an interface 113, the external bus 112, the bridge 105, and the host bus 111.
[0042]
A connection port 125 connects to an external device 128, and may include a USB, an IEEE 1394 bus, or the like. The connection port 125 is connected to the processor module 101 via the interface 113, the external bus 112, the bridge 105, and the host bus 111. A communication unit 126,
connected to a network, transmits data supplied from the HDD 123 or the like, and receives data from the outside. [0043]
The structure of the processor module 101 is described below with reference to Fig. 2. As shown, a processor module 200 includes a main processor group 201 including a plurality of main processor units, and a plurality of sub-processor groups 202 - 20n, each including a plurality of sub-processor units. Each group further includes a memory controller and a secondary cache. The processor groups 201
/
- 2On, each including eight processor units, for example, are connected via one of a cross-bar architecture and a packet exchange network. In response to a command of the main processor of the main processor group 201, at least one sub-processor in the plurality of sub-processor groups 202 -2On is selected to perform a predetermined program.
[0044]
The memory-flow controller in each processor group controls data inputting and data outputting to the main memory 103 of Fig. 1. The secondary cache serves as a memory area for process data in each processor;- group.
[0045]
The operating systems (OS's) of the information processing apparatus of one embodiment of the present invention is described below with reference to Fig. 3. The
multi-OS information processing apparatus has a plurality of operating systems (OS's) arranged in a logical, layered structure as shown in Fig. 3.
[0046]
As shown in Fig. 3, a main OS 301 is arranged at a lower layer. A plurality of sub OS's 302, 303, and 304 are arranged at upper layers. Sub OS's 302 and 303 are guest OS's, and sub OS 304 is a system control OS. Together with the system control OS 304, the main OS 301 forms a logical partition as an execution unit of each process executed by the processor module 101 discussed with reference to Figs. 1 and 2, and allocates system hardware resources (for example, main processors, sub-processors, memories, and devices, as computing resources) to each logical partition'.
[0047]
The guest OS's 302 and 303 as the sub OS's are a gaming OS, Windows (registered trademark), Linux (registered trademark), etc., and operate under the control of the main OS 301. Although only two guest OS's 302 and 303 are shown in Fig. 3, the number of guest OS's is not limited to two.
[0048]
The guest OS's 302 and 303 operate within the logical partitions set by the main OS 301 and the system control OS 304. The guest OS's 302 and 303 process a variety of data using hardware resources such as main processors, sub-
processors, memories, and device, each allocated to the logical partition. [0049]
The guest OS(a) 302 uses the hardware devices including a main processor, a sub-processor, a memory, and a device allocated to the logical partition 2 set up by, the control OS 301 and the system control OS 304, thereby executing an application program 305 corresponding to the guest OS(a) 302 The guest OS(b) 303 uses the hardware resources including a main processor, a sub-processor, a memory, and a device allocated to a logical partition "n", thereby executing an application program 306 corresponding to the guest OS(b) 303, The main OS 301 provides a guest OS programming interface required to execute the guest OS. [0050]
The system control OS 304 as one of the sub OS's generates a system control program 307 containing logical partition management program, and performs operation control responsive to the system control program 307 together with the main OS 301. The system control program 307 controls system policy using a system control program programming interface. The application program 306 is supplied with the system control program programming interface by the control OS 301. For example, the system control program 307 permits flexible customization, for example, setting an upper limit
on resource allocation. [0051]
The system control program 307 controls the behavior of the system using the system control program programming interface. For example, the system control program 307 produces a new logical partition, and starts up a new guest OS at the logical partition. In a system where a plurality of guest OS's are operating, the guest OS's are initiated in the order programmed in the system control program 307. The system control program 307 can receive and examine a resource allocation request issued from the guest OS before being received by the main OS 301, modify the system policy, and deny the request itself. In this way, no particular guest OS monopolizes the resources. A program into which the system policy is implemented is the system control program.
[0052]
The main OS 301 allocates a particular logical partition (for example, the logical partition 1 as shown in Fig. 3) to the system control OS 304. The main OS 301 operates in a hypervisor mode. The guest OS operates in a supervisor mode. The system control OS 304 and the application program operate in a problem mode (user mode). [0053] The logical partition is an entity receiving a resource
allocation in the system. For example, the main memory 103 is partitioned into several areas (see Fig. 1)', and each logical partition is granted the right to use the respective area. The types of resources allocated to the logical partitions are listed below.
a) Physical processor unit usage time
b) Virtual address space
c) Memory accessible by program operating in a logical
partition
d) Memory used by the control OS to manage the logical
partition
e) Event port
f) Right to use device
g) Cache partition
h) Right to use bus
[0054]
As previously discussed, each OS operates within the logical partition. The OS monopolizes the resources allocated to the logical partition to process a variety of data. In many cases, one partition is produced for a guest OS, on a per guest OS basis, functioning on the system. Each logical partition is assigned a unique identifier. The system control OS 304 manages the system control program generated as logical partition management information by associating the system control program to the identifier.
[0055]
The logical partition is generated by the main OS 301 and the system control OS 304. Immediately after production, the logical partition has no resources, and with no limitation set on available resources. The logical partition takes one of two states, an active state and an end state. The logical partition immediately after production takes an active state. The logical partition is transitioned into the end state in response to a request of a guest OS operating in the logical partition, and stops all logical processors allocated to the logical partition.
[0056]
The logical processor is the one allocated to the logical partition, and corresponds to any physical processor, namely, a processor within a processor group of Fig. 2. The logical processor and the physical processor are not always related to each other in one-to-one correspondence. A single logical processor can correspond to a plurality of physical processors. Alternatively, a plurality of logical processors can correspond to a single physical processor. The correspondence between the logical processor and the physical processor is determined by the main OS 301.
[0057]
The main OS 301 has a function to limit the amount of resources available to each logical partition. Limitation
can be set to the amount of use of resources the guest OS 302 and the guest OS 303 can allocate and release without communicating with the system control OS 304.
[0058]
Each logical partition includes a control signal port. A variety of control signals required for data exchanging and sharing between logical partitions reaches the control
signal port. The control signals are listed as below.
/
a) A request to connect event ports between logical
partitions
b) A request to connect message channels between
logical partitions
c) A request to connect to a shared memory area
[0059]
The control signal reaching each logical partition is queued by the control signal port. No limit is set to the depth of the queue within a range permitted by a memory resource. The memory resource required for queuing is reserved from the logical partition receiving ;'the control signal. To pick up the control signal from the port, a guest OS programming interface is called. When the control signal arrives at an empty control signal port, an event can be transmitted to any event port. The event port is specified by calling the guest OS programming interface.
[0060]
The control OS provides the logical partition with a logical sub-processor in an abstract form of a physical sub-processor as a resource (computing resource). As previously discussed, the physical sub-processor is not related to the logical sub-processor in one-to-one correspondence, and it is not a requirement that the physical sub-processors be identical in number to the logical sub-processors. As necessary, the control OS can thus cause a single physical sub-processor to correspond to a plurality of logical sub-processors . [0061]
If the number of the logical sub-processors is larger than the number of physical sub-processors, the control OS uses the physical sub-processors in a time sharing manner. The logical sub-processor can repeatedly stop and then resume operation. The guest OS can monitor such changes. [0062]
An entity processing data is set up as a partition. More specifically, a logical partition is set up as an entity that shares resources in a system. A variety of resources such as use time of the physical processor, virtual address space, and memory space are allocated to the logical partition. The process is then performed using the allocated resources. A logical processor corresponding to any physical processor is set up in the logical partition,
and data processing is performed based on the logical processor. The logical processor does not always correspond to the physical processor on a one-to-one correspondence.
For example, a single logical processor can correspond to a
/
plurality of physical processors, and a plurality of logical processors can correspond to a single physical processor.
[0063]
If a plurality of processes are performed in parallel using the logical processor, the physical processor is used by scheduling the plurality of logical processors. More specifically, the plurality of logical processors uses the physical processor in a time sharing manner.
[0064]
Referring to Fig. 4, how to use the physical processor
in a time sharing manner is discussed. As shown in Fig.
/ 4(a), a single logical processor corresponding to one of the
main OS and the sub OS is allocated to a single physical processor. A logical processor (a) monopolizes a physical processor (1), and a logical processor (b) monopolizes a physical processor (2). [0065]
As shown in Fig. 4(b), a plurality of logical processors, assigned to a single physical processor, perform processes in a time sharing manner. The physical processor 1 is shared in time in the order of the logical processors
(c) -> (a) -^ (c) -» (a) -» (b) -> (c) -^ (b) . Each logical
processor corresponding to the process of one of the main OS
and the sub OS is performed. The physical processor (2) is
shared in time in the order of the logical processors (b) —>
(d) -» (b) -> (d) -» (c) -> (d) -» (a). Each logical
processor corresponding to the process of one of the main OS
and the sub OS is performed.
[0066]
As shown in Fig. 5, the correspondence between the physical processor and the logical processor is described below. Fig. 5 illustrates the structure of a single main processor 401, and physical sub-processors 411 through 414, and a time sequence of a physical sub-processor (2) and a physical sub-processor (4) operating in a time sharing manner.
[0067]
As shown in Fig. 5, logical sub-processors are allocated to the physical sub-processor (2) in a time sharing as listed below.
Time slot taO - tal: logical sub-processor (a) Time slot tal - ta2: logical sub-processor (b) Time slot ta2 - ta3: logical sub-processor (c) Time slot ta3 - : logical sub-processor (a) In each allocation time slot, each logical sub-processor performs a process using the physical sub-
processor (2). [0068]
The physical sub-processor (4) is shared by the logical sub-processors as listed below.
Time slot tbO - tbl: logical sub-processor (b)
Time slot tbl - tb2: logical sub-processor (c)
Time slot tb2 - tb3: logical sub-processor (a)
Time slot tb3 - : logical sub-processor (b)
In each allocation time slot, each logical sub-
processor performs a process using the physical sub-
processor (4) . ,
[0069]
The logical sub-processors time divides the physical processors to perform respective processes. To resume data processing operation with the physical processor during a next allocation time slot, each logical sub-processor needs to hold status information, such as hardware state during a data process suspension time. The status information contains the content of a local storage of the physical processor, and the content of an MMIO (memory-mapped input and output) register. The MMIO (memory-mapped input and output) is an input and output control mechanism for controlling hardware in memory mapping. The MMIO performs a write process and a read process using a particular memory location, thereby controlling hardware.
[0070] While the logical sub-processor is allocated to the
physical processor, an MMIO area and a local storage area of
i
the physical processor accounting for the state of the logical sub-processor are mapped to an area in a logical partition address space corresponding to the logical sub-processor.
[0071]
The address space and an address conversion (mapping) mechanism defined in the information processing apparatus of one embodiment of the present invention are described below with reference to Fig. 6.
[0072]
Fig. 6 illustrates a logical partition address (virtual
/ physical address) space 501, a virtual address space 502, a
physical address space 503, and as address conversion mechanism of address space, a first conversion table 521 converting the logical partition address (virtual physical address) space 501 into the physical address space 503, and a second conversion table 522 converting the virtual address space 502 into the physical address space 503.
[0073]
The logical partition address (virtual physical address) space 501 is an address space in an abstract form of the physical address space 503, and is produced at the
same time a system control program produces a logical
partition. The logical partition address space (virtual
physical address) 501 contains an area accessible by the
logical processor. The logical partition address (virtual
physical address) space 501 is set up for each logical
partition set corresponding to a guest OS previously
discussed with reference to Fig. 3. ,
[0074]
The virtual address space 502 is directly used by the guest OS. The guest OS generates a new virtual address as necessary. The guest OS can generate a plurality of virtual address spaces in the logical partition if necessary. The physical address space 503 is a real address space. An address in the physical address space 503 is used to specify an access target on a bus. [0075]
The first conversion table 521 and the second conversion table 522 are used to convert address spaces. The first conversion table 521 converts a logical partition address (virtual physical address) space into the physical address space 503. The structure of the first conversion table 521 is described below with reference to Fig. 7. [0076]
As shown in Fig. 7, the first conversion table has, as an index, a page number of the logical partition address
(virtual physical address) space to reference a page of the
corresponding physical address space. Set as a page number
of the physical address space is a physical address of an
MMIO register of the physical processor. A particular
physical processor is identified by set physical address.
The page number of the logical partition address (virtual
physical address) space, as the index, is accessible by the
logical processor. In accordance with the first conversion
table, the logical sub-processor is allocated to the
physical sub-processor. ,
[0077]
An effective physical address (null) indicating that the corresponding entry is invalid is set at the page number of the physical address (physical address of the MMIO register of the physical processor) referenced in response to the index (the page number of the logical partition address (virtual physical address) space). The value of the physical address is updated by the control OS as necessary. [0078]
The second conversion table is described below with reference to Fig. 8. The second conversion table is used to convert the virtual address space 502 into the' physical address space 503. The second conversion table contains, as an index, the page number of the virtual address space with which a page of the corresponding physical address space is
referenced. The physical address of the MMIO register of the physical processor is set as the page number of the physical address space. A particular physical- sub-processor is identified based on the set physical address. The page number of the virtual address space as the index is accessible by the guest OS. The process of the physical sub-processor identified by the allocation relationship in the second conversion table is performed. [0079]
The effective physical address or a value indicating that the corresponding entry (null) is invalid is set at the page number of the physical address (physical address of the MMIO register of the physical processor) referenced in response to the index (the page number of the logical partition address space). The value of the physical address is updated by the control OS as necessary. [0080]
An entry update processing sequence of the first conversion table and the second conversion table performed by the control OS is described below with reference to Figs. 9 and 10. In this update process, the logical processor corresponding to the logical partition is allocated to the physical processor.
[0081]
The entry update processing sequence of the tables is
described below with reference to a flowchart of Fig. 9. In step S101, the index of the first conversion table is calculated from the logical partition address (virtual physical address). The logical partition address (virtual physical address) is an address in the address space set for
each partition set up corresponding to a guest' OS as
/
discussed with reference to Fig. 3. The index of the first conversion table corresponding to the address is determined. In step S102, the physical address is determined from the first conversion table in accordance with the determined index.
[0082]
This process is described below with reference to Fig. 10. An index [qqqqq] 621 of a first conversion table 620 is determined from a logical partition address (virtual physical address) 610. A physical address [uuuuu] 622 corresponding to the index [qqqqq] 621 is then' determined.
/
The logical partition address 610 is an address in the address space corresponding to the logical partition set in one of the guest OS's of Fig. 3, and is used by a logical sub-processor 600 corresponding to the logical partition.
[0083]
In step S103, the index of the second conversion table is calculated from the virtual address. In step S104, the second conversion table is updated.
[0084]
This process is described below with reference to Fig. 10. An index [aaaaa] 641 of a second conversion table 620 is determined from a virtual address 630. A physical address [uuuuu] 642 corresponding to the index [aaaaa] 641 is updated. As a result, the physical sub-processor accessible by the logical partition address (virtual physical address) 610 and the physical sub-processor
accessible by the virtual address are set as the same
/
physical sub-processor 650 as shown in Fig. 10. The virtual address 630 is an address in the virtual address space set in the logical partition in one of the guest OS's of Fig. 3, and is used by the logical sub-processor 600 corresponding to the logical partition. [0085]
The logical sub-processor is allocated to the physical sub-processor by updating the conversion table. The logical sub-processor associated with the logical partition can execute a process by applying the physical sub-processor associated by the first conversion table and the second
l
conversion table. [0086]
A switching process of the logical sub-processor is described below with reference to a flowchart of Fig. 11 and process examples of Figs. 12 and 13. In the switchingthe logical sub-processor to physical; sub-processor
/
allocation relationship is cancelled concerning the physical sub-processor corresponding to the logical sub-processor executing data processing in the logical partition corresponding to the guest OS of Fig. 3, and another logical sub-processor is allocated to a new physical sub-processor. More specifically, the allocation relationship between the logical sub-processor and the physical sub-processor is updated. This process is performed by the control OS. [0087]
In step S201, an index of the first conversion table corresponding to the logical sub-processor allocated to the physical sub-processor in need of allocation updating is acquired. In step S202, the physical address is acquired based on the acquired index. [0088]
This process is described below with reference to Fig. 12. A physical sub-processor aVOl needs allocation updating. The index of a first conversion table 703 corresponding to a logical sub-processor CC702 allocated to the physical sub-processor a701 is index [qqqqq] 704. In step S201, the index [qqqqq] 704 is acquired, and in step S 202, a physical address [uuuuu] 705 is acquired based on the index [qqqqq] 704.
[0089]
In step S203, all entries holding the physical address [uuuuu] are invalidated to [null] in the second conversion table. For example, with reference to Fig. 12, an entry 711 holding the physical address [uuuuu] in a second conversion table 710 is invalidated to [null]. Fig. 12 shows only one entry having the physical address [uuuuu]. A plurality of entries having the physical address [uuuuu] can be present. If a plurality of entries having the physical address [uuuuu] are present, all entries are invalidated to [null]. With this process, the logical sub-processor CC702 cannot use the physical sub-processor a701 in data processing. [0090]
In step S204, an index of the first conversion table corresponding to a logical sub-processor need to be allocated to a new physical sub-processor is acquired. In step S205, a physical address of an MMIO register of .the physical sub-processor in need of new allocation is stored in the first conversion table. [0091]
This process is described below with reference to Fig. 13. It is desired to allocate a logical sub-processor 0721 to the physical sub-processor a701. In step S204, the index of a first conversion table 703 corresponding to the logical sub-processor (3721, namely, an index [rrrrr] 722 is acquired. In step S205, a physical address [uuuuu] of an MMIO register
of the physical sub-processor a701 is stored in the first conversion table 703.
[0092]
With this process, the logical sub-processor (3721 is allocated to physical sub-processor aVOl, and the process of the logical sub-processor (3721 is continuously performed.
[0093]
The update process of entry described with reference to
i
Fig. 11 is executed. This process is described below with reference to Fig. 14. An index [bbbbb] 841 of a second conversion table 840 is determined from a virtual address 830. A physical address corresponding to the index [bbbbb] 841 is updated to [uuuuu] 842. As a result, a physical sub-processor accessible by a logical partition address (virtual physical address) 810 and a physical sub-processor accessible by the virtual address are set as being the same physical sub-processor a701 as shown in Fig. 14.
[0094]
In the above discussion, the logical processor,
/
different from the logical processor currently allocated to the physical process, is newly allocated. Alternatively, the physical processor with the logical processor allocated thereto is replaced. As shown in Fig. 15, the logical sub-processor (X600 is allocated to a physical sub-processor b651 by storing a physical address [wvw] 622 of an MMIO
register of the physical sub-processor b651 into the first conversion table 620.
[0095]
The switching operation of the physical processor is performed to switch processors to prevent overheating that is generated if a single physical processor continuously processes data. When a continuous operation time of a single physical processor reaches a maximum continuous processor operation time, the control OS performs the processor switching operation discussed with reference to
Fig. 15. The logical to physical processor allocation
/
relationship is modified to perform process with a new physical processor. [0096]
As shown in Fig. 16, a processor module 200 includes timer units 252 - 25n in each of sub-processor groups 202 -2On. The timer units 252 - 25n measure process times of the sub-processor groups 202 - 20n as physical processors. After a constant time elapse, the allocation relationship between the logical processor and the physical processor is updated. Temperature sensors 271 - 273, and 281 - 283 are
arranged close to the physical processors as the sub-
i
processor units of Fig. 16 to detect temperature rise in each processor. If the detected temperature reaches a predetermined temperature threshold, the allocation
relationship between the logical processor and the physical processor is switched to control excessive temperature rise. [0097]
To switch the allocation relationship between the logical processor and the physical processor, a time-dependent processor switching process, a temperature-dependent processor switching process, or a combination of both can be used. In the time-dependent processor switching process, the processors are switched every constant duration of time in response to time measured by the timer units 252
25n arranged in the sub-processor groups 202 - 2On. In the temperature-dependent processor switching process, the allocation relationship between the logical processor and the physical processor is switched when the temperature rise detected by each of the temperature sensors 271 - 273 and 281 - 283 arranged close to the physical processors reaches the predetermined temperature threshold. The switching process of the allocation relationship between the logical processor and the physical processor is performed in the processor switching operation discussed with reference to Fig. 15.
[0098]
Fig. 17 illustrates the concept of the time-dependent processor switching process switching the allocation relationship between the logical processor and- the physical
processor every constant period. Figs. 17(a)- (c) illustrate the allocation relationship between the logical processor and the physical processor switched every preferred time period (ti).
(a) The allocation relationship between the logical
processor and the physical processor at time TO
/ logical processor a - physical processor a
logical processor (3 = physical processor b logical processor y = physical processor c
(b) The allocation relationship between the logical
processor and the physical processor at time Tl after a time
elapse of ti from time TO
logical processor y - physical processor a logical processor a = physical processor b logical processor (3 = physical processor c
(c) The allocation relationship between the logical
processor and the physical processor at time T.2 after a time
/
elapse of ti from time Tl
logical processor (3 = physical processor a logical processor y = physical processor b logical processor oc - physical processor c The allocation relationship is further repeatedly
cycled in the order of the allocations (a) —> (b) —> (c)
every time period (ti). [0099]
Fig. 18 illustrates the concept of the temperature-dependent processor switching process switching the allocation relationship between the logical processor and the physical processor at the moment the temperature rise detected by each of the temperature sensors 271 - 273 and 281 - 283 (see Fig. 16) arranged close to the physical processors reaches the predetermined temperature threshold. As shown in Figs. 18(a)-(c), the allocation relationship between the logical processor and the physical, processor is switched in response to the temperature of the'processors. [0100]
As shown in Fig. 18(a), the allocation relationship between the logical processor and the physical processor is switched as below,
logical processor a = physical processor a logical processor P = physical processor b logical processor y - physical processor c If the physical processor a reaches and rises above a predetermined temperature threshold, the allocation relationship with the logical sub-processor a allocated to the physical sub-processor a and with the logi'cal sub-processor b allocated to the physical sub-processor b is reversed as shown in Fig. 18(b).
logical processor P = physical processor a logical processor a = physical processor b
logical processor y - physical processor c In this switching process, the logical sub-processor a that has presumably executed a process requiring a high throughput is switched from the physical processor a to the physical processor b in allocation. The process of the logical processor a is thus continuously performed by another single physical processor with excessive temperature rise controlled. [0101]
Instead of switching the allocation relationship in response to the temperature rise detection of the processor by the temperature sensor, the timer unit can be used to switch the allocation relationship between a physical, processor having the highest temperature and a physical processor having the lowest temperature every constant period of time. By performing a processor switching process (migration process), an excessive temperature rise resulting from using a single processor for a long period of time is avoided.
[0102]
As described above, the control OS sets and updates the entry in the two address conversion tables, namely, the first conversion table for converting the logical partition address space into the physical address space and the second conversion table for converting the virtual address space
into the physical address space in order to modify the allocation relationship between the logical processor and the physical processor. Depending on situations, the logical to physical processor allocation relationship is set
and updated. The physical processor thus processes data in
/
a time sharing manner in accordance with the data process sequence. Appropriate data processing is performed taking into consideration the workload on hardware and data processing programs.
[0103]
If. viewed from the logical partition set corresponding to the guest OS, the process of the logical partition is continuously performed even if the physical processor is changed by updating the conversion table. The guest OS can process data in the same process environment as the one in
which a single physical processor virtually pe'rforms the
/
same process in a continuous fashion.
[0104]
A physical processor that fails in the initial or subsequent stage of service life can be excluded from the logical to physical processor allocation relationship. This process is described below with reference to Fig. 19.
[0105]
An apparatus having a plurality of physical processors can contain a faulty physical processor unable to process
data. Such a physical processor may be originally faulty or subsequently become faulty in service life. The faulty physical processor is excluded from the allocation relationship.
[0106]
Fig. 19 illustrates four physical processors a - d. The logical processors are allocated to these physical processors. It is assumed that the physical processor c is originally faculty or subsequently becomes faulty in service life and is unable to perform a data processing function or suffers from low performance.
[0107]
The logical processor a through 5 are allocated to the physical processors a, b, and d. The physical processor c is excluded from the allocation relationship. As previously discussed, it is not a requirement that the logical processors and the physical processors be allocated to each other on one-to-one correspondence, and that the logical processors be equal in number to the physical 'processors.
(
[0108]
The control OS performing the allocation process for allocating the logical processor to the physical processor excludes a faulty physical processor from the allocation relationship and produces the address conversion table determining the allocation relationship between the logical
processor and the physical processor to allocate the logical processor to only normally operating physical processors. If an originally faulty physical processor is contained, the address conversion table excluding that physical processor from the allocation relationship is produced in the beginning. If any physical processor subsequently becomes faulty in service life, the address conversion table is updated to exclude the faulty physical processor from the allocation relationship. [0109]
Only the normal physical processors are used with the faulty physical processor excluded. The apparatus is thus free from an error in data processing. For example, in an apparatus including a chip with n physical processors mounted thereon, logical processors are allocated to only m physical processors (n>m). The apparatus thus functions as an apparatus having the m processors. [0110]
If it is predicted that a plurality of physical processors contain faulty ones at a predetermined ratio, a data processing program of an apparatus having the n physical processors is preferably developed as a program processing data with the m physical processors' only (n>m) . With this arrangement, even if physical processors of the number equal to the difference between n and m subsequently
become faulty, data processing is performed without any problems.
[0111]
The logical to physical processor allocation relationship is set based on the relationship between the physical processor and power supply in use as shown in Fig. 20. In an apparatus having a plurality of physical processors, a physical processor group common to a power supply line from a power supply is used. As shown in Fig. 20(A), a physical processor a and a physical processor b receive power from a power supply A via a single power supply line 901. A physical processor c and a physical processor d receive power from a power supply B via another power supply line 902. [0112]
If the physical processor b and the physical processor d process data during the same period of time with the physical processors a and c idling in the apparatus, the power supplies A and B supply power via the power supply lines 901 and 902. [0113]
The use of the two power supplies and the two power supply lines consumes more power than the use of one power supply and one power supply line. The number of power supplies and power supply lines is preferably minimized to
save power if the number of physical processors concurrently operating is small.
[0114]
The control OS performs the logical to physical processor allocation process based on the relationship based on the physical processors and the power supply in use, and sets and the updates the address conversion table. As shown
/
in Fig. 20(B), the apparatus includes the physical processors a and b connected to the single power supply via the power supply line 901 and the physical processor c and d connected to the single power supply via the power supply line 902. In this arrangement, the logical processors are allocated to only the two physical processors supplied with power via one power supply line. [0115]
i
As shown, logical processors are allocated to the physical processors c and d to process data. The physical
processors a and b are in an idle state, namely, inactive
/ state, and need no power. Power is thus supplied via only
the power supply line 902. Power saving is thus performed.
[0116]
The control OS performing the logical to physical processor allocation process references a relationship table between each physical processor and power supply, and sets and updates the address conversion table that determines the
logical to physical processor allocation relationship so that the number of power supplies to switch on during process time and the number of power supply lines are minimized. Power saving is thus performed.
[0117]
With reference to Figs. 21 - 23, a memory used by the physical processor with the logical processor allocated thereto in the data processing is described below. Also described is the setting of the logical to physical
processor allocation relationship based on locations of the
/
physical processors. i
[0118]
An information processing apparatus of Fig. 21 includes four physical processors a - d, and memories X and Y. In data processing, each of the physical processors a through d accesses the memories X and Y. The memories X and Y are separately located within the apparatus. Each processor stores data to and reads data from the memory X and the memory Y via an internal bus 911.
[0119]
From the standpoint of a memory access process and a
/ data transfer process via the bus, a short distance between
the physical processor and the memory increases bus usage efficiency, and shortens access time and process time. [0120]
The control OS monitors memory access status of the physical processor with the logical processor 'allocated
/
thereto to perform a variety of processes. Depending on the access status, the control OS allocates the logical processor to the physical processor arranged closer to the memory having a high frequency of access.
[0121]
A monitoring unit 921 monitors the allocation relationship between the logical processor set for a variety of processes and the physical processor executing the process corresponding to the logical processor, and the memory access status of each physical processor. The
monitoring unit 921 is shown as being in a single block. In
/
a monitoring process, memory accesses counted by a hardware unit arranged in each individual physical processor are monitored by a monitoring program of the control OS. The monitoring process is described below with reference to Fig. 22.
[0122]
Fig. 22(B) illustrates the logical to physical processor allocation process executed in a given data processing sequence, and the memory access of the physical processor. The physical processors a through d access the
memories X and Y. The memory X and the memory: Y are spaced
* apart from each other within the information processing
apparatus. The memory X is located close to the physical processors a and b, and the memory Y is located close to the physical processors c and d. [0123]
Fig. 22 (A) illustrates data acquired as a;: result of the
/
monitoring process performed by the control OS with the data processing performed with the logical to physical processor allocation relationship of Fig. 22(B). The monitored data contains the logical to physical processor allocation relationship and recorded data of the access frequency of each physical processor to the memory X and the memory Y.
[0124]
The physical processor a executes the process corresponding to the logical processor a. The data shows that the physical processor a accesses the memory X by 20 times, and the memory Y by 7 times. Similarly.;, concerning
/
other physical processors, allocated logical processors and access frequencies are listed. The period of the monitoring process is not limited to any time sequence. The monitoring process can be performed throughout the period of a particular process. Alternatively, the monitoring process may be performed at any pre-programmed time.
[0125]
As discussed with reference to Fig. 22(B), the physical processor a and the physical processor b are located to be
closer to the memory X than to the memory Y. The physical processors c and d are located to be closer to the memory Y than to the memory X. To achieve high access efficiency, short access time, and short process time, each physical processor is preferably located to close to a memory having a higher access frequency.
[0126]
The monitoring results of Fig. 22 (A) show., that the physical processor a with the logical processor a allocated thereto has an access count of [20] to the memory X, and an access count of [7] to the memory Y. The access count to the memory X closer to the physical processor a is thus higher than the access count to the memory Y. With the logical processor a allocated to the physical processor a, the process is efficiently executed.
[0127]
The physical processor b with the logical processor y allocated thereto has an access count of [2] to the memory X, and an access count of [25] to the memory Y. The access count to the memory X closer to the physical processor b is smaller than the access count to the far memory Y. Efficiency presumably drops in the process with the logical processor y allocated to the physical processor b.
[0128] The physical processor c with the logical processor (3
allocated thereto has an access count of [5] to the memory X and an access count of [30] to the memory Y. The access count to the memory Y closer to the physical processor c is higher than the access count to the far memory X. Efficient process is thus performed with the logical processor |3 allocated to the physical processor c.
[0129]
The physical processor d with the logical processor 8 allocated thereto has an access count of [12] to the memory X and an access count of [5] to the memory Y. The access count to the memory Y closer to the physical processor d is
smaller than the access count to the far memory X.
t
Efficiency in the process presumably drops with the logical processor 8 allocated to the physical processor d.
[0130]
Based on the monitoring results, the control OS updates the logical to physical processor allocation relationship to execute the same process next time. Depending on the access status, the logical processor corresponding to the process is allocated to a physical processor closer to the memory having a higher access count. As previously discussed, the control OS sets any logical to physical processor allocation
relationship by updating the address conversion table.
t
Based on the monitoring results, the address conversion table is updated so that the logical processor is allocated
to the physical processor close to the memory having a higher access count. [0131]
From the monitoring results of Fig. 22 (A)', the
/
allocation relationship
physical processor a: logical processor a and physical processor c: logical processor (3 excellently works, but the allocation relationship physical processor b: logical processor y and physical processor d: logical processor 8
results in a drop in data transfer efficiency. The control OS updates the logical to physical processor allocation relationship so that the logical processor corresponding to the process is allocated to the physical processor closer to
the memory having a higher access count.
/
[0132]
The logical to physical processor allocation
relationship subsequent to the update process and the memory access frequency are described below with reference to Fig. 23. The control OS updates the logical to physical processor allocation relationship by updating the address conversion table. More specifically, the address conversion table is updated so that the logical processor corresponding to the process is allocated to the physical processor located closer to the memory having a higher access count.
As shown in Fig. 23(C), the logical to physical processor allocation relationship is determined as below
physical processor a: logical processor ex
physical processor b: logical processor 8
physical processor c: logical processor (3, and
physical processor d: logical processor y,.
[0134]
If the same process as that process discussed with reference to Fig. 22 is performed with that allocation relationship, the memory access monitoring results of the physical processor is shown in Fig. 23(D).
Each of the physical processor a with the logical processor a allocated thereto and the physical processor b with the logical processor 5 allocated thereto has an access count to the near memory X larger than an access count to the far memory Y, and thus achieves a high process efficiency.
Similarly, each of the physical processor'c with-the logical processor P allocated thereto and the physical processor d with the logical processor y allocated thereto has an access count to the near memory Y larger than an access count to the far memory X, and achieves a high process efficiency.
[0135]
The control OS performing the logical to physical processor allocation process updates the address conversion table depending on the memory access status of each physical processor with the logical processor allocated thereto. The control OS thus update the logical to physical processor allocation relationship. The address conversion table is updated so that the logical processor is allocated to the physical processor located closer to the memory having a higher access frequency. Data accessing is sped up, and data processing is thus performed at a high efficiency.
[0136]
The present invention has been described with reference to particular embodiments. Modifications and changes of the embodiments within the spirit of the present invention are apparent to those skilled in the art. The embodiments of the present invention have been discussed for exemplary purposes only, and are not intended to limit the scope of the invention. The scope of the invention is limited by the appended claims only.
[0137]
The above-references series of steps can be performed
using software, hardware, or a combination thereof. If the
/
series of steps is performed using software, a program forming the software is installed from a recording medium or via a network onto a computer incorporated into a hardware
structure or to a general-purpose computer, for example. [0138]
The program can be recorded beforehand onto one of a hard disk and a ROM (read-only memory) as a recording medium The program can also be stored (recorded) on a removable recording media temporarily or permanently. The recording media includes a floppy disk, a CD-ROM (compact disk readonly memory), a MO (magneto-optic) disk, a DVD (digital versatile disk), a magnetic disk, a semiconductor memory, etc. Such a removable medium can be supplied in package software.
[0139]
The program can be installed from the removable recording medium to the computer. The program, can be transmitted in a wireless fashion to the computer from a download site. The program can also be transmitted in a wired fashion via a network such as one of a LAN (local area network) and the Internet. The program is then received by the computer and installed onto a recording medium such as a hard disk in the computer.
[0140]
The process steps discussed in this description are sequentially performed in the time series order as stated. Alternatively, the steps may be performed in parallel or separately. In this specification, the system refers to a
logical system composed of a plurality of apparatuses, and the elements of each apparatus are not necessarily contained in the same casing. Industrial Applicability
[0141] In accordance with embodiments of the present invention,
/
the logical processor is allocated to the physical processor.
Tables applied to address conversion between different
address spaces including the virtual address space, the
logical partition address (virtual physical address), and
the physical address are set up. By appropriately modifying
the conversion tables, an appropriate allocation
relationship between the logical processor and the physical
processor is set and updated. Efficient data processing is
thus performed. .
[0142]
In accordance with embodiments of the present invention,
/ the control OS uses the two address conversion tables,
namely, the first conversion table for converting the logical partition address (virtual physical address) space to the physical address space, and the second conversion table for converting the virtual address space to the physical address space. By setting and updating entries in the tables, the control OS updates the allocation relationship between the logical processor and the physical
processor. Depending on situations, the allocation relationship between the logical processor and the physical processor is modified. The physical processor thus processes data in a time sharing manner in accordance with a data process sequence. Data processing is thus appropriately performed taking into consideration workload on hardware and data processing programs.
[0143] In accordance with embodiments of the present invention,
/
the control OS performs a rotation process on the physical processors, namely, a migration process by updating the conversion tables. This arrangement controls heating of the physical processor due to continuous use of a long period of time.
[0144]
In accordance with embodiments of the present invention, in a system having a group of physical processors connected to different power supply lines, a plurality of logical processors allocated to different physical processors operate in parallel. By allocating the logical processors to the physical processors connected to the same power supply line, power to a physical processor group in an idle mode can be cut off. Power saving is thus performed. [0145]
In accordance with embodiments of the present invention,
the address conversion table is updated to allocate the logical processor corresponding to each process to a . physical processor that is located closer to a memory having a higher access frequency therefrom in a system having a plurality of memories arranged in different locations within the apparatus. The processor allocation process achieves high-speed data accessing, thereby leading to highly efficient data processing.

CLAIMS
1. An information processing apparatus comprising a control OS executing a process for allocating a
plurality of logical processors to a physical 'processor in a
time sharing manner and
a guest OS for which a logical partition as an application entity of the logical processor is set,
wherein the control OS sets and updates an allocation relationship between the logical processor and the physical processor, by setting and updating, as address conversion tables for determining an allocation relationship between the logical processor and the physical processor, two address conversion tables of a first conversion table that sets an allocation relationship between a logical partition
address space and a physical address space and a second
/
conversion table that sets an allocation relationship between a virtual address space in the guest OS and the physical address space.
2. The information processing apparatus according to claim 1, wherein the control OS acquires a physical address corresponding to an index of the first conversion table determined based on a logical partition address, and updates a physical address corresponding to an index of the second
conversion table determined based on a virtual address.
3. The information processing apparatus according to claim 1, wherein in order to switch the allocation relationship between the logical processor and the physical processor, the control OS acquires a physical address determined from an index of the first conversion table
corresponding to the logical processor allocated to the
/ physical processor, invalidates all entries in the second
conversion table holding the acquired physical address, acquires an index of the first conversion table corresponding to a logical processor that is newly allocated to the physical processor, and stores, as a physical address corresponding to the acquired index, physical address information of the physical processor with the logical processor to be allocated thereto.
4. The information processing apparatus according to
one of claims 1 through 3, wherein the physical address
comprises a physical address of an MMIO register of the
physical processor.
5. The information processing apparatus according to
claim 1, wherein the control OS updates the allocation
relationship between the logical processor and the physical
processor to switch from one physical processor to another
/
at the moment an operation time of a process of using the one physical processor reaches a predetermined threshold time.
6. The information processing apparatus according to
claim 1, wherein the control OS updates the allocation
relationship between the logical processor and the physical
processor to switch from one physical processor to another
at the moment the temperature of the one physical processor
reaches a predetermined threshold temperature.
7. The information processing apparatus according to
claim 1, wherein the control OS sets the allocation
relationship between the logical processor and the physical
processor so that a plurality of physical processors
operating in parallel are set as a physical processor group
connected to the same power supply line.
8. The information processing apparatus according to
claim 1, wherein the control OS sets the allocation
relationship between the logical processor and the physical
processor, based on access status of the physrcal processor
accessing to memories arranged in different locations within
the information processing apparatus, in a manner such that
an access frequency of a physical processor accessing to a memory located closer to the physical processor becomes higher.
9. A process control method for processing data with a
plurality of logical processors allocated to a physical
processor in a time sharing manner, the method comprising
a step of setting a logical partition on a guest OS as an application entity of the logical processor and
a step of updating two address conversion tables of a first conversion table that sets an allocation relationship between a logical partition address space and a physical address space and a second conversion table that sets an allocation relationship between a virtual address space in the guest OS and the physical address space.
10. The process control method according to claim 9,
wherein the table updating step comprises acquiring a
physical address corresponding to an index of the first
conversion table determined based on a logical partition
address, and
updating a physical address corresponding to an index of the second conversion table determined based on a virtual address.
11. The process control method according to claim 9, in order to switch the allocation relationship between the logical processor and the physical processor, further comprising updating a physical address determined from an index of the first conversion table corresponding to the logical processor allocated to the physical processor, invalidating all entries in the second conversion table holding the acquired physical address, acquiring an index of the first conversion table corresponding to a logical processor that is newly allocated to the physical processor, and storing, as a physical address corresponding to the acquired index, physical address information of the physical processor with the logical processor to be allocated thereto,
12. The process control method according to one of
claims 9 through 11, wherein the physical address comprises
a physical address of an MMIO register of the physical
processor.
13. The process control method according to claim 9,
further comprising updating the allocation relationship
between the logical processor and the physical"processor to
switch from one physical processor to another at the moment
an operation time of a process of using the one physical
processor reaches a predetermined threshold time.
14. The process control method according to claim 9,
further comprising updating the allocation relationship
between the logical processor and the physical processor to
switch from one physical processor to another at the moment
the temperature of the one physical processor reaches a
predetermined threshold temperature.
15. The process control method according to claim 9,
further comprising setting the allocation relationship
between the logical processor and the physical, proces.sor so
that a plurality of physical processors operating in
parallel are set as a physical processor group connected to
the same power supply line.
16. The process control method according to claim 9,
further comprising setting the allocation relationship
between the logical processor and the physical processor,
based on access status of the physical processor accessing
to memories arranged in different locations within the
information processing apparatus, in a manner such that an
access frequency of a physical processor accessing to a
memory located closer to the physical processor becomes
higher.
17. A computer program for processing data with a plurality of logical processors allocated to a physical processor in a time sharing manner, the computer program comprising
a step of setting a logical partition on a guest OS as an application entity of the logical processor, and
a step of updating two address conversion tables of a first conversion table that sets an allocation relationship between a logical partition address space and a physical address space and a second conversion table that sets an allocation relationship between a virtual address space in the guest OS and the physical address.

Documents

Application Documents

# Name Date
1 2226-delnp-2006-pct-308.pdf 2011-08-21
2 2226-delnp-2006-pct-304.pdf 2011-08-21
3 2226-delnp-2006-pct-301.pdf 2011-08-21
4 2226-delnp-2006-pct-210.pdf 2011-08-21
5 2226-delnp-2006-gpa.pdf 2011-08-21
6 2226-delnp-2006-form-5.pdf 2011-08-21
7 2226-delnp-2006-form-3.pdf 2011-08-21
8 2226-delnp-2006-form-2.pdf 2011-08-21
9 2226-delnp-2006-form-1.pdf 2011-08-21
10 2226-delnp-2006-drawings.pdf 2011-08-21
11 2226-delnp-2006-description (complete).pdf 2011-08-21
12 2226-delnp-2006-correspondence-others.pdf 2011-08-21
13 2226-delnp-2006-claims.pdf 2011-08-21
14 2226-delnp-2006-abstract.pdf 2011-08-21
15 2226-delnp-2006-Form-1-(11-05-2015).pdf 2015-05-11
16 2226-delnp-2006-Correspondence Others-(11-05-2015).pdf 2015-05-11
17 PetitionUnder Rule 137 2226-DELNP-2006..pdf 2015-06-24
18 Petition Under Rule 137 [19-11-2015(online)].pdf 2015-11-19
19 OTHERS [19-11-2015(online)].pdf 2015-11-19
20 Examination Report Reply Recieved [19-11-2015(online)].pdf 2015-11-19
21 Description(Complete) [19-11-2015(online)].pdf 2015-11-19
22 Correspondence [19-11-2015(online)].pdf 2015-11-19
23 Claims [19-11-2015(online)].pdf 2015-11-19
24 Abstract [19-11-2015(online)].pdf 2015-11-19
25 2226-DELNP-2006-GPA-(20-11-2015).pdf 2015-11-20
26 2226-DELNP-2006-Correspondence Others-(20-11-2015).pdf 2015-11-20
27 2226-DELNP-2006_EXAMREPORT.pdf 2016-06-30
28 2226-DELNP-2006-HearingNoticeLetter24-07-2019.pdf 2019-07-24
29 2226-DELNP-2006-Correspondence to notify the Controller (Mandatory) [24-07-2019(online)].pdf 2019-07-24