WO2006035731A1 - 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム - Google Patents

情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
WO2006035731A1
WO2006035731A1 PCT/JP2005/017649 JP2005017649W WO2006035731A1 WO 2006035731 A1 WO2006035731 A1 WO 2006035731A1 JP 2005017649 W JP2005017649 W JP 2005017649W WO 2006035731 A1 WO2006035731 A1 WO 2006035731A1
Authority
WO
WIPO (PCT)
Prior art keywords
processor
physical
logical
address
processors
Prior art date
Application number
PCT/JP2005/017649
Other languages
English (en)
French (fr)
Inventor
Atsushi Togawa
Kenichi Murata
Original Assignee
Sony Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to BRPI0506384-1A priority Critical patent/BRPI0506384A/pt
Priority to KR1020067010317A priority patent/KR101222823B1/ko
Priority to EP05785989A priority patent/EP1679594A4/en
Publication of WO2006035731A1 publication Critical patent/WO2006035731A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Definitions

  • the present invention relates to an information processing apparatus, a process control method, and a computer program. More specifically, in a system in which a plurality of operating systems (OS) operate simultaneously, physical processors are associated in time division with logical processors set in correspondence with logical partitions set for each OS.
  • the present invention relates to an information processing apparatus that performs data processing, a process control method, and a computer program.
  • each OS can execute different processes, and the system has common hardware, that is, CPU, memory, etc. Processing is performed by switching sequentially in time series.
  • the scheduling of each execution process (task) of a plurality of OSs is executed by, for example, partition management software.
  • partition management software When two operating systems of OS (a) and OS ( ⁇ ) coexist in one system, the processing of os (a) is defined as partition A.
  • the partition management software determines the execution schedule of partition A and partition B, allocates hardware resources based on the determined schedule, and executes the processing for each OS. To do.
  • Patent Document 1 discloses a conventional technique that discloses task management in a multi-OS type system.
  • Patent Document 1 discloses a task scheduling method for preferentially processing highly urgent processes in task management executed in each of a plurality of OSs.
  • the execution subject of various data processing is set as, for example, a partition.
  • a logical partition is set as a subject to receive resource distribution in the system, and various resources such as physical processor unit usage time, virtual address space, and memory space are distributed to the logical partition.
  • the processing that applies the divided and allocated resources is executed.
  • a logical processor corresponding to one of the physical processors is set in the logical partition, and data processing based on the logical processor is executed.
  • There is not necessarily a one-to-one relationship between a logical processor and a physical processor and there may be a case where a plurality of physical processors are associated with one logical processor, and a case where a single physical processor is associated with a plurality of logical processors.
  • Patent Document 1 Japanese Unexamined Patent Publication No. 2003-345612
  • An object of the present invention is to provide an information processing apparatus, a process control method, and a computer program that realize efficient data processing and prevention of excessive use of a physical processor.
  • the present invention sets a table to be applied to address conversion of an address space different from a virtual address space, a logical partition address (virtual physical address) space, and a physical address space, and appropriately updates the table.
  • Information processing to set and update the correspondence between the optimal logical processor and physical processor, and to realize efficient data processing. It is intended to provide a processing apparatus, a process control method, and a computer program.
  • the first aspect of the present invention is:
  • An information processing device An information processing device,
  • a control OS that executes processing for associating a logical processor with a physical processor in a time-sharing manner and a guest OS that is a target for setting a logical partition as an application subject of the logical processor
  • the control OS is a control OS
  • An information processing apparatus is characterized in that a configuration for setting and updating a correspondence relationship between a logical processor and a physical processor is performed by executing conversion table setting and update processing.
  • control OS acquires a physical address corresponding to an index of the first conversion table determined based on a logical partition address.
  • the present invention is characterized in that a physical address update process corresponding to the index of the second conversion table determined based on a virtual address is executed.
  • control OS corresponds to the logical processor associated with the physical processor when the correspondence relationship between the logical processor and the physical processor is switched.
  • the present invention is characterized in that a process for storing physical address information of a physical processor to be associated is performed as a physical address corresponding to an acquisition index.
  • the physical address is a physical address of an MMIO register of a physical processor.
  • control OS performs a logical operation on condition that a predetermined threshold time has been reached, provided that the processing OS applies one physical processor. It is characterized in that the correspondence change process between the processor and the physical processor is executed and the physical processor is switched.
  • control OS is configured to correspond the logical processor and the physical processor on the condition that the temperature power of the physical processor has reached a predetermined threshold temperature. It is characterized in that the change processing is executed and the physical processor is switched.
  • control OS is set as a physical port processor group in which a plurality of physical processors that are operated in parallel are connected to the same power supply line.
  • the configuration is such that the process of setting the correspondence between the logical processor and the physical processor is executed.
  • control OS includes a logical processor and a physical processor based on an access status of the physical processor to memories set at different positions in the information processing apparatus. It is a configuration that sets the correspondence between the logical processor and the physical processor so that the access frequency of the memory closer to the physical processor is higher. Let's say.
  • the second aspect of the present invention provides
  • the table update step acquires a physical address corresponding to the index of the first conversion table determined based on a logical partition address. And a step of executing a process of updating a physical address corresponding to the index of the second conversion table determined based on a virtual address.
  • the process control method further corresponds to a logical processor associated with a physical processor when switching a correspondence relationship between the logical processor and the physical processor.
  • a step of executing a process of acquiring a physical address that also requires an indexing power of the first conversion table, invalidating all entries of the second conversion table, and holding the acquired physical address; and a new physical processor Obtaining an index of the first conversion table corresponding to the logical processor to be associated, and storing the physical address information of the physical processor to be associated as a physical address corresponding to the obtained index. It is characterized by.
  • the physical address is a physical address of an MMIO register of a physical processor.
  • the process control method is further provided that the duration time of processing to which one physical processor is applied has been reached on the condition that a predetermined threshold time has been reached. Further, it is characterized in that correspondence change processing between a logical processor and a physical processor is executed, and the physical processor is switched.
  • the process control method further includes: a logical processor on the condition that the temperature of the physical processor has reached a predetermined threshold temperature. It is characterized in that the correspondence change processing with the physical processor is executed and the physical processor is switched.
  • the process control method further includes a group of physical processors in which a plurality of physical processors that are operating in parallel are connected to the same power supply line. And a step of executing a process of setting a correspondence relationship between the logical processor and the physical processor so as to be set.
  • the process control method further includes a logic based on access statuses of physical processors to memories set at different positions in the information processing apparatus.
  • the third aspect of the present invention provides
  • a computer program that executes process control in a configuration that performs data processing by associating a logical processor with a physical processor
  • the first translation table that sets the correspondence between the logical partition address space and the physical address space
  • the second translation table that sets the correspondence between the virtual address space and physical address space set on the guest OS side.
  • the computer 'program of the present invention is, for example, a storage medium, a communication medium such as a CD or the like provided in a computer-readable format to a general-purpose computer system capable of executing various program' codes.
  • a system is a logical group configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same casing.
  • the control OS converts two address conversion tables, that is, the first conversion table in which the logical partition address (virtual physical address) space is converted into the physical address space. And the second conversion table that converts the virtual address space to the physical address space, and changes the correspondence between the logical processor and the physical processor by executing table entry setting and update processing. Therefore, it is possible to set and change the correspondence relationship of the logical processor physical processor according to the situation, data processing by physical processor time sharing according to the data processing sequence, hardware load, data Optimal data processing can be executed considering the processing program.
  • rotation processing of a physical processor that is, migration can be realized by updating the conversion table by the control OS, and heat generation due to continuous use of the physical processor can be achieved. Suppression is possible.
  • a group of physical processors connected to different power supply lines is set! If there are processes that run in parallel with different physical processors, the logical processors can be assigned to each physical processor connected to a single power supply line, leaving them idle. It is possible to stop the power supply to the physical processor group, and it is possible to reduce power consumption.
  • the address translation table is updated so that the physical processor located nearer to the higher memory and located in the memory is associated with the logical processor corresponding to each process. .
  • processor association processing high-speed data access is realized, and data processing can be performed with higher efficiency.
  • FIG. 1 is a diagram showing a configuration example of an information processing apparatus according to the present invention.
  • FIG. 2 is a diagram illustrating a configuration example of a processor module.
  • FIG. 3 is a diagram illustrating an operation system configuration of an information processing apparatus according to the present invention.
  • FIG. 4 is a diagram for explaining the association processing between a logical processor and a physical processor by time sharing.
  • FIG. 5 is a diagram for explaining an association process between a logical processor and a physical processor.
  • FIG. 6 is a diagram for explaining an address space applied to the information processing apparatus of the present invention and a conversion table as an address structure.
  • FIG. 7 is a diagram for explaining a configuration example of a first conversion table applied in the information processing apparatus of the present invention.
  • FIG. 8 is a diagram illustrating a configuration example of a second conversion table applied in the information processing apparatus of the present invention.
  • FIG. 9 is a flowchart illustrating a procedure for update processing of a conversion table entry.
  • Fig. 10 is a diagram for explaining specific processing of conversion table entry update processing.
  • FIG. 11 is a diagram showing a flow chart for explaining the procedure for updating the correspondence relationship between logical processors and physical processors.
  • FIG. 12 is a diagram for explaining specific processing for updating the correspondence relationship between logical processors and physical processors.
  • FIG. 13 is a diagram for explaining specific processing of logical processor physical processor correspondence update processing.
  • FIG.14 Explanation of specific processing of logical processor physical processor correspondence update processing
  • FIG. 15 is a diagram for explaining specific processing for updating the correspondence relationship between logical processors and physical processors.
  • FIG. 16 is a diagram showing a configuration example of a processor module having a timer and a temperature sensor.
  • FIG. 17 is a diagram for explaining a switching processing configuration of time-dependent logical processor physical processor correspondence.
  • FIG. 18 is a diagram for explaining a switching processing configuration of the temperature-dependent logical processor physical processor correspondence.
  • FIG. 19 is a diagram for describing a configuration example in which a target physical processor that is associated with a logical processor is excluded from a physical processor that has failed from the beginning or later.
  • FIG. 20 is a diagram illustrating a configuration example in which the correspondence between a logical processor and a physical processor is determined based on the relationship between a physical processor and a power supply used.
  • FIG. 21 is a diagram for explaining an example of determining correspondence between a logical processor and a physical processor based on an access mode of the physical processor.
  • FIG. 22 is a diagram illustrating an example of determining a correspondence between a logical processor and a physical processor based on an access mode of the physical processor.
  • FIG. 23 is a diagram illustrating an example of determining a correspondence between a logical processor and a physical processor based on an access mode of the physical processor.
  • the processor module 101 is a module composed of a plurality of processors (Processing Units), and is compatible with an operating system (OS) according to a program stored in a ROM (Read Only Memory) 104, HDD 123, or the like. Execute data processing according to various programs such as application 'programs. Details of the profiler module 101 will be described later with reference to FIG.
  • the graphic engine 102 executes data generation for screen output to a display device constituting the output unit 122, for example, 3D graphic drawing processing, in accordance with an instruction input from the processor module 101.
  • a main memory (DRAM) 103 stores a program to be executed by the processor module 101 and parameters that change as appropriate according to the execution. These are connected to each other by a host bus 111 that also has power such as a CPU bus.
  • 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 executes data input / output control between the host bus 111 and the external bus 112, and with the controller 106, the memory card 107, and other devices.
  • PCI Peripheral Component Interconnect / Interface
  • the input unit 121 inputs input information of an input device operated by a user such as a keyboard and a pointing device.
  • the output unit 122 includes an image output unit such as a liquid crystal display device or a CRT (Cathode Ray Tube) and an audio output unit such as a speaker.
  • An HDD (Hard Disk Drive) 123 has a built-in hard disk, drives the hard disk, and records or reproduces a program executed by the processor module 101 and information.
  • the drive 124 reads the data or program recorded in the removable recording medium 127 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory that is mounted and reads the data or program.
  • the data is supplied to the main memory (DRAM) 103 connected via the interface 113, the external bus 112, the bridge 105, and the host bus 111.
  • DRAM main memory
  • the connection port 125 is a port for connecting the external connection device 128, and has a connection unit such as USB, IEEE1394.
  • the connection port 125 is connected to the processor module 101 and the like via the interface 113, the external bus 112, the bridge 105, and the host bus 111.
  • the communication unit 126 is connected to the network and executes transmission of data provided from the processor module 101, the HDD 123, and the like, and reception of data from the outside.
  • the processor module 200 includes a main processor group 201 composed of a plurality of main processors and a plurality of sub processor groups 202 to 20n composed of a plurality of sub processors. Each has a memory controller and secondary cache.
  • Each of the processor groups 201 to 20n has, for example, eight processor units and is connected by a crossbar architecture or a packet switched network. Under the instruction of the main processor of the main processor group 201, one or more sub processors of the plurality of sub processor groups 202 to 20n are selected, and a predetermined program is executed.
  • the memory flow controller installed in each processor group executes data input / output control with the main memory 103 shown in FIG. 1, and the secondary cache is used as a storage area for processing data in each processor group. Is done.
  • the information processing apparatus of the present invention has a multi-OS configuration in which a plurality of operating systems (OS) coexist. As shown in Figure 3, it has multiple operating systems (OS) with a logical hierarchical structure.
  • control OS 301 is provided in the lower layer, and a plurality of guest OSs 302 and 303 and system control OS 304 are set in the upper layer.
  • the control OS 301 implements a logical partition applied by one or more processes executed in the processor module described with reference to FIG. 1 and FIG. 2 together with the system control OS 304, and implements hardware resources (computer resources as computer resources).
  • the main processor, sub-processor, memory, device, etc.) are allocated to each logical partition.
  • the guest OSs 302 and 303 are various OSs such as a game OS, Windows (registered trademark), and Linux (registered trademark), for example, and are operating under the control of the control OS 301. Note that FIG. 3 shows only two guest OSs, guest OSs 302 and 303. The number of guest OSs can be set to an arbitrary number.
  • Guest OSs 302 and 303 operate in the logical partition set by control OS 301 and system control OS 304, and the main program assigned to the logical partition.
  • Various data processing is executed by applying hardware resources such as processors, sub-processors, memories, and devices.
  • the guest OS (a) 302 applies hardware resources such as a main processor, a sub processor, a memory, and a device assigned to the logical partition 2 set by the control OS 301 and the system control OS 304.
  • the guest OS (b) 303 executes the application 'program 306 corresponding to the guest OS (b) 303 by applying hard-resource resources such as the main processor, sub-processor, memory, and device assigned to the logical partition n.
  • the control OS 301 provides a guest OS programming interface as an interface necessary for executing the guest OS.
  • the system control OS 304 generates a system control program 307 including logical partition management information, and executes system operation control based on the system control program 307 together with the control OS 301.
  • the system control program 307 is a program for controlling a system policy using a system control program 'programming interface.
  • the system control program 'programming interface is provided from the control OS 301 to the system control OS 304.
  • the role of the system control program 307 is to provide a means for flexible customization by a program, for example, setting an upper limit value of resource allocation.
  • the system control program 307 can control the behavior of the system by using a system control program / programming interface. For example, you can create a new logical partition and start a new U or guest OS on that logical partition. In a system with multiple guest operating systems, these guest operating systems are started in the order programmed by the system control program. In addition, the resource allocation request submitted by the guest OS can be inspected before the control OS 301 accepts it, and it can be modified according to the system policy, or the request itself can be rejected. This ensures that only certain guest operating systems do not monopolize resources. In this way, the system control program implements the system policy as a program.
  • Control OS 301 is a special logical partition for system control OS 304. Assign physical partition 1). The control OS 301 operates in the hypervisor mode. The guest OS operates in supervisor mode. System control OS and application programs run in problem mode (user mode).
  • a logical partition is a subject that receives resource distribution in the system.
  • the main memory 103 (see Fig. 1) is divided into several areas, and the right to use each area is given to the logical partition.
  • the types of resources distributed to logical partitions are as follows.
  • the guest OS operates in the logical partition.
  • the guest OS monopolizes the resources allocated to the logical partition and executes various data processing.
  • one logical partition is created for each guest operating system running on the system.
  • Each logical partition is given a unique identifier.
  • the system control OS 304 manages the identifier associated with the system control program generated as the logical partition management information.
  • the logical partition is generated by the control OS 301 and the system control OS 304.
  • the logical partition immediately after creation has no resources, and no resource limit is set.
  • a logical partition has two states: active and terminated.
  • the logical partition immediately after creation is active. Based on the request of the guest OS operating in the logical partition, the logical partition transitions to the end state and all logical processors assigned to the logical partition are stopped.
  • a logical processor is a logical processor assigned to a logical partition. Corresponds to one of the physical processors, that is, the processors in the processor group shown in FIG. However, a logical processor and a physical processor do not necessarily have a one-to-one relationship. A single logical processor may be associated with multiple physical processors, and a single physical processor may be associated with multiple logical processors. .
  • the control OS 301 determines the correspondence between the logical processor and the physical processor.
  • the control OS 301 has a function of limiting the amount of resources used by each logical partition. Assigned without guest OS 302, 303 communicating with system control OS 304
  • the amount of resources that can be released from Z can be limited.
  • Each logical partition has a control signal port.
  • Various control signals necessary for data exchange Z sharing between logical partitions arrive at this port. Examples of control signals are given below.
  • the control signal arriving at each logical partition is queued at the control signal port.
  • the depth of the queue is not limited as long as the memory resource allows.
  • the memory resources required for queuing are also secured for the logical partition power that sent the control signal.
  • To retrieve control signals from this port call the guest OS programming interface.
  • An event can be sent to any event port when a control signal arrives at an empty control signal port.
  • the event port can be specified by calling the guest OS programming interface.
  • the control OS gives the logical sub-processor an abstraction of the physical sub-processor as a resource (computer resource) to the logical partition. As described above, physical sub-processors and logical sub-processors are not associated one-to-one, and the numbers need not be the same. To achieve this, the control OS can associate one physical subprocessor with multiple logical subprocessors as needed.
  • the control OS processes the physical sub-processors in a time-sharing manner. For this reason, the logical sub-processor As a result, there is a possibility that operation stop and operation restart may be repeated.
  • the guest OS can observe changes in these states.
  • a logical partition When executing data processing, a logical partition is set as a subject to receive resource distribution in the system, and the usage time of the physical processor unit, virtual address space, and memory space are set for the logical partition. Various resources are allocated, and processing using the allocated resources is executed. A logical processor corresponding to one of the physical processors is set in the logical partition, and data processing based on the logical processor is executed. There is not necessarily a one-to-one relationship between logical processors and physical processors. One physical processor may be associated with multiple physical processors, and multiple physical processors may be associated with one physical processor.
  • Figure 4 (a) shows the processing mode in which one logical processor corresponding to one of the OSs is assigned to one physical processor.
  • the logical processor (a) occupies and uses the physical processor (1), and the logical processor (i) occupies and uses the physical processor (2).
  • FIG. 4B shows a processing mode in which a plurality of logical processors are allocated to one physical processor and processing by time sharing is executed.
  • Physical processor 1 is time shared in the order of logical processors (u) ⁇ (a) ⁇ (u) ⁇ (a) ⁇ (ii) ⁇ (u) ⁇ (ii). Processing corresponding to the OS is executed.
  • Physical processor 2 is time-shared in the order of logical processor (b) ⁇ (b) ⁇ (b) ⁇ (b) ⁇ (u) ⁇ (b) ⁇ (b). The process corresponding to the OS is executed.
  • FIG. Figure 5 shows one main processor 401 and four physical sub-processors 411-414.
  • the logical processor configuration is shown, and the time sequence of the logical sub-processor that operates by time-sharing processing of two physical sub-processors, namely, the physical sub-processor (2) and the physical sub-processor (4) is shown.
  • Each logical sub-processor is assigned by the time division, and each logical sub-processor executes processing to which the physical sub-processor (2) is applied at each assigned time.
  • Each logical sub-processor is assigned by the time division, and each logical sub-processor executes a process to which the physical sub-processor (4) is applied at each assigned time.
  • MMIO memory mapped IO
  • FIG. 6 shows a logical partition address (virtual physical address) space 501, a virtual address space 502, a physical address space 503, and a logical partition address (virtual physical address) as a translation table as an address translation mechanism of each address space.
  • a first conversion table 521 for converting the space 501 into the physical address space 503 and a second conversion table 522 for converting the virtual address space 502 into the physical address space 503 are shown.
  • the logical partition address (virtual physical address) space 501 is an address space that abstracts the physical address space 503, and is created at the same time that the system control program generates a logical partition.
  • the logical partition address (virtual physical address) space 50 1 includes an area accessible by the logical processor.
  • the logical partition address (virtual physical address) space 501 is set for each logical partition set in correspondence with, for example, the guest OS described above with reference to FIG.
  • the virtual address space 502 is a virtual address space that is directly used by, for example, the guest OS.
  • the guest OS can create a new virtual address space as needed, and can create multiple virtual address spaces in a logical partition if necessary.
  • the physical address space 503 is a real address space. This address is used to specify the access target on the node.
  • Address translation tables 521 and 522 are applied to address translation of each address space.
  • the first conversion table 521 converts a logical partition address (virtual physical address) space into a physical address space 503. A configuration example of the first conversion table will be described with reference to FIG.
  • the first conversion table is set as a table having a configuration in which a page of the corresponding physical address space can be referred to using the page number of the logical partition address (virtual physical address) space as an index. Is done. Page number of physical address space For example, the physical address of the MMIO register of the physical sub processor is set, and a specific physical sub processor can be specified based on the set physical address. On the other hand, the page number of the logical partition address (virtual physical address) space as an index can be accessed by logical sub-processor power, and based on the correspondence of the first conversion table! /, Logical sub-processor and physical sub- Processors are associated.
  • the page number of the physical address space that can be referred to (the physical address of the MMIO register of the physical subprocessor) is the valid physical address, Alternatively, a value (null) indicating that the entry is invalid is set, and this value is updated as needed under the control of the control OS.
  • the second translation table is a table for translating the virtual address space 502 into the physical address space 503, and has a configuration in which the page number of the virtual address space can be used as an index and the corresponding physical address space page can be referred to.
  • Set as As the page number of the physical address space the physical address of the MMIO register of the physical subprocessor is set, and a specific physical subprocessor can be specified based on the set physical address.
  • the page number of the virtual address space as an index is accessible from the guest OS, and processing by the physical sub-processor specified based on the correspondence of the second conversion table is executed.
  • the physical address space page number (physical subprocessor MMIO register physical address) that can be referred to is valid physical address or invalid entry
  • a value (null) indicating that this is set is set, and this value is updated as needed under the control of the control OS.
  • This update process sets the correspondence between the logical processor and physical processor corresponding to the logical partition.
  • step S101 from the logical partition address (virtual physical address) Calculate the index of the first conversion table.
  • the logical partition address (virtual physical address) is an address in the address space set for each logical partition set up corresponding to, for example, the guest OS described with reference to FIG. 3, and corresponds to this address.
  • step S102 a first conversion table force physical address is obtained based on the obtained index.
  • the index [qqqq] 621 of the first translation table 620 is obtained from the logical partition address (virtual physical address) 610, and the physical address [uuuu] 622 associated with the index [qqqq] 621 is obtained.
  • the logical partition address (virtual physical address) 610 is an address in the address space corresponding to the logical partition set in one of the guest OSs shown in Fig. 3, for example, and the logical sub processor 600 corresponding to the logical partition can be used. Address.
  • step S103 an index of the second conversion table is calculated from the virtual address, and in step S104, the second conversion table is updated.
  • the index [aaaaa] 641 of the second translation table 640 is obtained from the virtual address 630, and the physical address associated with this index [aaaaa] 641 is updated to [uuuuu] 642.
  • the physical sub-processor accessible from the logical partition address (virtual physical address) 610 and the physical sub-processor accessible from the virtual address are set as the same physical sub-port processor 650, as shown in Figure 10. Is done.
  • the virtual address 630 is also an address of the virtual address space set in the logical partition set in one of the guest OSs shown in FIG. 3, for example, and is an available address of the logical sub-processor 600 corresponding to the logical partition. .
  • step S201 an index of the first conversion table corresponding to the logical subprocessor to which the physical subprocessor whose correspondence relationship is to be changed is acquired, and in step S202, the acquisition index is acquired. Get physical address based on
  • the physical sub processor whose correspondence relationship is to be changed is the physical sub processor a701.
  • the index of the first conversion table 703 corresponding to the logical sub processor ⁇ 702 to which the physical sub processor a 701 is allocated is the index [qqqqq] 704.
  • this index [qqqqq] 704 is acquired, and in step S202, the physical address [uuuu] 705 is acquired based on the acquisition index [qqqqq] 704.
  • step S203 the physical address, that is, the physical address [uuuuu] is held in the second translation table, and all entries! / Are invalidated [null]. To do. This will be described with reference to FIG. In the second conversion table 710, the entry 711 holding the physical address, that is, the physical address [uuuuu] is set to invalid [null]. Note that in Fig. 12, there is a case where there are multiple entries with only one entry holding the physical address [uuuuu]. If there are multiple entries, all entries are disabled [ Set to null]. This processing makes it impossible to apply the physical subprocessor a701 in the data processing by the logical subprocessor ⁇ 702.
  • step S204 the index of the first conversion table corresponding to the logical sub processor to which the physical sub-processor is newly allocated is obtained, and in step S 205, the first conversion is performed.
  • the table stores the physical address of the MMIO register of the physical subprocessor to be newly allocated.
  • step S204 is logical. This is processing for obtaining the index of the first conversion table 703 corresponding to the sub-processor ⁇ 721, that is, the index [rrrrr] 722.
  • the process of step S205 is a process of storing the physical address [uuuuu] 723 of the MMIO register of the physical sub-processor a701 in the first conversion table 703.
  • the physical sub-processor a701 is set to have a correspondence relationship with the logical sub-processor j8 721, and the processing by the logical sub-processor j8 721 is continued.
  • the index [bbbbb] 841 of the second conversion table 840 is obtained from the virtual address 830, and the physical address associated with the index [bbbbb] 841 is updated to [uuuuu] 842.
  • the physical subprocessor accessible from the logical partition address (virtual physical address) 810 and the physical subprocessor accessible from the virtual address force are set as the same physical subprocessor a701 as shown in FIG. .
  • the physical processor is assigned to a logical processor different from the currently assigned logical processor, conversely, the physical processor is different from the physical processor currently assigned to the logical processor.
  • a physical processor can also be allocated.
  • the physical subprocessor b651 can be assigned to logical subprocessor a 600 by storing the physical address [vww] 622 of the MMIO register of physical subprocessor b651 in the first translation table 620. it can.
  • Such physical processor switching is executed as, for example, processor switching control processing for preventing overheating when data processing using one physical processor is continuously executed.
  • the control OS executes the processor switching process described with reference to Fig. 15 when the maximum continuous processor usage time set in advance reaches the preset maximum continuous processor usage time. Can be configured to perform processing using a new physical processor.
  • each sub processor group 202 to 20n has a timer unit 252 to 25n, and the timer unit 252 to 2 5n measures the processing time of the processing executed by the physical processor as the sub processor unit of each sub processor gnole 202 to 20n, and changes the correspondence between the logical processor and the physical processor after a certain period of time You may make it do.
  • temperature sensors 271-273, 281 to 283 are installed in the vicinity of each physical processor that constitutes each sub processor unit shown in Fig. 16, and the temperature rise of each processor is detected, and a predetermined threshold temperature is reached. In addition, excessive temperature rise can be prevented by switching the correspondence between logical processors and physical processors.
  • the processing configuration for switching the correspondence between the logical processor and the physical processor is based on the time measurement by the timer units 252 to 25n set for each sub processor group 202 to 20n at regular intervals.
  • a time-dependent processor switching processing configuration that is configured to be switched and temperature sensors 271 to 273 and 281 to 283 installed in the vicinity of each physical processor that constitutes each sub processor unit detect the temperature rise of each processor and determine in advance When the threshold temperature is reached, either a temperature-dependent processor switching processing configuration in which the correspondence between the logical processor and the physical processor is switched or a configuration in which both are executed in parallel is possible.
  • the correspondence between the logical processor and the physical processor is switched by the processor switching described with reference to FIG.
  • FIG. 17 is a conceptual diagram illustrating time-dependent processor switching processing for switching the correspondence between logical processors and physical processors at regular intervals.
  • Figures 17 (a) to 17 (c) show the correspondence between logical processors and physical processors that are switched at preset time intervals (ti). For example,
  • Logical processor ⁇ physical processor a
  • Logical processor a physical processor b
  • Fig. 18 shows the temperature threshold of each processor detected by temperature sensors 271 to 273 and 281 to 283 (see Fig. 16) installed in the vicinity of each physical processor constituting each sub processor unit.
  • a conceptual diagram is shown for explaining temperature-dependent processor switching processing that switches the correspondence between logical processors and physical processors when the temperature is reached.
  • Figures 18 (a) to 18 (c) show the correspondence between logical processors and physical processors that can be switched according to the processor temperature.
  • the control OS converts two address conversion tables, that is, a first conversion table for converting a logical partition address (virtual physical address) space into a physical address space, and a virtual address space.
  • a first conversion table for converting a logical partition address (virtual physical address) space into a physical address space
  • a virtual address space By applying the second conversion table that converts the data to the physical address space and executing table entry setting and update processing, the correspondence between the logical processor and the physical processor is changed.
  • a defective physical processor that cannot be processed from the beginning is included, or data processing is executed later. In some cases, a bad physical processor is included. Such a defective physical processor is excluded from the target of association with the logical processor.
  • FIG. 19 shows an example of an apparatus in which four physical processors a to d are mounted. A logical processor is assigned to these physical processors and processing is executed. Here, it is assumed that the physical processor c becomes defective initially or later and the data processing function is missing or deteriorated.
  • the setting is made so that only the physical processors a, b, and d are the physical processors as the association targets of the logical processors ⁇ to ⁇ , and the physical processor c is excluded from the association targets of the logical processors. .
  • physical processors and logical processors do not need to be associated with each other in the same number.
  • the control OS that executes the process of associating the logical processor with the physical processor excludes the defective physical processor from the correspondence target, and creates an address conversion table that determines the correspondence between the logical processor and the physical processor. Configure and map only normal physical processors to logical processors. If a physical processor with an initial failure is included, the address conversion table is set to exclude the physical processor with the initial failure capability, and if a physical processor failure occurs later, the address conversion is performed. The table is updated to change the address translation table setting that excludes the physical processor that caused the late failure from the target to be associated with the logical processor.
  • a plurality of physical processors include defective physical processors at a predetermined rate, for example, m data processing programs to be executed in an apparatus equipped with n physical processors. It is preferable to design a program that can be executed as a process to which only (n> m) processors are applied. With this configuration, if n-m defective processors occur initially or later, data processing can be performed without any problem. Can be executed.
  • a configuration example in which the correspondence between the logical processor and the physical processor is set based on the relationship between each physical processor and the power supply used will be described.
  • a physical processor group with a common power supply line from the power supply may be set.
  • physical processor a and physical processor b are supplied with power from power supply A via one power supply line 901, and physical processor c and physical processor d are one more.
  • the power supply from the power supply B is received via the two power supply lines 902.
  • the control OS that executes the process of associating the logical processor with the physical processor determines the physical processor to be associated with each logical processor based on the relationship with the power source used by each physical processor, and the address conversion table described above. Execute the setting and update process. For example, as shown in FIG. 20 (B), it has physical processors a to d connected to different power supply lines 901 and 902, and two physical processors a and b are connected to one power supply and power supply line 901. In a configuration where two physical processors c, d are connected to another power supply and power supply line 902, only two physical processors associated with logical processors need to operate simultaneously. If so, the logical processor is associated with only the physical processor connected to one power supply line.
  • the logical processor is configured to perform data processing in association with the physical processor c and the physical processor d.
  • the physical processors a and b are in an idling state, that is, a non-operating state, and it is not necessary to supply power. Data processing can be performed only by supplying power through 902 alone, and power consumption can be reduced.
  • the control OS that executes the process of associating the logical processor with the physical processor refers to the correspondence table between each physical processor and the power supply stored in the memory in advance, and turns on the power supply and power to be turned on at each processing time.
  • An address translation table that determines the correspondence between logical processors and physical processors is set or updated so that the number of supply lines is as small as possible. By performing such control, power consumption can be reduced.
  • the logical processor and the physical processor are based on the positional relationship between the physical processor and the memory used in the data processing in the physical processor to which the logical processor is associated.
  • the device shown in FIG. 21 shows four physical processors a to d included in a certain information processing device, and memory X and memory Y in the device.
  • each processor accesses the memory X and the memory Y as necessary.
  • Memory X and memory Y are located in the information processing device at a distance from each other, and each physical processor transfers data stored in memory X and memory Y or read data via bus 911 in the device. Do.
  • the control OS that executes the process of associating the logical processor with the physical processor is associated with the logical processor and detects the memory access status of the physical processor that executes various processes.
  • the control OS associates the physical processor located near the memory with the higher access frequency with the logical processor corresponding to each process according to the access status.
  • the monitor unit 921 has a correspondence relationship between logical processors that are set corresponding to various processes, physical processors that execute processes corresponding to the logical processors, and each physical processor. Monitor the memory access status of the server. Although the monitor unit 921 is shown as one block in the figure, the monitoring process is executed by the control OS to count the number of memory accesses counted by the nodeware set for each physical processor. It is executed as a process acquired by the monitoring program. A specific example will be described with reference to FIG.
  • FIG. 22 (B) shows the correspondence between logical processors and physical processors executed in a certain data processing sequence, and the memory access mode of the physical processors.
  • Each of the physical processors a to d performs access to the memory X and the memory Y, respectively.
  • Memory X and memory Y are memories located at separated physical locations in the device. Memory X is located near physical processors a and b, and memory Y is located near physical processors c and d.
  • FIG. 22A shows the monitoring process executed by the control OS in the data processing in which the logical processor and the physical processor are associated with each other as shown in FIG. The example of the data acquired as a result is shown.
  • the monitor data includes record data of the number of accesses to the memory X and the memory Y executed by each physical processor and the correspondence between the physical processors and the logical processors.
  • the physical processor a executes a process corresponding to the logical processor ⁇ in correspondence with the logical processor ⁇ , and accesses memory X 20 times and memory ⁇ ⁇ ⁇ 7 times in this process execution process. Is recorded. Similarly for other physical processors, the associated logical processor and the number of accesses to each memory are recorded. Note that various periods can be set for the monitoring period, and the execution period of a specific process or a preset time can be set.
  • physical processor a and physical processor b have a physical distance from memory X closer to that of memory Y, while physical processor c and physical processor b are closer to physical processor c. And the physical processor d is closer to the physical distance to the memory Y than the physical distance to the memory Y.
  • each physical processor has a large number of accesses and that the memory is set close to the location! /.
  • the physical process associated with the logical processor oc is shown.
  • the number of accesses to memory X is [20]
  • the power of memory Y is [7]. It is close to physical processor a, the power of access to memory X is far, and the number of accesses to memory Y is greater. Therefore, it can be said that efficient processing is executed by associating the logical processor ⁇ with the physical processor a and executing the process.
  • the physical processor b associated with the logical processor ⁇ has a memory X access count of [2] and a memory Y access count of [25].
  • the number of accesses to the memory is less than the number of accesses to the distant memory Y, and it is assumed that the efficiency is reduced by associating the logical processor ⁇ with the physical processor b and executing the process.
  • the physical processor c associated with the logical processor ⁇ has the number of accesses to the memory X [5], the number of accesses to the memory ⁇ [30], and the number of accesses to the memory ⁇ ⁇ close to the physical processor c.
  • the number of accesses to the distant memory X is larger, and it can be said that efficient processing is executed by executing the process by associating the logical processor j8 with the physical processor c.
  • the physical processor d associated with the logical processor ⁇ has a memory X access count of [12] and a memory Y access power of [5].
  • the number of accesses is less than the number of accesses to the distant memory X, and it is estimated that the efficiency is reduced by associating the logical processor ⁇ with the physical processor d and executing the process.
  • the control OS changes the correspondence between the logical processor and the physical processor when the next same process is executed.
  • the physical processor located near the memory with the higher access frequency is associated with the logical processor corresponding to each process.
  • the control OS can arbitrarily set the correspondence between the logical processor and the physical processor by updating the address translation table, and based on the monitor result, the access frequency is higher and the memory closer to the one is accessed.
  • the address translation table is updated so that the physical processor at the location is associated with the logical processor corresponding to each process.
  • Physical processor a Logical processor ⁇
  • Physical processor b Logical processor ⁇
  • This association causes a reduction in processing efficiency such as data transfer, and can be determined to be an association.
  • the control OS changes the correspondence relationship between these logical processors and physical processors by updating the address translation table, and the physical processor located at V, which is closer to the memory with the higher access frequency, is assigned to each process. Correspond to the corresponding logical processor.
  • the control OS changes the correspondence between the logical processor and physical processor by updating the address translation table.
  • the address translation table is updated so that the physical processor located closer to and closer to the memory with the higher access frequency is associated with the logical processor corresponding to each process.
  • Physical processor a Logical processor ⁇
  • Physical processor b Logical processor ⁇
  • Physical processor b associated with logical processor ⁇ , Each of the physical processors has a larger number of accesses to the memory X at a closer location than the memory Y at a far location, and processing with high processing efficiency is realized.
  • Physical processor c associated with logical processor ⁇ ;
  • Each of the physical processors has a higher number of accesses to the memory Y at a closer location than the memory X at a distant location, and processing with high processing efficiency is realized.
  • control OS that executes the process of associating the logical processor with the physical processor performs logical update by updating the address conversion table according to the memory access status of each physical processor associated with the logical processor. Change the correspondence between the processor and the physical processor. That is, the address conversion table is updated so that the physical processor located near the memory with the higher access frequency is associated with the logical processor corresponding to each process. This process realizes high-speed data access and enables data processing with higher efficiency.
  • the program may be a hard disk or ROM (Read Only Memory) as a recording medium.
  • the program can be temporarily or permanently stored on a removable recording medium such as a flexible disk, CD-ROM (Compact Disc Read Only Memory), MO (Magneto optical) disk, DVD (Digital Versatile Disc), magnetic disk, or semiconductor memory. Can be stored (recorded).
  • a removable recording medium such as a flexible disk, CD-ROM (Compact Disc Read Only Memory), MO (Magneto optical) disk, DVD (Digital Versatile Disc), magnetic disk, or semiconductor memory.
  • Such removable recording media can be provided as V, so-called packaged software.
  • the program is also wirelessly transferred from a download site to the computer, or via a network such as a LAN (Local Area Network) or the Internet.
  • the computer can receive the program transferred in this way and install it on a built-in recording medium such as a hard disk.
  • the control OS converts two address conversion tables, that is, the first conversion table in which the logical partition address (virtual physical address) space is converted into the physical address space. And the second conversion table that converts the virtual address space to the physical address space, and changes the correspondence between the logical processor and the physical processor by executing table entry setting and update processing. Therefore, it is possible to set and change the correspondence relationship of the logical processor physical processor according to the situation, and data processing by time sharing of the physical processor according to the data processing sequence It is possible to perform optimal data processing considering the hardware load and the data processing program.
  • rotation processing of a physical processor that is, migration can be realized by updating a conversion table by a control OS, and heat generation due to continuous use of a physical processor can be achieved. Suppression is possible.
  • a group of physical processors connected to different power supply lines is set! If there are processes that run in parallel with different physical processors, the logical processors can be assigned to each physical processor connected to a single power supply line, leaving them idle. It is possible to stop the power supply to the physical processor group, and it is possible to reduce power consumption.
  • the access frequency is high, and the location is close to the one memory.
  • the address translation table is updated so that a physical processor is associated with a logical processor corresponding to each process.

