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

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

Info

Publication number
WO2006035729A1
WO2006035729A1 PCT/JP2005/017647 JP2005017647W WO2006035729A1 WO 2006035729 A1 WO2006035729 A1 WO 2006035729A1 JP 2005017647 W JP2005017647 W JP 2005017647W WO 2006035729 A1 WO2006035729 A1 WO 2006035729A1
Authority
WO
WIPO (PCT)
Prior art keywords
processor
logical
guest
physical
context
Prior art date
Application number
PCT/JP2005/017647
Other languages
English (en)
French (fr)
Inventor
Daisuke Yokota
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 EP05785985A priority Critical patent/EP1691287A4/en
Priority to US10/580,828 priority patent/US20080209168A1/en
Publication of WO2006035729A1 publication Critical patent/WO2006035729A1/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
    • 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
    • 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/461Saving or restoring of program or task context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • 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]

Definitions

  • the present invention relates to an information processing apparatus, a process control method, and a computer program. More specifically, in a configuration in which a plurality of logical processors share resources in the information processing apparatus to execute various data processing, the accessibility to the resources corresponding to the logical processors is improved, which is efficient.
  • the present invention relates to an information processing apparatus for realizing data processing, a process control method, and a computer program.
  • each OS can execute different processes, and hardware common to the systems, that is, CPU, memory, etc. Processing is performed by sequentially switching to time series.
  • Scheduling of execution processes (tasks) of each of a plurality of OSs is performed by, for example, partition management software.
  • OS (a) and OS ( ⁇ ) coexist in one system, let os (a) be the process of 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 processing in each OS Do.
  • Patent Document 1 discloses a task scheduling method for preferentially processing urgent processing in task management performed in each of a plurality of OSs.
  • the execution subject of various data processing is set as a partition.
  • a logical partition is set up as the subject of resource distribution in the system, and various resources such as physical processor unit usage time, virtual address space, and memory space are allocated to the logical partition. Appropriate and allocated resources The processing used is executed.
  • a logical processor corresponding to any physical processor is set, and data processing based on the logical processor is executed.
  • a logical processor and a physical processor are not necessarily in a one-to-one relationship.
  • One logical processor may be associated with a plurality of physical processors, or more than one logical processor may be associated with a single physical processor. .
  • the physical processor When multiple processes to which a logical processor is applied are executed in parallel, the physical processor will be scheduled and used by multiple logical processors. That is, multiple logical processors will use the physical processors for time sharing.
  • the OS corresponding to the logical partition set with the logical processor (A) tries to access the logical processor (A).
  • the local storage area etc. which the physical processor (1) occupies, which is occupied by the logical processor (a) corresponds to the logical processor (a) as an area corresponding to the physical processor (1) which is occupied and used. Because it is mapped to the partition's address space, the OS corresponding to the logical partition can always access the logical processor (a). By accessing the logical processor (a), various information such as local storage information corresponding to the logical processor (a) can be obtained.
  • the logical processor (A) when multiple logical processors are assigned to one physical processor and processing by time sharing is performed, as shown in FIG.
  • the OS corresponding to the logical partition accesses the logical processor (A) as in the process described above.
  • the logical processor (a) can apply the physical processor (1) as shown in access B shown in FIG. Not applied, local to physical processor Information such as storage area is not mapped to the address space of the logical partition corresponding to the logical processor (A), and the access of the logical processor (A) becomes impossible. In this case, it is necessary for the logical processor (a) to wait until the time for using the physical processor by time sharing, which causes problems such as occurrence of data processing delay.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2003- 345612
  • the present invention has been made in view of the above problems, and in a configuration in which a plurality of logical processors share resources in an information processing apparatus to execute various data processing, the resources corresponding to the logical processor It is an object of the present invention to provide an information processing apparatus, a process control method, and a computer program for realizing efficient data processing by improving the accessibility to data.
  • a first aspect of the present invention is
  • An information processing apparatus that executes data processing by associating multiple logical processors with physical processors by time sharing.
  • An information processing apparatus comprising: a context management unit that executes processing for mapping and storing in a logical partition address space corresponding to a logical partition as an application subject of the logical processor.
  • the information processing apparatus executes a process of associating multiple logical processors with a physical processor by time sharing, and an application subject of the logical processor.
  • the guest OS associated with the logical partition, and the control OS corresponds to the logical processor to which the guest OS compatible logical partition applies based on the system call from the guest OS to the control OS.
  • the control OS is a physical processor that applies a logical processor to which a logical partition compatible with the guest OS applies based on a system call to the guest OS power control OS.
  • the present invention is characterized in that it is excluded from time sharing processing targets as target of association processing, and processing is executed to map and save the context corresponding to the logical processor to the logical partition address space.
  • control OS is active state in which a logical processor is a physical processor allocation target, and inactive in a logical processor not a physical processor allocation target. It is the configuration to execute the two-state switching process between
  • Guest OS power control Based on a system call to the OS, execute processing to set the logical processor corresponding to the guest OS to inactive state, map the context corresponding to the logical processor to the logical partition address space, and save it. It is characterized in that
  • control OS is a guest OS compatible logical processor set in an inactive state based on a system call from the guest OS to the control OS. It is characterized in that it is configured to reset the logical processor to the allocation target of the physical processor by resetting to the active state.
  • the context management unit executes a saving process of a context including a logical processor register, an ⁇ port, and a local storage as a context corresponding to the logical processor. It is characterized by
  • Logical processor scheduling step that excludes logical processors from physical processor allocation targets
  • the context corresponding to the physical processor excluded from the physical processor allocation targets A context control step of executing processing for mapping and storing in a logical partition address space corresponding to a logical partition as an application subject of the logical processor.
  • the process control method further includes a system call output step from the guest OS to the control OS, and the logical processor scheduling step is the system.
  • the logical processor is excluded from the physical processor allocation target, and the context saving step corresponds to the logical processor to which the guest OS compliant logical partition applies based on the system call. It is characterized in that processing for mapping and storing the context in the logical partition address space corresponding to the guest OS is executed.
  • the control OS includes an active state in which a logical processor is assigned to a physical processor and an inactive state in which a logical processor is not assigned to a physical processor.
  • control OS is further configured to support the guest OS set in an inactive state based on a system call from the guest OS to the control OS. It is characterized in that the logical processor is reset to the active state, and the logical processor is returned to the allocation target of the physical processor.
  • a computer program that executes process control processing in a configuration that performs data processing by associating multiple logical processors with physical processors by time sharing.
  • Logical processor scheduling step that excludes logical processors from physical processor allocation targets;
  • a context saving step of executing a process of mapping and saving the context corresponding to the physical processor excluded from the allocation target of the physical processor to the logical partition address space corresponding to the logical partition as an application subject of the logical processor; It is in a computer program characterized by having.
  • the computer program according to the present invention may be, for example, a storage medium or communication medium, such as a CD, provided in a computer readable form to a general-purpose computer system capable of executing various program code. It is a computer program that can be provided by a storage medium such as FD or MO, or a communication medium such as a network. By providing such a program in a computer readable form, processing according to the program is realized on the computer system.
  • a system is a logical set configuration of a plurality of devices, and the devices of each configuration are not limited to those in the same casing.
  • the configuration of the present invention in a configuration in which a plurality of logical sub-processors are associated with a physical sub-processor by time sharing to execute data processing, it becomes an allocation target of physical sub-processors. Since the logical sub-processor's context is mapped to and stored in the logical partition address space corresponding to the logical partition as the application subject of the logical sub-processor, the logical sub-processor is a physical sub-processor. The logical sub-processor can access the logical sub-processor, load a program, etc. to the physical sub-processor. Execute without waiting for the assigned timing It is possible to dramatically improve data processing efficiency.
  • the context table is not included in the conventional context table, for example, the contents of the local storage area, 1 / O port, etc.
  • the guest OS is configured to store physical sub-processes.
  • the various status information corresponding to the logical sub-processor set to inactive status that is not in use status of the processor the contents of the register, the contents of the local storage, and the contents of the ⁇ ⁇ ⁇ port are referred to and the information is followed
  • Data processing can be performed by resource access, and data processing efficiency is improved.
  • FIG. 1 is a diagram for explaining association processing of a logical processor and a physical processor by time sharing.
  • FIG. 2 is a diagram for explaining association processing of a logical processor and a physical processor by time sharing.
  • FIG. 4 is a view showing a configuration example of a processor module.
  • FIG. 5 is a view for explaining the operation system configuration of the information processing apparatus of the present invention.
  • FIG. 6 is a diagram for explaining the process of associating a logical processor with a physical processor.
  • FIG. 7 is a view for explaining an area which can be referred to by a guest OS, and an example of setting a context table in the present invention.
  • FIG. 8 A diagram for explaining a logical partition address space compatible with a guest OS and information that can be referred to by the guest OS.
  • FIG. 9 is a diagram for explaining processing executed in a guest OS and a control OS according to the present invention.
  • FIG. 10 is a flowchart showing a processing sequence executed by a guest OS and a control OS according to the present invention.
  • FIG. 11 is a view for explaining association between logical processors and physical processors by time sharing to which the present invention is applied, and context setting processing.
  • FIG. 12 is a view for explaining association between logical processors and physical processors by time sharing to which the present invention is applied, context setting processing, and program loading processing.
  • the processor module 101 is a module configured of a plurality of processors (Processing Units), and according to a program stored in a ROM (Read Only Memory) 104, an HDD 123, etc., an operating system (OS: Operating System), OS compatible Application Performs data processing in accordance with various programs such as programs.
  • OS Operating System
  • OS compatible Application Performs data processing in accordance with various programs such as programs.
  • 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, in the processor module 101, a program to be executed and parameters and the like that appropriately change according to the execution of the program. These are mutually connected by a host bus 111 which is also configured as a CPU bus.
  • the host bus 111 is connected to an external bus 112 such as a peripheral component interconnect / interface (PCI) bus via the bridge 105.
  • the bridge 105 executes data input / output control between the host bus 111 and the external bus 112, and between 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 such as a keyboard, a pointing device, etc. operated by the user.
  • 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 including a speaker and the like.
  • An HDD (Hard Disk Drive) 123 incorporates a hard disk, drives the hard disk, and records or reproduces a program or information to be executed by the processor module 101.
  • the drive 124 is a data or processor recorded on a removable recording medium 127 such as a mounted magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory. Read out and supplies the data or program to the main memory (DRAM) 103 connected via the interface 113, the external bus 112, the bridge 105, and the host bus 111.
  • a removable recording medium 127 such as a mounted magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • DRAM main memory
  • connection port 125 is a port for connecting the externally connected device 128, and has a connection such as USB or IEEE1394.
  • the connection port 125 is connected to the processor module 101 or the like via the interface 13, 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 data reception from the outside.
  • the processor module 200 is composed of a main processor group 201 consisting of a plurality of main processors and a plurality of sub processor groups 202 to 20n consisting of a plurality of sub processors. Each has a memory controller and a secondary cache. Each processor group 201 to 20 n has, for example, eight processor units, and is connected by a crossbar architecture or a packet switched network. Under the direction of the main processor of the main processor group 201, one or more sub processors of the plurality of sub processor groups 202 to 20 n are selected, and a predetermined program is executed.
  • the apparatus of the present invention has a plurality of physical sub-processors, and software multiplexes the physical sub-processors by time sharing to provide a logical processor to the OS.
  • the control OS that controls the sub processor operates on the main processor. Note that the method of the present invention can be applied to devices that do not have a master-slave relationship like the main-sub processor, and can be applied to multiprocessor machines that have master-slave relationships like the main-sub processor. is there.
  • the memory flow controller installed in each processor group executes data input / output control with main memory 103 shown in FIG. 3, and the secondary cache is used as a storage area for processing data in each processor group. Be done.
  • the information processing apparatus of the present invention has a plurality of operating systems OS) has a multi-OS configuration that coexists. As shown in Figure 5, it has multiple operating systems (OSs) with a logical hierarchy.
  • OS operating system
  • a control OS 301 is provided in the lower layer, and a plurality of guest OSs 302 and 303 and a system control OS 304 are set in the upper layer.
  • the control OS 301 realizes a logical partition as one execution unit of each process executed in the processor module described with reference to FIG. 3 and FIG. 4 together with the system control OS 304, and the hardware resources in the system (as computer resources Execute the process of allocating the main processor, subprocessors, memory, devices, etc.) to each logical partition.
  • the guest OSs 302 and 303 are, for example, various OSs such as a game OS, Windows (registered trademark), Linux (registered trademark), etc., and are operating under the control of the control OS 301. Note that FIG. 5 shows only two guest operating systems, guest operating systems 302 and 303. The number of guest operating systems can be set to any number.
  • the guest OSs 302 and 303 operate in the logical partitions set by the control OS 301 and the system control OS 304, and apply hardware resources such as main processors, sub processors, memories, and devices assigned to the logical partitions. Perform various data processing.
  • 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 applies the hardware resource such as the main processor, sub processor, memory, and device allocated to the logical partition n, and executes the application 'program 306 for the guest OS (b) 303.
  • the control OS 301 provides a guest OS programming interface as an interface required to execute a 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 that controls system policies using a system control program's programming interface.
  • the stem control program 'programming interface is provided from the control OS 301 to the system control OS 304. It is the role of the system control program 307 to provide means for flexible customization by the program, such as setting the upper limit value of resource allocation.
  • the system control program 307 can control the behavior of the system using a system control program / programming interface. For example, a new logical partition can be created, and a new U, guest OS can be booted on that logical partition. In systems with multiple guest operating systems, those guest operating systems will be launched in the order preprogrammed into the system control program.
  • the resource allocation request submitted from the guest OS can be inspected before being accepted by the control OS 301, and the request itself can be corrected or corrected according to the system policy. This ensures that only certain guest operating systems do not monopolize resources.
  • a system control program is a system policy realized as a program.
  • the control OS 301 assigns a special logical partition (logical partition 1 in the figure) for the system control OS 304.
  • the control OS 301 operates in the hypervisor mode.
  • the guest operating system operates in supervisor mode.
  • the system control OS and application program operate in the problem mode (user mode).
  • a logical partition is an entity that receives resource allocation in the system.
  • the main memory 103 (see FIG. 3) 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 a logical partition.
  • the guest OS monopolizes the resources allocated to the logical partition to execute various data processing. In most cases, one logical partition is created for each guest operating system running on the system. Each logical partition is given a unique identifier.
  • System control OS 304 associates and manages an identifier with a system control program generated as logical partition management information.
  • the logical partitions are generated by the control OS 301 and the system control OS 304.
  • the logical partition immediately after creation has no resources, and no restriction on the resources used.
  • Logical partitions have two states: active and closed.
  • the logical partition immediately after generation is active. Based on the request of the guest OS operating in the logical partition, the logical partition transitions to the end state, is assigned to the logical partition, and all logical processors stop.
  • a logical processor is a logical processor assigned to a logical partition, and corresponds to any physical processor, ie, a processor in a processor group shown in FIG. However, a logical processor and a physical processor are not necessarily in a one-to-one relationship.
  • One logical processor may be associated with a plurality of physical processors, and a plurality of logical processors may be associated with one physical processor. .
  • 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. Allocation without the guest OS 302, 303 communicating with the system control OS 304
  • Each logical partition has a control signal port. At this port, various control signals necessary for data exchange between logical partitions arrive. Examples of control signals are listed below.
  • Control signals arriving at each logical partition are queued at the control signal port.
  • the depth of the queue is not limited as long as memory resources allow. Memory resources required for queuing are also secured by the logical partitioning ability that sends control signals.
  • the guest OS programming interface is called to retrieve control signals from this port. It is possible to send an event to any event port when a control signal arrives at an empty control signal port. The specification of the event port can be done by calling the guest os programming interface.
  • the control OS provides the logical partition with a logical sub-processor abstracting the physical sub-processor as a resource (computer resource). As described above, physical sub-processors and logical sub-processors are not associated one-to-one, and the numbers do not have to be the same. In order to realize this, the control OS can associate one physical sub-processor with multiple logical sub-processors as needed.
  • the control OS performs time-sealing on the physical sub-processors. Therefore, the logical sub-processor may repeatedly stop operation and restart operation as time passes. The guest OS can observe changes in these conditions.
  • FIG. 6 shows the physical processor configuration of one main processor 401 and physical sub processors 411 to 414, and further, time sharing of two physical sub processors, ie, physical sub processor (2) and physical sub processor (4). It shows the time sequence of the logic processor that operates by ring processing.
  • Time taO to tal logical sub processor
  • Time ta2 to ta3 logical sub processor (()
  • Time ta3 logical sub processor
  • Each logical sub-processor is allocated by the time sharing of the logical sub-processor, and each logical sub-processor applies the physical sub-processor (2) at each allocation time.
  • the physical sub processor (4) is
  • Time tb2 to tb3 logical sub processor
  • Time tb3- logical sub processor
  • Each logical sub-processor is allocated by the time sharing of S. At each allocation time, each logical sub-processor executes processing to which the physical sub-processor (4) is applied.
  • each logical sub-processor executes processing using the physical sub-processor by time sharing and further resumes data processing applied to the physical sub-processor in the next allocation period, data processing is interrupted. It is necessary to keep state information such as the hardware state at the time of This status information includes the contents of the local storage, the contents of the IZO port, and the contents of the register corresponding to each physical sub processor shown in the figure.
  • the area of the logical partition address space corresponding to that logical sub-processor reflects the state of the logical sub-processor in the area in the logical partition address space.
  • a part of the area and the dynamic storage area will be mapped, and can be accessed via other processors.
  • the configured guest OS of the logical partition associated with the logical sub-processor can be accessed via another processor.
  • the logical sub-processor is assigned to the physical sub-processor! / ⁇ , the period reflects the state of the logical sub-processor in the area in the logical partition address space corresponding to that logical sub-processor.
  • the area of the IZO port of the physical sub-processor and the logical storage area are mapped, and as a result, as described above with reference to FIG. 2, access to the logical sub-processor is generally inaccessible.
  • a context including area of a port and local storage area information is used.
  • the storage table is configured to be able to refer to other processors.
  • the logical sub-processor has an active state Z inactive state controlled by the guest OS and an execution state Z executable state controlled by the control OS. With these combinations, the following three states exist in the logical sub-processor:
  • the difference between the active state and the inactive state is whether the logical sub-processor is subject to time sharing by the control OS, ie, to which the physical sub-processor is to be assigned.
  • the active state is the state in which the logical sub-processor is subject to time sharing, ie, the target for physical processor assignment. If the logical sub-processor is active, the control OS assigns the time-shared physical sub-processor to that logical sub-processor as appropriate.
  • the inactive state is a state in which the logical sub-processors are subject to time sharing.
  • the control OS does not allocate a time-shared physical sub-processor to that logical sub-processor.
  • the context of the logical sub-processor is kept in the context table.
  • the OS maps this context to the logical partition address space, allowing other processors to access inactive logical processors. Note that the guest OS can control the active state Z inactive state of the logical sub-processor.
  • the difference between the execution state and the ready state is whether the active logical sub-processor is actually being executed by the physical sub-processor. If there are more logical sub-processors than physical sub-processors, as described above with reference to FIG. Since the server is implemented on time-shared physical sub-processors, logical sub-processors are not always executed on physical sub-processors.
  • the execution state refers to the state at the moment when the logical sub-processor is actually executing on the physical sub-processor.
  • the executable state is a state at the moment when the logical sub-processor is the target of physical processor allocation (active state) but is not actually executed by the physical sub-processor.
  • transition between these states ie, the transition between the execution state and the executable state
  • the transition between these states is generated by the context switch of the logical sub-processor generated by the control OS.
  • the guest OS can find out the execution state Z of the logic sub-processor.
  • the logical sub-processor If the logical sub-processor is active and in the running state, the area of the logical sub-processor's IZO port and the local storage area are mapped to the area in the logical partition address space. Therefore, access to the logical sub-processor is possible.
  • the control OS when the logical sub-processor transitions to the inactive state, stores the context of the logical sub-processor as the state information of the logical sub-processor, and the context table is stored. Maps to an area in the guest operating system's logical partition address space that corresponds to the logical sub-processor.
  • the guest OS can refer to the resource information of the context table of the inactive logical sub-processor from the logical partition address space of its own, and processing such as reading, writing, and updating of the resource information is performed. It can be done.
  • the guest OS can execute data processing by resource access according to the various status information corresponding to the logical processor, which is set to the inactive state when the physical processor is in use. Data processing efficiency will be improved.
  • the guest OS is configured with logical partitions and Are associated with logical sub-processors.
  • the resources are divided into guest OS inaccessible resources 501 and guest OS accessible resources 502.
  • a part 523 area of the IZO port, a local storage 524 area, etc. are mapped in the logical partition address space of the guest OS, and the guest OS Can access these resources.
  • the context is stored in the context table 531 in the main memory 525 of the logical sub-processor.
  • the context table 531 of the logical sub-processor stored in the main memory 525 is mapped to the area in the logical partition address space of the guest OS corresponding to the logical sub-processor, it can be accessed by the guest OS.
  • FIG. 8 shows the logical partition address space 560 of the guest OS corresponding to the logical sub-processor and the physical address space 570.
  • the physical address space 570 is a physical space corresponding to the main memory.
  • the guest OS can only access the physical address space mapped to the guest OS's logical partition address space area.
  • the guest OS's logical partition address space 560 is IZO. A part of the port area and the local storage area 561 are mapped, and the guest OS uses these resources. Access to the
  • the guest OS logical partition address space 560 A context table 562 is also mapped to a part of the IZO port area and a local storage area, and a related table area 562 that registers an area and register of the related port not included in the ⁇ port. You will have access to
  • FIG. 9 shows a control OS 610 that executes context saving processing, and a guest OS 620 with a logical partition configured to execute data processing by a context-aware logical processor to be saved.
  • the context is saved in a state that can be referenced by the guest OS when the logical sub-processor is set to the inactive state.
  • logical sub-processors are excluded from physical sub-processor allocation targets.
  • the guest OS 620 outputs, to the system call processing unit 611 of the control OS 610, a system call requesting storage processing to a location where the guest OS can refer to the context.
  • the system call processing unit 611 of the control OS 610 receives a system call from the guest OS 620 or the like, it outputs a scheduling change request of the logical sub-processor to the logical processor scheduling processing unit 612, and further to the logical processor in the context management unit. Request corresponding context save.
  • the system call processor 611 causes the logical sub-processor to transition from the active state to the inactive state, as required. That is, the logical sub-processor corresponding to the logical partition set in the guest OS 620 is excluded from the allocation targets of the physical sub-processor. This process sets the logical sub-processor to an inactive state.
  • the logical processor scheduling unit 612 requests the context management unit 613 to save the context corresponding to the logical sub-processor that has transitioned to the inactive state.
  • the context management unit 613 uses the logical processor scheduling unit 612. If it is requested to save / restore the context of the logical sub processor, save / restore the context is executed. When it is confirmed that this logical sub-processor is set to the inactive state, a request is issued to the main memory management unit 614 to map the context table storing the context to the logical partition address space.
  • the context to be saved includes the contents of the logical processor's local storage, the contents of the IZO port, and the contents of the register.
  • the main memory management unit 614 maps the context stored in the main memory as a physical address space to the logical partition address space area of the guest OS 620, and sets it in a state where it can be referenced from the guest OS 620.
  • the memory management unit 614 notifies the guest OS 620 of the address for context access in the logical partition address space of the guest OS 620.
  • the guest OS can refer to the context according to the notified address, and the context-based resource, that is, the area of the IZO port directly accessible to the main processor as described above, and the local storage
  • the contents of the register and main processor power can not be directly accessed in the area, and the contents of the lZO port can be acquired, and reading and writing processing of these resource information become possible.
  • the process shown in FIG. 10 sets the logical processor in which the guest OS is in the active state of its own logical partition to the inactive state and accesses the resource based on the context mapped to the logical partition address space area. And then show the processing sequence to bring the logical sub-processor back to an active state. Explain each step!
  • Step S110 is start processing of resource access of the logical sub-processor by the guest OS.
  • logical partitions are set, and access is made to the resources of logical sub-processors corresponding to the set logical partitions.
  • step S110 is the same as the process of steps S111 to S113 shown on the right side of FIG. Is configured.
  • the guest OS executes a system call to the control OS.
  • This system call is a system call that specifies a logical sub-processor and requests processing for storing the context corresponding to that logical sub-processor in a position where guest OS power can be referenced.
  • the control OS executes the processing of steps S112 and S113 in response to the receipt of the system call from the guest OS.
  • steps S112, S113, and SI 32 indicated by bold lines correspond to the processing of the control OS.
  • step S112 the control OS excludes the logical sub-processor for which guest OS power is also requested from time sharing. That is, it is excluded from the allocation targets of physical sub-processors and set to the inactive state. Further, in step S113, the storage of the context corresponding to the logical sub-processor is executed. The saved context is mapped to the guest OS's logical partition address space area, and is set to the state where the guest OS can be referenced. The saved context includes the contents of the IZO port, the contents of the local storage, and the contents of the register.
  • step S120 the guest OS accesses its own logical partition address space area context and executes resource access processing such as acquisition of context information and rewriting processing.
  • the guest OS When the guest OS finishes the resource access, the guest OS then executes the resource access completion process of the logical sub-processor at step S130.
  • step S130 is configured by the processes of steps S131 to S132 shown on the right side of FIG.
  • the guest OS executes a system call to the control OS.
  • This system call is a system call that specifies a logical processor and sets the logical processor as a candidate for time sharing, that is, a system call that requests a state transition to an inactive state.
  • step S 132 in response to the reception of the system call from the guest OS, the control OS executes processing to return the logical sub-processor requested by the guest OS to the target of time sharing. That is, they are reset to physical sub-processor allocation targets and set to active state. By these processes, the logical sub-processor is again set to the active state and becomes an allocation target of the physical processor, and data processing using the physical sub-processor is executed according to the schedule corresponding to time sharing. .
  • the logical sub-processor can be referred to with respect to its context, so that it is possible to refer to the context.
  • Resource access corresponding to logical sub-processors can be executed efficiently, and efficient data processing is realized without having to wait for resource access until physical sub-processor allocation.
  • FIG. 11 shows that two physical sub-processors (1) and two physical sub-processors (2) are assigned a plurality of logical sub-processors (A) to (E) and execute processing by time sharing. Shows an example of processing.
  • time sharing assigns the logical processor (A) to either physical sub-processor (1) or physical sub-processor (2).
  • data processing is being executed, as described above, it is mapped to a part of the IZO port area or the local storage area power and the logical partition address space compatible with the guest OS. Access to processors and their resources is possible.
  • the logical sub-processors (a) are not assigned to any of the physical sub-processors (1) and (2), and if data processing is not performed, the IZO port area Partial or local storage area power Guest ⁇ S mapped logical partition address space is not mapped.
  • the guest OS power is also excluded from the inactive state, ie, the time sharing target, by the system call to the control OS. And store the context and map the context table to the guest OS's logical partition address space. That is, the logical sub-processor (a) 701 shown in FIG. 11 is in a state of holding the referenceable context of the guest OS.
  • the logical sub-processor (A) is set in the inactive state, and the context of the logical sub-processor (A) is in the logical partition address space corresponding to the guest OS. It is mapped and shows that it is set to the state that can be viewed from the guest OS.
  • a guest OS power is also controlled and a system call to the OS is output to set the logical sub-processor (A) to an active status as inactive, and the context is mapped to the guest OS compatible logical partition address space.
  • Ru a system call to the guest OS power control OS is output to set the logical processor (A) from the inactive state to the active state.
  • the context of the logical sub-processor is not referable, and therefore the access to the OS power logical sub-processor has become an error. That is, it was necessary to wait until the next timing at which the logical sub-processor (A) is assigned to the physical sub-processor (1) or (2).
  • the configuration of the present invention enables access to a logical sub-processor without waiting for the allocation timing of the physical sub-processor of the logical sub-processor.
  • FIG. 12 sets the logical sub-processor in an inactive state, provides program transfer to the logical sub-processor and program start instruction to the logical sub-processor during the context referenceable period, and allocates the next physical sub-processor. Sometimes the execution of the program to which the physical sub processor is applied is executed immediately, showing an example of the configuration to be obtained.
  • a system call from the guest OS to the control OS causes the logical sub-processor (A) to be inactive, ie, excluded from time sharing targets, save the context, and support the context by the guest OS.
  • the guest OS can refer to the logical partition address space context corresponding to the guest OS, that is, can access the logical sub-processor (A) 701.
  • the guest OS executes transfer processing of the data processing program to the logical sub-processor (a) between times tl and t2, and further outputs a start instruction.
  • program data is loaded to the local storage area of the logical sub-processor (a) recorded in the context table.
  • the guest OS After completion of these processes, at time t2, the guest OS outputs a system call to the control OS, and the logical sub-processor (A) is set to the inactive state active state.
  • the logical sub processor (A) can immediately execute the program loaded in the local storage area of the logical sub processor (A) when using the physical sub processor by the next time sharing.
  • the logical sub-processor context can not be referenced while the logical sub-processor is not assigned to the physical sub-processor, so the local processing of the logical sub-processor is not possible. Access to the storage area has been an error. That is, program load processing can not be executed until the next timing at which the logical sub-processor (A) is assigned to the physical sub-processor (1) or physical sub-processor (2), and the program execution timing is delayed. Although the data processing efficiency has been reduced, the data processing efficiency can be improved by applying the configuration of the present invention.
  • the series of processes described in the specification can be performed by hardware, software, or a composite configuration of both.
  • the program that records the processing sequence is installed in memory in a computer built into dedicated hardware and executed, or the program is executed on a general-purpose computer that can execute various types of processing. Can be installed and run.
  • the program can be recorded in advance on a hard disk or a ROM (Read Only Memory) as a recording medium.
  • the program may be temporarily or permanently stored in a removable recording medium such as a flexible disc, a compact disc read only memory (CD-ROM), a magneto optical disc (MO), a digital versatile disc (DVD), a magnetic disc, or a semiconductor memory. It can be stored (recorded).
  • Such removable recording media can be provided as V, as packaged software.
  • the program may be installed on a removable recording medium computer as described above, and may be wirelessly transferred from the download site to the computer, or via a network such as a LAN (Local Area Network) or the Internet.
  • the program can be transferred by wire, and the computer can receive the transferred program and install it on a recording medium such as a built-in hard disk.
  • a system is a logical set configuration of a plurality of devices, and the devices of each configuration are not limited to those in the same casing.
  • the physical sub-processors are not Since the context corresponding to the logical sub-processor in the application state is mapped to and stored in the logical partition address space corresponding to the logical partition as the application subject of the logical sub-processor, the logical sub-processor Assigned to a physical sub-processor!
  • the context of the logical sub-processor can be acquired, and processing such as access to the logical sub-processor and program load is performed by the logical sub-processor Don't wait for the timing assigned to the processor It will be possible to dramatically improve data processing efficiency.
  • the context table is not included in the conventional context table, for example, the contents of local storage or I. Since the contents of the Zo port and the like are also stored, the guest os is assigned a physical sub-processor and is set to be inactive as various state information corresponding to the logical sub-processor. Data processing efficiency can be improved by referring to the contents of the iZo port, the contents of the local storage, and the contents of the register, and performing data processing by resource access according to these information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 改良されたコンテキスト保存構成によりデータ処理効率を向上させた装置および方法を提供する。複数の論理プロセッサをタイムシェアリングによって物理プロセッサに対応付けてデータ処理を実行する構成において、物理プロセッサの非適用状態にある論理プロセッサ対応のコンテキストテーブルを、論理プロセッサの適用主体としての論理パーティションに対応する論理パーティションアドレス空間にマップして保存する処理を実行する。本構成により、論理プロセッサが物理プロセッサに割り当てられていない状況において、論理プロセッサのコンテキストの取得が可能となり、論理プロセッサに対するアクセス、プログラムロードなどの処理を物理プロセッサ割り当てタイミングを待機することなく実行可能となりデータ処理効率が向上する。

Description

明 細 書
情報処理装置、プロセス制御方法、並びにコンピュータ 'プログラム 技術分野
[0001] 本発明は、情報処理装置、プロセス制御方法、並びにコンピュータ 'プログラムに関 する。さらに詳細には、複数の論理プロセッサが情報処理装置中のリソースを共有し て各種のデータ処理を実行する構成にお 、て、論理プロセッサ対応のリソースに対 するアクセス性を向上させ、効率的なデータ処理を実現する情報処理装置、プロセス 制御方法、並びにコンピュータ ·プログラムに関する。
背景技術
[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] 前述したように、各種のデータ処理の実行主体はパーティションとして設定される。
具体的には、システム内の資源分配を受ける主体としての論理パーティションが設定 され、論理パーティションに対して、物理プロセッサユニットの使用時間や、仮想アド レス空間、さらにメモリ空間などの様々なリソースが配分され、配分されたリソースを適 用した処理が実行される。論理パーティションには、いずれかの物理プロセッサに対 応する論理的なプロセッサが設定され、論理プロセッサに基づくデータ処理が実行さ れる。論理プロセッサと物理プロセッサは必ずしも 1対 1の関係にはなぐ 1つの論理 プロセッサに複数の物理プロセッサが対応付けられる場合もあり、複数の論理プロセ ッサに 1つの物理プロセッサが対応付けられる場合もある。
[0006] 論理プロセッサを適用した複数の処理が並列に実行される場合、物理プロセッサは 、複数の論理プロセッサによってスケジューリングされて使用されることになる。すな わち、複数の論理プロセッサは、タイムシェアリングによる物理プロセッサの使用を行 なうことになる。
[0007] 例えば図 1に示すように、 1つの物理プロセッサに対して 1つの論理プロセッサが割 り当てられている場合、すなわち、論理プロセッサ (ァ)が物理プロセッサ(1)を占有し て利用し、論理プロセッサ (ィ)が物理プロセッサ(2)を占有して利用している場合の 論理プロセッサ(ァ)に対するアクセス処理について考察する。
[0008] 例えば論理プロセッサ(ァ)を設定された論理パーティションに対応する OSが、論 理プロセッサ(ァ)に対してアクセスしょうとする。論理プロセッサ(ァ)の占有している 物理プロセッサ(1)が保持するローカルストレージ領域などは、占有して利用されて いる物理プロセッサ(1)に対応する領域として論理プロセッサ(ァ)に対応する論理パ ーテイシヨンのアドレス空間にマップされているため、論理パーティションに対応する OSは、常に論理プロセッサ(ァ)に対してアクセスすることが可能である。論理プロセ ッサ(ァ)に対するアクセスにより、論理プロセッサ(ァ)に対応するローカルストレージ 情報などの各種の情報を取得することができる。
[0009] し力し、例えば図 2に示すように、 1つの物理プロセッサに対して複数の論理プロセ ッサが割り当てられ、タイムシェアリングによる処理を実行している場合は、図 2に示 すアクセス Aのように、論理プロセッサ(ァ)が物理プロセッサ(1)を適用しているタイミ ングでは、上述の処理と同様、論理パーティションに対応する OSは、論理プロセッサ (ァ)に対してアクセスすることが可能である力 図 2に示すアクセス Bのように、論理プ 口セッサ(ァ)が物理プロセッサ(1)を適用して ヽな 、タイミングでは、論理プロセッサ( ァ)はいずれの物理プロセッサも適用しておらず、物理プロセッサに対するローカル ストレージ領域などの情報は、論理プロセッサ (ァ)に対応する論理パーティションの アドレス空間にマップされておらず、論理プロセッサ(ァ)のアクセスは実行不可能と なる。この場合、論理プロセッサ(ァ)がタイムシェアリングによって物理プロセッサを 利用する時間まで待機することが必要となり、データ処理の遅延の発生などの問題 が生ずることになる。
特許文献 1 :特開 2003— 345612号公報
発明の開示
発明が解決しょうとする課題
[0010] 本発明は、上述の問題点に鑑みてなされたものであり、複数の論理プロセッが情報 処理装置中のリソースを共有して各種のデータ処理を実行する構成において、論理 プロセッサ対応のリソースに対するアクセス性を向上させ、効率的なデータ処理を実 現する情報処理装置、プロセス制御方法、並びにコンピュータ 'プログラムを提供す ることを目的とする。
課題を解決するための手段
[0011] 本発明の第 1の側面は、
複数の論理プロセッサをタイムシェアリングによって物理プロセッサに対応付けてデ ータ処理を実行する情報処理装置であり、
物理プロセッサが割り当てられない状態にある論理プロセッサ対応のコンテキストを
、該論理プロセッサの適用主体としての論理パーティションに対応する論理パーティ シヨンアドレス空間にマップして保存する処理を実行するコンテキスト管理部を有する ことを特徴とする情報処理装置にある。
[0012] さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、複 数の論理プロセッサをタイムシェアリングによって物理プロセッサに対応付ける処理を 実行する制御 OSと、論理プロセッサの適用主体としての論理パーティションを対応 付けられたゲスト OSとを有し、前記制御 OSは、ゲスト OSから制御 OSに対するシス テムコールに基づ 、て、該ゲスト OS対応の論理パーティションが適用する論理プロ セッサに対応するコンテキストを、前記ゲスト OS対応の論理パーティションアドレス空 間にマップして保存する処理を実行する構成であることを特徴とする。 [0013] さらに、本発明の情報処理装置の一実施態様において、前記制御 OSは、ゲスト O S力 制御 OSに対するシステムコールに基づいて、前記ゲスト OS対応の論理パー テイシヨンが適用する論理プロセッサを物理プロセッサへの対応付け処理対象として のタイムシェアリング処理対象から除外し、前記論理プロセッサ対応のコンテキストを 、前記論理パーティションアドレス空間にマップして保存する処理を実行する構成で あることを特徴とする。
[0014] さらに、本発明の情報処理装置の一実施態様において、前記制御 OSは、論理プ 口セッサを物理プロセッサの割り付け対象とする活動状態と、論理プロセッサを物理 プロセッサの割り付け対象としない非活動状態と、の 2状態の切り替え処理を実行す る構成であり、
ゲスト OS力 制御 OSに対するシステムコールに基づいて、該ゲスト OS対応の論 理プロセッサを非活動状態に設定して、該論理プロセッサ対応のコンテキストを前記 論理パーティションアドレス空間にマップして保存する処理を実行する構成であること を特徴とする。
[0015] さらに、本発明の情報処理装置の一実施態様において、前記制御 OSは、ゲスト O Sから制御 OSに対するシステムコールに基づいて、非活動状態に設定された前記ゲ スト OS対応の論理プロセッサを活動状態に再設定して、該論理プロセッサを物理プ 口セッサの割り付け対象に戻す処理を実行する構成であることを特徴とする。
[0016] さらに、本発明の情報処理装置の一実施態様において、前記コンテキスト管理部 は、論理プロセッサ対応のコンテキストとして、論理プロセッサのレジスタ、 ιΖοポート 、ローカルストレージを含むコンテキストの保存処理を実行する構成であることを特徴 とする。
[0017] さらに、本発明の第 2の側面は、
複数の論理プロセッサをタイムシェアリングによって物理プロセッサに対応付けてデ ータ処理を実行する情報処理装置におけるプロセス制御方法であり、
論理プロセッサを物理プロセッサの割り付け対象から除外する論理プロセッサスケ ジユーリングステップと、
物理プロセッサの割り付け対象から除外した物理プロセッサ対応のコンテキストを、 該論理プロセッサの適用主体としての論理パーティションに対応する論理パーティシ ヨンアドレス空間にマップして保存する処理を実行するコンテキスト保存ステップと、 を有することを特徴とするプロセス制御方法にある。
[0018] さらに、本発明のプロセス制御方法の一実施態様において、前記プロセス制御方 法は、さらに、ゲスト OSから制御 OSに対するシステムコール出力ステップを有し、前 記論理プロセッサスケジューリングステップは、前記システムコールに基づいて、論理 プロセッサを物理プロセッサの割り付け対象から除外する処理を実行し、前記コンテ キスト保存ステップは、前記システムコールに基づいて、ゲスト OS対応の論理パーテ イシヨンが適用する論理プロセッサに対応するコンテキストを、前記ゲスト OS対応の 論理パーティションアドレス空間にマップして保存する処理を実行することを特徴とす る。
[0019] さらに、本発明のプロセス制御方法の一実施態様において、前記制御 OSは、論理 プロセッサを物理プロセッサの割り付け対象とする活動状態と、論理プロセッサを物 理プロセッサの割り付け対象としない非活動状態と、の 2状態の切り替え処理を実行 し、ゲスト OS力 制御 OSに対するシステムコールに基づいて、該ゲスト OS対応の論 理プロセッサを非活動状態に設定して、該論理プロセッサ対応のコンテキストを前記 論理パーティションアドレス空間にマップして保存する処理を実行することを特徴とす る。
[0020] さらに、本発明のプロセス制御方法の一実施態様において、前記制御 OSは、さら に、ゲスト OSから制御 OSに対するシステムコールに基づいて、非活動状態に設定さ れた前記ゲスト OS対応の論理プロセッサを活動状態に再設定して、該論理プロセッ サを物理プロセッサの割り付け対象に戻す処理を実行することを特徴とする。
[0021] さらに、本発明の第 3の側面は、
複数の論理プロセッサをタイムシェアリングによって物理プロセッサに対応付けてデ ータ処理を行なう構成においてプロセス制御処理を実行するコンピュータ 'プログラム であり、
論理プロセッサを物理プロセッサの割り付け対象から除外する論理プロセッサスケ ジユーリングステップと、 物理プロセッサの割り付け対象から除外した物理プロセッサ対応のコンテキストを、 該論理プロセッサの適用主体としての論理パーティションに対応する論理パーティシ ヨンアドレス空間にマップして保存する処理を実行するコンテキスト保存ステップと、 を有することを特徴とするコンピュータ ·プログラムにある。
[0022] なお、本発明のコンピュータ 'プログラムは、例えば、様々なプログラム 'コードを実 行可能な汎用コンピュータ ·システムに対して、コンピュータ可読な形式で提供する 記憶媒体、通信媒体、例えば、 CDや FD、 MOなどの記憶媒体、あるいは、ネットヮ ークなどの通信媒体によって提供可能なコンピュータ 'プログラムである。このようなプ ログラムをコンピュータ可読な形式で提供することにより、コンピュータ 'システム上で プログラムに応じた処理が実現される。
[0023] 本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図 面に基づぐより詳細な説明によって明らかになるであろう。なお、本明細書において システムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内に あるものには限らない。
発明の効果
[0024] 本発明の構成によれば、複数の論理サブプロセッサをタイムシェアリングによって物 理サブプロセッサに対応付けてデータ処理を実行する構成にお 、て、物理サブプロ セッサの割り当て対象になって ヽな 、論理サブプロセッサのコンテキストを、論理サ ブプロセッサの適用主体としての論理パーティションに対応する論理パーティション アドレス空間にマップして保存する処理を実行する構成としたので、論理サブプロセ ッサが物理サブプロセッサに割り当てられて!/ヽな 、状況にお!、て、該論理サブプロセ ッサのコンテキストの取得が可能となり、論理サブプロセッサに対するアクセス、プログ ラムロードなどの処理を、論理サブプロセッサが物理サブプロセッサへ割り当てられる タイミングを待機することなく実行することが可能となり、データ処理効率を飛躍的に 向上させることが可會 となる。
[0025] さらに、本発明の構成によれば、コンテキストテーブルには、レジスタの内容の他に 、従来のコンテキストテーブルには含まれない、例えばローカルストレージ領域、 1/ Oポートの内容なども併せて格納する構成としたので、ゲスト OSは、物理サブプロセ ッサの使用状態にない非活動状態に設定されている論理サブプロセッサに対応する 各種の状態情報として、レジスタの内容、ローカルストレージの内容、 ιΖοポートの 内容を参照し、これらの情報に従ったリソースアクセスによるデータ処理を実行するこ とが可能となり、データ処理効率が向上する。
図面の簡単な説明
[図 1]タイムシェアリングによる論理プロセッサと物理プロセッサとの対応付け処理に ついて説明する図である。
[図 2]タイムシェアリングによる論理プロセッサと物理プロセッサとの対応付け処理に ついて説明する図である。
圆 3]本発明の情報処理装置の構成例を示す図である。
[図 4]プロセッサモジュールの構成例を示す図である。
[図 5]本発明の情報処理装置のオペレーションシステム構成を説明する図である。
[図 6]論理プロセッサと物理プロセッサとの対応付け処理について説明する図である
[図 7]ゲスト OSによって参照可能な領域、および本発明におけるコンテキストテープ ルの設定例について説明する図である。
[図 8]ゲスト OS対応の論理パーティションアドレス空間と、ゲスト OSによって参照可能 な情報について説明する図である。
[図 9]本発明におけるゲスト OSと制御 OSとにおいて実行する処理について説明する 図である。
[図 10]本発明におけるゲスト OSと制御 OSとにおいて実行する処理シーケンスにつ いて説明するフロー図である。
[図 11]本発明を適用したタイムシェアリングによる論理プロセッサと物理プロセッサと の対応付けおよびコンテキスト設定処理について説明する図である。
[図 12]本発明を適用したタイムシェアリングによる論理プロセッサと物理プロセッサと の対応付けおよびコンテキスト設定処理、プログラムロード処理について説明する図 である。
発明を実施するための最良の形態 [0027] 以下、図面を参照しながら、本発明の情報処理装置、プロセス制御方法、並びにコ ンピュータ ·プログラムの詳細につ 、て説明する。
[0028] まず、図 3を参照して、本発明の情報処理装置のハードウェア構成例について説明 する。プロセッサモジュール 101は、複数のプロセッサ(Processing Unit)から構成され たモジュールであり、 ROM(Read Only Memory) 104、 HDD 123等に記憶されている プログラムに従って、オペレーティングシステム(OS: Operating System), OS対応の アプリケーション 'プログラムなど、各種プログラムに従ったデータ処理を実行する。プ 口セッサモジュール 101の詳細については、さらに、後段で、図 4を参照して説明する
[0029] グラフィックエンジン 102は、プロセッサモジュール 101から入力される指示に従つ て、出力部 122を構成する表示デバイスに画面出力するためのデータ生成、例えば 3Dグラフィック描画処理を実行する。メインメモリ(DRAM) 103には、プロセッサモジ ユール 101にお 、て実行するプログラムやその実行にぉ 、て適宜変化するパラメ一 タ等を格納する。これらは CPUバスなど力も構成されるホストバス 111により相互に接 続されている。
[0030] ホストバス 111は、ブリッジ 105を介して、 PCI(Peripheral Component Interconnect/ Interface)バスなどの外部バス 112に接続されている。ブリッジ 105は、ホストバス 111 、外部バス 112間、およびコントローラ 106、メモリカード 107、その他のデバイスとの データ入出力制御を実行する。
[0031] 入力部 121は、キーボード、ポインティングデバイスなどのユーザにより操作される 入力デバイス力もの入力情報を入力する。出力部 122は、液晶表示装置や CRT (Ca thode Ray Tube)などの画像出力部とスピーカ等カゝらなる音声出力部カゝら構成される
[0032] HDD (Hard Disk Drive) 123は、ハードディスクを内蔵し、ハードディスクを駆動し、 プロセッサモジュール 101によって実行するプログラムや情報を記録または再生させ る。
[0033] ドライブ 124は、装着されて!ヽる磁気ディスク、光ディスク、光磁気ディスク、または 半導体メモリ等のリムーバブル記録媒体 127に記録されているデータまたはプロダラ ムを読み出して、そのデータまたはプログラムを、インタフェース 113、外部バス 112、 ブリッジ 105、およびホストバス 111を介して接続されているメインメモリ(DRAM) 10 3に供給する。
[0034] 接続ポート 125は、外部接続機器 128を接続するポートであり、 USB, IEEE1394 等の接続部を持つ。接続ポート 125は、インタフェース 13、外部バス 112、ブリッジ 1 05、およびホストバス 111を介してプロセッサモジュール 101等に接続されている。 通信部 126は、ネットワークに接続され、プロセッサモジュール 101や、 HDD123等 から提供されるデータの送信、外部からのデータ受信を実行する。
[0035] 次に、プロセッサモジュールの構成例について、図 4を参照して説明する。図 4に示 すように、プロセッサモジュール 200は、複数のメインプロセッサからなるメインプロセ ッサグループ 201、複数のサブプロセッサからなる複数のサブプロセッサグループ 20 2〜20nによって構成されている。それぞれにメモリコントローラ、 2次キャッシュが設 けられている。各プロセッサグループ 201〜20nの各々は例えば 8つのプロセッサュ ニットを有し、クロスバーアーキテクチャ、あるいはパケット交換式ネットワークなどによ つて接続されている。メインプロセッサグループ 201のメインプロセッサの指示のもと に、複数のサブプロセッサグループ 202〜20nの 1以上のサブプロセッサが選択され 、所定のプログラムが実行される。
[0036] なお、本発明の装置は複数の物理サブプロセッサを持ち、ソフトウェアが物理サブ プロセッサをタイムシェアリングで多重化し、論理プロセッサを OSに提供する。サブプ 口セッサを制御する制御 OSはメインプロセッサ上で動作する。なお、本発明の方式 はメイン-サブプロセッサのように主従関係がある装置でなくても応用でき、メイン-サ ブプロセッサのように主従関係にな 、マルチプロセッサマシンにお 、ても適用可能で ある。
[0037] 各プロセッサグループに設置されたメモリフローコントローラは、図 3に示すメインメ モリ 103とのデータ入出力制御を実行し、 2次キャッシュは、各プロセッサグループに おける処理用データの記憶領域として利用される。
[0038] 次に、図 5を参照して、本発明の情報処理装置におけるオペレーティングシステム( OS)構成を説明する。本発明の情報処理装置は複数のオペレーティングシステム( OS)が共存するマルチ OS構成を持つ。図 5に示すように、論理的な階層構成を持 つ複数のオペレーティングシステム(OS)を持つ。
[0039] 図 5に示すように、下位レイヤに制御 OS301を有し、上位レイヤに複数のゲスト OS 302, 303、およびシステム制御 OS304力設定される。制御 OS301は、システム制 御 OS304とともに図 3、図 4を参照して説明したプロセッサモジュールにおいて実行 する各プロセスの 1つの実行単位としての論理パーティションを実現し、システム内の ハードウェア資源 (計算機資源としてのメインプロセッサ、サブプロセッサ、メモリ、デ バイス等)を各論理パーティションに割り振る処理を実行する。
[0040] ゲスト OS302, 303は、例えばゲーム OSや Windows (登録商標)、 Linux (登録 商標)などの各種の OSであり、制御 OS301の制御の下に動作する OSである。なお 、図 5には、ゲスト OS302, 303の 2つのゲスト OSのみを示してある力 ゲスト OSは 任意の数に設定することが可能である。
[0041] ゲスト OS302, 303は、制御 OS301およびシステム制御 OS304によって設定され た論理パーティション内で動作し、その論理パーティションに割り当てられたメインプ ロセッサ、サブプロセッサ、メモリ、デバイス等のハードウェア資源を適用して各種の データ処理を実行する。
[0042] 例えば、ゲスト OS (a) 302は、制御 OS301およびシステム制御 OS304によって設 定された論理パーティション 2に割り当てられたメインプロセッサ、サブプロセッサ、メ モリ、デバイス等のハードウェア資源を適用して、ゲスト OS (a) 302対応のアプリケー シヨン'プログラム 305を実行する。また、ゲスト OS (b) 303は、論理パーティション n に割り当てられたメインプロセッサ、サブプロセッサ、メモリ、デバイス等のハードゥエ ァ資源を適用して、ゲスト OS (b) 303対応のアプリケーション 'プログラム 306を実行 する。制御 OS301は、ゲスト OSの実行に必要なインタフェースとしてゲスト OSプログ ラミングインタフェースを提供する。
[0043] システム制御 OS304は、論理パーティション管理情報を含むシステム制御プロダラ ム 307を生成し、システム制御プログラム 307に基づくシステムの動作制御を制御 O S301とともに実行する。システム制御プログラム 307は、システム制御プログラム'プ ログラミングインタフェースを用いてシステムのポリシを制御するプログラムである。シ ステム制御プログラム 'プログラミングインタフェースは、制御 OS301からシステム制 御 OS304に提供される。例えばリソース配分の上限値を設定するなど、プログラムに よる柔軟なカスタマイズのための手段を提供するのがシステム制御プログラム 307の 役割である。
[0044] システム制御プログラム 307はシステム制御プログラム ·プログラミングインタフエ一 スを用いてシステムの振る舞いを制御することができる。例えば、新しく論理パーティ シヨンを作成し、その論理パーティションで新 U、ゲスト OSを起動することができる。 複数のゲスト OSが動作するシステムでは、それらのゲスト OSはシステム制御プロダラ ムにあら力じめプログラムされた順序で起動されることになる。また、ゲスト OSから提 出された資源割り当て要求を制御 OS301が受理する前に検査し、システムのポリシ に従って修正したり、要求そのものを拒否したりすることができる。これにより、特定の ゲスト OSだけが資源を独占することがないようにすることができる。このように、システ ムのポリシをプログラムとして実現したものがシステム制御プログラムである。
[0045] 制御 OS301はシステム制御 OS304のために特別な論理パーティション(図では論 理パーティション 1)を割り当てる。制御 OS301は、ハイパバイザモードで動作する。 ゲスト OSはスーパバイザモードで動作する。システム制御 OS、アプリケーション'プ ログラムはプロブレムモード(ユーザモード)で動作する。
[0046] 論理パーティションはシステム内の資源分配を受ける主体である。たとえばメインメ モリ 103 (図 3参照)はいくつかの領域へ分割され、それぞれの領域の使用権が論理 パーティションに対して与えられる。論理パーティションに分配される資源の種別には 以下のものがある。
a)物理プロセッサユニット使用時間
b)仮想アドレス空間
c)論理パーティション内で動作するプログラムがアクセスできるメモリ
d)制御 OSが論理パーティションの管理のために用いるメモリ
e)イベントポート
f)デバイスの使用権
g)キャッシュノ ーテイシヨン h)バス使用権
[0047] 前述したように、ゲスト OSは論理パーティションの中で動作する。ゲスト OSは論理 パーティションに割り当てられた資源を独占して各種のデータ処理を実行する。多く の場合、システム上で動作する個々のゲスト OS毎に 1つの論理パーティションが作 成される。各論理パーティションにはユニークな識別子が与えられる。システム制御 O S304は、論理パーティション管理情報として生成するシステム制御プログラムに識別 子を対応づけて管理する。
[0048] 論理パーティションは、制御 OS301およびシステム制御 OS304によって生成され る。生成直後の論理パーティションは何も資源を持たず、使用資源の制限も設定され ていない。論理パーティションには活動状態と終了状態という 2つの状態がある。生 成直後の論理パーティションは活動状態にある。論理パーティション内で動作するゲ スト OSの要求に基づ 、て論理パーティションは終了状態に遷移し、論理パーティシ ヨンに割り当てられて!/、る全ての論理プロセッサが停止する。
[0049] なお、論理プロセッサは、論理パーティションに割り当てられる論理的なプロセッサ であり、いずれかの物理プロセッサ、すなわち、図 4に示すプロセッサグループ内の プロセッサに対応する。ただし、論理プロセッサと物理プロセッサは必ずしも 1対 1の 関係にはなぐ 1つの論理プロセッサに複数の物理プロセッサが対応付けられる場合 もあり、複数の論理プロセッサに 1つの物理プロセッサが対応付けられる場合もある。 論理プロセッサと物理プロセッサの対応付けは、制御 OS301が決定する。
[0050] 制御 OS301は、各論理パーティションが使用する資源の量を制限する機能を備え ている。ゲスト OS302, 303がシステム制御 OS304との通信を行うことなく割り当て
Z解放が行える資源については使用量の制限が可能となっている。
[0051] 各論理パーティションは制御シグナルポートを備えている。このポートには論理パー テイシヨン間のデータ交換 z共有に必要な様々な制御シグナルが到着する。制御シ グナルの例を以下に挙げる。
a)論理パーティション間イベントポートの接続依頼
b)論理パーティション間メッセージチャネルの接続依頼
c)共有メモリ領域への接続依頼 [0052] 各論理パーティションに到着した制御シグナルは制御シグナルポートでキューイン グされる。キューの深さは、メモリ資源が許す範囲であれば、制限は無い。キューイン グに必要なメモリ資源は制御シグナルを送った論理パーティション力も確保される。こ のポートから制御シグナルを取り出すためには、ゲスト OSプログラミングインタフエ一 スを呼び出す。空の制御シグナルポートに制御シグナルが到着したときに、任意のィ ベントポートにイベントを送信することが可能である。イベントポートの指定はゲスト o sプログラミングインタフェースを呼び出すことによって行える。
[0053] 制御 OSは論理パーティションに対し、物理サブプロセッサを抽象化した論理サブ プロセッサをリソース (計算機資源)として与える。前述したように物理サブプロセッサ と論理サブプロセッサは一対一に対応付けされていない上、数が同じである必要もな い。これを実現するために、制御 OSは必要に応じて一つの物理サブプロセッサを複 数の論理サブプロセッサに対応付けることができるようになつている。
[0054] 論理サブプロセッサの数が物理サブプロセッサの数より多い場合、制御 OSは物理 サブプロセッサをタイムシ アリングして処理する。このため論理サブプロセッサは、 時間の経過をともなって動作停止や動作再開を繰り返す可能性がある。ゲスト OSは これらの状態の変化を観測することができる。
[0055] 図 6を参照して、物理プロセッサと論理プロセッサとの対応について説明する。図 6 には 1つのメインプロセッサ 401と、物理サブプロセッサ 411〜414の物理プロセッサ 構成を示し、さらに、 2つの物理サブプロセッサ、すなわち物理サブプロセッサ(2)と、 物理サブプロセッサ(4)のタイムシェアリング処理によって動作する論理ザププロセッ サのタイムシーケンスを示して 、る。
[0056] 図 6の例では、物理サブプロセッサ(2)は、
時間 taO〜tal:論理サブプロセッサ(ァ)
時間 tal〜ta2 :論理サブプロセッサ (ィ)
時間 ta2〜ta3:論理サブプロセッサ(ゥ)
時間 ta3〜 :論理サブプロセッサ (ァ)
のタイムシェアリングによって各論理サブプロセッサが割り当てられ、それぞれの割 り当て時間において、各論理サブプロセッサは物理サブプロセッサ(2)を適用した処 理を実行している。
[0057] また、物理サブプロセッサ(4)は、
時間 tbO〜tbl:論理サブプロセッサ(ィ)
時間 tbl〜tb2:論理サブプロセッサ(ゥ)
時間 tb2〜tb3:論理サブプロセッサ(ァ)
時間 tb3〜 :論理サブプロセッサ (ィ)
のタイムシェアリングによって各論理サブプロセッサが割り当てられ、それぞれの割 り当て時間において、各論理サブプロセッサは物理サブプロセッサ (4)を適用した処 理を実行している。
[0058] 各論理サブプロセッサがタイムシェアリングによって物理サブプロセッサを利用した 処理を実行し、さらに次の割り当て期間にお 、て物理サブプロセッサを適用したデー タ処理を再開するために、データ処理中断時のハードウェア状態等の状態情報を保 持しておくことが必要となる。この状態情報には、図に示す各物理サブプロセッサに 対応するローカルストレージの内容、 IZOポートの内容、レジスタの内容が含まれる
[0059] 論理サブプロセッサが物理サブプロセッサに割り当てられている期間は、その論理 サブプロセッサに対応する論理パーティションアドレス空間内の領域に、論理サブプ 口セッサの状態を反映した物理サブプロセッサの ΙΖΟポートの領域の一部とロー力 ルストレージ領域がマップされることになり、他のプロセッサを介したアクセスができる 。例えば論理サブプロセッサの対応付けられた論理パーティションの設定されたゲス ト OSが他のプロセッサを介してアクセスすることができる。
[0060] し力し、論理サブプロセッサが物理サブプロセッサに割り当てられて!/ヽな 、期間は、 その論理サブプロセッサに対応する論理パーティションアドレス空間内の領域に、論 理サブプロセッサの状態を反映した物理サブプロセッサの IZOポートの領域とロー力 ルストレージ領域がマップされて 、な 、ため、先に図 2を参照して説明したように一般 的には論理サブプロセッサへのアクセスができなくなる。しかし、本発明では、論理プ 口セッサが物理プロセッサを利用して 、な 、期間にぉ 、て論理プロセッサへのァクセ スを実現するため、 ΙΖΟポートの領域とローカルストレージ領域情報を含むコンテキ ストテーブルを他プロセッサ力もの参照可能な状態に保持する構成としている。
[0061] 以下、このコンテキスト保存構成の詳細について説明する。以下の説明において、 論理サブプロセッサを利用したデータ処理を実行するのは、図 5を参照して説明した ゲスト OSに割り当てられる論理パーティションである。論理パーティションに対応する 論理サブプロセッサに対して、タイムシェアリングによる物理プロセッサの割り当ては 制御 OSによって実行される。
[0062] 論理サブプロセッサにはゲスト OSによって制御される活動状態 Z非活動状態と、 制御 OSによって制御される実行状態 Z実行可能状態がある。これらの組み合わせ で、論理サブプロセッサには以下の 3つの状態が存在することになる。
(a)活動状態 &実行可能状態
(b)活動状態 &実行状態
(c)非活動状態
[0063] 活動状態と非活動状態の違いは、論理サブプロセッサが制御 OSによるタイムシエ ァリングの対象、すなわち物理サブプロセッサの割り当て対象になるかどうかの違い である。活動状態は、論理サブプロセッサがタイムシェアリングの対象になつている状 態、すなわち物理プロセッサの割り当て対象になつている状態である。論理サブプロ セッサが活動状態にある場合、制御 OSはタイムシェアリングした物理サブプロセッサ を適宜その論理サブプロセッサに割り付ける。
[0064] 非活動状態は論理サブプロセッサがタイムシェアリングの対象になって 、な 、状態 である。論理サブプロセッサがこの非活動状態にある場合、制御 OSは時分割した物 理サブプロセッサをその論理サブプロセッサに割り付けない。しかし、この場合にお いて、論理サブプロセッサのコンテキストはコンテキストテーブルに保持される。制御
OSがこのコンテキストを論理パーティションアドレス空間にマップすることで、他プロ セッサからの非活動状態にある論理プロセッサに対するアクセスが可能となる。なお、 ゲスト OSは論理サブプロセッサの活動状態 Z非活動状態を制御することができる。
[0065] 実行状態と実行可能状態の違いは、活動状態の論理サブプロセッサが物理サブプ 口セッサで実際に実行されているかどうかの違いである。論理サブプロセッサが物理 サブプロセッサより多い場合、先に図 2を参照して説明したように、論理サブプロセッ サはタイムシェアリングされた物理サブプロセッサで実現されるので、論理サブプロセ ッサは常に物理サブプロセッサで実行されているわけではない。実行状態は、論理 サブプロセッサが物理サブプロセッサで実際に実行されている瞬間の状態を指す。
[0066] 一方、実行可能状態は、論理サブプロセッサが物理プロセッサの割り当て対象とな つている (活動状態)が、実際に物理サブプロセッサで実行されていない瞬間の状態 である。
[0067] これらの状態間の遷移、すなわち、実行状態と実行可能状態との遷移は、制御 OS が起こす論理サブプロセッサのコンテキストスィッチによって発生する。なお、ゲスト O Sは、論理サブプロセッサの実行状態 Z実行可能状態を知ることができる。
[0068] 論理サブプロセッサが活動状態で実行状態であれば、論理パーティションアドレス 空間内の領域に、論理サブプロセッサの状態を反映した物理サブプロセッサの IZO ポートの領域とローカルストレージ領域がマップされる。従って、論理サブプロセッサ に対するアクセスが可能な状態である。
[0069] さらに、本発明の情報処理装置においては、論理サブプロセッサが非活動状態に 移行する際に、制御 OSが論理サブプロセッサの状態情報としての論理サブプロセッ サのコンテキストを保存し、コンテキストテーブルを論理サブプロセッサに対応するゲ スト OSの論理パーティションアドレス空間内の領域にマップする。この処理によって、 ゲスト OSは、自己の論理パーティションアドレス空間から非活動状態にある論理サブ プロセッサのコンテキストテーブルのリソース情報を参照することが可能となり、リソー ス情報の読み取り、書き込み、更新などの処理を行なうことができる。
[0070] さらに、コンテキストテーブルには、レジスタの内容の他に、従来のコンテキストテー ブルには含まれない、例えばローカルストレージの内容や I/Oポートの内容なども併 せて格納する構成としている。この結果、ゲスト OSは、物理プロセッサの使用状態に な 、非活動状態に設定されて 、る論理プロセッサに対応するこれらの各種の状態情 報に従ったリソースアクセスによるデータ処理を実行することが可能となり、データ処 理効率が向上する。
[0071] 図 7を参照して、ゲスト OSによる論理サブプロセッサ対応のリソースアクセス態様に ついて説明する。ゲスト OSは論理パーティションが設定され、論理パーティションに は論理サブプロセッサが対応付けられている。リソースは、ゲスト OSアクセス不可能リ ソース 501と、ゲスト OSアクセス可能リソース 502に区分される。
[0072] ゲスト OS対応の論理パーティションに対応付けられた論理サブプロセッサが活動 状態でありかつ実行状態である場合は、物理サブプロセッサ 510によるデータ処理 実行状態にあり、この状態では、ゲスト OSアクセス不可能リソース 501に含まれる汎 用レジスタ 521、 IZOポートの一部 522、さらに、ゲスト OSアクセス可能リソース 502 に含まれる I/Oポートの一部 523、ローカルストレージ 524、メインメモリ 525を適用 したデータ処理が実行される。
[0073] 物理サブプロセッサによるデータ処理実行状態にある場合は、ゲスト OSの論理パ ーテイシヨンアドレス空間には、 IZOポートの一部 523領域やローカルストレージ 524 領域等がマップされており、ゲスト OSは、これらのリソースに対してアクセスすることが できる。
[0074] 次に、論理サブプロセッサが非活動状態、すなわち、物理サブプロセッサの割り当 て対象からはずれた状態に移行すると、論理サブプロセッサのメインメモリ 525にある コンテキストテーブル 531に当該コンテキストが保存される。
[0075] メインメモリ 525に保存される論理サブプロセッサのコンテキストテーブル 531は、論 理サブプロセッサに対応するゲスト OSの論理パーティションアドレス空間内の領域に マップされるので、ゲスト OSによってアクセス可能となる。
[0076] 図 8を参照して、論理サブプロセッサに対応するゲスト OSの論理パーティションアド レス空間と、物理アドレス空間との対応について説明する。
[0077] 図 8には、論理サブプロセッサに対応するゲスト OSの論理パーティションアドレス空 間 560と、物理アドレス空間 570を示してある。物理アドレス空間 570はメインメモリに 相当する物理空間である。ゲスト OSは、ゲスト OSの論理パーティションアドレス空間 領域にマップされた物理アドレス空間のみをアクセスできる。
[0078] ゲスト OSの論理パーティション対応の論理サブプロセッサ力 活動状態でありかつ 実行状態ある場合、すなわち物理サブプロセッサによるデータ処理実行状態にある 場合は、ゲスト OSの論理パーティションアドレス空間 560には、 IZOポートの一部の 領域とローカルストレージ領域 561がマップされており、ゲスト OSは、これらのリソー スに対してアクセスすることができる。
[0079] さらに、ゲスト OSの論理パーティション対応の論理サブプロセッサ力 非活動状態 にある場合、すなわち物理サブプロセッサの割り当て対象力 除外された状態にある 場合は、ゲスト OSの論理パーティションアドレス空間 560には、前記 IZOポートの一 部の領域とローカルストレージ領域に、さらに、前記 ΙΖΟポートに含まれない関連 ΙΖ Οポートの領域とレジスタをカ卩えたコンテキストテーブル 562がマップされ、ゲスト OS は、これらのリソースに対してアクセスすることができることになる。
[0080] 図 9を参照して、コンテキスト保存処理の詳細について説明する。図 9には、コンテ キスト保存処理を実行する制御 OS610と、保存対象のコンテキスト対応の論理プロ セッサによるデータ処理を実行する論理パーティションの設定されたゲスト OS620を 示してある。
[0081] 先に図 8を参照して説明したように、コンテキストがゲスト OSから参照可能な状態に 保存されるのは、論理サブプロセッサが非活動状態に設定される場合である。すなわ ち論理サブプロセッサが物理サブプロセッサの割り当て対象から除外される場合であ る。
[0082] 図 9において、ゲスト OS620は、制御 OS610のシステムコール処理部 611に対し て、コンテキストをゲスト OSから参照可能な位置への保存処理を要求するシステムコ ールを出力する。制御 OS610のシステムコール処理部 611は、ゲスト OS620力らの システムコールを受領すると、論理プロセッサスケジューリング処理部 612に対して、 論理サブプロセッサのスケジューリング変更要求を出力し、さらにコンテキスト管理部 に論理プロセッサに対応するコンテキスト保存を依頼する。
[0083] システムコール処理部 611は、要求に応じて、論理サブプロセッサを活動状態から 非活動状態に遷移させる。すなわち、ゲスト OS620に設定された論理パーティション に対応する論理サブプロセッサを物理サブプロセッサの割り当て対象から除外する 処理を行なう。この処理によって、論理サブプロセッサは非活動状態に設定される。
[0084] さらに、論理プロセッサスケジューリング処理部 612は、コンテキスト管理部 613に 非活動状態に遷移した論理サブプロセッサに対応するコンテキストの保存処理を依 頼する。コンテキスト管理部 613は、論理プロセッサスケジューリング処理部 612によ つて論理サブプロセッサのコンテキストの保存/復元が依頼されると、コンテキストの保 存 /復元を実行する。また、この論理サブプロセッサが非活動状態に設定されたこと を確認すると、コンテキストを保存したコンテキストテーブルを論理パーティションアド レス空間へマップするようにメインメモリ管理部 614へ依頼を出す。保存するコンテキ ストには、論理プロセッサのローカルストレージの内容、 IZOポートの内容、レジスタ の内容が含まれる。
[0085] メインメモリ管理部 614は、物理アドレス空間としてのメインメモリに保存するコンテ キストをゲスト OS620の論理パーティションアドレス空間領域にマップし、ゲスト OS6 20から参照可能な状態に設定する。メモリ管理部 614は、ゲスト OS620に対して、ゲ スト OS620の論理パーティションアドレス空間におけるコンテキストアクセス用ァドレ スを通知する。
[0086] ゲスト OSは、通知されたアドレスに従って、コンテキストを参照することが可能となり 、コンテキストに基づくリソース、すなわち先に説明したようにメインプロセッサ力ゝら直 接アクセスできる IZOポートの領域とローカルストレージ領域に、さらに、レジスタの 内容、メインプロセッサ力も直接アクセスできな 、lZOポートの内容を取得することが でき、これらのリソース情報の読み取り、書き込み処理が可能となる。
[0087] 図 10を参照して、コンテキストの保存処理、および保存されたコンテキストを利用し たリソースアクセス処理にっ 、て説明する。
[0088] 図 10に示す処理は、ゲスト OSが自己の論理パーティションの活動状態にある論理 プロセッサを、非活動状態に設定して論理パーティションアドレス空間領域にマップさ れたコンテキストに基づいてリソースアクセスを実行し、さらに、その後、論理サブプロ セッサを活動状態に戻す処理シーケンスを示して 、る。各ステップにつ!/、て説明する
[0089] ステップ S110は、ゲスト OSによる論理サブプロセッサのリソースアクセスの開始処 理である。なお、このゲスト OSには、論理パーティションが設定され、設定された論理 パーティションに対応する論理サブプロセッサのリソースへのアクセスを行うものであ る。
[0090] ステップ S110の処理は、図 10の右側に示すステップ S111〜S113の処理によつ て構成される。まず、ステップ S111において、ゲスト OSは制御 OSに対してシステム コールを実行する。このシステムコールは、論理サブプロセッサを特定し、その論理 サブプロセッサ対応のコンテキストをゲスト OS力 参照可能な位置へ保存する処理 を要求するシステムコールである。
[0091] 制御 OSは、ゲスト OSからのシステムコール受領に応じて、ステップ S112、 S113 の処理を実行する。なお、図 10において、太線枠で示すステップ S 112、 S113、 SI 32は制御 OSの処理に相当する。
[0092] 制御 OSは、ステップ S 112において、ゲスト OS力も要求のあった論理サブプロセッ サをタイムシェアリングの対象から除外する。すなわち物理サブプロセッサの割り当て 対象から除外し、非活動状態に設定する。さらに、ステップ S113において、論理サ ブプロセッサ対応のコンテキストの保存を実行する。保存されるコンテキストは、ゲスト OSの論理パーティションアドレス空間領域にマップされ、ゲスト OS力 参照可能な 状態に設定される。なお、保存するコンテキストには、 IZOポートの内容、ローカルス トレージの内容、レジスタの内容が含まれる。
[0093] ステップ S120において、ゲスト OSは、 自己の論理パーティションアドレス空間領域 力 コンテキストにアクセスし、コンテキスト情報の取得、書き換え処理などリソースァ クセス処理を実行する。
[0094] ゲスト OSによるリソースアクセスが終了すると、ゲスト OSは、次に、ステップ S130に ぉ 、て、論理サブプロセッサのリソースアクセス完了処理を実行する。
[0095] ステップ S130の処理は、図 10の右側に示すステップ S131〜S132の処理によつ て構成される。まず、ステップ S131において、ゲスト OSは制御 OSに対してシステム コールを実行する。このシステムコールは、論理プロセッサを特定し、その論理プロセ ッサをタイムシ アリングの候補に設定する要求処理、すなわち非活動時様態力 活 動状態への状態遷移を要求するシステムコールである。
[0096] 制御 OSは、ゲスト OSからのシステムコールの受信に応じて、ステップ S132におい て、ゲスト OSから要求のあった論理サブプロセッサをタイムシェアリングの対象に戻 す処理を実行する。すなわち物理サブプロセッサの割り当て対象に再設定し活動状 態に設定する。 [0097] これらの処理によって、論理サブプロセッサは、再度、活動状態に設定されて物理 プロセッサの割り当て対象となり、タイムシェアリングに対応するスケジュールに応じて 物理サブプロセッサを利用したデータ処理が実行される。
[0098] このように、本発明にお 、ては、物理サブプロセッサを適用したデータ処理を実行 して ヽな 、論理サブプロセッサにつ 、て、そのコンテキストの参照を可能な構成とし たので、論理サブプロセッサ対応のリソースアクセスを効率的に実行することができ、 物理サブプロセッサの割り当てまでリソースアクセスを待機する必要がなぐ効率的な データ処理が実現される。
[0099] 図 11、図 12を参照して、本発明を適用した場合の非活動状態にある論理サブプロ セッサ対応のコンテキストを利用した処理例について説明する。
[0100] 論理サブプロセッサを適用した複数の処理が並列に実行される場合、物理サブプ 口セッサは、複数の論理サブプロセッサによってスケジューリングされて使用される。 すなわち、複数の論理サブプロセッサは、タイムシェアリングによる物理サブプロセッ サの使用を行なうことになる。
[0101] 図 11は、 2つの物理サブプロセッサ(1)、物理サブプロセッサ(2)に対して複数の 論理サブプロセッサ(ァ)〜(ェ)が割り当てられ、タイムシェアリングによる処理を実行 している処理例を示している。ここで、あるゲスト OS対応の論理サブプロセッサ(ァ) に対するアクセスを実行する場合、タイムシェアリングによって論理プロセッサ (ァ)が いずれかの物理サブプロセッサ(1)または物理サブプロセッサ(2)に割り当てられ、 データ処理が実行されている場合には、前述したように、 IZOポートの領域の一部 やローカルストレージ領域力 ゲスト OS対応の論理パーティションアドレス空間にマ ップされた状態にあるので、論理サブプロセッサ(ァ)およびそのリソースに対するァク セスが可能となる。しかし、タイムシェアリングによって論理サブプロセッサ(ァ)がいず れの物理サブプロセッサ(1)、 (2)にも割り当てられておらず、データ処理が実行され ていない場合には、 IZOポートの領域の一部やローカルストレージ領域力 ゲスト Ο S対応の論理パーティションアドレス空間にマップされていない状態となる。
[0102] ここで、本発明の構成では、ゲスト OS力も制御 OSに対するシステムコールによって 、論理サブプロセッサ (ァ)を非活動状態、すなわちタイムシェアリング対象から除外し て、コンテキストを保存し、コンテキストテーブルをゲスト OS対応の論理パーティショ ンアドレス空間にマップする構成とした。すなわち、図 11に示す論理サブプロセッサ( ァ) 701がゲスト OSの参照可能なコンテキストを保持する状態となる。
[0103] 図 11では、時刻 tl〜t2の間において、論理サブプロセッサ(ァ)を非活動状態に設 定され、論理サブプロセッサ(ァ)のコンテキストがゲスト OS対応の論理パーティショ ンアドレス空間にマップされ、ゲスト OSから参照可能な状態に設定されていることを 示している。時刻 tlにおいて、ゲスト OS力も制御 OSに対するシステムコールが出力 されて論理サブプロセッサ (ァ)が活動状態力も非活動状態に設定されるとともに、コ ンテキストがゲスト OS対応の論理パーティションアドレス空間にマップされる。また、 時刻 t2において、ゲスト OS力 制御 OSに対するシステムコールが出力されて論理 プロセッサ (ァ)が非活動状態から活動状態に設定される。
[0104] 従来は、論理サブプロセッサが物理サブプロセッサに割り当てられていない期間は 、論理サブプロセッサのコンテキストは参照可能ではなぐ従って、 OS力 論理サブ プロセッサに対するアクセスはエラーとなってしまっていた。すなわち、論理サブプロ セッサ(ァ)が物理サブプロセッサ(1)または 2に割り当てられる次のタイミングまで待 機することが必要となっていた。本発明の構成では、論理サブプロセッサの物理サブ プロセッサの割り当てタイミングを待機することなぐ論理サブプロセッサに対するァク セスが可能となる。
[0105] 図 12は、論理サブプロセッサを非活動状態に設定し、コンテキスト参照可能な期間 に、論理サブプロセッサに対してプログラムの転送、およびプログラム起動指示を与 えて、次の物理サブプロセッサの割り当て時に物理サブプロセッサを適用したプログ ラムの実行を即座に行 、得る構成例を示して 、る。
[0106] 時刻 tlにおいて、ゲスト OSから制御 OSに対するシステムコールによって、論理サ ブプロセッサ(ァ)を非活動状態、すなわちタイムシェアリング対象から除外して、コン テキストを保存し、コンテキストをゲスト OS対応の論理パーティションアドレス空間に マップする。図 12に示す時刻 tl〜t2において、ゲスト OSは、ゲスト OS対応の論理 パーティションアドレス空間力 コンテキストを参照、すなわち論理サブプロセッサ(ァ ) 701にアクセスすることができる。 [0107] ゲスト OSは、時刻 tl〜t2の間において、論理サブプロセッサ(ァ)に対するデータ 処理プログラムの転送処理を実行し、さらに、起動指示を出力する。具体的には、コ ンテキストテーブルに記録された論理サブプロセッサ(ァ)のローカルストレージ領域 に対するプログラムデータのロード処理などを実行することになる。これらの処理の終 了後に時刻 t2において、ゲスト OSは制御 OSに対して、システムコールを出力し、論 理サブプロセッサ (ァ)が非活動状態力 活動状態に設定される。論理サブプロセッ サ(ァ)は次のタイムシェアリングによる物理サブプロセッサの使用時に、論理サブプ 口セッサ(ァ)のローカルストレージ領域にロードされたプログラムを即座に実行するこ とが可能となる。
[0108] 従来は、このような処理を実行しょうとする場合、論理サブプロセッサが物理サブプ 口セッサに割り当てられていない期間は、論理サブプロセッサのコンテキストは参照 可能ではなぐ従って、論理サブプロセッサのローカルストレージ領域に対するァクセ スはエラーとなってしまっていた。すなわち、論理サブプロセッサ(ァ)が物理サブプロ セッサ(1)または物理サブプロセッサ(2)に割り当てられる次のタイミングまでプロダラ ムロード処理などは実行することできず、プログラムの実行タイミングが遅延してしま い、データ処理の効率性が落ちてしまうという欠点があつたが、本発明の構成を適用 することにより、データ処理効率を向上させることができる。
[0109] 以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、 本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ること は自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的 に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の 欄を参酌すべきである。
[0110] なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、 あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理 を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに 組み込まれたコンピュータ内のメモリにインストールして実行させる力、あるいは、各 種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させること が可能である。 [Oi l 1] 例えば、プログラムは記録媒体としてのハードディスクや ROM (Read Only Memory )に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、 CD -ROM(Compact Disc Read Only Memory), MO(Magneto optical)ディスク, DVD( Digital Versatile Disc),磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、 一時的あるいは永続的に格納 (記録)しておくことができる。このようなリムーバブル記 録媒体は、 V、わゆるパッケージソフトウェアとして提供することができる。
[0112] なお、プログラムは、上述したようなリムーバブル記録媒体力 コンピュータにインス トールする他、ダウンロードサイトから、コンピュータに無線転送したり、 LAN(Local A rea Network),インターネットといったネットワークを介して、コンピュータに有線で転 送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵する ハードディスク等の記録媒体にインストールすることができる。
[0113] なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみ ならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個 別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的 集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
産業上の利用可能性
[0114] 以上、説明したように、本発明の構成によれば、複数の論理サブプロセッサをタイム シェアリングによって物理サブプロセッサに対応付けてデータ処理を実行する構成に おいて、物理サブプロセッサの非適用状態にある論理サブプロセッサ対応のコンテ キストを、論理サブプロセッサの適用主体としての論理パーティションに対応する論 理パーティションアドレス空間にマップして保存する処理を実行する構成としたので、 論理サブプロセッサが物理サブプロセッサに割り当てられて!/ヽな 、状況にお!、て、該 論理サブプロセッサのコンテキストの取得が可能となり、論理サブプロセッサに対する アクセス、プログラムロードなどの処理を、論理サブプロセッサが物理サブプロセッサ へ割り当てられるタイミングを待機することなく実行することが可能となり、データ処理 効率を飛躍的に向上させることが可能となる。
[0115] さらに、本発明の構成によれば、コンテキストテーブルには、レジスタの内容の他に 、従来のコンテキストテーブルには含まれない、例えばローカルストレージの内容や I Zoポートの内容なども併せて格納する構成としたので、ゲスト osは、物理サブプロ セッサが割り当てられて 、な 、非活動状態に設定されて 、る論理サブプロセッサに 対応する各種の状態情報として、 iZoポートの内容、ローカルストレージの内容、レ ジスタの内容を参照し、これらの情報に従ったリソースアクセスによるデータ処理を実 行することが可能となり、データ処理効率が向上する。

