WO2000077599A1 - Systeme et procede de traitement de l'information; procede et dispositif d'attribution de taches; programme de stockage de supports - Google Patents

Systeme et procede de traitement de l'information; procede et dispositif d'attribution de taches; programme de stockage de supports Download PDF

Info

Publication number
WO2000077599A1
WO2000077599A1 PCT/JP2000/003973 JP0003973W WO0077599A1 WO 2000077599 A1 WO2000077599 A1 WO 2000077599A1 JP 0003973 W JP0003973 W JP 0003973W WO 0077599 A1 WO0077599 A1 WO 0077599A1
Authority
WO
WIPO (PCT)
Prior art keywords
satisfaction
task
processor
variable
power consumption
Prior art date
Application number
PCT/JP2000/003973
Other languages
English (en)
French (fr)
Inventor
Atsushi Togawa
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 US09/762,873 priority Critical patent/US6834354B1/en
Priority to EP00939090A priority patent/EP1115051A1/en
Publication of WO2000077599A1 publication Critical patent/WO2000077599A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to reducing the power consumption of an information processing system, and in particular, by appropriately controlling the operating frequency of a processor (CPU: Central Processing Unit) that plays a central role in data processing in the system.
  • the present invention relates to a power saving type information processing system and a control method thereof. More specifically, the present invention relates to an information processing system that saves power while maintaining the service quality of the system, and a control method thereof.
  • PC personal computers
  • system workstations
  • desktop type and notebook type have been developed and marketed.
  • notebook-type computers are designed and manufactured to be small and light in consideration of their portable and portable use outdoors.
  • One feature of notebook PCs is that they are “battery-powered”, which can be driven by a built-in battery. This is to ensure that commercial power is not available and that it can be used anywhere.
  • the battery built into a notebook PC is generally a “battery” that is formed by connecting a plurality of rechargeable battery cells (also called “rechargeable batteries”) such as lithium-ion. It takes the form of “no-soku”.
  • Such batteries can be reused by charging, but the charge capacity per charge is only a few hours at most when converted to the operation time of the system. In addition, it takes about the same charging time as the operation time. For this reason, various efforts have been made to save power in order to extend the battery life at least.
  • One of the features of notebook PCs is that they actively introduce power saving functions.
  • power saving of a computer is realized by reducing the driving power itself of each electric circuit component in the system. Also, the operating status (activity) in the system is low. This is also achieved by appropriately reducing or shutting down the power supply to hardware components that have been dropped or remain unused.
  • the latter type of power saving function is sometimes called "power management" in particular.
  • Examples of the form of power management implemented in the PC include turning off the power of the LCD (liquid crystal display) and its backlight, and stopping the rotation mode of the hard disk drive (HDD).
  • Devices such as LCD units and HDDs occupy a large part of the total power consumption of the system, so it can be said that the power saving effect of LCD off and HDD off is extremely high.
  • CPU CentralPRocsEsngInit
  • CPU also accounts for about one-fourth of the total power consumption of the system, so expectations for power saving are high.
  • a typical method for achieving power management of a CPU is achieved by suppressing the operating frequency.
  • the power consumption of a circuit component is determined by the amount of current passing through the transistor and gate (ie, resistor) per unit time. That is, power consumption increases almost in proportion to the increase in operating frequency. Conversely, by gradually lowering the operating frequency according to the CPU load status, the power passing through the gate is reduced. This means that the flow rate can be suppressed, thereby reducing power consumption. Power consumption can be further reduced by lowering the power supply voltage as the operating frequency decreases.
  • a CPU that can be driven at an operating frequency exceeding 300 MHz consumes the battery capacity in a short time if it runs at full power all the time, and not all tasks require the full operation of the CPU. ⁇ There are tasks that can provide sufficient quality of service even in the operating mode of the downed CPU. Alternatively, if the system is waiting for user input, clocking down the CPU has little adverse effect on user satisfaction.
  • Real-time tasks are, in short, processes that must be completed before a fixed deadline (eg, deadline), such as MPE (Moving Picture Experts Group) compressed.
  • a fixed deadline eg, deadline
  • MPE Motion Picture Experts Group
  • Frame processing is performed, deadlines are not maintained, and frames that could not be completed before processing of the next frame are “frame dropped” or “duplication” of frames.
  • applications that involve video playback 'synthesis or speech synthesis' recognition require real-time performance and impose a heavy load on the CPU.
  • the power management of cPU means a decrease in its performance, so it has a relationship between system service quality and trade-off. Therefore, it is preferable to perform power management of the CPU within a range allowed by the response time of the system from the viewpoint of optimizing the entire system.
  • An object of the present invention is to provide an excellent information processing system and a control method therefor that can achieve power saving by appropriately suppressing the operating frequency of a processor that plays a central role in data processing in the system. To do so.
  • a further object of the invention is to maintain the quality of service of the system
  • An object of the present invention is to provide an excellent information processing system capable of suppressing power consumption by suppressing an operating frequency of a processor and a control method thereof.
  • a further object of the present invention is to provide an excellent information processing system and a control method therefor that can suppress the operating frequency of the processor within the range allowed by the response time of the system and save power. Is to do.
  • the present invention 1 has been made in consideration of the above-mentioned problem, and includes a processor whose operation speed is variable, and in which the service quality is improved and the power consumption is increased as the operation speed of the processor is increased.
  • (C) Satisfaction evaluation means which is activated in response to a request from the scheduling means and evaluates satisfaction with the service provided by the evening.
  • the present invention relates to a control method of an information processing system of a type including a processor having a variable operation speed, in which service quality is improved and power consumption is increased as the operation speed of the processor is increased,
  • the present invention provides a trade-off formed between the service quality and the power consumption in a computer system of a type in which the service quality is improved and the power consumption is increased with an increase in the operation speed of a processor with a variable operation speed
  • (C) a satisfaction evaluation module which starts in response to a request from the scheduling means and evaluates the degree of satisfaction with the service provided by the evening.
  • the present invention also provides a task allocation control method in an information processing system of a type that manages and controls the execution of a program by a processor in units of tasks.
  • the present invention also provides a task allocation control device in an information processing system of a type that manages and controls the execution of a program by a processor in units of tasks,
  • (B) means for acquiring a water quantity variable which is reduced in accordance with occurrence of an overload of the processor and which approaches a predetermined value at a fixed rate every unit time;
  • (C) means for adding the water flow variable to the task water supply variable
  • (D) means for allocating a task in response to the hydration variable exceeding a threshold value and subtracting a predetermined value from the hydration variable of the task;
  • (E) means for attempting to cancel the task execution in response to the hydration variable not exceeding the threshold value.
  • the present invention has a tangible form of a computer program for causing a computer system of a type that manages and controls the execution of a program by a processor in units of tasks to control the task allocation on the computer system.
  • the target satisfaction degree of the entire information processing system is evaluated based on the weighted average of the satisfaction degree regarding power consumption and the satisfaction degree regarding service quality of each task.
  • we calculated the power consumption satisfaction based on the predicted value of the processor power consumption, and set the operating frequency of the processor so that the power consumption satisfaction approaches the target satisfaction of the whole system.
  • the operating frequency of the processor can be suppressed to save power.
  • the program providing medium is a medium for providing a computer program in a tangible and computer-readable format to a general-purpose computer system capable of executing various programs and codes.
  • the medium is CD (Compact D isc), FD (Floppy D isc), MO (Magneto-Opti
  • the form of the storage medium is not particularly limited, such as a removable and portable storage medium such as ca 1 disc) or a transmission medium such as a network (a network can be any type of radio or ⁇ -ray).
  • Such a program providing medium defines a structural or functional cooperative relationship between the combination program and the providing medium to realize the functions of a predetermined computer program on a computer system. Things.
  • a predetermined computer program into a computer system via a program providing medium related to the present invention, a cooperative action is exerted on the computer system, and The same operation and effect as those of the processing system and the control method can be obtained.
  • FIG. 1 is a diagram schematically showing a hardware configuration of a typical information processing system suitable for realizing the present invention.
  • FIG. 2 is a diagram schematically illustrating an internal configuration of a clock generator that supplies an operation clock to a processor.
  • FIG. 3 is a diagram schematically showing a scheduling / mechanism in the information processing system.
  • Figure 4 shows the resource allocation and power management mechanisms of the information processing system 10. It is the figure which showed force nism schematically.
  • FIG. 5 is a flowchart showing a processing procedure performed in the scheduling module.
  • FIG. 6 is a flowchart showing a processing procedure executed in the power management module.
  • FIG. 7 is a flowchart showing a processing procedure performed in the full evaluation module.
  • FIG. 1 schematically shows a hardware configuration of an information processing system 10 suitable for realizing the present invention.
  • the information processing system 10 may be, for example, a general-purpose computer system called “workstation” or “personal computer”. Hereinafter, each part will be described.
  • the processor 11 is a main controller that comprehensively controls the operation of the entire information processing system 10.
  • the processor 11 is a CPU (Central 1 Processor Unit) or an MPU (Micro Processor Unit). it).
  • the processor 11 executes various application programs under the control of an operating system (OS).
  • OS operating system
  • the processor 11 of the present embodiment uses a clock generator 50 (described later) It is driven in synchronization with the supplied operation clock signal of a predetermined frequency. Further, the processor 11 can change the operating frequency during operation, but as the operating frequency increases, the processing speed, that is, the performance increases, and the power consumption also increases.
  • the node 12 is a common signal transmission line composed of a number of bus signal lines such as an address bus, a data bus, a control bus, and the like.
  • bus signal lines such as an address bus, a data bus, a control bus, and the like.
  • a PCI Peripheral Computer
  • I nterco nn ect Roh 'Suya I SA (I ndu stry s t and ard A rchitecture) Roh's forces s corresponds to this.
  • Each peripheral device connected to the bus contains an I / O register to which one unique address (or memory address) is allocated.
  • the processor 11 (more specifically, the software program executed by the processor 11) specifies a 1 / address to execute a command at the I / O register of the peripheral device. The desired control can be executed by reading and writing.
  • the RAM (Romance Access Memory) 13 is a writable memory used to load a program executed by the processor 11 and to temporarily store work data.
  • the RAM 13 is usually composed of a plurality of DRAM (Dynamic RAM) chips.
  • the ROM (Read Only Memory) 14 is a read-only non-volatile memory in which stored data is permanently written during manufacturing. : On the OM 14, for example, a self-diagnosis test program (P0ST) that is executed when the system 10 is powered on, or hardware Stores a code group (BIOS) for executing input / output operations.
  • the ROM 14 may be of a type capable of erasing and rewriting, such as EE PROM (Electrically Erasable and Programmable ROM).
  • the keyboard / mouse controller (KMC) 15 is a device that receives a command input from a user through an input device 6 such as a keyboard and a mouse.
  • the KMC 15 issues an interrupt request to the processor 11 in response to occurrence of a character input from the keyboard or a coordinate instruction input from the mouse.
  • the display controller 17 is a peripheral controller that controls a drawing process in the display unit 18 and includes a frame buffer (not shown) that temporarily stores the drawing data.
  • the display section 18 includes a CRT (Cathode Ray Tube: cathode ray tube) display and an LCD iquid Crystal Display (liquid crystal display).
  • the screen displays processing data and command input.
  • the GU I (Graphica 1 User Interface) work screen (window) including menus is displayed.
  • the external storage device 19 is a relatively large-capacity rewritable and non-volatile storage device such as a hard disk drive (HDD), for example. Used to install files.
  • the external storage device 19 is, for example, a relatively large-capacity, rewritable and non-volatile storage device such as a hard disk drive (HDD) for storing data files and programs. To install files Used for
  • the media drive 20 is a device for removably loading a cartridge-type media and damaging the carried data on the media surface.
  • the media include MO (Magneto-Opticalc), CD-ROM, and DVD (Digital1 VersatiledDisc), which are removable and portable media from the system 10.
  • MO Magnetic-Opticalc
  • CD-ROM Compact Disc
  • DVD Digital1 VersatiledDisc
  • a power management program code embodying the present invention is tangibly stored on a medium in a computer-readable file format, distributed through such a medium, and externally stored by a medium drive 20. It can be installed in device 19.
  • the network interface 21 connects the information processing system 10 to a network according to a predetermined communication protocol (for example, TCP CPIP (Transmission Control Protocol Protocol)). It is a device for There are multiple computer systems on the network (hereinafter also called “remote 'systems: not shown”). Between systems on the network, for example, a computer-readable program header can be transmitted in a tangible form by, for example, a packet exchange method.
  • the information processing system 10 of the present embodiment can also receive a power management program file embodying the present invention from a remote system via a network.
  • the clock generator 50 is a device for supplying a clock signal for synchronous driving to the processor 11 and the like. Clock of this embodiment The generator 50 is capable of variably controlling the frequency of the output clock signal, but the details will be described later.
  • FIG. 2 schematically shows the internal configuration of the clock generator 50.
  • the clock generator 50 includes a clock / pulse generation unit 60 and a clock / pulse generation control unit 70.
  • the clock / pulse generator 60 includes a crystal oscillator 61, a first PLL (Phase Lock Loop) circuit 62A, a second PLL circuit 62B, and a first frequency divider 63. A and a second frequency divider 63B.
  • the crystal oscillator 62 generates a pulse of a predetermined period based on the material characteristics of the crystal, and each of the PLL circuits 62A and 62B multiplies the generated pulse period by a double, and each of the divided periods 63A and 63B By further dividing the pulse period, a predetermined frequency can be generated and output to the outside.
  • the clock 'pulse generation unit 60 has software isolation and a division ratio which are software programmable, and is controlled by the clock' pulse generation control unit 70.
  • the clock / pulse generation control unit 70 is connected to the bus 12 and It is equipped with an I / O register where a predetermined I / O address is allocated.
  • a part of the I / O register is used as a frequency control register (FRQ CR) 72 (the I / O address is, for example, address #fffff 80), and the other part is It is used as a standby control register (St and by Contro 1 Register: STB CR) 73.
  • FRQ CR frequency control register
  • STB CR standby control register
  • the command transmitted by the processor 11 1 (more specifically, the program 'code executed by the processor 11) by specifying the address is transferred to the I / O device via the bus-in interface 71 1. Written on Register evening 72 or 73.
  • a clock ratio and a frequency division ratio for controlling the operation of the clock pulse generator 60 are written.
  • the clock frequency control circuit 74 responds to the update. Change the frequency of the clock supplied to the processor 11 to a specified value by changing the scaling ratio of the PLL circuits 62A and 62B and the dividing ratio of the frequency dividers 63A and 63B in the pulse generator 60. .
  • the standby control circuit 75 When a standby start / end command (tentative name) is written in the standby control register, the standby control circuit 75 causes the clock / pulse generator 60 to enter the standby mode or return from the standby mode.
  • the standby mode itself is not directly related to the gist of the present invention, and will not be further described herein.
  • the processor 11 used in this embodiment has a clock generator 50 It is assumed that the power consumption and performance (ie, satisfaction with real-time tasks) can be controlled by changing the supplied operating frequency. In the following description, for convenience, it is assumed that the power consumption of the processor 11 is substantially proportional to its operating frequency.
  • the processor 1] of the present embodiment is a background that executes a task required by an application in order to appropriately control a trade-off relationship formed between its performance and power consumption. Executes three functional modules.
  • the scheduling module determines which task the processor 11 should execute at each point in time, and performs a process of transferring control to the task according to the determination result.
  • the power management module is started periodically to estimate the power consumption of the processor 11 and set the operating frequency. More specifically, the power consumption of the processor 11 is predicted to calculate the degree of satisfaction with respect to the power consumption, and the operation in which the degree of satisfaction with respect to the power consumption is closest to the target satisfaction degree of the entire system 10. Set to frequency. The goal satisfaction is calculated by the satisfaction evaluation module described in the next paragraph.
  • the satisfaction evaluation module evaluates how well each task can provide a satisfactory service.
  • the satisfaction evaluation module starts in response to a request from the scheduling module.
  • the degree of satisfaction regarding power consumption and the quality of service Based on the weighted average of the satisfaction levels, the target satisfaction level for the entire system 10 is calculated.
  • Satisfaction is evaluated by calculating two types of satisfaction: the degree of satisfaction that takes into account the effects of task thinning and the degree of satisfaction that does not take into account the effects of thinning.
  • the satisfaction is represented by a real number of 0.0 to 1.0.
  • each task executed by the processor 11 is scheduled with reference to a trade-off relationship formed between the performance of the processor 11 and power consumption.
  • FIG. 3 schematically shows a scheduling mechanism in the information processing system 10.
  • Application programs executed in the processor 11 are managed and controlled in units of tasks. Tasks that the application has requested to execute are placed in a queue called an executable task queue.
  • the dispatcher When the dispatcher is notified of the task to be performed, it removes it from the executable task queue and starts executing the task. In addition, the task deadline is notified to the deadline's error detection timer.
  • the deadline / miss detection timer sets a timer on the deadline to determine whether the task is completed before the timer disappears, that is, whether the deadline for each task is being followed. To detect. D If a task that is not completed before the drain is detected, that is, a deadline miss, the processor 11 is notified of an overload of the processor 11 for thinning processing.
  • the deadline / miss detection timer is a timer having a function of generating an interrupt to the processor 11 at a set time, and a plurality of times can be set at the same time.
  • the decimation process activates the Cancel 'signal to cancel this task in response to the overload notification.
  • the resource allocation and power management mechanism receives the cancel signal and controls the allocation and power management of the processing resources of the processor 11 so as to establish a trade-off relationship between the performance and the power consumption of the processor 11. Control.
  • the above-described thinning-out processing performs processing for thinning out the activation of the real-time task and maintaining the service quality (that is, satisfaction level) provided by the system 10 to the user at a constant level.
  • the service quality that is, satisfaction level
  • two variables are introduced to control the task dispatch timing: a submersion variable and a water volume variable.
  • the water flow variable is a variable that indicates the rate at which the load on the system 10 is reduced by thinning out the execution of each task.A certain amount is reduced due to the occurrence of overload, and periodically approaches 1.0 at a constant rate. It is supposed to.
  • the submersion variable is a variable indicating the capacity equivalent to the comparison result of the service quality satisfaction and the average satisfaction, and takes a value of 0.0 to 2.0.
  • the task with the earliest deadline is transferred to the dispatch mechanism.
  • the submersion variable value is Reduced by one.
  • a cancel signal is issued, and the task is skipped.
  • the cooperative operation using the water quantity variable and the water supply variable is that if water is added and the water storage exceeds a certain value, the water supply reverses and the water is discharged (that is, the task is dispatched). This is equivalent to the operation where the priming does not reverse (ie, the task is not dispatched) unless'; ⁇ : is set to a certain value.
  • FIG. 4 schematically illustrates the mechanism of resource allocation and power management in the present embodiment.
  • resource allocation and power management a weighted average of satisfaction with power consumption and satisfaction with service quality for each task is obtained. Then, the overall satisfaction of the system 10 indicated by the weighted average value is fed back, and the power management, that is, the operating frequency of the processor 11 is determined.
  • a weight factor may be applied in consideration of power consumption and attention to each task.
  • the degree of attention to a task means, for example, the priority of task execution.
  • control system for power management In the control system for power management, the difference between the degree of satisfaction with the power consumption calculated by the power management module and the degree of satisfaction with the entire system 10 indicated by the weighted average is accumulated in the accumulator. Is fed back to the power management module. On the other hand, a control system for resource allocation is provided for each task being executed.
  • FIG. 5 shows, in the form of a flowchart, a processing procedure executed in the scheduling module. The following describes each step of this flowchart.
  • step S11 it is determined whether or not there is an executable task in the execution "J function task" queue.
  • the executable task queue determines the executable state requested by the application. It has a data structure that holds the list in the form of a list.In this embodiment, it is implemented so that the deadline can be taken out in order from the earliest one.
  • the sleep state is, as it is, a state in which the operation state of the system 10 is reduced.
  • various forms are possible, such as cutting off power supply to peripheral devices such as the hard disk device 19 and the display 18. Operation itself, since the gist of the present invention is not directly related, it will not be described further herein.
  • interrupt factor is the occurrence of a user input via the input device 16 such as a keyboard or a mouse.
  • the system 10 calculates the sleep time, that is, the time from the start of the sleeve to the occurrence of the interrupt (step S13). The calculation of this time is based on the system time measured by the real-time clock (described above). Time is used. Then, the calculated sleep time is added to the total sleep time of the system 10 (step S14).
  • This “total sleep time” is a variable used by the power management module to calculate the utilization rate of the processor 11 (described later), and is the current time since the last time the power management module was started. Means the total sleep time until
  • step S11 the process proceeds to step S15, where the task with the earliest deadline in the executable task 'queue is assigned to the variable T.
  • the deadline of task T is set as a deadline miss detection timer (step S16), and control of the system 10 is given to the task D (step S17).
  • the deadline miss detection timer has a function of generating an interrupt to the processor 11 at a set time, and can set a plurality of times at the same time (described above).
  • step S14 If an interrupt occurs in the sleeve state and the sleeve time is processed (step S14), or if an interrupt occurs during execution of task T (step S18), the process proceeds to step S19. It proceeds to accept the interrupt request, and then verifies the interrupt factor in step S20.
  • the interrupt source is an interrupt from the task start time
  • a series of processes formed in steps S21 to S24 are performed.
  • This series of processing is, in short, a pre-processing for the next execution of a periodically executed task (hereinafter referred to as task T).
  • the “task start timer” here refers to the processor at the set time. This is a timer that has a function to generate an interrupt to the server 11 and can set multiple times at the same time.
  • step S21 the water variable is added to the submersion variable of task T.
  • the hydrated variable of task T is a variable that indicates the value of the capacity; that is, the result of comparing the service quality satisfaction and the ⁇ -satisfaction satisfaction with task T, and takes a value from 0.2 to 2. ⁇ .
  • Submersion variables are used to thin out real-time tasks (see below).
  • the water flow variable is reduced by a certain amount due to the occurrence of a negative ⁇ with respect to the processor 11 and periodically approaches 1.0 at a constant ratio. Take a value.
  • the value of the water variable indicates the rate at which the load on the processor 11 is reduced by thinning out the execution of each task. In other words, when the water flow variable value is 1.0, no tasks are thinned out, and when it is 0.0, all the tasks are thinned out and no tasks are started.
  • step S22 it is determined whether or not the watering variable of task ⁇ ⁇ ⁇ is smaller than 1.0. If the result of the determination is negative, 1.0 is subtracted from the watering variable of task ((step S22). 2 3), add task ⁇ ⁇ to the executable task queue (step S 24), and return to step S 11. If the result of the determination in step S22 is affirmative, a cancel 'routine (described later) of the satisfaction evaluation module is called.
  • step S21 and S22 the cooperative operation using the water flow variable and the submersion variable is that if water is added and the stored water exceeds a certain value, the submersion will be inverted and discharged. Dispatch)), but This is equivalent to the operation in which the submersion does not reverse unless the water storage amount is less than a certain value (that is, the task is not dispatched).
  • step S20 if the interrupt source is an interrupt from the deadline / miss detection, the process formed in steps S25 to S29 is performed.
  • this process is a process of canceling a failed task and preparing a line for another task.
  • step S25 the water quantity variable is multiplied by the throttle speed variable, and a cancel 'routine (described later) of the satisfaction evaluation module is called (step S26).
  • the “throttle speed variable” here is a variable that indicates the rate at which the water flow variable value is reduced when the system 10 is overloaded.
  • the aperture speed variable value is a real number between 0.0 and 1.0, and can be freely set by the system 10 designer, for example, taking into account the application characteristics and the system 10 performance. .
  • step S11 Proceed to 8 to remove task T from the executable task queue. Next, after registering the execution start time of the next cycle in the evening start time, the process returns to step S11.
  • step S18 If no interruption occurs in step S18, the satisfaction evaluation module completion procedure is called to complete the module (step S27). Next, steps S28 and S29 are executed in order to cancel the failed task and prepare for execution of another task, and then return to step S11.
  • the power management module is activated every time determined by the system 10 (eg, every 10 milliseconds). And scheduling
  • -Calculate the utilization of processor 11 by referring to the total sleep time set by the module (described above). Further, a predicted value of the power consumption of the processor 11 is calculated from the calculated utilization rate and the current operating frequency. When the power consumption of the processor 11 is proportional to the operating frequency, the predicted value P of the power consumption can be calculated according to the following equation (1).
  • P uPm + (1 _u) Ps equation (1)
  • Pm the power consumption of the processor 11 operating at the maximum operating frequency
  • Ps the power consumption of the processor 11 in the sleep mode
  • f the operating frequency of processor 1 1
  • fm processor 1
  • FIG. 6 shows the processing procedure executed in the power management module in the form of a flowchart. Hereinafter, each step of this flowchart will be described.
  • step S41 the utilization rate u of the processor 11 is calculated.
  • the utilization rate u is obtained by the formula of (repetition period-total sleep time) / repetition period.
  • the total sleep time is calculated by the scheduling module (described above).
  • step S42 the power consumption P of the processor 11 is predicted (step S43).
  • the expected power consumption P is obtained by applying the above equation (1) based on the utilization factor u and the current operating frequency f.
  • step S444 the satisfaction regarding power consumption is subtracted by 3 (step S444).
  • step S45 the operating frequency at which the satisfaction regarding power consumption is closest to the target satisfaction is calculated (step S45), and the operating frequency of the processor 11 is set.
  • the operating frequency is set by clock access; I / O access to the frequency control register 72 in 50, and writing the multiplier and division ratio in the clock's pulse generator 60 ( See above and Figure 2).
  • the power management module transitions to the sleep state and waits for the next startup time.
  • the satisfaction evaluation module is for calculating the degree of satisfaction for each task.
  • the satisfaction evaluation module can be freely set according to the type of service, such as “QoS level setting procedure”, “satisfaction evaluation procedure”, “cancel notification procedure”, and “completion notification procedure”.
  • Use procedures are preferably implemented by the application program designer, not as a mechanism within the satisfaction assessment module.
  • FIG. 7 shows, in the form of a flowchart, a processing procedure executed in the satisfaction evaluation module.
  • FIG. 7 shows, in the form of a flowchart, a processing procedure executed in the satisfaction evaluation module.
  • the satisfaction evaluation module is called as a cancel routine or a completion routine (see above and step S26 or S27 in FIG. 5).
  • the former place In this case, a cancellation notification procedure is performed (step S51), and in the latter case, a completion notification procedure is performed (step S52).
  • the return value (that is, the degree of impact on satisfaction) can be calculated, for example, according to Table 1 below. Table 1
  • step S53 the degree of satisfaction in which the target degree of satisfaction does not consider cancellation is assigned to a variable d.
  • step S54 max (1.0, min (0.0 Qos level + sensitivity xd)) is changed to Qos (Quality of S ervice) Assign to level.
  • the “Qos level” is a value for estimating the quality of service currently provided to the user, and is a real number ⁇ : 0.0 or more.
  • the sensitivity is a parameter that indicates how sensitively the QoS level should be changed with respect to the difference between the target satisfaction and the current satisfaction. It is a sudden value.
  • Application ⁇ Program designers need to adjust sensitivity according to the characteristics of the application.
  • a QoS level setting procedure is executed (step S55).
  • This procedure is a function for setting the value of the QoS level. For example, consider a case in which an application that generates a moving image changes the frame rate of the generated moving image according to the value of the QoS level. Assume that the value of the QoS level is associated with the frame rate as shown in Table 2 below. Table 2
  • the frame rate is set based on Table 2 above, and various parameters are set so that the application can appropriately perform processing according to the frame rate.
  • step S56 a satisfaction evaluation procedure is called, and the result is substituted into "satisfaction without considering cancellation".
  • the satisfaction evaluation procedure is a procedure for estimating the degree of satisfaction given to the user by the QoS set at the time, and returns a value from 0.0 to 1.0. The calculation is performed so that the satisfaction increases as the return value increases. For example, in the case of a video-generating application-task, satisfaction can be evaluated according to Table 3 below. Table 3
  • the value of the QoS level is unique to satisfaction, but is not necessarily limited to this.
  • the satisfaction level may be set to decrease rapidly as the frame rate decreases.
  • step S57 a value obtained by multiplying the return value r of the cancellation notification procedure or the completion notification procedure by the satisfaction level not considering the cancellation is substituted for the satisfaction level.
  • step S58 the target satisfaction is calculated according to the following equation (2) (step S58), and the entire processing routine ends.
  • i Module Satisfaction + ⁇ Task Satisfaction Target Satisfaction 2 J ⁇ T ⁇ ⁇
  • Equation (2) The present invention has been described in detail with reference to the specific examples. However, it is obvious that those skilled in the art can modify or substitute the embodiments without departing from the spirit of the present invention. That is, the present invention has been disclosed in the form of exemplification, and should not be construed as being limited. In order to judge the gist of the present invention, the column of claim 131 mentioned above should be considered.
  • an excellent information processing system which can achieve power saving by appropriately suppressing the operating frequency of a processor which plays a central role in data processing in a system, A control method can be provided.
  • an information processing system and a control method therefor evaluate a target satisfaction degree of the entire information processing system based on a weighted average of satisfaction regarding power consumption and satisfaction regarding service quality of each task. Calculate the degree of satisfaction with regard to power consumption based on the predicted value of power consumption, and set the operating frequency of the processor so that the degree of satisfaction with respect to power consumption approaches the target satisfaction degree of the entire system. Therefore, while maintaining the service quality of the system, Power consumption by suppressing the operating frequency of the

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)