Abstract

 最適な論理プロセッサと物理プロセッサの対応を設定したデータ処理を実現する装置および方法を提供する。論理プロセッサを物理プロセッサに対応付けてデータ処理を行なう構成において、論理パーティションアドレス(仮想物理アドレス)空間を物理アドレス空間に変換する第1変換テーブルと、仮想アドレス空間を物理アドレス空間に変換する第2変換テーブルとを適用して、テーブルのエントリ設定、および更新処理を実行することで、論理プロセッサと物理プロセッサとの対応関係を変更する。本構成により、ハードウェアの負荷、データ処理プログラムの態様を考慮した最適な論理プロセッサと物理プロセッサの対応を設定したデータ処理が可能となる。

Description

明 細 書
情報処理装置、プロセス制御方法、並びにコンピュータ 'プログラム 技術分野
[0001] 本発明は、情報処理装置、プロセス制御方法、並びにコンピュータ 'プログラムに関 する。さらに詳細には、複数のオペレーションシステム(OS)が同時に動作するシステ ムにおいて、各 OSに対して設定される論理パーティションに対応して設定される論 理プロセッサに、物理プロセッサを時分割で対応付けてデータ処理を行なう情報処 理装置、プロセス制御方法、並びにコンピュータ 'プログラムに関する。
背景技術
[0002] 1つのシステム内に複数のオペレーティングシステム(OS)を搭載したマルチ OSシ ステムにおいては、各 OSはそれぞれ異なるプロセスが実行可能であり、システムで 共通のハードウェア、すなわち CPUやメモリ等を時系列に順次切り替えて利用した 処理が行なわれる。
[0003] 複数 OSの各々の実行プロセス(タスク)のスケジューリングは、例えばパーティショ ン管理ソフトウェアによって実行される。 1つのシステムに OS ( a )と OS ( β )の 2つの オペレーティングシステムが並存する場合、 os ( a )の処理をパーティション Aとし、
OS ( j8 )の処理をパーティション Bとすると、パーティション管理ソフトウェアは、パーテ イシヨン Aとパーティション Bの実行スケジュールを決定し、決定したスケジュールに基 づいて、ハードウェア資源を割り当てて各 OSにおける処理を実行する。
[0004] マルチ OS型のシステムにおけるタスク管理を開示した従来技術として、例えば、特 許文献 1がある。特許文献 1には、複数の OSの各々において実行されるタスク管理 において、緊急性の高い処理を優先的に処理させるためのタスクスケジューリング手 法を開示している。
[0005] このようなマルチ OSシステムにおいて、各種のデータ処理の実行主体は例えばパ ーテイシヨンとして設定される。具体的には、システム内の資源分配を受ける主体とし ての論理パーティションが設定され、論理パーティションに対して、物理プロセッサュ ニットの使用時間や、仮想アドレス空間、さらにメモリ空間などの様々なリソースが配 分され、配分されたリソースを適用した処理が実行される。論理パーティションには、 いずれかの物理プロセッサに対応する論理的なプロセッサが設定され、論理プロセッ サに基づくデータ処理が実行される。論理プロセッサと物理プロセッサは必ずしも 1 対 1の関係にはなく、 1つの論理プロセッサに複数の物理プロセッサが対応付けられ る場合もあり、複数の論理プロセッサに 1つの物理プロセッサが対応付けられる場合 もめる。
[0006] 論理プロセッサを適用した複数の処理が並列に実行される場合、物理プロセッサは 、複数の論理プロセッサによってスケジューリングされて使用されることになる。すな わち、複数の論理プロセッサは、タイムシェアリングによる物理プロセッサの使用を行 なうことになる。
[0007] 複数の論理プロセッサによるデータ処理を複数の物理プロセッサを適用して実行す る場合は、論理プロセッサと物理プロセッサとの最適な対応関係の設定および更新 を行なうことがデータ処理効率を高めるための 1つの方法である。また、 1つの物理プ 口セッサを長時間に渡って使用すると、発熱によって高温となるという問題が発生す る。従って、複数の物理プロセッサ力 存在する場合は、適宜、これらを切り替えて利 用する構成とすることが好まし 、。
特許文献 1 :特開 2003— 345612号公報
発明の開示
発明が解決しょうとする課題
[0008] 本発明は、複数の論理プロセッサによるデータ処理を複数の物理プロセッサを適用 して実行するデータ処理構成にぉ 、て、論理プロセッサと物理プロセッサとの最適な 対応関係の設定および更新を可能とし、効率的なデータ処理、物理プロセッサの過 剰な «続利用の防止を実現する情報処理装置、プロセス制御方法、並びにコンビュ ータ ·プログラムを提供することを目的とする。
[0009] 本発明は、仮想アドレス空間と、論理パーティションアドレス (仮想物理アドレス)空 間と、物理アドレス空間との異なるアドレス空間のアドレス変換に適用するテーブルを 設定し、これを適宜、更新する処理を実行することにより、最適な論理プロセッサと物 理プロセッサとの対応の設定、更新を行い、効率的なデータ処理を実現する情報処 理装置、プロセス制御方法、並びにコンピュータ 'プログラムを提供することを目的と する。
課題を解決するための手段
[0010] 本発明の第 1の側面は、
情報処理装置であり、
論理プロセッサを時分割で物理プロセッサに対応付ける処理を実行する制御 OSと 論理プロセッサの適用主体としての論理パーティションの設定対象であるゲスト OS とを有し、
前記制御 OSは、
論理プロセッサと物理プロセッサの対応関係を決定するアドレス変換テーブルとし て、
論理パーティションアドレス空間と物理アドレス空間の対応関係を設定した第 1変換 テーブルと、ゲスト OS側に設定される仮想アドレス空間と物理アドレス空間の対応関 係を設定した第 2変換テーブルとの 2つのアドレス変換テーブルの設定および更新 処理を実行することにより、論理プロセッサと物理プロセッサの対応関係の設定およ び更新を行なう構成であることを特徴とする情報処理装置にある。
[0011] さらに、本発明の情報処理装置の一実施態様において、前記制御 OSは、論理パ ーテイシヨンアドレスに基づいて決定される前記第 1変換テーブルのインデックスに対 応する物理アドレスを取得するとともに、仮想アドレスに基づいて決定される前記第 2 変換テーブルのインデックスに対応する物理アドレスの更新処理を実行する構成で あることを特徴とする。
[0012] さらに、本発明の情報処理装置の一実施態様において、前記制御 OSは、論理プ 口セッサと物理プロセッサの対応関係の切り替えに際して、物理プロセッサに対応付 けられた論理プロセッサに対応する前記第 1変換テーブルのインデックスから求めら れる物理アドレスを取得し、取得した物理アドレスを保持する前記第 2変換テーブル の全てのエントリを無効化する処理を実行するとともに、物理プロセッサを新たに対応 付ける論理プロセッサに対応する前記第 1変換テーブルのインデックスを取得し、該 取得インデックスに対応する物理アドレスとして、対応付けを行なう物理プロセッサの 物理アドレス情報を格納する処理を実行する構成であることを特徴とする。
[0013] さらに、本発明の情報処理装置の一実施態様において、前記物理アドレスは、物 理プロセッサの MMIOレジスタの物理アドレスであることを特徴とする。
[0014] さらに、本発明の情報処理装置の一実施態様において、前記制御 OSは、 1つの物 理プロセッサを適用した処理の継続時間力 予め定めた閾値時間に至ったことを条 件として、論理プロセッサと物理プロセッサとの対応変更処理を実行し、物理プロセッ サの切り替えを行なう構成であることを特徴とする。
[0015] さらに、本発明の情報処理装置の一実施態様において、前記制御 OSは、物理プ 口セッサの温度力 予め定めた閾値温度に至ったことを条件として、論理プロセッサと 物理プロセッサとの対応変更処理を実行し、物理プロセッサの切り替えを行なう構成 であることを特徴とする。
[0016] さらに、本発明の情報処理装置の一実施態様において、前記制御 OSは、並列に 動作状態となる複数の物理プロセッサが同一の電力供給ラインに接続された物理プ 口セッサ群として設定されるように論理プロセッサと物理プロセッサとの対応関係を設 定する処理を実行する構成であることを特徴とする。
[0017] さらに、本発明の情報処理装置の一実施態様において、前記制御 OSは、情報処 理装置内の異なる位置に設定されたメモリに対する物理プロセッサのアクセス状況に 基づいて論理プロセッサと物理プロセッサとの対応関係を設定する構成であり、物理 プロセッサにより近い位置にあるメモリのアクセス頻度が高くなるように、論理プロセッ サと物理プロセッサとの対応関係を設定する処理を実行する構成であることを特徴と する。
[0018] さらに、本発明の第 2の側面は、
論理プロセッサを物理プロセッサに対応付けてデータ処理を行なう構成におけるプ ロセス制御方法であり、
論理プロセッサの適用主体としてのゲスト OS側に論理パーティションを設定するス テツプと、
論理パーティションアドレス空間と物理アドレス空間の対応関係を設定した第 1変換 テーブルと、前記ゲスト OS側に設定される仮想アドレス空間と物理アドレス空間の対 応関係を設定した第 2変換テーブルとの 2つのアドレス変換テーブルの設定または更 新を実行するテーブル更新ステップと、
を有することを特徴とするプロセス制御方法にある。
[0019] さらに、本発明のプロセス制御方法の一実施態様において、前記テーブル更新ス テツプは、論理パーティションアドレスに基づ 、て決定される前記第 1変換テーブル のインデックスに対応する物理アドレスを取得するステップと、仮想アドレスに基づ ヽ て決定される前記第 2変換テーブルのインデックスに対応する物理アドレスの更新処 理を実行するステップとを含むことを特徴とする。
[0020] さらに、本発明のプロセス制御方法の一実施態様において、前記プロセス制御方 法は、さらに、論理プロセッサと物理プロセッサの対応関係の切り替えに際して、物理 プロセッサに対応付けられた論理プロセッサに対応する前記第 1変換テーブルのィ ンデッタス力も求められる物理アドレスを取得し、取得した物理アドレスを保持する前 記第 2変換テーブルの全てのエントリを無効化する処理を実行するステップと、物理 プロセッサを新たに対応付ける論理プロセッサに対応する前記第 1変換テーブルの インデックスを取得し、該取得インデックスに対応する物理アドレスとして、対応付け を行なう物理プロセッサの物理アドレス情報を格納する処理を実行するステップと、を 有することを特徴とする。
[0021] さらに、本発明のプロセス制御方法の一実施態様において、前記物理アドレスは、 物理プロセッサの MMIOレジスタの物理アドレスであることを特徴とする。
[0022] さらに、本発明のプロセス制御方法の一実施態様において、前記プロセス制御方 法は、さらに、 1つの物理プロセッサを適用した処理の継続時間力 予め定めた閾値 時間に至ったことを条件として、論理プロセッサと物理プロセッサとの対応変更処理 を実行し、物理プロセッサの切り替えを行なうことを特徴とする。
[0023] さらに、本発明のプロセス制御方法の一実施態様において、前記プロセス制御方 法は、さらに、物理プロセッサの温度が、予め定めた閾値温度に至ったことを条件と して、論理プロセッサと物理プロセッサとの対応変更処理を実行し、物理プロセッサ の切り替えを行なうことを特徴とする。 [0024] さらに、本発明のプロセス制御方法の一実施態様において、前記プロセス制御方 法は、さらに、並列に動作状態となる複数の物理プロセッサが同一の電力供給ライン に接続された物理プロセッサ群として設定されるように論理プロセッサと物理プロセッ サとの対応関係を設定する処理を実行するステップを有することを特徴とする。
[0025] さらに、本発明のプロセス制御方法の一実施態様において、前記プロセス制御方 法は、さらに、情報処理装置内の異なる位置に設定されたメモリに対する物理プロセ ッサのアクセス状況に基づいて論理プロセッサと物理プロセッサとの対応関係を設定 するステップを有し、物理プロセッサにより近 、位置にあるメモリのアクセス頻度が高く なるように、論理プロセッサと物理プロセッサとの対応関係を設定する処理を実行す ることを特徴とする。
[0026] さらに、本発明の第 3の側面は、
論理プロセッサを物理プロセッサに対応付けてデータ処理を行なう構成におけるプ ロセス制御を実行するコンピュータ 'プログラムであり、
論理プロセッサの適用主体としてのゲスト OS側に論理パーティションを設定するス テツプと、
論理パーティションアドレス空間と物理アドレス空間の対応関係を設定した第 1変換 テーブルと、前記ゲスト OS側に設定される仮想アドレス空間と物理アドレス空間の対 応関係を設定した第 2変換テーブルとの 2つのアドレス変換テーブルの設定または更 新を実行するテーブル更新ステップと、
を有することを特徴とするコンピュータ ·プログラムにある。
[0027] なお、本発明のコンピュータ 'プログラムは、例えば、様々なプログラム 'コードを実 行可能な汎用コンピュータ ·システムに対して、コンピュータ可読な形式で提供する 記憶媒体、通信媒体、例えば、 CDや FD、 MOなどの記憶媒体、あるいは、ネットヮ ークなどの通信媒体によって提供可能なコンピュータ 'プログラムである。このようなプ ログラムをコンピュータ可読な形式で提供することにより、コンピュータ 'システム上で プログラムに応じた処理が実現される。
[0028] 本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図 面に基づぐより詳細な説明によって明らかになるであろう。なお、本明細書において システムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内に あるものには限らない。
発明の効果
[0029] 本発明の一実施例の構成によれば、論理プロセッサを物理プロセッサに対応付け てデータ処理を行なう構成において、仮想アドレス空間と、論理パーティションァドレ ス(仮想物理アドレス)空間と、物理アドレス空間との異なるアドレス空間のアドレス変 換に適用するテーブルを設定し、これを適宜、更新する処理を実行することにより、 最適な論理プロセッサと物理プロセッサとの対応の設定、更新を行い、効率的なデー タ処理が実現される。
[0030] 本発明の一実施例の構成によれば、制御 OSが 2つのアドレス変換テーブル、すな わち、論理パーティションアドレス (仮想物理アドレス)空間を物理アドレス空間に変 換する第 1変換テーブルと、仮想アドレス空間を物理アドレス空間に変換する第 2変 換テーブルとを適用して、テーブルのエントリ設定、および更新処理を実行すること で、論理プロセッサと物理プロセッサとの対応関係を変更する構成であるので、状況 に応じて、論理プロセッサー物理プロセッサの対応関係の設定、変更が可能となり、 データ処理シーケンスに応じた物理プロセッサのタイムシェアリングによるデータ処理 が可能であり、ハードウェアの負荷、データ処理プログラムの態様を考慮した最適な データ処理が実行可能となる。
[0031] 本発明の一実施例の構成によれば、例えば物理プロセッサのローテーション処理、 すなわちマイグレーションを制御 OSによる変換テーブルの更新によって実現すること が可能となり、物理プロセッサの継続的な使用による発熱の抑制が可能となる。
[0032] また、本発明の一実施例の構成によれば、例えば異なる電源供給ラインに接続さ れた物理プロセッサ群が設定されて!、る構成にぉ 、て、複数の論理プロセッサがそ れぞれ異なる物理プロセッサに対応付けられて並列に実行されるプロセスがある場 合、 1つの電源供給ラインに接続された物理プロセッサに対して論理プロセッサをそ れぞれ割り当てることで、アイドル状態にある物理プロセッサ群に対する電源供給を 停止することが可能となり、消費電力を低減することが可能となる。
[0033] また、本発明の一実施例の構成によれば、装置内における物理的位置が異なる複 数のメモリを有する構成にぉ 、て、アクセス頻度の高 、方のメモリに近 、位置にある 物理プロセッサを、各プロセスに対応する論理プロセッサに対して対応付けるように アドレス変換テーブルの更新を実行する。このプロセッサ対応付け処理によって、デ ータアクセスの高速ィ匕が実現され、より高 、効率でのデータ処理が可能となる。 図面の簡単な説明
[図 1]本発明の情報処理装置の構成例を示す図である。
[図 2]プロセッサモジュールの構成例を示す図である。
[図 3]本発明の情報処理装置のオペレーションシステム構成を説明する図である。
[図 4]タイムシェアリングによる論理プロセッサと物理プロセッサとの対応付け処理に ついて説明する図である。
[図 5]論理プロセッサと物理プロセッサとの対応付け処理について説明する図である
[図 6]本発明の情報処理装置において適用されるアドレス空間およびアドレス変 構としての変換テーブルについて説明する図である。
[図 7]本発明の情報処理装置において適用される第 1変換テーブルの構成例につい て説明する図である。
[図 8]本発明の情報処理装置において適用される第 2変換テーブルの構成例につい て説明する図である。
[図 9]変換テーブルのエントリの更新処理の手順を説明するフローチャートを示す図 である。
[図 10]変換テーブルのエントリの更新処理の具体的処理を説明する図である。
[図 11]論理プロセッサー物理プロセッサの対応関係の更新処理の手順を説明するフ ローチャートを示す図である。
[図 12]論理プロセッサー物理プロセッサの対応関係の更新処理の具体的処理を説 明する図である。
[図 13]論理プロセッサー物理プロセッサの対応関係の更新処理の具体的処理を説 明する図である。
[図 14]論理プロセッサー物理プロセッサの対応関係の更新処理の具体的処理を説 明する図である。
[図 15]論理プロセッサー物理プロセッサの対応関係の更新処理の具体的処理を説 明する図である。
[図 16]タイマおよび温度センサを有するプロセッサモジュールの構成例を示す図であ る。
[図 17]時間依存型の論理プロセッサー物理プロセッサ対応関係の切り替え処理構成 を説明する図である。
[図 18]温度依存型の論理プロセッサー物理プロセッサ対応関係の切り替え処理構成 を説明する図である。
[図 19]初期からあるいは後発的に不良となった物理プロセッサを、論理プロセッサの 対応付けの対象力も除外する構成例について説明する図である。
[図 20]物理プロセッサと利用電源との関係に基づいて論理プロセッサと物理プロセッ サとの対応を決定する構成例について説明する図である。
[図 21]物理プロセッサのアクセス態様に基づく論理プロセッサと物理プロセッサとの 対応付け決定例について説明する図である。
[図 22]物理プロセッサのアクセス態様に基づく論理プロセッサと物理プロセッサとの 対応付け決定例について説明する図である。
[図 23]物理プロセッサのアクセス態様に基づく論理プロセッサと物理プロセッサとの 対応付け決定例について説明する図である。
発明を実施するための最良の形態
[0035] 以下、図面を参照しながら、本発明の情報処理装置、プロセス制御方法、並びにコ ンピュータ ·プログラムの詳細につ 、て説明する。
[0036] まず、図 1を参照して、本発明の情報処理装置のハードウェア構成例について説明 する。プロセッサモジュール 101は、複数のプロセッサ(Processing Unit)から構成され たモジュールであり、 ROM(Read Only Memory) 104、 HDD 123等に記憶されている プログラムに従って、オペレーティングシステム(OS: Operating System), OS対応の アプリケーション 'プログラムなど、各種プログラムに従ったデータ処理を実行する。プ 口セッサモジュール 101の詳細については、さらに、後段で、図 2を参照して説明する [0037] グラフィックエンジン 102は、プロセッサモジュール 101から入力される指示に従つ て、出力部 122を構成する表示デバイスに画面出力するためのデータ生成、例えば 3Dグラフィック描画処理を実行する。メインメモリ(DRAM) 103には、プロセッサモジ ユール 101にお 、て実行するプログラムやその実行にぉ 、て適宜変化するパラメ一 タ等を格納する。これらは CPUバスなど力も構成されるホストバス 111により相互に接 続されている。
[0038] ホストバス 111は、ブリッジ 105を介して、 PCI(Peripheral Component Interconnect/ Interface)バスなどの外部バス 112に接続されている。ブリッジ 105は、ホストバス 111 、外部バス 112間、およびコントローラ 106、メモリカード 107、その他のデバイスとの データ入出力制御を実行する。
[0039] 入力部 121は、キーボード、ポインティングデバイスなどのユーザにより操作される 入力デバイス力もの入力情報を入力する。出力部 122は、液晶表示装置や CRT(Ca thode Ray Tube)などの画像出力部とスピーカ等カゝらなる音声出力部カゝら構成される
[0040] HDD (Hard Disk Drive) 123は、ハードディスクを内蔵し、ハードディスクを駆動し、 プロセッサモジュール 101によって実行するプログラムや情報を記録または再生させ る。
[0041] ドライブ 124は、装着されて!ヽる磁気ディスク、光ディスク、光磁気ディスク、または 半導体メモリ等のリムーバブル記録媒体 127に記録されているデータまたはプロダラ ムを読み出して、そのデータまたはプログラムを、インタフェース 113、外部バス 112、 ブリッジ 105、およびホストバス 111を介して接続されているメインメモリ(DRAM) 10 3に供給する。
[0042] 接続ポート 125は、外部接続機器 128を接続するポートであり、 USB, IEEE1394 等の接続部を持つ。接続ポート 125は、インタフェース 113、外部バス 112、ブリッジ 105、およびホストバス 111を介してプロセッサモジュール 101等に接続されている。 通信部 126は、ネットワークに接続され、プロセッサモジュール 101や、 HDD123等 から提供されるデータの送信、外部からのデータ受信を実行する。 [0043] 次に、プロセッサモジュールの構成例について、図 2を参照して説明する。図 2に示 すように、プロセッサモジュール 200は、複数のメインプロセッサからなるメインプロセ ッサグループ 201、複数のサブプロセッサからなる複数のサブプロセッサグループ 20 2〜20nによって構成されている。それぞれにメモリコントローラ、 2次キャッシュが設 けられている。各プロセッサグループ 201〜20nの各々は例えば 8つのプロセッサュ ニットを有し、クロスバーアーキテクチャ、あるいはパケット交換式ネットワークなどによ つて接続されている。メインプロセッサグループ 201のメインプロセッサの指示のもと に、複数のサブプロセッサグループ 202〜20nの 1以上のサブプロセッサが選択され 、所定のプログラムが実行される。
[0044] 各プロセッサグループに設置されたメモリフローコントローラは、図 1に示すメインメ モリ 103とのデータ入出力制御を実行し、 2次キャッシュは、各プロセッサグループに おける処理用データの記憶領域として利用される。
[0045] 次に、図 3を参照して、本発明の情報処理装置におけるオペレーティングシステム( OS)構成を説明する。本発明の情報処理装置は複数のオペレーティングシステム( OS)が共存するマルチ OS構成を持つ。図 3に示すように、論理的な階層構成を持 つ複数のオペレーティングシステム(OS)を持つ。
[0046] 図 3に示すように、下位レイヤに制御 OS301を有し、上位レイヤに複数のゲスト OS 302, 303、およびシステム制御 OS304力設定される。制御 OS301は、システム制 御 OS304とともに図 1、図 2を参照して説明したプロセッサモジュールにおいて実行 する 1以上のプロセスによって適用される論理パーティションを実現し、システム内の ハードウェア資源 (計算機資源としてのメインプロセッサ、サブプロセッサ、メモリ、デ バイス等)を各論理パーティションに割り振る処理を実行する。
[0047] ゲスト OS302, 303は、例えばゲーム OSや Windows (登録商標)、 Linux (登録 商標)などの各種の OSであり、制御 OS301の制御の下に動作する OSである。なお 、図 3には、ゲスト OS302, 303の 2つのゲスト OSのみを示してある力 ゲスト OSは 任意の数に設定することが可能である。
[0048] ゲスト OS302, 303は、制御 OS301およびシステム制御 OS304によって設定され た論理パーティション内で動作し、その論理パーティションに割り当てられたメインプ ロセッサ、サブプロセッサ、メモリ、デバイス等のハードウェア資源を適用して各種の データ処理を実行する。
[0049] 例えば、ゲスト OS (a) 302は、制御 OS301およびシステム制御 OS304によって設 定された論理パーティション 2に割り当てられたメインプロセッサ、サブプロセッサ、メ モリ、デバイス等のハードウェア資源を適用して、ゲスト OS (a) 302対応のアプリケー シヨン'プログラム 305を実行する。また、ゲスト OS (b) 303は、論理パーティション n に割り当てられたメインプロセッサ、サブプロセッサ、メモリ、デバイス等のハードゥエ ァ資源を適用して、ゲスト OS (b) 303対応のアプリケーション 'プログラム 306を実行 する。制御 OS301は、ゲスト OSの実行に必要なインタフェースとしてゲスト OSプログ ラミングインタフェースを提供する。
[0050] システム制御 OS304は、論理パーティション管理情報を含むシステム制御プロダラ ム 307を生成し、システム制御プログラム 307に基づくシステムの動作制御を制御 O S301とともに実行する。システム制御プログラム 307は、システム制御プログラム'プ ログラミングインタフェースを用いてシステムのポリシを制御するプログラムである。シ ステム制御プログラム 'プログラミングインタフェースは、制御 OS301からシステム制 御 OS304に提供される。例えばリソース配分の上限値を設定するなど、プログラムに よる柔軟なカスタマイズのための手段を提供するのがシステム制御プログラム 307の 役割である。
[0051] システム制御プログラム 307はシステム制御プログラム ·プログラミングインタフエ一 スを用いてシステムの振る舞いを制御することができる。例えば、新しく論理パーティ シヨンを作成し、その論理パーティションで新 U、ゲスト OSを起動することができる。 複数のゲスト OSが動作するシステムでは、それらのゲスト OSはシステム制御プロダラ ムにあら力じめプログラムされた順序で起動されることになる。また、ゲスト OSから提 出された資源割り当て要求を制御 OS301が受理する前に検査し、システムのポリシ に従って修正したり、要求そのものを拒否したりすることができる。これにより、特定の ゲスト OSだけが資源を独占することがないようにすることができる。このように、システ ムのポリシをプログラムとして実現したものがシステム制御プログラムである。
[0052] 制御 OS301はシステム制御 OS304のために特別な論理パーティション(図では論 理パーティション 1)を割り当てる。制御 OS301は、ハイパバイザモードで動作する。 ゲスト OSはスーパバイザモードで動作する。システム制御 OS、アプリケーション'プ ログラムはプロブレムモード(ユーザモード)で動作する。
[0053] 論理パーティションはシステム内の資源分配を受ける主体である。たとえばメインメ モリ 103 (図 1参照)はいくつかの領域へ分割され、それぞれの領域の使用権が論理 パーティションに対して与えられる。論理パーティションに分配される資源の種別には 以下のものがある。
a)物理プロセッサユニット使用時間
b)仮想アドレス空間
c)論理パーティション内で動作するプログラムがアクセスできるメモリ
d)制御 OSが論理パーティションの管理のために用いるメモリ
e)イベントポート
f)デバイスの使用権
g)キャッシュノ ーテイシヨン
h)バス使用権
[0054] 前述したように、ゲスト OSは論理パーティションの中で動作する。ゲスト OSは論理 パーティションに割り当てられた資源を独占して各種のデータ処理を実行する。多く の場合、システム上で動作する個々のゲスト OS毎に 1つの論理パーティションが作 成される。各論理パーティションにはユニークな識別子が与えられる。システム制御 O S304は、論理パーティション管理情報として生成するシステム制御プログラムに識別 子を対応づけて管理する。
[0055] 論理パーティションは、制御 OS301およびシステム制御 OS304によって生成され る。生成直後の論理パーティションは何も資源を持たず、使用資源の制限も設定され ていない。論理パーティションには活動状態と終了状態という 2つの状態がある。生 成直後の論理パーティションは活動状態にある。論理パーティション内で動作するゲ スト OSの要求に基づ 、て論理パーティションは終了状態に遷移し、論理パーティシ ヨンに割り当てられて!/、る全ての論理プロセッサが停止する。
[0056] なお、論理プロセッサは、論理パーティションに割り当てられる論理的なプロセッサ であり、いずれかの物理プロセッサ、すなわち、図 2に示すプロセッサグループ内の プロセッサに対応する。ただし、論理プロセッサと物理プロセッサは必ずしも 1対 1の 関係にはなぐ 1つの論理プロセッサに複数の物理プロセッサが対応付けられる場合 もあり、複数の論理プロセッサに 1つの物理プロセッサが対応付けられる場合もある。 論理プロセッサと物理プロセッサの対応付けは、制御 OS301が決定する。
[0057] 制御 OS301は、各論理パーティションが使用する資源の量を制限する機能を備え ている。ゲスト OS302, 303がシステム制御 OS304との通信を行うことなく割り当て
Z解放が行える資源については使用量の制限が可能となっている。
[0058] 各論理パーティションは制御シグナルポートを備えている。このポートには論理パー テイシヨン間のデータ交換 Z共有に必要な様々な制御シグナルが到着する。制御シ グナルの例を以下に挙げる。
a)論理パーティション間イベントポートの接続依頼
b)論理パーティション間メッセージチャネルの接続依頼
c)共有メモリ領域への接続依頼
[0059] 各論理パーティションに到着した制御シグナルは制御シグナルポートでキューイン グされる。キューの深さは、メモリ資源が許す範囲であれば、制限は無い。キューイン グに必要なメモリ資源は制御シグナルを送った論理パーティション力も確保される。こ のポートから制御シグナルを取り出すためには、ゲスト OSプログラミングインタフエ一 スを呼び出す。空の制御シグナルポートに制御シグナルが到着したときに、任意のィ ベントポートにイベントを送信することが可能である。イベントポートの指定はゲスト o sプログラミングインタフェースを呼び出すことによって行える。
[0060] 制御 OSは論理パーティションに対し、物理サブプロセッサを抽象化した論理サブ プロセッサをリソース (計算機資源)として与える。前述したように物理サブプロセッサ と論理サブプロセッサは一対一に対応付けされていない上、数が同じである必要もな い。これを実現するために、制御 OSは必要に応じて一つの物理サブプロセッサを複 数の論理サブプロセッサに対応付けることができるようになつている。
[0061] 論理サブプロセッサの数が物理サブプロセッサの数より多い場合、制御 OSは物理 サブプロセッサを時分割して処理する。このため論理サブプロセッサは、時間の経過 をともなって動作停止や動作再開を繰り返す可能性がある。ゲスト OSはこれらの状 態の変化を観測することができる。
[0062] データ処理の実行に際しては、システム内の資源分配を受ける主体としての論理 パーティションが設定され、論理パーティションに対して、物理プロセッサユニットの使 用時間や、仮想アドレス空間、さらにメモリ空間などの様々なリソースが配分され、配 分されたリソースを適用した処理が実行される。論理パーティションには、いずれかの 物理プロセッサに対応する論理的なプロセッサが設定され、論理プロセッサに基づく データ処理が実行される。論理プロセッサと物理プロセッサは必ずしも 1対 1の関係 にはなぐ 1つの論理プロセッサに複数の物理プロセッサが対応付けられる場合もあ り、複数の論理プロセッサに 1つの物理プロセッサが対応付けられる場合もある。
[0063] 論理プロセッサを適用した複数の処理が並列に実行される場合、物理プロセッサは 、複数の論理プロセッサによってスケジューリングされて使用されることになる。すな わち、複数の論理プロセッサは、タイムシェアリングによる物理プロセッサの使用を行 なうことになる。
[0064] 図 4を参照して、タイムシェアリングによる物理プロセッサの使用形態について説明 する。図 4 (a)は、 1つの物理プロセッサに対して、いずれかの OSに対応する 1つの 論理プロセッサが割り当てられての、る処理形態である。論理プロセッサ(ァ)が物理プ 口セッサ(1)を占有して利用し、論理プロセッサ (ィ)が物理プロセッサ(2)を占有して 利用している。
[0065] 図 4 (b)は、 1つの物理プロセッサに対して複数の論理プロセッサが割り当てられ、 タイムシェアリングによる処理を実行して 、る処理形態を示して 、る。物理プロセッサ 1は、論理プロセッサ(ゥ)→ (ァ)→ (ゥ)→ (ァ)→ (ィ)→ (ゥ)→ (ィ)の順にタイムシ ァされて、各々の論理プロセッサ、すなわちいずれかの OSに対応する処理が実行さ れる。物理プロセッサ 2は、論理プロセッサ (ィ)→ (ェ)→ (ィ)→ (ェ)→ (ゥ)→ (ェ)→ (ァ)の順にタイムシェアされて、各々の論理プロセッサ、すなわちいずれかの OSに 対応する処理が実行されるによる処理が実行される。
[0066] 次に、図 5を参照して、物理プロセッサと論理プロセッサとの対応について説明する 。図 5には 1つのメインプロセッサ 401と、 4つの物理サブプロセッサ 411〜414の物 理プロセッサ構成を示し、さらに、 2つの物理サブプロセッサ、すなわち物理サブプロ セッサ(2)と、物理サブプロセッサ (4)の時分割処理によって動作する論理ザププロ セッサのタイムシーケンスを示して 、る。
[0067] 図 5の例では、物理サブプロセッサ(2)は、
時間 taO〜tal:論理サブプロセッサ(ァ)
時間 tal〜ta2 :論理サブプロセッサ (ィ)
時間 ta2〜ta3:論理サブプロセッサ(ゥ)
時間 ta3〜 :論理サブプロセッサ (ァ)
の時分割によつて各論理サブプロセッサが割り当てられ、それぞれの割り当て時間 にお 、て、各論理サブプロセッサは物理サブプロセッサ(2)を適用した処理を実行し ている。
[0068] また、物理サブプロセッサ(4)は、
時間 tbO〜tbl:論理サブプロセッサ(ィ)
時間 tbl〜tb2 :論理サブプロセッサ(ゥ)
時間 tb2〜tb3:論理サブプロセッサ(ァ)
時間 tb3〜 :論理サブプロセッサ (ィ)
の時分割によつて各論理サブプロセッサが割り当てられ、それぞれの割り当て時間 にお 、て、各論理サブプロセッサは物理サブプロセッサ (4)を適用した処理を実行し ている。
[0069] 各論理サブプロセッサが時分割によつて物理サブプロセッサを利用した処理を実 行し、さらに次の割り当て期間において物理サブプロセッサを適用したデータ処理を 再開するために、データ処理中断時のハードウ ア状態等の状態情報を保持してお くことが必要となる。この状態情報には、図に示す各物理サブプロセッサに対応する ローカルストレージ(Local Storage)情報、 MMIO (メモリマップド IO)レジスタ情報 が含まれる。 MMIO (メモリマップド IO)は、メモリマッピングによるハードウェアの制御 を行う入出力制御機構であり、特定のメモリ位置を利用した書き込み処理または読み 取り処理によって、ハードウェアの制御を可能として 、る。
[0070] 論理サブプロセッサが物理サブプロセッサに割り当てられている期間は、その論理 サブプロセッサに対応する論理パーティションアドレス空間内の領域に、論理サブプ 口セッサの状態を反映した物理サブプロセッサの MMIO領域とローカルストレージ(L ocal Storage)領域がマップされることになる。
[0071] 次に、図 6を参照して、本発明の情報処理装置において定義されるアドレス空間と 、アドレス変擁構 (マッピング)について説明する。
[0072] 図 6には、論理パーティションアドレス(仮想物理アドレス)空間 501、仮想アドレス 空間 502、物理アドレス空間 503と、各アドレス空間のアドレス変換機構としての変換 テーブルとして、論理パーティションアドレス(仮想物理アドレス)空間 501を物理アド レス空間 503に変換する第 1変換テーブル 521、仮想アドレス空間 502を物理アドレ ス空間 503に変換する第 2変換テーブル 522を示している。
[0073] 論理パーティションアドレス(仮想物理アドレス)空間 501は、物理アドレス空間 503 を抽象化したアドレス空間であり、システム制御プログラムが論理パーティションを生 成したときに同時に作られる。論理パーティションアドレス (仮想物理アドレス)空間 50 1には論理プロセッサがアクセス可能な領域が含まれる。論理パーティションアドレス (仮想物理アドレス)空間 501は、先に図 3を参照して説明した、例えばゲスト OSに対 応して設定される論理パーティション毎に設定される。
[0074] 仮想アドレス空間 502は、例えば、ゲスト OSによって、直接利用される仮想的なァ ドレス空間である。ゲスト OSは、必要に応じて新たな仮想アドレス空間を生成すること ができ、必要であれば論理パーティション内に複数の仮想アドレス空間を生成するこ とも可能である。物理アドレス空間 503は、リアルアドレス空間である。このアドレスは 、ノ ス上でアクセス対象を指定するために用いられる。
[0075] 各アドレス空間のアドレス変換には、アドレス変換テーブル 521, 522が適用される 。第 1変換テーブル 521は、論理パーティションアドレス (仮想物理アドレス)空間を物 理アドレス空間 503に変換する。第 1変換テーブルの構成例を図 7を参照して説明す る。
[0076] 第 1変換テーブルは、図 7に示すように、論理パーティションアドレス (仮想物理アド レス)空間のページ番号をインデックスとして、対応する物理アドレス空間のページを 参照可能な構成を持つテーブルとして設定される。物理アドレス空間のページ番号 としては、物理サブプロセッサの MMIOレジスタの物理アドレスなどが設定され、設 定された物理アドレスに基づいて特定の物理サブプロセッサを特定することができる 。一方、インデックスとしての論理パーティションアドレス(仮想物理アドレス)空間のぺ ージ番号は、論理サブプロセッサ力 アクセス可能であり、第 1変換テーブルの対応 に基づ!/、て、論理サブプロセッサと物理サブプロセッサは対応付けられる。
[0077] インデックス(論理パーティションアドレス(仮想物理アドレス)空間のページ番号)に 基づ 、て参照可能な物理アドレス空間のページ番号(物理サブプロセッサの MMIO レジスタの物理アドレス)は、有効な物理アドレス、あるいはエントリが無効であることを 示す値 (null)が設定され、この値は、制御 OSの制御によって随時、更新される。
[0078] 次に、第 2変換テーブルの構成について、図 8を参照して説明する。第 2変換テー ブルは、仮想アドレス空間 502を物理アドレス空間 503に変換するテーブルであり、 仮想アドレス空間のページ番号をインデックスとして、対応する物理アドレス空間のぺ ージを参照可能な構成を持つテーブルとして設定される。物理アドレス空間のぺー ジ番号としては、物理サブプロセッサの MMIOレジスタの物理アドレスなどが設定さ れ、設定された物理アドレスに基づ 、て特定の物理サブプロセッサを特定することが できる。一方、インデックスとしての仮想アドレス空間のページ番号は、ゲスト OSから アクセス可能であり、第 2変換テーブルの対応に基づ 、て特定される物理サブプロセ ッサによる処理が実行される。
[0079] インデックス(仮想アドレス空間のページ番号)に基づ!/、て参照可能な物理アドレス 空間のページ番号(物理サブプロセッサの MMIOレジスタの物理アドレス)は、有効 な物理アドレス、あるいはエントリが無効であることを示す値 (null)が設定され、この 値は、制御 OSの制御によって随時、更新される。
[0080] 次に、図 9、図 10を参照して、制御 OSが実行する第 1変換テーブル、第 2変換テー ブルのエントリの更新処理シーケンスについて説明する。この更新処理によって、論 理パーティションに対応する論理プロセッサと物理プロセッサの対応関係が設定され ることになる。
[0081] 図 9のフローに従ってテーブルのエントリの更新処理シーケンスについて説明する 。まず、ステップ S 101において、論理パーティションアドレス(仮想物理アドレス)から 第 1変換テーブルのインデックスを計算する。論理パーティションアドレス (仮想物理 アドレス)は、先に図 3を参照して説明した、例えばゲスト OSに対応して設定される論 理パーティション毎に設定されるアドレス空間におけるアドレスであり、このアドレスに 対応する第 1変換テーブルのインデックスを求める。ステップ S 102では、求めたイン デッタスに基づいて第 1変換テーブル力 物理アドレスを求める。
[0082] 図 10を参照して、この処理について説明する。論理パーティションアドレス (仮想物 理アドレス) 610から第 1変換テーブル 620のインデックス [qqqqq] 621を求め、この インデックス [qqqqq] 621に対応付けられた物理アドレス [uuuuu] 622を得る。論理 パーティションアドレス(仮想物理アドレス) 610は、例えば図 3に示すゲスト OSの 1つ に設定された論理パーティションに対応するアドレス空間のアドレスであり、論理パー テイシヨンに対応する論理サブプロセッサ 600の利用可能なアドレスである。
[0083] 次に、ステップ S103において、仮想アドレスから第 2変換テーブルのインデックスを 計算し、ステップ S104において、第 2変換テーブルを更新する。
[0084] 図 10を参照して、この処理について説明する。仮想アドレス 630から第 2変換テー ブル 640のインデックス [aaaaa] 641を求め、このインデックス [aaaaa] 641に対応付 けられた物理アドレスを [uuuuu] 642に更新する。結果として、論理パーティションァ ドレス(仮想物理アドレス) 610からアクセス可能な物理サブプロセッサと、仮想アドレ スからアクセス可能な物理サブプロセッサは、図 10に示すように、同一の物理サブプ 口セッサ 650として設定される。仮想アドレス 630も、例えば図 3に示すゲスト OSの 1 つに設定された論理パーティションにおいて設定された仮想アドレス空間のアドレス であり、論理パーティションに対応する論理サブプロセッサ 600の利用可能なァドレ スである。
[0085] この変換テーブルの更新によって、論理サブプロセッサと、物理サブプロセッサとの 対応が設定され、論理パーティションに対応付けられた論理サブプロセッサは、第 1 変換テーブル、第 2変換テーブルによって関連づけられた物理サブプロセッサを適 用した処理が実行可能となる。
[0086] 次に、論理サブプロセッサの切り替え処理について、図 11のフローおよび、図 12、 図 13に示す具体的処理例を参照して説明する。この処理は、例えば、図 3に示すゲ スト OS対応の論理パーティションでのデータ処理を実行する論理プロセッサに対応 する物理プロセッサについて、論理プロセッサー物理プロセッサの対応を解消し、新 たな物理プロセッサを他の論理プロセッサに対応付ける処理として実行される。すな わち、論理プロセッサと物理プロセッサとの対応関係を変更する処理として実行する 処理である。なお、この処理は、制御 OSによって実行される。
[0087] まず、ステップ S 201にお 、て、対応関係を変更する物理サブプロセッサが割り付 けられている論理サブプロセッサに対応する第 1変換テーブルのインデックスを取得 し、ステップ S202において、取得インデックスに基づいて物理アドレスを取得する。
[0088] この処理について、図 12を参照して説明する。対応関係を変更する物理サブプロ セッサを物理サブプロセッサ a701とする。物理サブプロセッサ a701が割り付けられ ている論理サブプロセッサ α 702に対応する第 1変換テーブル 703のインデックスは 、インデックス [qqqqq] 704である。ステップ S201では、このインデックス [qqqqq] 70 4を取得し、ステップ S 202では、取得インデックス [qqqqq] 704に基づいて物理アド レス [uuuuu] 705を取得する。
[0089] 次に、ステップ S203において、第 2変換テーブルの中で、当該物理アドレス、すな わち物理アドレス [uuuuu]を保持して!/、る全エントリをすベて無効 [null]にする。図 12を参照して説明する。第 2変換テーブル 710の中で、当該物理アドレス、すなわち 物理アドレス [uuuuu]を保持しているエントリ 711を無効 [null]に設定する。なお、 図 12では、物理アドレス [uuuuu]を保持しているエントリを 1つのみ示してある力 こ のエントリは、複数存在する場合があり、複数存在する場合は、すべてのエントリを無 効 [null]に設定する。この処理によって、論理サブプロセッサ α 702によるデータ処 理において、物理サブプロセッサ a701を適用することはできなくなる。
[0090] 次に、ステップ S 204にお 、て、新たに物理サブプロセッサを割り付けた 、論理サ ブプロセッサに対応する第 1変換テーブルのインデックスを取得し、ステップ S 205に おいて、第 1変換テーブルに、新たに割り付けを行なう物理サブプロセッサの MMIO レジスタの物理アドレスを格納する。
[0091] この処理について、図 13を参照して説明する。物理サブプロセッサ a701を論理サ ブプロセッサ β 721に新たに割り付けたいものとする。ステップ S204の処理は、論理 サブプロセッサ β 721に対応する第 1変換テーブル 703のインデックス、すなわち、ィ ンデッタス [rrrrr] 722を取得する処理である。ステップ S205の処理は、第 1変換テ 一ブル 703に、物理サブプロセッサ a701の MMIOレジスタの物理アドレス [uuuuu] 723を格納する処理である。
[0092] この処理によって、物理サブプロセッサ a701は、論理サブプロセッサ j8 721に対応 関係が設定され、論理サブプロセッサ j8 721による処理が引き続き実行されることに なる。
[0093] この後、図 11を参照して説明したエントリの更新を実行する。図 14を参照して、この 処理について説明する。仮想アドレス 830から第 2変換テーブル 840のインデックス [ bbbbb] 841を求め、このインデックス [bbbbb] 841に対応付けられた物理アドレスを [uuuuu] 842に更新する。結果として、論理パーティションアドレス (仮想物理アドレ ス) 810からアクセス可能な物理サブプロセッサと、仮想アドレス力 アクセス可能な 物理サブプロセッサは、図 14に示すように、同一の物理サブプロセッサ a701として 設定される。
[0094] 以上、物理プロセッサを現在割り付けられている論理プロセッサとは異なる論理プロ セッサに割り付ける場合の説明をしたが、逆に、論理プロセッサに対して現在割り付 けられている物理プロセッサとは異なる物理プロセッサを割り付けることもできる。図 1 5に示すように、第 1変換テーブル 620に物理サブプロセッサ b651の MMIOレジス タの物理アドレス [vww] 622を格納することにより、物理サブプロセッサ b651を論 理サブプロセッサ a 600に割り付けることができる。
[0095] なお、このような物理プロセッサの切り替えは、例えば、 1つの物理プロセッサを適 用したデータ処理が継続して実行された場合の過熱を防止するためのプロセッサ切 り替え制御処理として実行される。制御 OSは、 1つの物理プロセッサの継続使用時 間力 予め設定された最大継続プロセッサ使用時間に至った場合に、図 15を参照し て説明したプロセッサ切り替え処理を実行し、論理 物理プロセッサの対応関係を変 更して、新たな物理プロセッサを適用した処理を行なう構成とすることができる。
[0096] 例えば、図 16に示すプロセッサモジュール 200のように、各サブプロセッサグルー プ 202〜20n毎にタイマユニット 252〜25nを有する構成とし、タイマユニット 252〜2 5nによって、各サブプロセッサグノレープ 202〜20nのサブプロセッサユニットとしての 物理プロセッサにお 、て実行される処理の処理時間計測を行 、、一定時間が経過し たら論理プロセッサと物理プロセッサの対応関係を変更するようにしてもよい。図 16 に示す各サブプロセッサユニットを構成する各物理プロセッサの近傍に温度センサ 2 71-273, 281〜283を設置し、各プロセッサの温度上昇を検知し、予め定めた閾 値温度に至った場合に論理プロセッサと物理プロセッサの対応関係を切り替える処 理により、過剰な温度上昇を防止することができる。
[0097] 論理プロセッサと物理プロセッサの対応関係を切り替える処理構成としては、各サ ブプロセッサグループ 202〜20n毎に設定されたタイマユニット 252〜25nによる時 間計測に基づ 、て、一定時間ごとに切り替える構成とした時間依存型のプロセッサ 切り替え処理構成と、各サブプロセッサユニットを構成する各物理プロセッサの近傍 に設置した温度センサ 271〜273, 281〜283によって各プロセッサの温度上昇を 検知し、予め定めた閾値温度に至った場合に、論理プロセッサと物理プロセッサの対 応を切り替える構成とした温度依存型のプロセッサ切り替え処理構成とのいずれか、 あるいは両者を並行して実行する構成が可能である。論理プロセッサと物理プロセッ サの対応関係を切り替えは、図 15を参照して説明したプロセッサ切り替えによって実 行される。
[0098] 図 17に、一定時間ごとに論理プロセッサと物理プロセッサの対応関係を切り替える 時間依存型のプロセッサ切り替え処理を説明する概念図を示す。図 17 (a)〜 (c)は、 それぞれ、予め設定された時間間隔 (ti)毎に切り替えられる論理プロセッサと物理プ 口セッサの対応関係を示している。例えば、
(a)時間 TOにおける論理プロセッサと物理プロセッサの対応関係
論理プロセッサ α =物理プロセッサ a
論理プロセッサ β =物理プロセッサ b
論理プロセッサ Ύ =物理プロセッサ c
(b)時間 TOから時間 ti経過後の時間 T1における論理プロセッサと物理プロセッサ の対応関係
論理プロセッサ Ύ =物理プロセッサ a 論理プロセッサ a =物理プロセッサ b
論理プロセッサ β =物理プロセッサ c
(c)時間 T1から時間 ti経過後の時間 Τ2における論理プロセッサと物理プロセッサ の対応関係
論理プロセッサ β =物理プロセッサ a
論理プロセッサ Ύ =物理プロセッサ b
論理プロセッサ α =物理プロセッサ c
を示している。その後も(a)→(b)→(c)を、時間(ti)経過毎に、繰り返して対応関 係を切り替える処理が実行される。
[0099] 図 18は、各サブプロセッサユニットを構成する各物理プロセッサの近傍に設置した 温度センサ 271〜273, 281〜283 (図 16参照)によって各プロセッサの温度上昇を 検知し、予め定めた閾値温度に至った場合に、論理プロセッサと物理プロセッサの対 応を切り替える構成とした温度依存型のプロセッサ切り替え処理を説明する概念図を 示す。図 18 (a)〜(c)は、それぞれ、プロセッサの温度に応じて切り替えられる論理 プロセッサと物理プロセッサの対応関係を示して 、る。
[0100] 例えば、(a)に示すように、論理プロセッサと物理プロセッサの対応関係が、
論理プロセッサ α =物理プロセッサ a
論理プロセッサ β =物理プロセッサ b
論理プロセッサ Ύ =物理プロセッサ c
として設定されて 、る場合、物理サブプロセッサ aが予め設定した閾値温度以上の 高温になった場合、一番温度の高い物理サブプロセッサ aと対応関係にある論理サ ブプロセッサ αと、一番温度の低い物理サブプロセッサ bと対応関係にある論理サブ プロセッサ βの対応付けを交換して、(b)に示すように、論理プロセッサと物理プロセ ッサの対応関係を、
論理プロセッサ β =物理プロセッサ a
論理プロセッサ α =物理プロセッサ b
論理プロセッサ Ύ =物理プロセッサ c
の設定に変更する。この処理によって、処理負荷の高いプロセスを実行していると 予測される論理プロセッサ a対応の処理が物理プロセッサ aから物理プロセッサ bに 切り替えられて実行されることになり、論理プロセッサ α対応の処理を継続して 1つの 物理プロセッサで実行することによる過剰な温度上昇を防止することができる。
[0101] また、温度センサによるプロセッサの温度上昇の検知を契機に対応付けの変更を 行うのでなぐ前記のタイマユニットを用いて、一定時間ごとに、一番温度の高い物理 サブプロセッサと、一番温度の低 、物理サブプロセッサとの間で対応付けを交換する ようにしてもよい。このようなプロセッサ切り替え処理 (マイグレーション処理)により、 1 つのプロセッサを長期にわたって使用することによる温度の過大な上昇が防止される
[0102] 本発明の構成においては、上述したように制御 OSが 2つのアドレス変換テーブル、 すなわち、論理パーティションアドレス (仮想物理アドレス)空間を物理アドレス空間に 変換する第 1変換テーブルと、仮想アドレス空間を物理アドレス空間に変換する第 2 変換テーブルとを適用して、テーブルのエントリ設定、および更新処理を実行するこ とで、論理プロセッサと物理プロセッサとの対応関係を変更する構成であるので、状 況に応じて、論理プロセッサー物理プロセッサの対応関係の設定、変更が可能となり 、データ処理シーケンスに応じた物理プロセッサのタイムシェアリングによるデータ処 理が可能であり、ハードウェアの負荷、データ処理プログラムの態様を考慮した最適 なデータ処理が実行可能となる。
[0103] また、ゲスト OS等に対応して設定される論理パーティション側からみた場合は、変 換テーブルの変更によって、物理プロセッサが変更されても、論理パーティション側 の処理を継続して実行することが可能であり、ゲスト OS側では仮想的に 1つの物理 プロセッサを適用した処理を継続して実行していると同様の処理環境でのデータ処 理が可能となる。
[0104] 次に、図 19を参照して論理プロセッサと物理プロセッサとを対応付ける際、初期か らあるいは後発的に不良となった物理プロセッサを、論理プロセッサの対応付けの対 象力も除外する構成とした例について説明する。
[0105] 複数の物理プロセッサを搭載する装置において、当初からデータ処理の実行がで きない不良な物理プロセッサが含まれてしまう場合や、後発的にデータ処理の実行 が不可能になる不良な物理プロセッサが含まれてしまう場合がある。このような不良 物理プロセッサを、論理プロセッサの対応付けの対象から除外する。
[0106] 図 19には、 4つの物理プロセッサ a〜dが搭載された装置例を示している。これらの 物理プロセッサに対して、論理プロセッサが割り当てられて処理が実行される。ここで 物理プロセッサ cが、初期的あるいは後発的に不良となりデータ処理機能が欠落ある いは低下してしまったものとする。
[0107] この場合、論理プロセッサ α〜 δの対応付け対象としての物理プロセッサを物理プ 口セッサ a, b, dのみとする設定とし、物理プロセッサ cを、論理プロセッサの対応付け の対象から除外する。前述したように物理プロセッサと論理プロセッサは一対一に対 応付けされる必要はなぐ数が同じである必要もない。
[0108] 論理プロセッサを物理プロセッサに対応付ける処理を実行する制御 OSは、不良な 物理プロセッサを対応付け対象から除外して、前述の論理プロセッサと物理プロセッ サとの対応関係を決定するアドレス変換テーブルを構成し、正常な物理プロセッサの みを論理プロセッサに対応付ける。初期的な不良を有する物理プロセッサを含む場 合は、当初力 不良な物理プロセッサを対応付け対象力 除外したアドレス変換テー ブルの設定とし、後発的に物理プロセッサの不良が発生した場合は、アドレス変換テ 一ブルの更新を実行して、後発的な不良を発生させた物理プロセッサを論理プロセ ッサとの対応付け対象カゝら除外したアドレス変換テーブルの設定に変更する。
[0109] このように、不良な物理プロセッサを使用せず、正常な物理プロセッサのみを使用 する構成とすることで、データ処理におけるエラーを発生させることのな 、装置が実 現される。また、例えば n個の物理プロセッサを搭載したチップを装着した装置にお いて、 m個の物理プロセッサ(n >m)のみを論理プロセッサとの対応付け対象とする ことで、正常な m個のプロセッサを備えた装置として見せることができる。
[0110] なお、複数の物理プロセッサにおいて所定の割合で不良な物理プロセッサが含ま れることが想定される場合は、 n個の物理プロセッサを搭載した装置において実行す るデータ処理プログラムを、例えば m個 (n >m)のプロセッサのみを適用した処理とし て実行可能なプログラムを設計することが好ましい。この構成とすることで、 n— m個 の不良プロセッサが初期的にあるいは後発的に発生した場合、問題なくデータ処理 を実行することが可能となる。
[0111] 次に、図 20を参照して、論理プロセッサと物理プロセッサとの対応を、各物理プロセ ッサと利用電源との関係に基づいて設定する構成例について説明する。複数の物理 プロセッサを備えた装置において、電源からの電力供給ラインが共通する物理プロセ ッサ群が設定される場合がある。例えば図 20 (A)に示す例では、物理プロセッサ aと 、物理プロセッサ bが 1つの電力供給ライン 901を介して電源 Aからの電力供給を受 け、物理プロセッサ cと、物理プロセッサ dがもう 1つの電力供給ライン 902を介して電 源 Bからの電力供給を受ける構成となって 、る。
[0112] このような装置構成において、例えばあるデータ処理の時間において、論理プロセ ッサに対応付けられた物理プロセッサ bと物理プロセッサ dが同時にデータ処理を実 行し、物理プロセッサ aと物理プロセッサ cがアイドリング状態である場合、電源 A, B の双方力も電力供給ライン 901, 902を介して電力供給を行なうことが必要となる。
[0113] このように、電源および電力供給ラインを双方とも利用した場合、一方のみの電力 供給ラインを利用した場合に比較して消費電力が多くなる。従って、理想的には、同 時に動作する物理プロセッサの数が少な 、場合、利用する電源や電力供給ラインの 数を可能な限り少なくすることが消費電力の低下のために好ましい設定である。
[0114] 論理プロセッサを物理プロセッサに対応付ける処理を実行する制御 OSは、各物理 プロセッサの利用する電源との関係に基づいて、各論理プロセッサに対応付ける物 理プロセッサを決定して、前述のアドレス変換テーブルの設定、更新処理を実行する 。例えば図 20 (B)に示すように、異なる電力供給ライン 901, 902に接続された物理 プロセッサ a〜dを有し、 2つの物理プロセッサ a, bが 1つの電源および電力供給ライ ン 901に接続され、 2つの物理プロセッサ c, dがもう 1つの電源および電力供給ライン 902に接続されて!ヽる構成において、論理プロセッサに対応付けられて同時に動作 することが必要となる物理プロセッサが 2つのみである場合、論理プロセッサを一方の 電力供給ラインに接続された物理プロセッサのみに対応付ける。
[0115] 図に示す例では、論理プロセッサを物理プロセッサ cと物理プロセッサ dに対応付け てデータ処理を行なう構成とする。この設定により、物理プロセッサ a, bはアイドリング 状態、すなわち非動作状態となり、電力供給を行なう必要がなくなり、電力供給ライン 902のみを介して電力供給を行なうのみでデータ処理が可能となり、消費電力を低 減させることができる。
[0116] 論理プロセッサを物理プロセッサに対応付ける処理を実行する制御 OSは、予めメ モリに記憶した各物理プロセッサと電源との対応関係テーブルを参照し、各処理時 間において ONとする電源や、電力供給ライン数を、可能な限り少ない設定とするよう に論理プロセッサと物理プロセッサとの対応関係を決定するアドレス変換テーブルを 設定または更新を行なう。このような制御を行うことで、消費電力の低減が実現される
[0117] 次に、図 21〜図 23を参照して、論理プロセッサが対応付けられた物理プロセッサ におけるデータ処理において利用するメモリと、物理プロセッサとの位置関係に基づ いて、論理プロセッサと物理プロセッサとの対応を設定する構成例について説明する
[0118] 図 21に示す装置は、ある情報処理装置の有する 4つの物理プロセッサ a〜dと、装 置内のメモリ X、メモリ Yを示している。各物理プロセッサ a〜dにおけるデータ処理に おいて、各プロセッサは、必要に応じてメモリ X、メモリ Yに対するアクセスを行なう。メ モリ Xとメモリ Yは、情報処理装置内において、それぞれ離間した位置にあり、各物理 プロセッサは、メモリ X、メモリ Yに格納するデータあるいは読み出しデータのデータ 転送を装置内のバス 911を介して行なう。
[0119] メモリアクセス処理や、バスを介したデータ転送処理につ!、て考察した場合、物理 プロセッサとメモリとの距離が物理的に近い方が、バスの効率的利用が実現され、ァ クセス時間、処理時間の短縮が実現される。
[0120] 論理プロセッサを物理プロセッサに対応付ける処理を実行する制御 OSは、論理プ 口セッサが対応付けられ、様々なプロセスを実行する物理プロセッサのメモリアクセス 状況を検出する。制御 OSは、アクセス状況に応じて、アクセス頻度の高い方のメモリ に近い位置にある物理プロセッサを、各プロセスに対応する論理プロセッサに対して 対応付ける。
[0121] モニタ部 921は、様々なプロセスに対応して設定される論理プロセッサと、論理プロ セッサに対応するプロセスを実行する物理プロセッサの対応関係と、各物理プロセッ サのメモリアクセス状況をモニタする。なお、図には、モニタ部 921を 1つのブロックと して示してあるが、モニタリング処理は、各物理プロセッサ個別に設定されたノヽードウ エアによってカウントされるメモリアクセス回数を、制御 OSの実行する監視プログラム によって取得する処理として実行される。具体例について、図 22を参照して説明する
[0122] 図 22 (B)は、あるデータ処理シーケンスにおいて実行された論理プロセッサと物理 プロセッサの対応付けと、物理プロセッサのメモリアクセス態様を示している。各物理 プロセッサ a〜dは、それぞれメモリ X、メモリ Yにアクセスを実行している。メモリ Xとメ モリ Yは、装置内の離間した物理位置に配置されたメモリである。メモリ Xは、物理プ 口セッサ a, bに近い位置にあり、メモリ Yは、物理プロセッサ c, dに近い位置に配置さ れている。
[0123] 図 22 (A)は、図 22 (B)に示すように論理プロセッサと物理プロセッサの対応付けら れたデータ処理において制御 OSの実行するモニタリング処理、すなわちモニタ部 9 21のモニタリングの実行結果として取得したデータ例を示している。モニタデータは 、物理プロセッサと論理プロセッサの対応関係と、各物理プロセッサの実行したメモリ Xとメモリ Yに対するアクセス回数の記録データを含む。
[0124] 例えば、物理プロセッサ aは、論理プロセッサ αに対応付けられて論理プロセッサ α 対応のプロセスを実行し、このプロセス実行処理においてメモリ Xに 20回、メモリ Υに 7回のアクセスを行ったことが記録される。他の物理プロセッサについても同様、対応 付けられた論理プロセッサと、各メモリに対するアクセス数がそれぞれ記録される。な お、モニタリングを実行する期間は、様々な設定が可能であり、特定のプロセスの実 行期間、あるいは、予め設定した時間などの設定が可能である。
[0125] 図 22 (B)を参照して説明したように、物理プロセッサ aと物理プロセッサ bは、メモリ X との物理的距離が、メモリ Yとの物理的距離より近ぐ一方、物理プロセッサ cと物理プ 口セッサ dは、メモリ Yとの物理的距離力 メモリ Xとの物理的距離より近い。バスの効 率的利用、アクセス時間、処理時間の短縮等を実現するためには、各物理プロセッ サは、アクセス数の多 、メモリが近 、位置に設定されることが好まし!/、。
[0126] 図 22 (A)に示すモニタ結果では、論理プロセッサ ocに対応付けられた物理プロセ ッサ aは、メモリ Xのアクセス数が [20]、メモリ Yのアクセス数力 [7]であり、物理プロセ ッサ aに近 、メモリ Xに対するアクセス数力 遠 、メモリ Yに対するアクセス数より多くな つており、論理プロセッサ αを物理プロセッサ aに対応付けてプロセスを実行すること で、効率的な処理が実行されると言える。
[0127] し力し、論理プロセッサ γに対応付けられた物理プロセッサ bは、メモリ Xのアクセス 数が [2]、メモリ Yのアクセス数が [25]であり、物理プロセッサ bに近いメモリ Xに対す るアクセス数力 遠いメモリ Yに対するアクセス数より少なくなつており、論理プロセッ サ γを物理プロセッサ bに対応付けてプロセスを実行することで、効率が低下してい ると推測される。
[0128] また、論理プロセッサ βに対応付けられた物理プロセッサ cは、メモリ Xのアクセス数 が [5]、メモリ Υのアクセス数が [30]であり、物理プロセッサ cに近いメモリ Υに対する アクセス数が、遠いメモリ Xに対するアクセス数より多くなつており、論理プロセッサ j8 を物理プロセッサ cに対応付けてプロセスを実行することで、効率的な処理が実行さ れると言える。
[0129] さらに、論理プロセッサ δに対応付けられた物理プロセッサ dは、メモリ Xのアクセス 数が [12]、メモリ Yのアクセス数力 [5]であり、物理プロセッサ dに近いメモリ Yに対す るアクセス数力 遠いメモリ Xに対するアクセス数より少なくなつており、論理プロセッ サ δを物理プロセッサ dに対応付けてプロセスを実行することで、効率が低下してい ると推測される。
[0130] 制御 OSは、これらのモニタ結果に基づいて、次の同一プロセスの実行時には、論 理プロセッサと物理プロセッサとの対応付けを変更する。すなわち、物理プロセッサ のメモリアクセス状況に応じて、アクセス頻度の高い方のメモリに近い位置にある物理 プロセッサを、各プロセスに対応する論理プロセッサに対して対応付ける更新を行な う。前述したように、制御 OSは、アドレス変換テーブルの更新によって、論理プロセッ サと物理プロセッサとの対応関係を任意に設定可能であり、モニタ結果に基づいて、 アクセス頻度の高 、方のメモリに近 、位置にある物理プロセッサを、各プロセスに対 応する論理プロセッサに対して対応付けるようにアドレス変換テーブルの更新を実行 する。 [0131] 図 22 (A)に示すモニタ結果から、
物理プロセッサ a:論理プロセッサ α
物理プロセッサ c:論理プロセッサ β
は問題な ヽ対応付けであるが、
物理プロセッサ b:論理プロセッサ γ
物理プロセッサ d:論理プロセッサ δ
の対応付けは、データ転送等の処理効率低下を招 、て 、る対応付けであると 、う 判定ができる。制御 OSは、アドレス変換テーブルの更新によって、これらの論理プロ セッサと物理プロセッサとの対応関係を変更して、アクセス頻度の高 、方のメモリに近 V、位置にある物理プロセッサを、各プロセスに対応する論理プロセッサに対して対応 付ける。
[0132] 図 23を参照して、更新処理後の論理プロセッサと物理プロセッサとの対応関係と、 メモリアクセス頻度との関係について説明する。制御 OSは、アドレス変換テーブルの 更新によって、論理プロセッサと物理プロセッサとの対応関係を変更する。すなわち、 アクセス頻度の高 、方のメモリに近 、位置にある物理プロセッサを、各プロセスに対 応する論理プロセッサに対して対応付けるようにアドレス変換テーブルの更新を実行 する。
[0133] この処理によって、図 23 (C)に示すように、
物理プロセッサ a:論理プロセッサ α
物理プロセッサ b :論理プロセッサ δ
物理プロセッサ c:論理プロセッサ β
物理プロセッサ d:論理プロセッサ γ
の各対応付けを行なう。
[0134] この対応付けにおいて図 22を参照して説明したプロセスと同一プロセスを実行した 場合、各物理プロセッサのメモリアクセスのモニタ結果は、図 23 (D)に示す結果とな り、
論理プロセッサ αに対応付けられた物理プロセッサ aと、
論理プロセッサ δに対応付けられた物理プロセッサ b、 の各物理プロセッサは、より近い位置にあるメモリ Xに対するアクセス数力 遠い位 置のメモリ Yに対するよりアクセス数より多くなり、高い処理効率での処理が実現され る。
| 様に、
論理プロセッサ βに対応付けられた物理プロセッサ cと、
論理プロセッサ Ίに対応付けられた物理プロセッサ d、
の各物理プロセッサは、より近い位置にあるメモリ Yに対するアクセス数力 遠い位 置のメモリ Xに対するよりアクセス数より多くなり、高い処理効率での処理が実現され る。
[0135] このように、論理プロセッサを物理プロセッサに対応付ける処理を実行する制御 OS 力 論理プロセッサの対応付けられた各物理プロセッサについてのメモリアクセス状 況に応じてアドレス変換テーブルの更新を実行して論理プロセッサと物理プロセッサ との対応関係を変更する。すなわち、アクセス頻度の高い方のメモリに近い位置にあ る物理プロセッサを、各プロセスに対応する論理プロセッサに対して対応付けるように アドレス変換テーブルの更新を実行する。この処理によって、データアクセスの高速 化が実現され、より高 、効率でのデータ処理が可能となる。
[0136] 以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、 本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ること は自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的 に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の 欄を参酌すべきである。
[0137] なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、 あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理 を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに 組み込まれたコンピュータ内のメモリにインストールして実行させる力、あるいは、各 種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させること が可能である。
[0138] 例えば、プログラムは記録媒体としてのハードディスクや ROM (Read Only Memory )に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、 CD -ROM(Compact Disc Read Only Memory), MO(Magneto optical)ディスク, DVD( Digital Versatile Disc),磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、 一時的あるいは永続的に格納 (記録)しておくことができる。このようなリムーバブル記 録媒体は、 V、わゆるパッケージソフトウェアとして提供することができる。
[0139] なお、プログラムは、上述したようなリムーバブル記録媒体力もコンピュータにインス トールする他、ダウンロードサイトから、コンピュータに無線転送したり、 LAN(Local A rea Network),インターネットといったネットワークを介して、コンピュータに有線で転 送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵する ハードディスク等の記録媒体にインストールすることができる。
[0140] なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみ ならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個 別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的 集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
産業上の利用可能性
[0141] 以上、説明したように、本発明の一実施例の構成によれば、論理プロセッサを物理 プロセッサに対応付けてデータ処理を行なう構成において、仮想アドレス空間と、論 理パーティションアドレス (仮想物理アドレス)空間と、物理アドレス空間との異なるァ ドレス空間のアドレス変換に適用するテーブルを設定し、これを適宜、更新する処理 を実行することにより、最適な論理プロセッサと物理プロセッサとの対応の設定、更新 を行い、効率的なデータ処理が実現される。
[0142] 本発明の一実施例の構成によれば、制御 OSが 2つのアドレス変換テーブル、すな わち、論理パーティションアドレス (仮想物理アドレス)空間を物理アドレス空間に変 換する第 1変換テーブルと、仮想アドレス空間を物理アドレス空間に変換する第 2変 換テーブルとを適用して、テーブルのエントリ設定、および更新処理を実行すること で、論理プロセッサと物理プロセッサとの対応関係を変更する構成であるので、状況 に応じて、論理プロセッサー物理プロセッサの対応関係の設定、変更が可能となり、 データ処理シーケンスに応じた物理プロセッサのタイムシェアリングによるデータ処理 が可能であり、ハードウェアの負荷、データ処理プログラムの態様を考慮した最適な データ処理が実行可能となる。
[0143] 本発明の一実施例の構成によれば、例えば物理プロセッサのローテーション処理、 すなわちマイグレーションを制御 OSによる変換テーブルの更新によって実現すること が可能となり、物理プロセッサの継続的な使用による発熱の抑制が可能となる。
[0144] また、本発明の一実施例の構成によれば、例えば異なる電源供給ラインに接続さ れた物理プロセッサ群が設定されて!、る構成にぉ 、て、複数の論理プロセッサがそ れぞれ異なる物理プロセッサに対応付けられて並列に実行されるプロセスがある場 合、 1つの電源供給ラインに接続された物理プロセッサに対して論理プロセッサをそ れぞれ割り当てることで、アイドル状態にある物理プロセッサ群に対する電源供給を 停止することが可能となり、消費電力を低減することが可能となる。
[0145] また、本発明の一実施例の構成によれば、装置内における物理的位置が異なる複 数のメモリを有する構成にぉ 、て、アクセス頻度の高 、方のメモリに近 、位置にある 物理プロセッサを、各プロセスに対応する論理プロセッサに対して対応付けるように アドレス変換テーブルの更新を実行する。このプロセッサ対応付け処理によって、デ ータアクセスの高速ィ匕が実現され、より高 、効率でのデータ処理が可能となる。