Claims

請求の範囲
[1] 複数の論理プロセッサをタイムシェアリングによって物理プロセッサに対応付けてデ ータ処理を実行する情報処理装置であり、
物理プロセッサが割り当てられない状態にある論理プロセッサ対応のコンテキストを
、該論理プロセッサの適用主体としての論理パーティションに対応する論理パーティ シヨンアドレス空間にマップして保存する処理を実行するコンテキスト管理部を有する ことを特徴とする情報処理装置。
[2] 前記情報処理装置は、
複数の論理プロセッサをタイムシェアリングによって物理プロセッサに対応付ける処 理を実行する制御 OSと、
論理プロセッサの適用主体としての論理パーティションを対応付けられたゲスト OS とを有し、
前記制御 OSは、
ゲスト OS力 制御 OSに対するシステムコールに基づいて、該ゲスト OS対応の論 理パーティションが適用する論理プロセッサに対応するコンテキストを、前記ゲスト o s対応の論理パーティションアドレス空間にマップして保存する処理を実行する構成 であることを特徴とする請求項 1に記載の情報処理装置。
[3] 前記制御 OSは、
ゲスト OS力 制御 OSに対するシステムコールに基づいて、前記ゲスト OS対応の 論理パーティションが適用する論理プロセッサを物理プロセッサへの対応付け処理 対象としてのタイムシェアリング処理対象から除外し、前記論理プロセッサ対応のコン テキストを、前記論理パーティションアドレス空間にマップして保存する処理を実行す る構成であることを特徴とする請求項 2に記載の情報処理装置。
[4] 前記制御 OSは、
論理プロセッサを物理プロセッサの割り付け対象とする活動状態と、
論理プロセッサを物理プロセッサの割り付け対象としない非活動状態と、 の 2状態の切り替え処理を実行する構成であり、
ゲスト OS力 制御 OSに対するシステムコールに基づいて、該ゲスト OS対応の論 理プロセッサを非活動状態に設定して、該論理プロセッサ対応のコンテキストを前記 論理パーティションアドレス空間にマップして保存する処理を実行する構成であること を特徴とする請求項 2に記載の情報処理装置。
[5] 前記制御 OSは、
ゲスト OSから制御 OSに対するシステムコールに基づいて、非活動状態に設定され た前記ゲスト OS対応の論理プロセッサを活動状態に再設定して、該論理プロセッサ を物理プロセッサの割り付け対象に戻す処理を実行する構成であることを特徴とする 請求項 4に記載の情報処理装置。
[6] 前記コンテキスト管理部は、
論理プロセッサ対応のコンテキストとして、論理プロセッサのレジスタ、 I/Oポート、 ローカルストレージを含むコンテキストの保存処理を実行する構成であることを特徴と する請求項 1に記載の情報処理装置。
[7] 複数の論理プロセッサをタイムシェアリングによって物理プロセッサに対応付けてデ ータ処理を実行する情報処理装置におけるプロセス制御方法であり、
論理プロセッサを物理プロセッサの割り付け対象から除外する論理プロセッサスケ ジユーリングステップと、
物理プロセッサの割り付け対象から除外した物理プロセッサ対応のコンテキストを、 該論理プロセッサの適用主体としての論理パーティションに対応する論理パーティシ ヨンアドレス空間にマップして保存する処理を実行するコンテキスト保存ステップと、 を有することを特徴とするプロセス制御方法。
[8] 前記プロセス制御方法は、さらに、
ゲスト OS力 制御 OSに対するシステムコール出力ステップを有し、
前記論理プロセッサスケジューリングステップは、
前記システムコールに基づ 、て、論理プロセッサを物理プロセッサの割り付け対象 から除外する処理を実行し、
前記コンテキスト保存ステップは、
前記システムコールに基づいて、ゲスト OS対応の論理パーティションが適用する論 理プロセッサに対応するコンテキストを、前記ゲスト OS対応の論理パーティションアド レス空間にマップして保存する処理を実行することを特徴とする請求項 7に記載のプ ロセス制御方法。
[9] 前記制御 OSは、
論理プロセッサを物理プロセッサの割り付け対象とする活動状態と、
論理プロセッサを物理プロセッサの割り付け対象としない非活動状態と、 の 2状態の切り替え処理を実行し、
ゲスト OS力 制御 OSに対するシステムコールに基づいて、該ゲスト OS対応の論 理プロセッサを非活動状態に設定して、該論理プロセッサ対応のコンテキストを前記 論理パーティションアドレス空間にマップして保存する処理を実行することを特徴とす る請求項 8に記載のプロセス制御方法。
[10] 前記制御 OSは、さらに、
ゲスト OSから制御 OSに対するシステムコールに基づいて、非活動状態に設定され た前記ゲスト OS対応の論理プロセッサを活動状態に再設定して、該論理プロセッサ を物理プロセッサの割り付け対象に戻す処理を実行することを特徴とする請求項 9〖こ 記載のプロセス制御方法。
[11] 複数の論理プロセッサをタイムシェアリングによって物理プロセッサに対応付けてデ ータ処理を行なう構成においてプロセス制御処理を実行するコンピュータ 'プログラム であり、
論理プロセッサを物理プロセッサの割り付け対象から除外する論理プロセッサスケ ジユーリングステップと、
物理プロセッサの割り付け対象から除外した物理プロセッサ対応のコンテキストを、 該論理プロセッサの適用主体としての論理パーティションに対応する論理パーティシ ヨンアドレス空間にマップして保存する処理を実行するコンテキスト保存ステップと、 を有することを特徴とするコンピュータ ·プログラム。
PCT/JP2005/017647 2004-09-29 2005-09-26 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム WO2006035729A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP05785985A EP1691287A4 (en) 2004-09-29 2005-09-26 INFORMATION PROCESSING DEVICE, PROCESS CONTROL METHOD, AND COMPUTER PROGRAM
US10/580,828 US20080209168A1 (en) 2004-09-29 2005-09-26 Information Processing Apparatus, Process Control Method, and Computer Program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-283530 2004-09-29
JP2004283530A JP2006099332A (ja) 2004-09-29 2004-09-29 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム

Publications (1)

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

Family

ID=36118874

Family Applications (1)

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

Country Status (7)

Country Link
US (1) US20080209168A1 (ja)
EP (1) EP1691287A4 (ja)
JP (1) JP2006099332A (ja)
KR (1) KR20070057692A (ja)
CN (1) CN1906584A (ja)
TW (1) TWI273495B (ja)
WO (1) WO2006035729A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104586A1 (en) * 2006-10-27 2008-05-01 Microsoft Corporation Allowing Virtual Machine to Discover Virtual Status Thereof
JP4864817B2 (ja) * 2007-06-22 2012-02-01 株式会社日立製作所 仮想化プログラム及び仮想計算機システム
US8010763B2 (en) 2007-08-02 2011-08-30 International Business Machines Corporation Hypervisor-enforced isolation of entities within a single logical partition's virtual address space
US8219988B2 (en) 2007-08-02 2012-07-10 International Business Machines Corporation Partition adjunct for data processing system
US8645974B2 (en) * 2007-08-02 2014-02-04 International Business Machines Corporation Multiple partition adjunct instances interfacing multiple logical partitions to a self-virtualizing input/output device
JP5433837B2 (ja) * 2007-12-05 2014-03-05 株式会社日立製作所 仮想計算機システム、仮想計算機の制御方法及びプログラム
US8433884B2 (en) 2008-06-19 2013-04-30 Panasonic Corporation Multiprocessor
US9201673B2 (en) * 2008-07-30 2015-12-01 Microsoft Technology Licensing, Llc Efficient detection and response to spin waits in multi-processor virtual machines
JP5405799B2 (ja) * 2008-10-30 2014-02-05 株式会社日立製作所 仮想計算機の制御方法、仮想化プログラム及び仮想計算機システム
US10083407B2 (en) 2008-11-19 2018-09-25 International Business Machines Corporation Ad hoc task creation and process modification
JP2010160600A (ja) * 2009-01-07 2010-07-22 Yamatake Corp 情報処理装置、スケジューラ、及びスケジューリング方法
JP5336423B2 (ja) * 2010-05-14 2013-11-06 パナソニック株式会社 計算機システム
EP2579164B1 (en) * 2010-05-26 2021-01-06 Nec Corporation Multiprocessor system, execution control method, execution control program
JP5369356B2 (ja) * 2011-11-09 2013-12-18 株式会社日立製作所 仮想化プログラム
JP5608797B2 (ja) * 2013-07-31 2014-10-15 株式会社日立製作所 仮想化プログラム、仮想計算機システム及び計算機システム制御方法
JP5584811B2 (ja) * 2013-10-30 2014-09-03 株式会社日立製作所 仮想計算機の制御方法、仮想化プログラム及び仮想計算機システム
CN111742299A (zh) * 2018-02-28 2020-10-02 三菱电机株式会社 资源控制装置、资源控制方法和资源控制程序
US11775301B2 (en) 2021-09-24 2023-10-03 Apple Inc. Coprocessor register renaming using registers associated with an inactive context to store results from an active context

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07271738A (ja) * 1994-03-31 1995-10-20 Nec Corp ソフトウエア・アーキテクチャを用いた高度並列コンピュータ・システムの制御方式
US6751737B1 (en) * 1999-10-07 2004-06-15 Advanced Micro Devices Multiple protected mode execution environments using multiple register sets and meta-protected instructions
JP2004259106A (ja) * 2003-02-27 2004-09-16 Ntt Data Corp マルチオペレーティングシステム制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにマルチオペレーティングシステム制御装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4843541A (en) * 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
US6957435B2 (en) * 2001-04-19 2005-10-18 International Business Machines Corporation Method and apparatus for allocating processor resources in a logically partitioned computer system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07271738A (ja) * 1994-03-31 1995-10-20 Nec Corp ソフトウエア・アーキテクチャを用いた高度並列コンピュータ・システムの制御方式
US6751737B1 (en) * 1999-10-07 2004-06-15 Advanced Micro Devices Multiple protected mode execution environments using multiple register sets and meta-protected instructions
JP2004259106A (ja) * 2003-02-27 2004-09-16 Ntt Data Corp マルチオペレーティングシステム制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにマルチオペレーティングシステム制御装置

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
CN1906584A (zh) 2007-01-31
TW200611198A (en) 2006-04-01
EP1691287A4 (en) 2008-12-10
TWI273495B (en) 2007-02-11
KR20070057692A (ko) 2007-06-07
EP1691287A1 (en) 2006-08-16
JP2006099332A (ja) 2006-04-13
US20080209168A1 (en) 2008-08-28