Description

明細書 情報処理システム及びその制御方法、 タスク割当て制御方法及び 制御装 、 並びにプログラム提供媒体
技術分野 本発明は、 情報処理システムの消費電力の低減に係り、 特に、 シ ステム内におけるデータ処理の中核を担うプロセッサ ( C P U : C e n t r a l P r o c e s s i ng Un i t ) の動作周波数を 適宜抑制することによって省電力化を図るタイプの情報処理システ ム及びその制御方法に関する。 更に詳しくは、 本発明は、 システム のサービス品質を維持しながら省電力化を図る情報処理システム及 びその制御方法に関する。
景技俯 昨今の技術革新に伴い、 デスク トップ型、 ノートブック型など各 種のパーソナル ' コンピュータ (以下、 「P C」 又は 「システム」 ともいう) やワークステーションが開発され市販されている。 この うち、 ノートブック型のコンピュータは、 屋外での携帯的 '可搬的 な使用を考量して、 小型かつ軽量に設計 ·製作されたものである。 ノー卜ブック型 P Cの 1つの特徴は、 内蔵したバッテリでも駆動 できる 「バッテリ駆動型」 である点である。 これは、 商用電源が届 かなし、場所での使用を可能にするためである。 ノートブック P Cが 内蔵するバッテリは、 一般には、 リチウム ' イオンなどの充電式の バ ッ テ リ ' セル ( 「2次電池」 ともいう) を複数個接続してパヅケ —ジ化してなる 「バヅテリ 'ノ ソ ク」 の形態を採っている。 このよ うなバッテリ ·ノ ソクは、 充電により再利用可能ではあるが、 1回 当たりの充電容量はシステムのオペレ一ション時間に換算してせい ぜぃ 2〜 3時間程度にすぎない。 また、 オペレーション時間と同程 度の充電時間を要してしまう。 このため、 バッテリの持続時間を少 しでも長くするべく、 省電力化するための数々の工夫が凝らされて いる。 省電力化機能を積極的に導入している点も、 ノートブック P Cの特徴の 1つと言えよう。
最近では、 商用電源によって無尽蔵に給電可能なデスク トップ型 P Cに対しても、 エコロジー的な観点から、 省電力化の要求が高ま つてきている。 米環境保護庁 (E PA) は、 1 993年 6月に、 " E n e r g S t a r C ompu t e r P r o g r am'- と 呼ばれる自主規制を発表し、 動作待ち状態での省電力が一定基準以 下 (駆動電力が 30 W以下、 又は CPUフル稼働時の 30%以下) になることを要求している。 このため、 各コンピュータ · メーカは、 競ってこの規制案に沿ったコンピュータ製品の研究 ·開発を進める ようになつてきた。
コンピュータの省電力化は、 例えばシステム内の各電気回路コン ポーネン卜の駆動電力そのものを低減させることによって実現され る。 また、 システム内において、 動作状態 (アクティビティ) が低 下したり未使用状態が継続するハードウエア構成要素に対する電源 供給を適宜低下し若しくは遮断する、 ということによつても実現さ れる。 後者のような省電力化機能のことを、 特に 「パワー 'マネー ジメン ト (P owe r Mana g eme n t ) 」 と呼ぶこともあ る。
P Cにおけるパワー · マネージメン 卜の実装形態としては、 L C D (液晶表示ディスプレイ) 及びそのバックライ 卜の電源オフや、 ハード ·ディスク · ドライブ (HDD) のディスク回転モー夕の停 止などが挙げられる。 L CDュニッ 卜や HDDなどのデバイス類は、 システムの総消費電力に大きなゥ工一卜を占めるので、 L CDオフ や HD Dオフによる省電力化の効果は極めて高いと言える。
また、 CPU (C e nt r a l P r o c e s s i n g Un i t ) も、 システムの総消費電力の約 4分の 1を占めるので、 省電力 化に対する期待は高い。
液晶表示ディスプレイやハード ·ディスク装置については、 既に 消費電力が減少する見通しである。 これに対し、 CPUは、 今後も、 高集積化や動作周波数の高速化などにより、 消費電力がさらに増大 する可能性がある。 このため、 CPUに対するパワー · マネ一ジメ ン卜は、 今後益々重要性を増すであろう。
CP Uのパワー ·マネージメン卜を実現する典型的な方法は、 動 作周波数の抑制によって実現される。 回路コンポーネン卜の消費電 力は、 単位時間当たりにトランジスタ ,ゲート (すなわち抵抗体) を通過する電流量で定まる。 すなわち、 動作周波数の高速化にほぼ 比例して消費電力が増大する。 逆に、 CPUの負荷状況に応じてそ の動作周波数を段階的に落としていくことで、 ゲートを通過する電 流量を抑制し、 以て消費電力の削減を図ることができるという訳で ある。 動作周波数の低下に応じて電源電圧も下げることにより、 消 費電力を更に削減することができる。
ただし、 C P Uの動作周波数の低下は C P Uのパフォーマンス低 下を意味するので、 システムのサービス品 t (あるいはシステムの パフォーマンスを要求するユーザの満足度) と トレードオフの関係 にある。
例えば 300 MH zを越える動作周波数により駆動可能な CPU は、 常にフル稼動を続けるとバッテリ容量を短時間で消耗してしま うし、 全てのタスクが C P Uのフル稼動を必要とするとは限らない c クロック · ダウンした C P Uの動作モード下でも、 十分なサービス 品質が得られるタスクがある。 あるいは、 システムがユーザ入力待 ち状態であれば、 CPUをクロック · ダウンさせてもユーザの満足 度にはほとんど悪影響がない。
他方、 リアル夕ィム性が要求される処理を実行中に C P Uのパヮ ― ·マネージメン 卜動作 (すなわちクロック · ダウン) をイネ一ブ ルすると、 パフォーマンスが低下する結果としてシステムのサービ ス品質の低下をも招来する。
リアルタイム · タスクは、 略言すれば、 定められた期限 (デッ ド ライン) 以前に完了する必要がある処理のことを意味し、 例えば、 MPE G (Mo v i n g P i c t u r e Exp e r t s Gro up) 圧縮された動画像の各フレームを復元して画面表示する処 理などが挙げられる。 この場合、 フレームの表示時間である 30分 の 1秒毎に 1フレームを MP E G復元して表示する処理を完了させ る必要がある。 すなわち、 30分の 1秒をデッ ドラインとして各フ レームの処理が行われ、 デッ ドラインが維持されず、 次のフレーム の処理開始前に処理を完了できなかったフレームは 「フレーム落 ち」 となったりフレームの 「重複」 となる。 般に、 動画像再生 ' 合成や、 音声合成 '認識などを伴うアプリケーションは、 リアル夕 ィム性が要求される上に、 C P Uに高い負荷を課する。
このようなリアルタイム処理を実行中に、 パワー ·マネ一ジメン トを優先して C P Uのパフォーマンスを低下させると、 デッ ドライ ン以前に処理が完了せず、 処理を続ける意味がなくなつてしまう。 また、 デッ ドラインが守られないと、 フレーム落ちやフレームの重 複が生じる結果として、 システムのサービス品質 (すなわちユーザ の満足度) は低下する。
以上を要約すれば、 c P Uのパワー ·マネージメン卜はそのパフ ォ一マンス低下を意味することから、 システムのサービス品質と ト レ一ドオフの関係にある訳である。 したがって、 システムの応答時 間が許容する範囲内で C P Uのパワー ·マネージメントを行うこと が、 システム全体の最適化という観点から好ましい。
発明の開示 本発明の目的は、 システム内におけるデータ処理の中核を担うプ 口セッサの動作周波数を適宜抑制することによって省電力化を図る ことができる、 優れた情報処理システム及びその制御方法を提供す ることにある。
本発明の更なる目的は、 システムのサービス品質を維持しながら、 プロセッザの動作周波数を抑制して省電力化を図ることができる、 優れた情報処理システム及びその制御方法を提供することにある。 本発叨の更なる目的は、 システムの応答時問が許 ^する範囲内で プロセッザの動作周波数を抑制して省電力化を図ることができる、 優れた† 報処理システム及びその制御方法を提供することにある。 本発 1 は、 上記課題を参酌してなされたものであり、 動作速度可 変なプロセッサを含み、 該プロセッサの動作速度の増大に伴ってサ —ビス品質が向上するとともに消費電力が増加するタイプの情報処 理システムであって、
( A ) 前記プロセッサにおいて次に処理されるタスクを選択し、 選 択結 ¾に従って該選択されたタスクにプロセッサの制御を移行させ る処理を行うスケジユーリング手段と、
( B ) 周期的に起動されて、 前記プロセッサの消費電力の予測と動 作周波数の設定を行う電力管理手段と、
( C ) 前記スケジューリング手段からの要求に応答して起動し、 夕 スクが提供するサービスに対する満足度を評価する満足度評価手段 とを具備することを特徴とする。
また、 本発明は、 動作速度可変なプロセッサを含み、 該プロセッ ザの動作速度の増大に伴ってサービス品質が向上するとともに消費 電力が増加する夕ィプの情報処理システムの制御方法であって、
( A ) 前記プロセッサにおいて次に処理されるタスクを選択し、 選 択結果に従って該選択されたタスクにプロセッサの制御を移行させ る処理を行うスケジユーリング · ステツプと、
( B ) 周期的に起動されて、 前記プロセッサの消費電力の予測と動 作周波数の設定を行う電力管理ステツプと、 ( C ) 前記スケジユーりング · ステツプからの要求に応答して起動 し、 タスクが提供するサービスに対する満足度を評価する満足度評 価ステップとを具備することを特徴とする。
また、 本発明は、 動作速度可変なプロセッサの動作速度の増大に 伴ってサービス品質が向上するとともに消費電力が増加するタイプ のコンピュータ · システムにおける該サービス品質と該消费 力間 で形成される トレードオフ関係を制御するための処理を該コンビュ —タ · システム上で実行せしめるためのコンピュータ · プログラム を有形的かつコンピュータ可読な形式で提供するプログラム提供媒 体であって、 前記コンピュータ · プログラムは、
( Α ) 前記プロセッサにおいて次に処理されるタスクを選択し、 選 択結果に従って該選択されたタスクにプロセッサの制御を移行させ る処理を行うスケジュ一リング ·モジュールと、
( Β ) 周期的に起動されて、 前記プロセッサの消費電力の予測と動 作周波数の設定を行う電力管理モジュールと、
( C ) 前記スケジューリング手段からの要求に応答して起動し、 夕 スクが提供するサービスに対する満足度を評価する満足度評価モジ ユールとを具備することを特徴とする。
また、 本発明は、 プロセッサによるプログラムの実行をタスク単 位で管理■制御するタイプの情報処理システムにおけるタスク割当 て制御方法であって、
( Α ) タスクに関する間引き処理の度合いを示す添水変数を取得す るステップと、
( Β ) プロセッサの過負荷の発生に応じて減じられるとともに、 単 位時間毎に一定の比率で所定値に近づく水量変数を取得するステツ プと、
( C) タスクの添水変数に水量変数を加算するステツプと、
(D) 添水変数が閾値を越えたことに応答して、 タスクを割り当て るとともに該タスクの添水変数から所定値を減ずるステップと、
(E) 添水変数が閾値を超えなかったことに応答して、 タスク実行 のキヤンセルを試みるステップとを具備することを特徴とする。 また、 本発明は、 プロセッサによるプログラムの実行をタスク単 位で管理 ·制御するタイプの情報処理システムにおけるタスク割当 て制御装置であって、
(A) タスクに関する間引き処理の度合いを示す添水変数を取得す る手段と、
(B) プロセッサの過負荷の発生に応じて減じられるとともに、 単 位時間毎に一定の比率で所定値に近づく水量変数を取得する手段と、
(C) タスクの添水変数に水量変数を加算する手段と、
(D) 添水変数が閾値を越えたことに応答して、 タスクを割り当て るとともに該タスクの添水変数から所定値を減ずる手段と、
(E) 添水変数が閾値を超えなかったことに応答して、 タスク実行 のキャンセルを試みる手段とを具備することを特徴とする。
さらに、 本発明は、 プロセッサによるプログラムの実行をタスク 単位で管理 ·制御するタイプのコンピュータ · システムにおける夕 スク割当てを制御するための処理を該コンピュータ · システム上で 実行せしめるためのコンピュータ · プログラムを有形的かつコンビ ユー夕可読な形式で提供するプログラム提供媒体であって、 前記コ ンピュー夕 · プログラムは、
(A) タスクに関する間引き処理の度合いを示す添水変数を取得す るステップと、
(B) プロセッサの過負荷の発生に応じて減じられるとともに、 単 位時間每に一定の比率で所定値に近づく水量変数を取得するステッ プと、
( C) タスクの添水変数に水量変数を加算するステツプと、
(D) 添水変数が閾値を越えたことに応答して、 タスクを割り当て るとともに該タスクの添水変数から所定値を減ずるステツプと、
(E) 添水変数が閾値を超えなかったことに応答して、 タスク実行 のキャンセルを試みるステップとを具備することを特徴とする。 本発明に係る情報処理システム及びその制御方法によれば、 消費 電力に関する満足度と各タスクのサービス品質に関する満足度の加 重平均に基づいて情報処理システム全体についての目標満足度を評 価するとともに、 プロセッサの消費電力の予測値に基づいて消費電 力に関する満足度を計算して、 消費電力に関する満足度がシステム 全体の目標満足度に近づくようなプロセッサの動作周波数の設定を 行うようにしたので、 システムのサービス品質を維持しながら、 プ 口セッサの動作周波数を抑制して省電力化を図ることができる。 また、 本発明に係る情報処理システム及びその制御方法によれば、 システムの応答時間が許容する範囲内でプロセッサの動作周波数を 抑制して省電力化を図ることができる。
本発明に係るプログラム提供媒体は、 例えば、 様々なプログラム - コ一ドを実行可能な汎用コンピュー夕 · システムに対して、 コン ピュー夕 · プログラムを有形的かつコンピュータ可読な形式で提供 する媒体である。 媒体は、 CD (Compac t D i s c) や F D (F l o py D i s c) 、 MO (Magne t o— Opt i c a 1 d i s c ) などの着脱自在で可搬性の 憶媒体、 あるいは、 ネッ トワーク (ネッ トワークは無線、 ^線の区別を問わない) など の伝送媒体など、 その形態は特に限定されない。
このようなプログラム提供媒体は、 コンピュータ · システム上で 所定のコンピュータ · プログラムの機能を ¾現するための、 コンビ ユー夕 · プログラムと提供媒体との構造上又は機能上の協働的関係 を定義したものである。 換言すれば、 本発明に ί系るプログラム提供 媒体を介して所定のコンピュー夕 · プログラムをコンピュー夕 · シ ステムにインス トールすることによって、 コンピュータ ' システム 上では協働的作用が発揮され、 上記情報処理システム及びその制御 方法と同様の作用効果を得ることができる。
本発明のさらに他の目的、 特徴や利点は、 後述する本発明の実施 例や添付する図面に基づくより詳細な説明によって明らかになるで あろう。
図面の簡単な説明 図 1は、 本発明を実現するのに適した典型的な情報処理システム のハ一ドウエア構成を模式的に示した図である。
図 2は、 プロセッサに対して動作クロックを供給するクロック生 成器の内部構成を模式的に示した図である。
図 3は、 情報処理システムにおけるスケジュ一リング · メカニズ ムを模式的に示した図である。
図 4は、 情報処理システム 1 0における資源配分 ·電力管理のメ 力ニズムを模式的に示した図である。
図 5は、 スケジューリング ' モジュールにおいて^行される処理 手順示したフローチャートである。
図 6は、 ; 力管理モジュールにおいて実行される処理手順示した フローチャー卜である。
図 7は、 満 il 評価モジュールにおいて ' 行される処理手順示し たフローチヤ一トである。
発明を実施するための最良の形態 以下、 本発明を実施するための最良の形態について図面を参照し ながら詳細に説明する。
図 1には、 本発明を実現するのに適した情報処理システム 1 0の ハードウエア構成を模式的に示している。 情報処理システム 1 0は、 例えば 「ワークステ一ション」 又は 「パーソナル · コンピュー夕」 と呼ばれる汎用コンピュータ · システムでよい。 以下、 各部につい て説明する。
プロセッサ 1 1は、 情報処理システム 1 0全体の動作を統括的に 制御するメイン ' コン トローラであり、 一般には、 CPU ( C e n t r a 1 P r o c e s s i ng U n i t ) 若しくは M P U (M i c r o P r o c e s s i n g- Un i t ) と呼ばれる。 プロセ ッサ 1 1は、 ォペレ一ティ ング · システム (O S) の制御下で、 各 種のアプリケ一ション · プログラムを実行する。
本実施例のプロセッサ 1 1は、 クロック生成器 50 (後述) から 供給される所定周波数の動作クロック信号に同期して駆動する。 ま た、 プロセッサ 1 1は、 稼動中に動作周波数を変化させることが可 能であるが、 動作周波数が増大するに従って処理速度すなわちパフ ォ一マンスが向上する一方、 消費電力も増大する。
プロセッサ 1 1は、 バス 1 2を介してその他の各周辺装置と相互 接続されている。 ノ 'ス 1 2は、 ア ドレス ' バス、 デ一夕 · ノ ス、 コ ントロール ·バスなど多数のバス信号線で構成される共通信号伝送 路であり、 例えば P C I (P e r i p h e r a l C omp o ne n t I n t e r c o nn e c t ) ノ 'スゃ I SA ( I ndu s t r y S t and a r d A r c h i t e c t u r e) ノ ス力 sこれに 該当する。 バス接続された各周辺装置は、 それぞれ固有の 1ノ〇ァ ドレス (又はメモリ ' アドレス) が割り振られた I/Oレジス夕を 含んでいる。 プロセッサ 1 1 (より具体的には、 プロセッサ 1 1が 実行するソフ トウエア ' プログラム) は、 1/〇ァドレスを指定す ることで、 周辺装置の I/Oレジス夕にデ一夕ゃコマン ドを読み書 きして所望の制御を実行することができる。
RAM (R and om Ac c e s s Memo r y) 1 3は、 プロセッサ 1 1が実行するプログラム ' コードをロードしたり、 作 業デ一夕を一時格納するために使用される書き込み可能なメモリで ある。 RAM 13は、 通常、 複数個の DRAM (D ynam i c RAM) チップで構成される。
ROM (R e a d On l y Memo r y) 14は、 製造時に 格納デ一夕が恒久的に書き込まれる読み出し専用の不揮発メモリで ある。 : OM 14上には、 例えば、 システム 1 0の電源投入時に実 行する自己診断テス 卜 ' プログラム (P 0 S T) や、 ハ一ドウエア 入出力操作を実行するためのコード群 (B I O S) が格納されてい る。 ROM 1 4は、 例えば E E PROM (E l e c t r i c a l l y E r a s a b l e and P r o g r ammab l e R 0 M) のように消去再書き込みが可能なタイプであってもよい。
キーボード/マウス . コントローラ (KMC) 1 5は、 キーボ一 ドゃマウスなどの入力装置丄 6を介したユーザからのコマン ド入力 などを受容する装置である。 KMC 1 5は、 キーボードからのキヤ ラク夕入力やマウスからの座標指示入力が発生したことに応答して、 プロセッサ 1 1に対して割り込み要求を発行する。
ディスプレイ · コン トローラ 1 7は、 表示部 1 8における描画処 理を制御する周辺コントローラであり、 描画デ一夕を一時格納する フレーム · バッファ (図示しない) を備えている。 表示部 1 8は、 CRT (C a t h o d e Ra y T u b e :陰極線管) ディスプ レイや L CD i q u i d C r s t a l D i s p l a y : 液晶表示ディスプレイ) などであり、 その画面には、 処理データや コマンド入力のためのメニューなどを含んだ GU I (G r a p h i c a 1 U s e r I n t e r f a c e ) 作業画面 (ウィン ドウ) が表示される。
外部記憶装置 1 9は、 例えば、 ハード 'ディスク ' ドライブ (H DD) のような、 比較的大容量で再書き込み可能かつ不揮発の記憶 装置であり、 デ一夕 ' ファイルを蓄積したり、 プログラム ' フアイ ルをインス トールするために使用される。 外部記憶装置 1 9は、 例 えば、 ハード 'ディスク · ドライブ (HDD) のような、 比較的大 容量で再書き込み可能かつ不揮発の記憶装置であり、 データ · ファ ィルを蓄積したり、 プログラム ' ファイルをインス トールするため に使用される。
メディア · ドライブ 20は、 カート リ ッジ式のメディアを交換可 能に装填して、 メディァ表面上の担持デ一夕を み害きするための 装置である。 ここで言うメディアとして、 MO (Ma gne t o— Op t i c a l d i s c) , CD— ROM、 DVD (D i g i t a 1 Ve r s a t i l e D i s c ) などの、 システム 1 0から 着脱自在で可搬型のメディアが挙げられる。 例えば、 本発明を具現 化した電力管理用のプログラム · コードは、 コンピュータ可読なフ アイル形式でメディア上に有形的に格納され、 かかるメディァを媒 介として流通され、 メディア ' ドライブ 2 0によって外部記憶装置 1 9にインス トールすることができる。
ネッ トワーク · ィン夕ーフェース 2 1は、 情報処理システム 10 を所定の通信プロ トコル (例えば、 T CP ZI P ( T r a n s m i s s i o n C o nt r o l P r o t o c o l l n t e r ne t P r o t o c o l ) プロ トコル) に従ってネッ 卜ワーク接続す るための装置である。 ネヅ トワーク上には、 複数のコンピュータ · システム (以下では、 「リモート ' システム」 とも呼ぶ :図示しな い) が存在する。 ネッ トワーク上の各システム間では、 例えばパケ ッ 卜交換方式で、 コンピュータ可読なプログラムゃデ一夕を有形的 な形態で伝送することができる。 本実施例の情報処理システム 1 0 は、 リモート · システムからネッ トワーク経由で、 本発明を具現化 した電力管理用のプログラム · ファイルなどの供給を受けることも できる。
クロック生成器 50は、 プロセッサ 1 1などに対して同期駆動用 のクロック信号を供給するための装置である。 本実施例のクロック 生成器 5 0は、 出力クロック ί言号の周波数を可変に制御することが できるであるが、 詳細については後述に譲る。
なお、 ' 報処理システム 1 0を実際に構成するためには、 図 1に 示した以外にも多くのハードウエア · コンポ一ネン 卜が必要である。 ただし、 これらは当業者には周知であり、 また、 本発明の要旨を構 成するものではないので、 本明細書中では' ft略している。 (例えば、 情報処理システム 1 0は、 実時間 (システム時間) を計時するため のリアルタイム · クロックを有するが、 図 1中では省略してい る。 ) また、 図面の錯綜を回避するため、 図中の各ハ一ドゥエア - ブ口ック間の接続も抽象化して図示している点を了承されたい。 図 2には、 クロック生成器 5 0の内部構成を模式的に示している。 同図に示すように、 クロック生成器 5 0は、 クロック ·パルス生成 部 60とクロック ·パルス生成制御部 70とで構成される。 以下、 各部について説明する。
クロック ·パルス生成部 60は、 水晶発振器 6 1と、 第 1の P L L (P ha s e L o c k L o o p ) 回路 62 Aと、 第 2の P L L回路 6 2 Bと、 第 1の分周器 6 3 Aと、 第 2の分周器 63 Bとで 構成される。 水晶発振器 6 2は、 水晶の材料特性に基づいた所定周 期のパルスを発生し、 各 P L L回路 62 A及び 62 Bはこの発生パ ルス周期を遁倍し、 各分周期 6 3 A及び 63 Bはさらにパルスの周 期を分周することで、 所定値の周波数を生成し外部出力することが できる。 本実施例のクロック 'パルス生成部 60は、 遁倍率と分周 比がソフ トウエア ' プログラマブルであり、 クロック ' パルス生成 制御部 70の制御を受ける。
クロック ·パルス生成制御部 70は、 バス 1 2に接続されており、 所定の I /0ァドレスが割り振られた I/Oレジス夕を備えている。 I/Oレジス夕の一部は周波数制御レジス夕 (F r e q u e n c y C o n t r o l R e g i s t e r : FRQ CR) 7 2として川 いられ ( I/Oァドレスを例えば #f f f f f f 80番地とする) 、 他の一部はスタンバイ制御レジス夕 ( S t and b y C o n t r o 1 R e g i s t e r : S TB CR) 73として用いられている。 プロセッサ 1 1 (より具体的には、 プロセッサ 1 1が実行するプロ グラム ' コード) がァドレス指定して転送したデ一夕ゃコマン ドは、 バス · イン夕一フェース 7 1経由でこれら I/Oレジス夕 7 2又は 73に書き込まれる。
周波数制御レジスタ 72には、 クロック 'パルス生成部 6 0の動 作を制御するための遁倍率や分周比が書き込まれる。 すなわち、 プ 口セッサ 1 1は I/Oアドレス # f f f f f f 80番地を指定して、 周波数制御レジスタ 72の遁倍率や分周比を更新すると、 これに応 答して、 クロック周波数制御回路 74はクロック ·パルス生成部 6 0内の P L L回路 62A, 62 Bの遁倍率や分周器 63 A, 63 B の分周比を変更して、 プロセッサ 1 1に供給するクロックの周波数 を指定値に変更する。
また、 スタンバイ制御レジス夕にスタンバイ開始/終了コマンド (仮称) が書き込まれると、 スタンバイ制御回路 75は、 クロック • パルス生成部 6 0をスタンバイ ·モードに陥れたりスタンバイ · モードから復帰させたりする。 ただし、 スタンバイ 'モード自体は 本発明の要旨とは直接関連しないので、 本明細書中ではこれ以上説 明しない。
本実施例で使用されるプロセッサ 1 1は、 クロック発生器 50が 供給する動作周波数を変更することによって、 その消費電力とパフ オーマンス (すなわちリアルタイム ' タスクに対する満足度) を制 御できる構成であることを前提とする。 また、 以下の説明では、 便 宜上、 プロセッサ 1 1の消費電力は、 その動作周波数にほぼ比例す るものとする。
また、 本実施例のプロセッサ 1 】 は、 そのパフォーマンスと消費 電力の間で形成される 卜レ一ドオフ関係を好適に制御するために、 アプリケーションが要求するタスクを実行するバックグラウン ドで、 以下の 3つの機能モジュールを実行する。
( 1 ) スケジューリング ' モジュ一ル
スケジューリング . モジュールは、 プロセッサ 1 1が各時点にお いてどのタスクの処理を実行すべきかを決定し、 决定結果に従って 制御権をタスクに移行させる処理を行う。
( 2 ) 電力管理モジュール
電力管理モジュールは、 周期的に起動されて、 プロセッサ 1 1の 消費電力の予測と動作周波数の設定を行う。 より具体的に言えば、 プロセッサ 1 1の消費電力を予測して消費電力に関する満足度を計 算するとともに、 消費電力に関する満足度がシステム 1 0全体の目 標満足度に最も近くなるような動作周波数に設定する。 目標満足度 は、 次パラグラフで説明する満足度評価モジュールが計算する。
( 3 ) 満足度評価モジュール
満足度評価モジュールは、 各タスクがどの程度満足できるサービ スを提供できているかを評価する。 満足度評価モジュールは、 スケ ジユーリング ·モジュールからの要求に応答して起動する。 本実施 例では、 消費電力に関する満足度と各タスクのサービス品質に関す る満足度の加重平均に基づいて、 システム 1 0全体についての目標 満足度を算出することとする。
満足度の評価は、 タスクの^引きの影響をき慮した満足度と、 間 引きの影響を考慮しない満足度の 2通りを計算して行う。 本実施例 では、 0 . 0から 1 . 0の の実数で満足度を表すこととする。
実施例に係る情報処理システム 1 0では、 プロセッサ 1 1のパ フォ一マンスと消費電力の間で形成される トレードオフ関係を参照 しながら、 プロセッサ 1 1が実行する各タスクのスケジューリング が行われる。 図 3には、 報処理システム 1 0におけるスケジユー リング■ メカニズムを模式的に示している。
プロセッサ 1 1において実行されるアブリケーション · プログラ ムは、 タスクという単位で管理 '制御される。 アプリケーションが 実行を要求したタスクは、 実行可能タスク · キューという待ち行列 に入れられる。
実行可能タスク ' キューに蓄積されたタスクのうち、 デッ ドライ ンが最も早いものが優先的に抽出される。 例えば、 M P E Gデータ の復元 ·表示を行う処理のように、 リアルタイム性の要求が高い夕 スクは、 優先的に抽出される。
ディスパッチ機構は、 実行すべきタスクの通知を受けると、 実行 可能タスク · キューからこれを取り出して、 タスクの実行を開始せ しめる。 また、 タスクのデッ ドラインをデッ ドライン ' ミス検出夕 ィマに通知する。
デッ ドライン · ミス検出夕イマは、 デッ ドラインにタイマを設定 して、 該夕イマが消滅するまでにタスクを完了するか否か、 すなわ ち各タスクのデッ ドラインが守られているか否かを検出する。 デッ ドライン以前に完了しないタスク、 すなわちデッ ドライン ' ミスを 検出すると、 間引き処理のためにプロセッサ 1 1の過負荷を通知す る。 デッ ドライン · ミス検出夕イマは、 設定さたれ時刻にプロセッ サ 1 1に対して割り込みを発生する機能を備えタイマであり、 同時 に複数の時刻を設定することができる。
間引き処理は、 過 荷の通知に応答して、 このタスクの実行を取 り消すべく、 キャンセル ' シグナルを付勢する。
資源配分 ·電力管理機構は、 キャンセル · シグナルを受理して、 プロセッサ 1 1のパフォーマンスと消費電力の間で形成される トレ —ドオフ関係するべく、 プロセッサ 1 1の処理資源の配分と電力管 理を制御する。
なお、 上述の間引き処理は、 リアルタイム · タスクの起動を間引 いて、 システム 1 0がユーザに提供するサービス品質 (すなわち満 足度) を一定水準に保っための処理を行う。 間引き処理では、 タス クのディスパッチのタイミングを制御するために、 添水変数と水量 変数という 2つの変数を導入している。
水量変数は、 各タスクの実行を間引くことによってシステム 1 0 の負荷を減少させる割合を示す変数であり、 過負荷の発生によって 一定量が減じられるとともに、 周期的に一定比率で 1 . 0に接近す るようになっている。 これに対し、 添水変数は、 サ一ビス品質の満 足度や平均満足度の比較結果と等価な容量を示す変数であり、 0 . 0〜2 . 0の値をとる。
水量変数値が添水変数値に加算されて、 添水変数値がオーバーフ ローする (すなわち 1 . 0を越える) と、 最早のデッ ドラインを持 つタスクをディスパッチ機構に転送する。 このとき、 添水変数値は 1だけ減じられる。 他方、 水量値を加算しても添水変数値がオーバ 一フローしなければ、 過負荷状態と判断して、 キャンセル · シグナ ルを発行して、 当該タスクを間引く。 水量変数と添水変数を用いた 協働的動作は、 水が足されて貯水量が一定値を超えると、 添水が反 転して放水してしまう (すなわちタスクをディスパッチする) が、 貯水量が一定値に ';ι :たないと添水が反転しない (すなわちタスクが ディスパッチされない) という動作と等価である。
図 4には、 本実施例における資源配分 ·電力管理のメカニズムを 模式的に図解している。 同図に示すように、 資源配分と電力管理で は、 消費電力に対する満足度と、 各タスク毎のサービス品質に対す る満足度との加重平均が求められる。 そして、 この加重平均値が示 すシステム 1 0の総体的な満足度をフィ一ドバックして、 電力管理 すなわちプロセッサ 1 1の動作周波数が決定される。
加重平均を計算する際、 消費電力や各タスクに対する注目度を考 慮して重量因子を印加するようにしてもよい。 タスクに対する注目 度とは、 例えば、 タスク実行の優先度などを意味する。
電力管理のための制御系では、 電力管理モジュールによって算出 された消費電力に対する満足度と、 加重平均値が示すシステム 1 0 全体に対する満足度との差分がアキュムレ一夕に蓄積され、 このァ キュムレー夕の出力が電力管理モジュールにフイードバックされる。 他方、 資源配分のための制御系は、 実行中の各タスク毎に 1つず つ設けられる。
各タスクに関する資源配分のための制御系では、 タスクに対する 満足度評価モジュールは、 タスクのキャンセルを考慮した場合及び 考慮しない場合の各々についてのサービス満足度を出力する。 この うち、 キャンセルを考慮した満足度を用いて加重平均が算出される。 次に、 スケジューリング 'モジュールにおける処^について説明 する。 図 5には、 スケジューリング ' モジュールにおいて ¾行され る処理手順を、 フローチャートの形式で示している。 以下、 このフ ローチャー卜の各ステップについて説叨する。 まず、 ス ップ S 1 1において、 実行" J能タスク ' キュー中に実 行可能タスクが存在するか否かを判断する。 実行可能タスク · キュ 一は、 アプリケーションから要求された実行可能状態の夕スクをリ ス ト形式で保持するデータ構造を有している。 本実施例では、 デッ ドラインが最も早い方から順に取り出せるように実装されている。 実行可能タスクが存在しなければ、 ステップ S 1 2に進んで、 シ ステム 1 0はスリープ状態に遷移する。 スリープ状態とは、 その字 義通り、 システム 1 0の動作状態を低下させた状態である。 システ ム 1 0をスリーブさせる方法は、 プロセッサ 1 1の動作を停止させ る他、 ハード 'ディスク装置 1 9ゃデイスプレイ 1 8などの周辺装 置への給電を遮断するなど、 様々な形態が考えられる。 ただし、 ス リーブ動作自体は、 本発明の要旨とは直接関連しないので、 本明細 書ではこれ以上説明しない。
スリ一プ状態下で、 システム 1 0に対し何らかの割り込み要因が 発生すると、 システム 1 0はウェーク ' アツプして通常動作の状態 に復帰する。 割り込み要因の一例は、 キ一ボードやマウスなど入力 装置 1 6を介したユーザ入力の発生である。
システム 1 0は、 スリープ時間、 すなわちスリーブ開始から割り 込み発生までの時間を計算する (ステップ S 1 3 ) 。 かかる時間の 計算には、 リアルタイム ' クロック (前述) が計時するシステム時 間が利用される。 そして、 算出したスリープ時間をシステム 1 0の 合計スリープ時間に加算する (ステップ S 1 4 ) 。 この 「合計スリ ープ時間」 は、 電力管理モジュールがプロセッサ 1 1の利用率を計 算するために用いる変数であり (後述) 、 最後に電力管理モジユー ルが起動してから現在時刻に〒.るまでの合計スリープ時 を意味す る。
他方、 ステップ S 1 1において、 実行可能タスクが存在する場合 には、 ステップ S 1 5に進んで、 実行可能タスク ' キュー中で最も 早いデッ ドラインが設定されているタスクを変数 Tに代入する。 次 いで、 タスク Tのデヅ ドラインをデッ ドライン · ミス検出タイマに 設定して (ステツプ S 1 6 ) 、 システム 1 0の制御権をタスク丁に 与える (ステップ S 1 7 ) 。 デッ ドライン ' ミス検出夕イマは、 設 定された時刻にプロセッサ 1 1に対して割り込みを発生する機能を 備え夕イマであり、 同時に複数の時刻を設定することができる (前 述) 。
そして、 スリーブ状態で割り込みが発生してスリーブ時間を処理 後 (ステップ S 1 4 ) 、 または、 タスク Tを実行中に割り込みが発 生した場合 (ステップ S 1 8 ) には、 ステップ S 1 9に進んで割り 込み要求を受理し、 次いで、 ステップ S 2 0で割り込み要因を検証 する。
割り込み要因がタスク起動夕イマからの割り込みであった場合に は、 ステップ S 2 1〜 S 2 4で形成される一連の処理を行う。 この 一連の処理は、 略言すれば、 周期的に実行されるタスク (以下では、 タスク Tとする) を次回実行するための前処理のことである。 また、 ここで言う 「タスク起動タイマ」 とは、 設定された時刻にプロセッ サ 1 1に対して割り込みを発生させる機能を備えたタイマのことで あり、 同時に複数の時刻を設定することができる。
ステップ S 2 1では、 タスク Tが持つ添水変数に水 変数を加算 する。
タスク Tの添水変数とは、 タスク Tに関するサービス品質の満足 や、μ均満足度の比較結果と ' ;価な容量を示す変数であり、 0 . 〇 〜 2 . ◦の値をとる。 添水変数は、 リアルタイム ' タスクを間引く ために用いられる (後述) 。
また、 水量変数は、 プロセッサ 1 1に対する負^の発生によって 一定量が減じられるとともに、 周期的に一定比率で 1 . 0に接近す るようになっており、 0 . 0から 1 . 0までの値をとる。 水量変数 の値は、 各タスクの実行を間引くことによってプロセッサ 1 1の負 荷を減少させる割合を示している。 すなわち、 水量変数値が 1 . 0 のときはタスクの間引きは全く行われず、 0 . 0のときは全ての夕 スクが間引かれどのタスクも起動しない状態となる。
ステップ S 2 2では、 タスク Τの添水変数が 1 . 0より小さいか 否かを判断し、 該判断結果が否定的であれば、 タスク Τの添水変数 から 1 . 0を減算して (ステップ S 2 3 ) 、 タスク Τを実行可能夕 スク · キューに追加して (ステップ S 2 4 ) 、 ステツプ S 1 1に復 帰する。 また、 ステップ S 2 2における判断結果が肯定的であれば、 満足度評価モジュールのキャンセル 'ルーチン (後述) をコールす る。
ステップ S 2 1及び S 2 2における水量変数と添水変数を用いた 協働的動作は、 水が足されて貯水量が一定値を超えると、 添水が反 転して放水してしまう (すなわちタスクをディスパッチする) が、 貯水量が一定値に満たないと添水が反転しない (すなわちタスクが ディスパッチされない) という動作と等価である。
他方、 ステップ S 2 0において、 割り込み要因がデッ ドライン · ミス検出夕イマからの割り込みであった場合には、 ステップ S 2 5 〜 S 2 9で形成される処理を行う。 該処理は、 略 すれば、 実行に 失敗したタスクをキャンセルして、 他のタスクの' 行を準備する処 理のことである。
ステップ S 2 5では、 水量変数に絞り速度変数を乗算して、 満足 度評価モジュールのキャンセル 'ルーチン (後述) をコールする (ステップ S 2 6 ) 。 ここで言う 「絞り速度変数」 とは、 システム 1 0が過負荷状態に陥つたときに水量変数値を減少させる割合を示 す変数である。 絞り速度変数値は、 0 . 0から 1 . 0までの間の実 数をとり、 例えばシステム 1 0の設計者がアプリケーションの特性 やシステム 1 0の性能を考慮して自由に設定することができる。 満足度評価モジュールのキャンセル処理を終えた後、 ステツプ s
2 8に進んで、 タスク Tを実行可能タスク · キューから取り除く。 次いで、 次の周期の実行開始時刻を夕スク起動夕イマに登録して から、 ステップ S 1 1に復帰する。
また、 ステップ S 1 8において、 割り込みが発生しなかった場合 には、 満足度評価モジュール完了手続きを呼び出して該モジュール を完了させる (ステップ S 2 7 ) 。 次いで、 実行に失敗したタスク をキヤンセルして他のタスクの実行を準備する処理を行うべく、 ス テツプ S 2 8及び S 2 9を実行してから、 ステップ S 1 1に復帰す る。
次に、 電力管理モジュールにおける処理について説明する。 電力管理モジュールは、 システム 10によって定められた時間 (例えば 10ミ リ秒) 毎に起動される。 そして、 スケジューリング
- モジュールによって設定される合計ス リープ時間 (前述) を参照 することによって、 プロセッサ 1 1の利用率を計算する。 さらに、 算出された利用率と現在の動作周波数とから、 プロセッサ 1 1の消 費電力の予測値を計算する。 プロセッサ 1 1の消費電力が動作周波 数に比例する場合には、 消費電力の予測値 Pは以下の式 ( 1) に従 つて計算することができる。
P = uPm + ( 1 _u) Ps 式 ( 1) ただし、 上式 ( 1) において、 Pm は最大動作周波数で動作中の プロセッサ 1 1の消費電力、 Ps はスリ一プ中のプロセッサ 1 1の 消費電力、 f はプロセッサ 1 1の動作周波数、 fm はプロセッサ 1
1の最大動作周波数、 uはプロセッサ 1 1の利用率とする。
図 6には、 電力管理モジュールにおいて実行される処理手順をフ 口—チャートの形式で示している。 以下、 このフローチャートの各 ステツプについて説明する。
まず、 ステップ S 4 1では、 プロセッサ 1 1の利用率 uを算出す る。 利用率 uは、 (繰り返し周期一合計スリープ時間) /繰り返し 周期という計算式で求まる。 合計スリープ時間は、 スケジユーリン グ ·モジュールによって算出される (前述) 。
次いで、 合計時間をゼロにしてから (ステップ S 42) 、 プロセ ッサ 1 1の消費電力 Pを予想する (ステップ S 43) 。 予想消費電 力 Pは、 利用率 uと現在の動作周波数 fに基づいて、 上式 ( 1) を 適用して求まる。 次いで、 算出された予想消費電力を基に、 消費電力に関する満足 度を 3卜算する (ステップ S 4 4 ) 。
次いで、 消費電力に関する満足度が Θ標満足度に最も近くなる動 作周波数を計算して (ステップ S 4 5 ) 、 プロセッサ 1 1の動作周 波数を設定する。
動作周波数の設定は、 クロック発生; 5 0内の周波数制御レジス 夕 7 2に I / Oアクセスして、 クロック 'パルス発生部 6 0におけ る遞倍率と分周比を書き込むことによって行われる (前述及び図 2 を参照のこと) 。
そして、 電力管理モジュールは、 休眠状態に遷移して、 次の起動 時間まで待機する。
次に、 満足度評価モジュールにおける処理について説明する。 満 足度評価モジュールは、 各タスクに関する満足度を計算するための ものである。 また、 満足度評価モジュールは、 サービスの種別に応 じて自由に設定可能な 「Q o Sレベル設定手続き」 、 「満足度評価 手続き」、 「キャンセル通知手続き」 、 及び 「完了通知手続き」 な どの手続を利用する。 これらの手続は、 満足度評価モジュール内の メ力二ズムとしてではなく、 アプリケーション · プログラムの設計 者が実装することが好ましい。
図 7には、 満足度評価モジュールにおいて実行される処理手順を フローチャートの形式で示している。 以下、 このフローチャートの 各ステツプについて説明する。
図 5のフローチヤ一卜で示した通り、 満足度評価モジュールは、 キャンセル .ルーチン又は完了ルーチンとしてコールされる (前述 及び図 5中のステツプ S 2 6又は S 2 7を参照のこと) 。 前者の場 合はキャンセル通知手続が行われ (ステップ S 5 1 ) 、 後者の場合 は完了通知手続が行われる (ステップ S 5 2) 。
これらの手続は、 問 31きによる満足度の減少度合いを計算するた めの手続であり、 手続実行の結果として 0. 0から 1. 0の間の値 を返す。 戻り値が 1. 0のときは満足度に全く影響を与えないが、 0. 0に近づくにつれて多大な ^を与えることを示す。 この戻り 値は変数 rに代入される。
これらの手続を呼び出したタスクがアプリケーション · タスクで あれば、 例えば以下に示す表 1に従って戻り値 (すなわち満足度に 与える影響度) を計算することができる。 表 1
Figure imgf000029_0001
次いで、 ステップ S 53では、 目標満足度がキャンセルを考慮し ない満足度を変数 dに代入する。
次いで、 ステップ S 54では、 max ( 1. 0, mi n ( 0. 0 Q o Sレベル +感度 x d) ) を Q o S (Qua l i t y o f S e r v i c e ) レベルに代入する。 ここで、 「Q o sレベル」 とは、 現在ユーザに提供しているサービスの品質を推量するための値であ り、 0 . 0以上の実数 ί :である。 また、 感度とは、 Π標満足度と現 在の満足度との差に対して、 どの程度敏感に Q o Sレベルを変更す べきかを指示するパラメ一夕であり、 0 . 0以上の突数値である。 アプリケーション · プログラムの設計者は、 アプリケーションの特 性に応じて感度を調整する必要がある。
次いで、 Q o Sレベルの設定手続を実行する (ステップ S 5 5 ) 。 該手続きは、 Q o Sレベルの値を設定するための関数である。 例え ば、 動画像を生成するアプリケーションにおいて、 生成する動画像 のフレーム . レートを Q o Sレベルの値に応じて変化させる場合に ついて考えてみる。 Q o Sレベルの値を、 以下の表 2に示すように フレームレートと対応付けるものとする。 表 2
Figure imgf000030_0001
Q 0 Sレベル設定手続きは、 上記表 2を基にフレームレートを設 定して、 アプリケーションが適切にフレームレー卜に応じた処理が 行えるよう、 様々なパラメ一夕の設定を行う。 次いで、 ステップ S 5 6では、 満足度評価手続きを呼び出して、 その結果を 「キャンセルを考慮しない満足度」 に代入する。
満足度評価手続きは、 際に設定された Q o Sがユーザにとって どの程度の満足を与えるかを予測する手続きであり、 0 . 0から 1 . 0の問の値を返す。 ^り値が大きくなるにつれて満足度が高くなる ように計算を行う。 ί列えば、 動画像を生成するアプリケーション - タスクの場合、 以下の表 3に従って満足度を評価することができる。 表 3
Figure imgf000031_0001
上記表 3に従う満足度評価手続きの場合、 Q o Sレベルの値が満 足度と一意であるが、 必ずしもこれに限定されない。 より要求の高 いアプリケーション · タスクの場合、 フレームレ一卜が低下するに 従って急激に満足度が低下するように設定してもよい。
次いで、 キャンセルを考慮しない満足度にキャンセル通知手続き 又は完了通知手続きの戻り値 rを乗算した値を満足度に代入する (ステップ S 5 7 ) 。
最後に、 次の式 ( 2 ) に従って目標満足度を計算して (ステップ S 5 8 ) 、 この処理ルーチン全体を終了する。 i カ管现モジュールの満足度 +∑タスクの満足度 標満足度二 J^T^ ^
式 ( 2 ) 以上、 特定の^施例を参照しながら、 本 明について詳解してき た。 しかしながら、 本発明の要旨を逸脱しない範囲で当業者が該実 施例の修正や代用を成し得ることは自明である。 すなわち、 例示と いう形態で本発明を開示してきたのであり、 限定的に解釈されるべ きではない。 本発明の要旨を判断するためには、 頭に記載した特 許請求の範 131の欄を参酌すべきである。
以上詳記したように、 本発明によれば、 システム内におけるデー 夕処理の中核を担うプロセッサの動作周波数を適宜抑制することに よって省電力化を図ることができる、 優れた情報処理システム及び その制御方法を提供することができる。
また、 本発明によれば、 システムの応答時間が許容する範囲内で プロセッサの動作周波数を抑制して省電力化を図ることができる、 優れた情報処理システム及びその制御方法を提供することができるな 本発明に係る情報処理システム及びその制御方法は、 消費電力に 関する満足度と各タスクのサービス品質に関する満足度の加重平均 に基づいて情報処理システム全体についての目標満足度を評価する とともに、 プロセッサの消費電力の予測値に基づいて消費電力に関 する満足度を計算して、 消費電力に関する満足度がシステム全体の 目標満足度に近づくようなプロセッサの動作周波数の設定を行うよ う。 したがって、 システムのサービス品質を維持しながら、 プロセ ッザの動作周波数を抑制して省電力化を図ることができる

Claims

ri i求の範囲
1 . 動作速度可変なプロセッサを含み、 該プロセッサの動作速度 の増大に伴ってサービス品質が向 1:するとともに消費電力が増加す るタイ プの情報処理システムであって、
( A ) 前記プロセッサにおいて次に処理されるタスクを選択し、 選 択結果に従って該選択されたタスクにプロセッザの制御を移行させ る処理を行うスケジユーリング手段と、
( B ) 周期的に起動されて、 前記プロセッサの消費電力の予測と動 作周波数の設定を行う電力管理手段と、
( C ) 前記スケジューリング手段からの要求に応答して起動し、 夕 スクが提供するサ一ビスに対する満足度を評価する満足度評価手段 と、
を具備することを特徴とする情報処理システム。
2 . 前記電力管理手段は、 前記プロセッサの動作周波数の設定を 行う際に、 消費電力の予測に基づいて消費電力に関する満足度を計 算するとともに、 該消費電力に関する満足度が、 該情報処理システ ムが設定する目標満足度に近づくように動作周波数の設定を行うこ とを特徴とする請求の範囲第 1項記載の情報処理システム。
3 . 前記満足度評価手段は、 タスクが提供するサービスに対する 満足度を評価する際に、 消費電力に関する満足度全てのタスクが提 供するサービスに対する満足度の加重平均に基づいて、 該情報処理 システムが設定する目標満足度を評価すること
を特徴とする請求の範囲第 1項記載の情報処理システム。
4 . 前記満足度評価手段は、 タスクが提供するサービスに対する 満足度を評価する際に、 タスクの問引きの影響を考慮した満足度と、 引きの影饗を考慮しない満足度の 2つのを計算して満足度を評価 することを特徴とする詰求の範囲第 1項記載の情報処理システム。
5 . 動作速度可変なプロセッサを含み、 該プロセッサの動作速度 の増大に伴ってサービス品 が向上するとともに消費 II力が増加す るタイプの情報処理システムの制御方法であって、
( A ) 前記プロセッサにおいて次に処理されるタスクを選択し、 選 択結果に従って該選択されたタスクにプロセッサの制御を移行させ る処理を行うスケジューリング ' ステップと、
( B ) 周期的に起動されて、 前記プロセッサの消費電力の予測と動 作周波数の設定を行う電力管理ステツプと、
( C ) 前記スケジユーリング ·ステップからの要求に応答して起動 し、 タスクが提供するサービスに対する満足度を評価する満足度評 価ステツプと、
を具備することを特徴とする情報処理システムの制御方法。
6 . 前記電力管理ステップは、 前記プロセッサの動作周波数の設 定を行う際に、 消費電力の予測に基づいて消費電力に関する満足度 を計算するとともに、 該消費電力に関する満足度が、 該情報処理シ ステムが設定する目標満足度に近づくように動作周波数の設定を行 うことを特徴とする請求の範囲第 5項記載の情報処理システムの制 御方法。
7 . 前記満足度評価ステップは、 タスクが提供するサービスに対 する満足度を評価する際に、 消費電力に関する満足度全てのタスク が提供するサービスに対する満足度の加重平均に基づいて、 該情報 処理システムが設定する目標満足度を評価することを特徴とする請 求の範囲第 5項記載の f 報処理システムの制御方法。
8 . 前記満足度,;' F価ステップは、 タスクが提供するサービスに対 する満足度を評価する際に、 タスクの間引きの影響を考慮した満足 度と、 間引きの;お《を考慮しない満足度の 2つのを計算して満足度 を評価することを特徴とする請求の範囲第 5 W記載の情報処理シス テムの制御方法。
9 . 動作速度可変なプロセッサの動作速度の増大に伴ってサービ ス品質が向上するとともに消費電力が増加するタイプのコンビユー 夕 · システムにおける該サービス品質と該消費電力間で形成される 卜レードオフ関係を制御するための処理を該コンピュータ ' システ ム上で実行せしめるためのコンピュータ · プログラムを有形的かつ コンピュータ可読な形式で提供するプログラム提供媒体であつて、 前記コンピュータ ' プログラムは、
( A ) 前記プロセッサにおいて次に処理されるタスクを選択し、 選 択結果に従って該選択されたタスクにプロセッサの制御を移行させ る処理を行うスケジユーリング ■ モジュールと、
( B ) 周期的に起動されて、 前記プロセッサの消費電力の予測と動 作周波数の設定を行う電力管理モジュールと、
( C ) 前記スケジューリング手段からの要求に応答して起動し、 夕 スクが提供するサービスに対する満足度を評価する満足度評価モジ ユールと、
を具備することを特徴とするプログラム提供媒体。
1 0 . 前記電力管理モジュールは、 前記プロセッサの動作周波数 の設定を行う際に、 消費電力の予測に基づいて消費電力に関する満 足度を計算するとともに、 該消費電力に関する満足度が、 該情報処 理システムが設定する Θ標満足度に近づくように動作周波数の設定 を行うことを特徴とする請求の範囲第 9項 ¾載のプログラム提供媒 体。
1 1 . 前記満足度評価モジュールは、 タスクが提供するサービス に対する満足度を 価する際に、 消費電力に^する満足度全ての夕 スクが提供するサービスに対する満足度の加重平均に基づいて、 該 情報処理システムが設定する目標満足度を評価することを特徴とす る詰求の範囲第 9項記載のプログラム提供媒体。
1 2 . 前記満足度評価モジュールは、 タスクが提供するサービス に対する満足度を評価する際に、 タスクの問引きの影響を考慮した 満足度と、 間引きの影響を考慮しない満足度の 2つのを計算して満 足度を評価することを特徴とする請求の範囲第 9項記載のプログラ ム提供媒体。
1 3 . プロセッサによるプログラムの実行をタスク単位で管理 - 制御するタイプの情報処理システムにおけるタスク割当て制御方法 であって、
( A ) タスクに関する間引き処理の度合いを示す添水変数を取得す るステップと、
( B ) プロセッサの過負荷の発生に応じて減じられるとともに、 単 位時間毎に一定の比率で所定値に近づく水量変数を取得するステツ プと、
( C ) タスクの添水変数に水量変数を加算するステップと、
( D ) 添水変数が閾値を越えたことに応答して、 タスクを割り当て るとともに該タスクの添水変数から所定値を減ずるステップと、 ( E ) 添水変数が閾値を超えなかったことに応答して、 タスク実行 のキヤンセルを試みるステップと、
を具 1¾することを特徴とするタスク割当て制御方法。
1 4 . プロセヅサによるプログラムの実行をタスク単位で管理 - 制御するタイプの情報処理システムにおけるタスク割当て制御装置 であって、
( A ) タスクに関する間引き処理の度合いを示す添水変数を取得す る手段と、
( B ) プロセッサの過負荷の発生に応じて減じられるとともに、 単 位時問毎に一定の比率で所定値に近づく水量変数を取得する手段と、
( C ) タスクの添水変数に水量変数を加算する手段と、
( D ) 添水変数が閾値を越えたことに応答して、 タスクを割り当て るとともに該タスクの添水変数から所定値を減ずる手段と、
( E ) 添水変数が閾値を超えなかったことに応答して、 タスク実行 のキャンセルを試みる手段と、
を具備することを特徴とするタスク割当て制御装置。
1 5 . プロセッサによるプログラムの実行をタスク単位で管理 · 制御するタイプのコンピュータ · システムにおけるタスク割当てを 制御するための処理を該コンピュータ · システム上で実行せしめる ためのコンピュータ · プログラムを有形的かつコンピュータ可読な 形式で提供するプログラム提供媒体であって、 前記コンピュータ · プログラムは、
( A ) タスクに関する間引き処理の度合いを示す添水変数を取得す るステップと、
( B ) プロセッサの過負荷の発生に応じて減じられるとともに、 単 位時間毎に一定の比率で所定値に近づく水量変数を取得するステツ プと、
( C ) タス クの添水変数に水量変数を加算するステップと、
( D ) 添水変数が閾値を越えたことに応答して、 タスクを割り当て るとともに該タスクの添水変数から所定値を減ずるステップと、
( E ) 添水変数が閾値を超えなかったことに応答して、 タスク実行 のキャンセルを試みるステップと、
を具備することを特徴とするプログラム提供媒体。
PCT/JP2000/003973 1999-06-16 2000-06-16 Systeme et procede de traitement de l'information; procede et dispositif d'attribution de taches; programme de stockage de supports WO2000077599A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/762,873 US6834354B1 (en) 1999-06-16 2000-06-16 Method and apparatus for assigning tasks in an information processing system to optimize power consumption versus performance of the system
EP00939090A EP1115051A1 (en) 1999-06-16 2000-06-16 Information processing system, information processing method, method and apparatus for task assignment, and medium storing program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP17021199A JP4123640B2 (ja) 1999-06-16 1999-06-16 情報処理システム及びその制御方法、タスク割当て制御方法及び制御装置、並びにプログラム提供媒体
JP11/170211 1999-06-16

Publications (1)

Publication Number Publication Date
WO2000077599A1 true WO2000077599A1 (fr) 2000-12-21

Family

ID=15900741

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2000/003973 WO2000077599A1 (fr) 1999-06-16 2000-06-16 Systeme et procede de traitement de l'information; procede et dispositif d'attribution de taches; programme de stockage de supports

Country Status (4)

Country Link
US (1) US6834354B1 (ja)
EP (1) EP1115051A1 (ja)
JP (1) JP4123640B2 (ja)
WO (1) WO2000077599A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10866455B2 (en) 2017-10-19 2020-12-15 Ppg Industries Ohio, Inc. Display devices including photochromic-dichroic compounds and dichroic compounds

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366932B2 (en) * 2002-10-30 2008-04-29 Stmicroelectronics, Inc. Method and apparatus to adapt the clock rate of a programmable coprocessor for optimal performance and power dissipation
JP4175096B2 (ja) * 2002-11-22 2008-11-05 日本電気株式会社 クロック制御方式及び方法
JP4025260B2 (ja) 2003-08-14 2007-12-19 株式会社東芝 スケジューリング方法および情報処理システム
TWI257544B (en) * 2003-12-05 2006-07-01 Acer Inc Windows-based power management method and portable device using the same
US7698575B2 (en) 2004-03-30 2010-04-13 Intel Corporation Managing power consumption by requesting an adjustment to an operating point of a processor
JP3862715B2 (ja) * 2004-06-01 2006-12-27 株式会社ソニー・コンピュータエンタテインメント タスク管理方法、タスク管理装置、半導体集積回路、電子装置、およびタスク管理システム
US7343502B2 (en) 2004-07-26 2008-03-11 Intel Corporation Method and apparatus for dynamic DLL powerdown and memory self-refresh
JP2006178854A (ja) * 2004-12-24 2006-07-06 Toshiba Corp 電子回路
CN100527089C (zh) * 2005-04-27 2009-08-12 松下电器产业株式会社 信息处理装置中的功率控制装置
US8620713B2 (en) * 2005-07-15 2013-12-31 Sap Ag Mechanism to control delegation and revocation of tasks in workflow system
TW200723632A (en) * 2005-12-15 2007-06-16 Inventec Corp Current overload status-informing system and the method
US8032889B2 (en) 2006-04-05 2011-10-04 Maxwell Technologies, Inc. Methods and apparatus for managing and controlling power consumption and heat generation in computer systems
JP4370336B2 (ja) * 2007-03-09 2009-11-25 株式会社日立製作所 低消費電力ジョブ管理方法及び計算機システム
US10339227B1 (en) 2007-06-08 2019-07-02 Google Llc Data center design
US20110099404A1 (en) * 2008-06-25 2011-04-28 Nxp B.V. Electronic device, method of controlling an electronic device, and system-on-chip
JP5309815B2 (ja) * 2008-09-09 2013-10-09 富士通株式会社 電力供給管理装置および電力供給管理方法
US20100106994A1 (en) * 2008-10-27 2010-04-29 David Carroll Challener Method, apparatus, and system for adapting power consumption
US9172117B2 (en) * 2008-12-04 2015-10-27 Domingo Enterprises, Llc User-controlled application-based power management
US8178997B2 (en) 2009-06-15 2012-05-15 Google Inc. Supplying grid ancillary services using controllable loads
US8479026B2 (en) * 2009-12-09 2013-07-02 Texas Instruments Incorporated Processor power management
US8549330B2 (en) * 2009-12-18 2013-10-01 International Business Machines Corporation Dynamic energy management
JP2011192250A (ja) 2010-02-22 2011-09-29 Canon Inc クラウドコンピューティングシステム、クラウドコンピューティングシステムの制御方法
RU2577465C2 (ru) 2010-10-28 2016-03-20 Мэксвел Текнолоджиз, Инк. Система, способ и устройство для коррекции ошибки в мультипроцессорных системах
US9807397B2 (en) 2011-04-11 2017-10-31 Sharp Laboratories Of America, Inc. System for power allocation
KR101812583B1 (ko) 2011-07-21 2018-01-30 삼성전자주식회사 태스크 할당 장치, 태스크 할당 방법 및 컴퓨터로 읽을 수 있는 저장 매체
WO2013085539A1 (en) * 2011-12-09 2013-06-13 Intel Corporation Adaptive graphics subsystem power and performance management
US9009500B1 (en) 2012-01-18 2015-04-14 Google Inc. Method of correlating power in a data center by fitting a function to a plurality of pairs of actual power draw values and estimated power draw values determined from monitored CPU utilization of a statistical sample of computers in the data center
JP2013162239A (ja) 2012-02-02 2013-08-19 Sharp Corp 抑止装置、抑止装置の制御方法、被制御装置、電子機器、制御プログラム、および記録媒体
CN103529376A (zh) * 2012-07-03 2014-01-22 鸿富锦精密工业(深圳)有限公司 时钟测试电路
KR101513398B1 (ko) * 2014-07-02 2015-04-17 연세대학교 산학협력단 소모전력을 감소시킬 수 있는 단말장치 및 이의 제어방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04362742A (ja) * 1991-06-10 1992-12-15 Fujitsu Ltd マルチメディアスケジューリング方法
JPH05197574A (ja) * 1992-01-21 1993-08-06 Matsushita Electric Ind Co Ltd タスク時間待ち制御装置
JPH07168726A (ja) * 1993-12-16 1995-07-04 Matsushita Electric Ind Co Ltd 電子計算機及びマルチプロセスオペレーティングシステムのスケジューリング方法
JPH09297688A (ja) * 1996-03-06 1997-11-18 Mitsubishi Electric Corp システムクロック決定装置
JPH10143274A (ja) * 1996-11-11 1998-05-29 Casio Comput Co Ltd Cpuのクロック制御装置
JPH10240548A (ja) * 1997-03-03 1998-09-11 Toshiba Corp タスクスケジューリング装置及び方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3015069B2 (ja) * 1990-06-12 2000-02-28 株式会社日立製作所 半導体集積回路装置
TW282525B (ja) * 1994-06-17 1996-08-01 Intel Corp
US6192480B1 (en) * 1997-07-18 2001-02-20 Micron Electronics, Inc. Method of managing power for a computer system and generating application threshold warnings
US6378081B1 (en) * 1998-10-01 2002-04-23 Gateway, Inc. Power conservation without performance reduction in a power-managed system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04362742A (ja) * 1991-06-10 1992-12-15 Fujitsu Ltd マルチメディアスケジューリング方法
JPH05197574A (ja) * 1992-01-21 1993-08-06 Matsushita Electric Ind Co Ltd タスク時間待ち制御装置
JPH07168726A (ja) * 1993-12-16 1995-07-04 Matsushita Electric Ind Co Ltd 電子計算機及びマルチプロセスオペレーティングシステムのスケジューリング方法
JPH09297688A (ja) * 1996-03-06 1997-11-18 Mitsubishi Electric Corp システムクロック決定装置
JPH10143274A (ja) * 1996-11-11 1998-05-29 Casio Comput Co Ltd Cpuのクロック制御装置
JPH10240548A (ja) * 1997-03-03 1998-09-11 Toshiba Corp タスクスケジューリング装置及び方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10866455B2 (en) 2017-10-19 2020-12-15 Ppg Industries Ohio, Inc. Display devices including photochromic-dichroic compounds and dichroic compounds

Also Published As

Publication number Publication date
JP4123640B2 (ja) 2008-07-23
EP1115051A1 (en) 2001-07-11
US6834354B1 (en) 2004-12-21
JP2000357024A (ja) 2000-12-26

Similar Documents

Publication Publication Date Title
WO2000077599A1 (fr) Systeme et procede de traitement de l'information; procede et dispositif d'attribution de taches; programme de stockage de supports
JP4380986B2 (ja) クロック制御装置及びその記録媒体
US6986068B2 (en) Arithmetic processing system and arithmetic processing control method, task management system and task management method
US7783907B2 (en) Power management of multi-processor servers
US9116704B1 (en) Delaying the initiation of transitioning to a lower power mode by placing a computer system into an intermediate power mode between a normal power mode and the lower power mode
US8190939B2 (en) Reducing power consumption of computing devices by forecasting computing performance needs
US20030204708A1 (en) Portable computer having hierarchical operating systems
KR101471303B1 (ko) 그래픽 처리 장치를 위한 전력 관리 장치 및 방법
US8392736B2 (en) Managing memory power usage
US20050097228A1 (en) Data processing system performance counter
US10503238B2 (en) Thread importance based processor core parking and frequency selection
JP2002099433A (ja) 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体
US20130125130A1 (en) Conserving power through work load estimation for a portable computing device using scheduled resource set transitions
JP2003150281A (ja) 電気機器、コンピュータ装置、および電力供給方法
CN101154130A (zh) 一种虚拟机系统及其电源管理方法
CN110795238B (zh) 负载计算方法、装置、存储介质及电子设备
US20220179706A1 (en) Adaptive resource allocation system and method for a target application executed in an information handling system (ihs)
JP2010244202A (ja) 電子機器、電子機器の電力制御方法、およびコンピュータが実行するためのプログラム
US20120311361A1 (en) Predictive power state transitions for information handling devices
US10114438B2 (en) Dynamic power budgeting in a chassis
JP6928263B2 (ja) 情報処理装置、計算機制御方法、および計算機制御プログラム
US7360101B2 (en) Apparatus and method for controlling CPU speed transition
KR101087429B1 (ko) 전력 관리 방법 및 장치
JP4517006B2 (ja) クロック制御装置及びその記録媒体
CN114884171A (zh) 一种不间断电源的用电控制方法及系统

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 2000939090

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 09762873

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2000939090

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2000939090

Country of ref document: EP