Claims

請求の範囲
[1] 情報処理装置であり、
論理プロセッサを時分割で物理プロセッサに対応付ける処理を実行する制御 OSと 論理プロセッサの適用主体としての論理パーティションの設定対象であるゲスト OS とを有し、
前記制御 OSは、
論理プロセッサと物理プロセッサの対応関係を決定するアドレス変換テーブルとし て、
論理パーティションアドレス空間と物理アドレス空間の対応関係を設定した第 1変換 テーブルと、ゲスト OS側に設定される仮想アドレス空間と物理アドレス空間の対応関 係を設定した第 2変換テーブルとの 2つのアドレス変換テーブルの設定および更新 処理を実行することにより、論理プロセッサと物理プロセッサの対応関係の設定およ び更新を行なう構成であることを特徴とする情報処理装置。
[2] 前記制御 OSは、
論理パーティションアドレスに基づいて決定される前記第 1変換テーブルのインデッ タスに対応する物理アドレスを取得するとともに、仮想アドレスに基づいて決定される 前記第 2変換テーブルのインデックスに対応する物理アドレスの更新処理を実行する 構成であることを特徴とする請求項 1に記載の情報処理装置。
[3] 前記制御 OSは、
論理プロセッサと物理プロセッサの対応関係の切り替えに際して、
物理プロセッサに対応付けられた論理プロセッサに対応する前記第 1変換テープ ルのインデックスから求められる物理アドレスを取得し、取得した物理アドレスを保持 する前記第 2変換テーブルの全てのエントリを無効化する処理を実行するとともに、 物理プロセッサを新たに対応付ける論理プロセッサに対応する前記第 1変換テー ブルのインデックスを取得し、該取得インデックスに対応する物理アドレスとして、対 応付けを行なう物理プロセッサの物理アドレス情報を格納する処理を実行する構成 であることを特徴とする請求項 1に記載の情報処理装置。
[4] 前記物理アドレスは、物理プロセッサの MMIOレジスタの物理アドレスであることを 特徴とする請求項 1乃至 3いずれかに記載の情報処理装置。
[5] 前記制御 OSは、
1つの物理プロセッサを適用した処理の継続時間力 予め定めた閾値時間に至つ たことを条件として、論理プロセッサと物理プロセッサとの対応変更処理を実行し、物 理プロセッサの切り替えを行なう構成であることを特徴とする請求項 1に記載の情報 処理装置。
[6] 前記制御 OSは、
物理プロセッサの温度が、予め定めた閾値温度に至ったことを条件として、論理プ 口セッサと物理プロセッサとの対応変更処理を実行し、物理プロセッサの切り替えを 行なう構成であることを特徴とする請求項 1に記載の情報処理装置。
[7] 前記制御 OSは、
並列に動作状態となる複数の物理プロセッサが同一の電力供給ラインに接続され た物理プロセッサ群として設定されるように論理プロセッサと物理プロセッサとの対応 関係を設定する処理を実行する構成であることを特徴とする請求項 1に記載の情報 処理装置。
[8] 前記制御 OSは、
情報処理装置内の異なる位置に設定されたメモリに対する物理プロセッサのァクセ ス状況に基づいて論理プロセッサと物理プロセッサとの対応関係を設定する構成で あり、
物理プロセッサにより近い位置にあるメモリのアクセス頻度が高くなるように、論理プ 口セッサと物理プロセッサとの対応関係を設定する処理を実行する構成であることを 特徴とする請求項 1に記載の情報処理装置。
[9] 論理プロセッサを物理プロセッサに対応付けてデータ処理を行なう構成におけるプ ロセス制御方法であり、
論理プロセッサの適用主体としてのゲスト OS側に論理パーティションを設定するス テツプと、
論理パーティションアドレス空間と物理アドレス空間の対応関係を設定した第 1変換 テーブルと、前記ゲスト OS側に設定される仮想アドレス空間と物理アドレス空間の対 応関係を設定した第 2変換テーブルとの 2つのアドレス変換テーブルの設定または更 新を実行するテーブル更新ステップと、
を有することを特徴とするプロセス制御方法。
[10] 前記テーブル更新ステップは、
論理パーティションアドレスに基づいて決定される前記第 1変換テーブルのインデッ タスに対応する物理アドレスを取得するステップと、
仮想アドレスに基づいて決定される前記第 2変換テーブルのインデックスに対応す る物理アドレスの更新処理を実行するステップと
を含むことを特徴とする請求項 9に記載のプロセス制御方法。
[11] 前記プロセス制御方法は、さらに、
論理プロセッサと物理プロセッサの対応関係の切り替えに際して、
物理プロセッサに対応付けられた論理プロセッサに対応する前記第 1変換テープ ルのインデックスから求められる物理アドレスを取得し、取得した物理アドレスを保持 する前記第 2変換テーブルの全てのエントリを無効化する処理を実行するステップと 物理プロセッサを新たに対応付ける論理プロセッサに対応する前記第 1変換テー ブルのインデックスを取得し、該取得インデックスに対応する物理アドレスとして、対 応付けを行なう物理プロセッサの物理アドレス情報を格納する処理を実行するステツ プと、
を有することを特徴とする請求項 9に記載のプロセス制御方法。
[12] 前記物理アドレスは、物理プロセッサの MMIOレジスタの物理アドレスであることを 特徴とする請求項 9乃至 1 、ずれかに記載のプロセス制御方法。
[13] 前記プロセス制御方法は、さらに、
1つの物理プロセッサを適用した処理の継続時間力 予め定めた閾値時間に至つ たことを条件として、論理プロセッサと物理プロセッサとの対応変更処理を実行し、物 理プロセッサの切り替えを行なうことを特徴とする請求項 9に記載のプロセス制御方 法。
[14] 前記プロセス制御方法は、さらに、
物理プロセッサの温度が、予め定めた閾値温度に至ったことを条件として、論理プ 口セッサと物理プロセッサとの対応変更処理を実行し、物理プロセッサの切り替えを 行なうことを特徴とする請求項 9に記載のプロセス制御方法。
[15] 前記プロセス制御方法は、さらに、
並列に動作状態となる複数の物理プロセッサが同一の電力供給ラインに接続され た物理プロセッサ群として設定されるように論理プロセッサと物理プロセッサとの対応 関係を設定する処理を実行するステップを有することを特徴とする請求項 9に記載の プロセス制御方法。
[16] 前記プロセス制御方法は、さらに、
情報処理装置内の異なる位置に設定されたメモリに対する物理プロセッサのァクセ ス状況に基づいて論理プロセッサと物理プロセッサとの対応関係を設定するステップ を有し、
物理プロセッサにより近い位置にあるメモリのアクセス頻度が高くなるように、論理プ 口セッサと物理プロセッサとの対応関係を設定する処理を実行することを特徴とする 請求項 9に記載のプロセス制御方法。
[17] 論理プロセッサを物理プロセッサに対応付けてデータ処理を行なう構成におけるプ ロセス制御を実行するコンピュータ 'プログラムであり、
論理プロセッサの適用主体としてのゲスト OS側に論理パーティションを設定するス テツプと、
論理パーティションアドレス空間と物理アドレス空間の対応関係を設定した第 1変換 テーブルと、前記ゲスト OS側に設定される仮想アドレス空間と物理アドレス空間の対 応関係を設定した第 2変換テーブルとの 2つのアドレス変換テーブルの設定または更 新を実行するテーブル更新ステップと、
を有することを特徴とするコンピュータ ·プログラム。
PCT/JP2005/017649 2004-09-29 2005-09-26 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム WO2006035731A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
BRPI0506384-1A BRPI0506384A (pt) 2004-09-29 2005-09-26 aparelho de processamento de informação, e, método de controle de processo e programa de computador para processar dados
KR1020067010317A KR101222823B1 (ko) 2004-09-29 2005-09-26 정보 처리 장치, 프로세스 제어 방법, 및 컴퓨터 프로그램이 기록된 컴퓨터 판독가능한 기록 매체
EP05785989A EP1679594A4 (en) 2004-09-29 2005-09-26 INFORMATION PROCESSING DEVICE, METHOD OF CONTROLLING PROCESSING COMPUTER PROGRAM

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004-283533 2004-09-29
JP2004283533 2004-09-29
JP2005-167911 2005-06-08
JP2005167911A JP4982971B2 (ja) 2004-09-29 2005-06-08 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム

Publications (1)

Publication Number Publication Date
WO2006035731A1 true WO2006035731A1 (ja) 2006-04-06

Family

ID=36118876

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/017649 WO2006035731A1 (ja) 2004-09-29 2005-09-26 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム

Country Status (9)

Country Link
US (1) US8286161B2 (ja)
EP (1) EP1679594A4 (ja)
JP (1) JP4982971B2 (ja)
KR (1) KR101222823B1 (ja)
BR (1) BRPI0506384A (ja)
MY (1) MY142170A (ja)
RU (1) RU2397536C2 (ja)
TW (1) TWI287717B (ja)
WO (1) WO2006035731A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236529B (zh) * 2006-12-27 2013-02-06 英特尔公司 用于访问分区系统中的存储器的方法和设备

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4946102B2 (ja) * 2006-03-10 2012-06-06 ソニー株式会社 不揮発性メモリシステムおよび不揮発性メモリの管理方法
JP4702127B2 (ja) * 2006-03-22 2011-06-15 日本電気株式会社 仮想計算機システム及びその物理リソース再構成方法並びにプログラム
JP4671041B2 (ja) * 2006-03-27 2011-04-13 日本電気株式会社 モジュール化物理リソース群特定方法、その装置及びプログラム
JP4923990B2 (ja) * 2006-12-04 2012-04-25 株式会社日立製作所 フェイルオーバ方法、およびその計算機システム。
US8180997B2 (en) * 2007-07-05 2012-05-15 Board Of Regents, University Of Texas System Dynamically composing processor cores to form logical processors
JP5433837B2 (ja) * 2007-12-05 2014-03-05 株式会社日立製作所 仮想計算機システム、仮想計算機の制御方法及びプログラム
JP2009223842A (ja) * 2008-03-19 2009-10-01 Fujitsu Ltd 仮想計算機制御プログラム及び仮想計算機システム
US8607020B2 (en) * 2008-06-06 2013-12-10 International Business Machines Corporation Shared memory partition data processing system with hypervisor managed paging
KR101180763B1 (ko) 2008-08-04 2012-09-07 후지쯔 가부시끼가이샤 멀티프로세서 시스템, 멀티프로세서 시스템용 관리 장치 및 멀티프로세서 시스템용 관리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US10083407B2 (en) 2008-11-19 2018-09-25 International Business Machines Corporation Ad hoc task creation and process modification
US20100198947A1 (en) * 2009-02-04 2010-08-05 Raytheon Company System and Method for Dynamically Processing Electronic Data Between Multiple Data Sources
US8090911B2 (en) * 2009-04-16 2012-01-03 International Business Machines Corporation Selecting a target number of pages for allocation to a partition
US8418187B2 (en) * 2010-03-01 2013-04-09 Arm Limited Virtualization software migrating workload between processing circuitries while making architectural states available transparent to operating system
JP5178778B2 (ja) * 2010-06-02 2013-04-10 株式会社日立製作所 仮想計算機およびcpu割り当て方法
JP5354108B2 (ja) * 2010-09-01 2013-11-27 富士通株式会社 情報処理プログラム、情報処理装置及び情報処理方法
US8560584B2 (en) * 2010-12-15 2013-10-15 Teradata Us, Inc. Database partition management
JP5681527B2 (ja) * 2011-02-28 2015-03-11 パナソニックIpマネジメント株式会社 電力制御装置及び電力制御方法
US8910177B2 (en) * 2011-04-14 2014-12-09 Advanced Micro Devices, Inc. Dynamic mapping of logical cores
US9183030B2 (en) 2011-04-27 2015-11-10 Microsoft Technology Licensing, Llc Virtual processor allocation techniques
US8756601B2 (en) * 2011-09-23 2014-06-17 Qualcomm Incorporated Memory coherency acceleration via virtual machine migration
US8924952B1 (en) * 2012-06-27 2014-12-30 Amazon Technologies, Inc. Updating software utilizing multiple partitions
US8830716B2 (en) * 2012-09-29 2014-09-09 Intel Corporation Intelligent far memory bandwith scaling
KR101416890B1 (ko) * 2013-05-03 2014-07-08 주식회사 엘지유플러스 데이터 처리 방법 및 장치
RU2547636C1 (ru) * 2013-12-30 2015-04-10 Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" Устройство для преобразования виртуальных адресов в физические адреса
JP5820001B2 (ja) * 2014-02-24 2015-11-24 ファナック株式会社 Cpuの異常検出機能を備えた制御装置
US9286105B1 (en) 2015-03-16 2016-03-15 AO Kaspersky Lab System and method for facilitating joint operation of multiple hypervisors in a computer system
EP3286640A4 (en) * 2015-04-24 2019-07-10 Optimum Semiconductor Technologies, Inc. COMPUTER PROCESSOR HAVING SEPARATE RECORDS FOR ADDRESSING A MEMORY
US9952867B2 (en) 2015-06-26 2018-04-24 Microsoft Technology Licensing, Llc Mapping instruction blocks based on block size
US10191747B2 (en) 2015-06-26 2019-01-29 Microsoft Technology Licensing, Llc Locking operand values for groups of instructions executed atomically
US10346168B2 (en) 2015-06-26 2019-07-09 Microsoft Technology Licensing, Llc Decoupled processor instruction window and operand buffer
US10169044B2 (en) 2015-06-26 2019-01-01 Microsoft Technology Licensing, Llc Processing an encoding format field to interpret header information regarding a group of instructions
US10175988B2 (en) 2015-06-26 2019-01-08 Microsoft Technology Licensing, Llc Explicit instruction scheduler state information for a processor
US9946548B2 (en) 2015-06-26 2018-04-17 Microsoft Technology Licensing, Llc Age-based management of instruction blocks in a processor instruction window
US10409606B2 (en) 2015-06-26 2019-09-10 Microsoft Technology Licensing, Llc Verifying branch targets
US11755484B2 (en) 2015-06-26 2023-09-12 Microsoft Technology Licensing, Llc Instruction block allocation
US10409599B2 (en) 2015-06-26 2019-09-10 Microsoft Technology Licensing, Llc Decoding information about a group of instructions including a size of the group of instructions
US11016770B2 (en) 2015-09-19 2021-05-25 Microsoft Technology Licensing, Llc Distinct system registers for logical processors
US11126433B2 (en) 2015-09-19 2021-09-21 Microsoft Technology Licensing, Llc Block-based processor core composition register
US10768936B2 (en) 2015-09-19 2020-09-08 Microsoft Technology Licensing, Llc Block-based processor including topology and control registers to indicate resource sharing and size of logical processor
US10977057B2 (en) 2017-01-23 2021-04-13 Via Labs, Inc. Electronic apparatus capable of collectively managing different firmware codes and operation method thereof
US11531552B2 (en) 2017-02-06 2022-12-20 Microsoft Technology Licensing, Llc Executing multiple programs simultaneously on a processor core
US10437503B2 (en) 2017-08-02 2019-10-08 Mastercard International Incorporated Systems and methods for redundant array data alignment
KR20210066288A (ko) * 2019-11-28 2021-06-07 한국전자통신연구원 전자 장치, 인터럽트 설정 제어 방법 및 저장 매체
WO2024013828A1 (ja) * 2022-07-11 2024-01-18 日本電信電話株式会社 信号処理リソース切替装置、信号処理リソース切替システム、信号処理リソース切替方法およびプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187301A (ja) * 1992-12-18 1994-07-08 Fujitsu Ltd 仮想プロセッサ方式とデータ転送処理方法及びその装置
US5815686A (en) 1996-09-12 1998-09-29 Silicon Graphics, Inc. Method and apparatus for address space translation using a TLB
JP2000215189A (ja) * 1998-11-04 2000-08-04 Digital Equip Corp <Dec> 多数のオペレーティングシステムインスタンス及びソフトウェア制御式リソース割り当てを伴うマルチプロセッサコンピュータアーキテクチャ
JP2003345612A (ja) 2002-05-28 2003-12-05 Sony Corp 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びにコンピュータ・プログラム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5619153A (en) * 1979-07-25 1981-02-23 Fujitsu Ltd Virtual computer system
US5784706A (en) * 1993-12-13 1998-07-21 Cray Research, Inc. Virtual to logical to physical address translation for distributed memory massively parallel processing systems
US5692193A (en) * 1994-03-31 1997-11-25 Nec Research Institute, Inc. Software architecture for control of highly parallel computer systems
US5835743A (en) * 1994-06-30 1998-11-10 Sun Microsystems, Inc. Application binary interface and method of interfacing binary application program to digital computer
JPH09138716A (ja) * 1995-11-14 1997-05-27 Toshiba Corp 電子計算機
US6075938A (en) * 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US20020016891A1 (en) 1998-06-10 2002-02-07 Karen L. Noel Method and apparatus for reconfiguring memory in a multiprcessor system with shared memory
US6332180B1 (en) 1998-06-10 2001-12-18 Compaq Information Technologies Group, L.P. Method and apparatus for communication in a multi-processor computer system
US6199179B1 (en) 1998-06-10 2001-03-06 Compaq Computer Corporation Method and apparatus for failure recovery in a multi-processor computer system
US6226734B1 (en) 1998-06-10 2001-05-01 Compaq Computer Corporation Method and apparatus for processor migration from different processor states in a multi-processor computer system
US6647508B2 (en) 1997-11-04 2003-11-11 Hewlett-Packard Development Company, L.P. Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
US6260068B1 (en) 1998-06-10 2001-07-10 Compaq Computer Corporation Method and apparatus for migrating resources in a multi-processor computer system
US6381682B2 (en) 1998-06-10 2002-04-30 Compaq Information Technologies Group, L.P. Method and apparatus for dynamically sharing memory in a multiprocessor system
US6633916B2 (en) 1998-06-10 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for virtual resource handling in a multi-processor computer system
JP4634548B2 (ja) 1997-11-04 2011-02-16 ヒューレット・パッカード・カンパニー マルチプロセッサコンピュータシステム及びその動作方法
US6542926B2 (en) 1998-06-10 2003-04-01 Compaq Information Technologies Group, L.P. Software partitioned multi-processor system with flexible resource sharing levels
JP4123621B2 (ja) * 1999-02-16 2008-07-23 株式会社日立製作所 主記憶共有型マルチプロセッサシステム及びその共有領域設定方法
FR2795196B1 (fr) * 1999-06-21 2001-08-10 Bull Sa Processus de liberation de pages physiques pour mecanisme d'adressage virtuel
US6725289B1 (en) * 2002-04-17 2004-04-20 Vmware, Inc. Transparent address remapping for high-speed I/O
US6895491B2 (en) * 2002-09-26 2005-05-17 Hewlett-Packard Development Company, L.P. Memory addressing for a virtual machine implementation on a computer processor supporting virtual hash-page-table searching
WO2005036367A2 (en) * 2003-10-08 2005-04-21 Unisys Corporation Virtual data center that allocates and manages system resources across multiple nodes
US7194641B2 (en) * 2004-01-22 2007-03-20 International Business Machines Corporation Method and apparatus for managing power and thermal alerts transparently to an operating system in a data processing system with increased granularity in reducing power usage and thermal generation
US7222221B1 (en) * 2004-02-06 2007-05-22 Vmware, Inc. Maintaining coherency of derived data in a computer system
US7200734B2 (en) * 2004-07-31 2007-04-03 Hewlett-Packard Development Company, L.P. Operating-system-transparent distributed memory
US20060048160A1 (en) * 2004-09-02 2006-03-02 International Business Machines Corporation Method, apparatus, and computer program product for providing a self-tunable parameter used for dynamically yielding an idle processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187301A (ja) * 1992-12-18 1994-07-08 Fujitsu Ltd 仮想プロセッサ方式とデータ転送処理方法及びその装置
US5815686A (en) 1996-09-12 1998-09-29 Silicon Graphics, Inc. Method and apparatus for address space translation using a TLB
JP2000215189A (ja) * 1998-11-04 2000-08-04 Digital Equip Corp <Dec> 多数のオペレーティングシステムインスタンス及びソフトウェア制御式リソース割り当てを伴うマルチプロセッサコンピュータアーキテクチャ
JP2003345612A (ja) 2002-05-28 2003-12-05 Sony Corp 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びにコンピュータ・プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1679594A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236529B (zh) * 2006-12-27 2013-02-06 英特尔公司 用于访问分区系统中的存储器的方法和设备