Similar Documents

Publication Publication Date Title
WO2006035729A1 (ja) 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
JP4322232B2 (ja) 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
JP4982971B2 (ja) 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
TWI417790B (zh) 異質架構中之邏輯分割以及虛擬化
JP4056471B2 (ja) プロセッサに譲渡するためのシステム
US7421533B2 (en) Method to manage memory in a platform with virtual machines
WO2018119952A1 (zh) 一种设备虚拟化方法、装置、系统及电子设备、计算机程序产品
JP4639233B2 (ja) プロセッサ・リソースの仮想化のためのシステムおよび方法
JP4345630B2 (ja) 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム
US20060206891A1 (en) System and method of maintaining strict hardware affinity in a virtualized logical partitioned (LPAR) multiprocessor system while allowing one processor to donate excess processor cycles to other partitions when warranted
US20070277179A1 (en) Information Processing Apparatus, Communication Processing Method, And Computer Program
US10579416B2 (en) Thread interrupt offload re-prioritization
US8141084B2 (en) Managing preemption in a parallel computing system
JP2004326774A (ja) 論理的に区画化されたコンピュータにおける区画管理操作に関する非同期通知の選択的生成
US11263122B2 (en) Implementing fine grain data coherency of a shared memory region
US9088569B2 (en) Managing access to a shared resource using client access credentials
JP2006099333A (ja) 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
US10051087B2 (en) Dynamic cache-efficient event suppression for network function virtualization
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: 200580001833.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): BW GH 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: 1020067010298

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2005785985

Country of ref document: EP

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: 2005785985

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 10580828

Country of ref document: US