Also Published As

Publication number Publication date
MY142170A (en) 2010-10-15
BRPI0506384A (pt) 2006-12-26
EP1679594A1 (en) 2006-07-12
KR20070054138A (ko) 2007-05-28
JP4982971B2 (ja) 2012-07-25
RU2006118704A (ru) 2007-12-20
US20060075207A1 (en) 2006-04-06
TWI287717B (en) 2007-10-01
RU2397536C2 (ru) 2010-08-20
TW200622676A (en) 2006-07-01
US8286161B2 (en) 2012-10-09
KR101222823B1 (ko) 2013-01-15
JP2006127462A (ja) 2006-05-18
EP1679594A4 (en) 2011-03-02

Similar Documents

Publication Publication Date Title
JP4982971B2 (ja) 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
JP4322232B2 (ja) 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
US7987464B2 (en) Logical partitioning and virtualization in a heterogeneous architecture
WO2006035729A1 (ja) 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
JP4345630B2 (ja) 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム
JP4719655B2 (ja) ネットワーク上におけるプロセッサ制御技術
US20120110276A1 (en) Managing migration of a shared memory logical partition from a source system to a target system
JP2005501333A (ja) プロセッサに譲渡するためのシステム
JP2008146566A (ja) 計算機、仮想デバイスの制御方法およびそのプログラム
US10289564B2 (en) Computer and memory region management method
WO2012162420A2 (en) Managing data input/output operations
US20100100892A1 (en) Managing hosted virtualized operating system environments
JP2010003257A (ja) 仮想計算機システム及びネットワークデバイス共有方法
US8139595B2 (en) Packet transfer in a virtual partitioned environment
JP5557612B2 (ja) 計算機及び転送プログラム
JP2006099333A (ja) 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
US20080307190A1 (en) System and Method for Improved Virtual Real Memory
JP2008165318A (ja) 計算機システム
JP5417303B2 (ja) 仮想計算機システム及びそのインストール方法
US20120284711A1 (en) Method and Arrangement for Configuring a Resource for a Virtual Runtime Environment
US20190238411A1 (en) Virtual machine placement based on network communication patterns with other virtual machines

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200580001488.9

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KM KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 2226/DELNP/2006

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2005785989

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020067010317

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2006118704

Country of ref document: RU

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 2005785989

Country of ref document: EP

ENP Entry into the national phase

Ref document number: PI0506384

Country of ref document: BR

NENP Non-entry into the national phase

Ref country code: DE