WO2006126331A1 - 情報処理方法、情報処理装置、およびサーバ - Google Patents
情報処理方法、情報処理装置、およびサーバ Download PDFInfo
- Publication number
- WO2006126331A1 WO2006126331A1 PCT/JP2006/307323 JP2006307323W WO2006126331A1 WO 2006126331 A1 WO2006126331 A1 WO 2006126331A1 JP 2006307323 W JP2006307323 W JP 2006307323W WO 2006126331 A1 WO2006126331 A1 WO 2006126331A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- task
- processing
- bus bandwidth
- new task
- time
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
Definitions
- the present invention relates to information processing technology, and more particularly, to an information processing apparatus that controls a plurality of task processes by an operating system, an information processing method in the apparatus, and a server that supports the apparatus.
- Patent Document 1 JP 2001-331324 A Disclosure of the invention
- the present invention has been made in view of such problems, and an object thereof is to provide a technique for operating a plurality of software normally and efficiently.
- One embodiment of the present invention relates to an information processing method.
- This information processing method includes a step of accepting an execution request for a new task, a step of specifying at least one of a required processing time of the new task and a required bus bandwidth in the processing of the new task, and a processing procedure for a plurality of tasks.
- a comparison of the total required processing time which is the sum of the required processing time of the scheduled task reserved for the scheduler that represents the new task and the processing time that can be reserved by the device that executes those tasks, and A step of comparing at least one of the total required bandwidth obtained by adding up the required bus bandwidth in the processing of the new task and the bus bandwidth that can be secured by the device executing these tasks, and the new task based on the comparison result If it is determined that the new task can be executed, the new task is scheduled. And a step of processing a task including a new task determined to be executable based on the scheduler.
- the step of determining whether or not execution is possible includes a step of acquiring priority information of a new task, and determines whether or not execution is possible based on the acquired priority information.
- a "task” is an application programmed to achieve a certain purpose or the contents of information processing included in the application, which may correspond to the application, input / output control or specified by the user It is possible to correspond to a unit smaller than the application such as a command , Correspond to some unit of processing or function!
- the information processing apparatus mainly includes a first processor that performs overall control of the entire apparatus, a second processor that mainly performs arithmetic processing, a main memory that stores information about tasks to be processed, and an external device.
- a data input / output processor that controls the data input / output of the first processor, wherein the first processor includes an execution request receiving unit that receives an execution request for a new task, and a time for processing the new task. Execution of determining whether or not a new task can be executed based on a parameter specifying unit for specifying a related parameter, the specified time-related parameter, and corresponding internal information corresponding to the time-related parameter among information related to the information processing apparatus.
- the bus bandwidth required for a new task for data transfer between one processor and main memory, the bus bandwidth required for a new task for data transfer between the first processor and the second processor, and the first It includes at least one of the bus bandwidth required by a new task in data transfer between the processor and the data input / output processor.
- FIG. 1 is a block diagram showing a configuration of an information processing device in a first embodiment.
- FIG. 2 is a block diagram showing a configuration of a management processor in the first embodiment.
- FIG. 3 is a diagram schematically showing a configuration of a storage device in the first embodiment.
- FIG. 4 is a diagram showing an example of the data structure of an attribute file in the first embodiment.
- FIG. 5 is a flowchart showing a software load processing procedure performed in the first embodiment.
- FIG. 6 is a flowchart showing a software load processing procedure performed in the first embodiment. It is
- FIG. 7 is a flowchart showing a software load processing procedure performed in the first embodiment.
- FIG. 8 is a diagram schematically showing an example of task assignment states described in a schedule file in the first embodiment.
- FIG. 9 is a diagram schematically showing an example of task assignment status described in a schedule file in the second embodiment.
- FIG. 10 is a diagram showing an example of the data structure of an attribute file in the second embodiment.
- FIG. 11 is a flowchart showing a software load processing procedure performed in the second embodiment.
- FIG. 12 shows an example of the data structure of the attribute file in the third embodiment.
- FIG. 13 is a flowchart showing a software load processing procedure performed in the third embodiment.
- FIG. 14 is a diagram showing an example of the data structure of an attribute file in the fourth embodiment.
- FIG. 15 is a flowchart showing a software load processing procedure performed in the fourth embodiment.
- FIG. 16 shows an example of the data structure of an attribute file in the fifth embodiment.
- FIG. 17 shows an example of the data structure of a bus bandwidth reservation file in the fifth embodiment.
- FIG. 18 is a flowchart showing a software load processing procedure performed in the fifth embodiment.
- FIG. 19 is a diagram schematically showing a configuration of a storage device in a sixth embodiment.
- FIG. 20 is a diagram showing an overall configuration of a system in the seventh embodiment.
- FIG. 21 is a diagram showing an overall configuration of a system in an eighth embodiment.
- Sub processor 32 Management processor 40 ⁇ Nos 50 ⁇ Main memory 6 0 ⁇ Load request reception unit 62 ⁇ Attribute acquisition unit 64 ⁇ Status acquisition unit 66 ⁇ 6 ⁇ 8 ⁇ Starting processor, 100 ⁇ Graphic processor, 200 ⁇ Main processor, 600 ⁇ Storage device, 650... Input / output processor, 700... Server, 702... Server side information processing unit, 704.
- processing time the processor occupation time
- bus bandwidth the bus bandwidth
- FIG. 1 is a block diagram showing a configuration of information processing apparatus 1000 according to the present embodiment.
- the information processing apparatus 1000 includes a graphic processor 100, a main processor 200, an input / output processor 650, and a main memory 50, which are connected to each other by a bus 40.
- the input / output processor 650 is connected to the display device 500 and the storage device 600.
- each element described as a functional block for performing various processes can be composed of a CPU, memory, and other LSI in hardware, and loaded into memory in software. This is realized by a program having a reservation management function. Therefore, it is understood by those skilled in the art that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof, and is limited to only V ⁇ . It ’s not something.
- an OS that provides functions and an environment for efficiently using the information processing apparatus 1000 and performs overall control of the entire apparatus is executed.
- a plurality of software is executed by operating each functional block of the information processing apparatus 1000.
- the main processor 200 includes a plurality of sub-processors 30 and a management processor 32.
- the management processor 32 time-divides tasks corresponding to a plurality of software, assigns them to the sub-processor 30 for each time slice, and writes them to the schedule file stored in the main memory 50. Furthermore, the bandwidth of the bus 40 is allocated to multiple tasks based on the bus bandwidth reservation file, and the used bandwidth is controlled in cooperation with the hardware.
- the sub processor 30 performs parallel processing of tasks according to the schedule file.
- the graphic processor 100 includes a graphic memory 10 and a processing unit 12.
- the processing unit 12 performs image processing related to each task processed by the main processor 200, and the generated image and video are stored in the graphic memory 10 and controlled by the input / output processor 650. Or output to the storage device 600.
- the main memory 50 is a storage area mainly used by the main processor 200.
- the main memory 50 stores loaded software programs and data related to tasks corresponding to the software.
- a schedule file, a nos bandwidth reservation file, and a priority file of reserved tasks are also stored in the main memory 50.
- the display device 500 outputs images and videos obtained as a result of the processing of the main processor 200 and the graphic processor 100.
- the storage device 600 may be a hard disk device, a CD-ROM, an MO, an external storage device such as a semiconductor storage element, or a combination thereof.
- the information processing apparatus 1000 reads the software stored in the storage device 600 into the main memory 50, loads the software, and executes task processing.
- the input / output processor 650 controls the input / output of data as described above between the display device 500, the storage device 600, and the information processing device 1000.
- bus 40 is indicated by a single line for the sake of simplicity.
- a dedicated bus may be provided between predetermined functional blocks which may be composed of a plurality of buses.
- FIG. 2 is a block diagram showing a configuration of the management processor 32 in the present embodiment.
- the management processor 32 is a load that accepts a software load request that is made when the user causes the information processing device 1000 to recognize the software stored in the storage device 600.
- the request request unit 60, the attribute file of the new software that received the load request are read from the storage device 600, the attribute acquisition unit 62 that acquires the required processing time of the new task, and the schedule file is read from the main memory 50 and reserved.
- the status acquisition unit 64 that acquires the required processing time of the completed task, the determination unit 66 that determines the power / force judgment that can execute the processing of the new task by comparing the required processing time of the new task and the idle time of the processor, and executable
- a startup processing unit 68 that reads out the program of the new software determined to be stored from the storage device 600, stores it in the main memory 50, assigns the new task to the sub-processor 30, and updates the schedule file. Even when loading of new software is disabled, the startup processing unit 68 sends a load request rejection signal to the storage device 600 storing the new software, and sends it to the display device 500 via the input / output processor 650. Performs load disapproval processing such as displaying a notification that loading is not possible.
- FIG. 3 schematically shows the configuration of the storage device 600 in the present embodiment.
- the attribute file is stored in the storage device 600 together with the program file that is the software main body and various components.
- FIG. 4 shows an example of the data structure of the attribute file in the present embodiment.
- the attribute table 70 includes an attribute name field 70a and a required value field 70b.
- the processing time required for task processing is described in the required value column 70b for the “processing time” attribute.
- the required value of the processing time attribute in FIG. 4 is a force expressed as an absolute value of the time for which the task occupies the sub processor 30 for a predetermined unit time. This will be described later.
- the required processing time value is a value set by the software manufacturer at the time of software shipment, and the value obtained through verification experiments under overload is adopted.
- the attributes may include an execution permission attribute and a memory capacity attribute in addition to the processing time attribute!
- the execution permission attribute indicates a condition necessary for execution such as connection of a dondal or serial number input
- the memory capacity attribute indicates a memory capacity necessary for task processing.
- FIG. 5 show a processing procedure related to loading of software mainly performed by the management processor 32.
- the user inserts a CD-ROM storing desired new software such as a game into a reading device connected to the information processing device 1000.
- a new software load request is made, and the load request receiving unit 60 of the management processor 32 receives it (S10).
- the storage device 600 storing new software is not limited to a CD-ROM, and may be a storage device such as a hard disk device, an MO, or a semiconductor storage element.
- a configuration may be adopted in which a desired new software is downloaded to the information processing apparatus 1000 from a server connected to a network (not shown).
- a CD-ROM will be described as an example of the storage device 600.
- the attribute acquiring unit 62 performs general operations such as an execution permission attribute and a memory capacity attribute included in the attribute file stored in the CD-ROM of the new software. Get attribute.
- the status acquisition unit 64 confirms the actual state of each attribute, and the determination unit 66 determines whether the actual condition satisfies the condition of each attribute (S12). If it is determined that the condition is not satisfied (N in SI 2), the activation processing unit 68 performs the above-described load disapproval process (S14), and the sequence is terminated.
- the attribute acquisition unit 62 detects the processing time attribute in the attribute file and reads the necessary value (S30). ).
- the status acquisition unit 64 reads the schedule file from the main memory 50, and derives the free time of the sub processor 30 as the allocation status power of the reserved task (S32).
- the determination unit 66 compares the required value of the processing time with the free time of the sub processor 30 (S34). As a result of the comparison, if it is determined that the required processing time exceeds the free time of the sub-processor 30 (N in S34), the startup processing unit 68 performs the load disapproval processing (S37), End Kens.
- the startup processing unit 68 as shown in FIG. To the main memory 50 to complete the loading (S38). Further, the activation processing unit 68 time-divides the new task, assigns it to the sub-processor 30 for each time slice, and updates the schedule file stored in the main memory 50 (S40). As a result, the processing of the new task by the sub processor 30 is started as described above.
- FIG. 8 schematically shows an example of task assignment states described in the schedule file in this embodiment.
- the figure shows two Tasks A and B corresponding to each of the reserved software, software A and software B are time-divided, and multiple sub-processors are processed in order in a preset unit period.
- the elements assigned to 30a to 30d are shown. By repeating the processing within this unit period, the execution of task A and task B progresses.
- the necessary value of the processing time attribute read in S30 is expressed by the absolute value of the processing time required by the task in this unit period.
- the required values of the processing time attribute for software A and software B are 20% and 40% of the unit period, respectively, so if the unit period is 16.6ms, for example, 3.3ms, 6. It is written as 6 ms.
- the software is determined to be executable and loaded, those values are written in the schedule file in S40, and the task is processed by each sub processor 30.
- the unit period is set in advance in the OS that controls the processing of the management processor 32, and each software sets the absolute value of the processing time required for each task for the same unit period. Stored as a required value of the processing time attribute.
- the unit period for example, the period of the vertical synchronization signal of the display device 500 is set.
- the frame data generated by the cooperation of the sub processor 30 and the graphic processor 100 is stored in the graphic memory 10 and displayed on the display device 500. Is done. The display end power of one frame is displayed on the display device 500, and the time it takes to display the next frame is reduced. Since it is the period of the direct sync signal, in order to display a moving image without delay and to operate the software normally, depending on the desired resolution, operation speed, etc., within the period of the vertical sync signal for each software The processing time that must be secured is determined. Therefore, setting the required value of the processing time attribute in units of the period of the vertical sync signal makes it easy to set up the software to ensure operation.
- the processing time attribute is held for each software, so that the operating environment of the software requested by the user can be grasped in advance and the load can be loaded only when normal operation can be maintained. Do. As a result, it is possible to prevent problems such as the software not operating as expected even though it has been loaded. In addition, the ability to ensure the task processing time of reserved software can be ensured to the minimum, and the ability to load new software will not interfere with the operation of software that has already been started by loading new software. . In addition, for software with a limited time limit that requires a relatively short processing time, by selectively securing a large number of time slices for software that requires real-time processing, including graphic processing, a limited amount of time can be obtained. Efficient use of processor resources becomes possible, and there is room for meeting user needs.
- the period of the vertical synchronization signal is a unit period common to software, and the absolute value of the processing time for the unit period is used as the required value of the processing time attribute.
- the unit period is the vertical synchronization signal. It may be a multiple of the period. That is, the required value of the processing time attribute may be a time required for task processing in a certain unit period. Alternatively, it may be the ratio of time required for task processing for a certain unit period.
- the unit period need not be common to the software. For example, the value of the reference unit period and the processing time required during that period may be set as the processing time attribute and set for each software.
- the binary value of a certain time and the absolute value of the processing time required so far may be used as the processing time attribute.
- an identifier for identifying the description format is further added to the processing time attribute, and the processing time attribute is identified by the OS controlling the management processor 32.
- the determination unit 66 converts the format of the processing time attribute added to each software into a value that conforms to the format of the schedule file.
- the processing time required for the task may be compared with the free time of the sub processor 30.
- the processing time attribute can be expressed in a format suitable for the contents of the software, so that normal operation can be guaranteed and the schedule file format changes depending on the OS type and version upgrade.
- the present embodiment can be applied without rewriting the software attribute file.
- the present embodiment can be implemented with the same configuration as the information processing apparatus 1000 shown in FIG. 1 and the management processor 32 shown in FIG. 2 in the first embodiment. Here, the explanation will be focused on the difference from the first embodiment.
- the processing time attribute only a necessary value for the processing time is set as the processing time attribute.
- each task including the new task occupied all the sub-processors 30 with the processing time indicated in the required value. That is, it is a task that the main processor 200 processes simultaneously.
- the necessary number of sub-processors is set in addition to the necessary processing time value, and it is made to correspond to scheduling that processes a plurality of tasks at the same time.
- FIG. 9 schematically shows an example of task assignment states described in the schedule file in the present embodiment.
- the required number of sub-processors 30 and the processing time required when processing by those sub-processors 30 can be set as processing time attributes, it is possible to process multiple tasks at the same time. Become .
- three tasks, Task A, Task B, and Task C are scheduled.
- Task C when processing a task that requires long serial processing, such as Task C, It is possible to assign sub-processors 30 capable of performing efficient processing, and the setting of the processing time attribute in the present embodiment corresponds to such a scheduling method.
- FIG. 10 shows an example of the data structure of the attribute file in the present embodiment.
- the attribute table 71 of the present embodiment includes an attribute name column 71a and a required value column 71b.
- the required value column 71b describes two values, the required number of sub processors and the required value of processing time.
- processing related to general attributes from acceptance of a new software load request is the same as that in FIG. 5 in the first embodiment.
- Fig. 11 shows the processing procedure related to the processing time attribute that is subsequently performed when it is determined that a general attribute can be executed (Y in S12)! /
- the processing time attribute in the attribute file is detected, the necessary value is read (S30), and the free time of the sub processor 30 is determined from the reserved task assignment status described in the schedule file. Is derived (S32). Then, the required value of the processing time is compared with the free time of the sub-port processor 30 (S34).
- the “necessary value” in the present embodiment is the above two values, and the “free time” is the free time that the required number of sub processors have at the same time as described above.
- the reserved task assignment schedule described in the schedule file is determined. Then, provisional adjustment is performed (S35), and the required value of the processing time is again compared with the free time of the sub processor 30 (S36).
- the temporary adjustment of the schedule performed here is a thought-experimental process that is performed only by calculation, independent of the actual task process. If it is determined that the required value of processing time does not exceed the free time of sub-processor 30 (Y in S3 4 and ⁇ in S36), the startup processing unit 68 is loaded as shown in FIG. Is completed (S38) and the schedule file is updated (S40).
- the procedure of FIG. 11 will be described as follows, taking the allocation situation shown in FIG. 9 as an example.
- the sub processor For example, as a processing time attribute of new software that the user requested to load, the sub processor
- the three sub-processors 30a, 30b, and 30c will be assigned to the unit period after task B ends. Since 40% free time can be secured as a percentage, free space at S34 It is determined that time is sufficient. On the other hand, if the required number of sub-processors 30 is one and the required processing time value is equivalent to 90% of the unit period, the free time is the longest. Since it is 80% of the period, it is determined in S34 that the required processing time exceeds the free time. Therefore, in S35, the schedule is temporarily adjusted so that the processing of task C is performed after the processing of task A of the sub processor 30c. Then, since the free time of the sub processor 30d becomes 100% of the unit period, it is determined in S36 that the required value of the processing time does not exceed the free time, and the loading of the new software is permitted.
- the operating environment of the software requested to be loaded is grasped, and loading is performed only when normal operation can be guaranteed. Can prevent the occurrence of malfunctions of used software. Furthermore, by assigning the processing mode of individual tasks in advance as time processing attributes, such as tasks that require short-term normal processing and tasks that require long-term serial processing, only allocation of processing time is possible. In addition, it is possible to deal with scheduling having a degree of freedom for the allocation of the sub-processors 30 and to perform more flexible load permission determination. As a result, the above-described effects can be obtained together with more efficient use of resources, and the room for responding to the needs of users is expanded.
- the present embodiment can be implemented with the same configuration as the information processing apparatus 1000 shown in FIG. 1 and the management processor 32 shown in FIG. 2 in the first embodiment.
- the description will be given mainly focusing on the differences from the first and second embodiments.
- the processing time attribute in the attribute file is acquired in response to a new software load request.
- a bus bandwidth attribute is further acquired. Then, based on the bus bandwidth reservation file that describes the reserved status of the bus bandwidth of the reserved task, whether or not to execute the new software is determined.
- FIG. 12 shows an example of the data structure of the attribute file in the present embodiment.
- the attribute table 72 of the present embodiment includes an attribute name field 72a, a necessary value field 72b, and an identifier field 72c.
- the sub-process required for task processing is assigned to the “processing time” attribute.
- Number of processors 30 and processing time power For the “bus bandwidth” attribute, the percentage power of the bus bandwidth required for data transfer during task processing is described in the required value column 72b.
- the ratio of the required bus bandwidth is the ratio required for the bandwidth of the bus 40 provided in the information processing apparatus 1000. Instead of the required bus bandwidth ratio, the absolute value of the required bus bandwidth and the required data transfer rate may be used. From the required data transfer rate, the required nos bandwidth can be calculated using the clock frequency characteristics of the information processing device 1000.
- a dedicated bus is provided depending on the data transfer interval and the transfer speed required by each task differs. For example, a plurality of required bus bandwidth values can be set. Data transfer between the main memory 50 and the main processor 200, transfer between the graphic processor 100 and the main processor 200, and transfer between the main processor 200 and the input / output processor 650 are particularly important for task processing speed.
- the ratio of the required bus bandwidth in those sections is set as the required value of the bus bandwidth because it greatly affects. For this reason, an identifier for identifying the section of the bus 40 corresponding to each necessary value is described in the identifier column 72c. In the example of FIG.
- FIG. 13 shows a processing procedure related to the bus bandwidth attribute that is subsequently performed when it is determined that the processing time attribute can be executed (Y in S34, ⁇ in S36).
- the attribute acquisition unit 62 detects the bus bandwidth attribute in the attribute file, and reads all necessary values and identifiers (S42).
- the status acquisition unit 64 acquires the bus bandwidth reservation file from the main memory 50, and calculates the time variation of the bus bandwidth that can be secured for the new task from the total bus bandwidth reserved by the reserved tasks that are processed simultaneously. Derived for each section of the bus identified by the identifier (S44).
- Bus bandwidth reservation file is reserved software This is a file that describes the required value and identifier of the bus bandwidth attribute that was read when the file was loaded.
- the time change of the bus bandwidth that can be secured that was calculated by force is stored in the main memory 50 as a separate file, and the parameter is recalculated and updated each time the software is loaded or unloaded. You may make it do. In this case, the above S44 step only needs to refer to the file! /.
- the determination unit 66 compares the necessary value in the bus bandwidth attribute of the new software with the bus bandwidth that can be secured for each bus section (S46).
- the bus bandwidth that can be secured is a time-dependent variable, so the processing in S46 is actually compared based on both the processing time required for the new task and the bus bandwidth. . Nose bandwidth required for new task If it is determined that the available bus bandwidth is exceeded in any of the bus sections (N in S46), the reserved task allocation schedule described in the schedule file first. Then, the same adjustment as in the second embodiment is performed (S47), and the required value of the bus bandwidth attribute is again compared with the bus bandwidth that can be secured (S48). If sufficient nos bandwidth cannot be secured even after adjusting the schedule (N in S48), a notification that the bus bandwidth required by the new task cannot be secured is displayed on the display device 500 and the load process is continued. Confirm with the user whether or not (S49).
- the activation processing unit 68 When the user selects to cancel the load (N in S49), the activation processing unit 68 performs the load disapproval process described in the first embodiment (S50) and ends the sequence. On the other hand, if it is judged that scheduling can be performed so that the bus bandwidth necessary for the new task can be secured at any time (Y of S46, 46 of S48), the necessary bus bandwidth can be secured. If the user wishes to continue loading even if the bus bandwidth is exceeded! / (S49 ⁇ ), the activation processing unit 68 as shown in FIG. 7 completes loading (S38) and updates the schedule file (S40). I do. At this time, if the schedule is temporarily adjusted and loading is permitted, the contents of the temporary adjustment are also reflected.
- the bus bandwidth that can be used by the loaded software task is written in the bus bandwidth reservation file. If the required bus bandwidth does not exceed the bus bandwidth that can be secured ( ⁇ in S46), the required bus bandwidth is written and exceeds the bus bandwidth that can secure the required nose bandwidth ( ⁇ in S46). ), The new software loaded by the user's selection (S49 ⁇ ) can be secured in S44. Write and reserve available bus bandwidth. When the bus bandwidth that can be secured changes with time, the bus bandwidth that can use the minimum value may be used, or a reservation that reflects the time change may be made. As a result, when the necessary bus bandwidth is secured, the desired bus bandwidth is used, and when the necessary bus bandwidth cannot be secured, the new bus is processed using the maximum available bus bandwidth. The
- the procedure in FIG. 13 will be described again by taking the allocation situation shown in FIG. 9 as an example.
- the three reserved tasks A, B, and C shown in Figure 9 have reserved 60%, 40%, and 40% bus bandwidth in a transfer interval, respectively.
- the processing time attribute of the new software that the user requested to load is that the required number of sub-processors 30 is 3, the required processing time value is 20% of the unit period, and the required value for the bus bandwidth attribute is 80%.
- the processing related to the processing time attribute in FIG. 11 there is sufficient free time after task B ends in the three sub processors 30a, 30b, and 30c as described in the second embodiment.
- the schedule is temporarily adjusted so that the new task is assigned to any three of the four sub processors 30a, 30b, 30c, and 30d after the processing of task C is completed. Since the reserved task is not processed after the task C is completed, the available bandwidth is 100%, and it is determined in S48 that the required bus bandwidth does not exceed the available bus bandwidth. Software loading is allowed. In this example, the power of making temporary adjustments to the schedule only for the new task As in the second embodiment, the reserved task is set so that the new task satisfies the required values for both processing time and bus bandwidth. You can make temporary adjustments to the schedule at the same time. Or schedule adjustments for reserved tasks only.
- the graphic processor 100 when executing software that involves three-dimensional graphics processing, such as a computer game, the graphic processor 100 performs image processing included in the task processed by the main processor 200 in the information processing apparatus 1000 shown in FIG. Information relating to lines and image processing is stored in the main memory 50. Therefore, in order to ensure the real-time performance of the game by generating frame data and displaying it on the display device 500 without delay, the processing speed of each processor and the main processor 200 and the main processor 200 The data transfer speed for image processing between the PC and the graphic processor 100 is an important factor. In other words, when the frame data is generated, if the necessary data cannot be transferred in time, the frame rate displayed on the display device 500 will be affected as a result.
- the minimum required bus bandwidth for expressing a moving image with a desired resolution and operation speed is held for each software as a bus bandwidth attribute.
- the S49 user confirmation process may display a warning that the operation speed may be reduced.
- the user is not expected to operate the new software. Can be prevented before loading, and the necessary bus bandwidth for the software tasks that are already being executed is ensured. It will not interfere with the operation. Furthermore, for a task with a small amount of data transfer or a limited time limit, a finite processor can be secured by selectively securing a large bus bandwidth for tasks that require real-time processing, including graphic processing. Resources can be used efficiently and processing suitable for the user's needs can be performed. In this embodiment, as in Embodiments 1 and 2, the processing time attribute is also checked, so both sides of the processing time and bus bandwidth can be checked and tasks can be selected. Therefore, more effective use of resources and normal operation can be ensured in order to respond to scheduling.
- the present embodiment can be implemented with the same configuration as the information processing apparatus 1000 shown in FIG. 1 and the management processor 32 shown in FIG. 2 in the first embodiment.
- the description will be given mainly focusing on the differences from the first and second embodiments.
- the processing time attribute in the attribute file is acquired in response to a new software load request.
- a priority attribute is further acquired. Then, based on the priority file that describes the priority of the reserved task, whether or not to execute the new software is determined. In this case, the reserved software is also subject to the determination of whether or not to execute.
- FIG. 14 shows an example of the data structure of the attribute file in the present embodiment.
- the attribute table 74 of the present embodiment includes an attribute name column 74a and a necessary value column 74b, as in the first embodiment.
- the task priority power is described in the required value column 74b. Is done.
- the priority is a relative value compared between a new task and a reserved task, or between reserved tasks, and is expressed by, for example, a natural number in five stages from 1 to 5. In the example in Fig. 14, the priority is “4” out of 5 levels. Priorities are the contents of the software when shipped Is set according to
- FIG. 15 shows a processing procedure related to the processing time attribute and the priority attribute that is subsequently performed when it is determined that the general attribute can be executed (Y in S12).
- the processing time attribute in the attribute file is detected, the necessary value is read (S30), and the free time of the sub processor 30 is determined from the reserved task allocation status described in the schedule file. Is derived (S32). Then, the required value of the processing time is compared with the free time of the sub-port processor 30 (S34). If sufficient free time cannot be secured with the originally scheduled task schedule, the schedule is temporarily adjusted as in the second embodiment, and then the comparison is made again. Those processes are also included in S34.
- the attribute acquisition unit 62 detects the priority attribute in the attribute file. Then read (S56). Next, the status acquisition unit 64 acquires the priority file from the main memory 50, and specifies all the priorities of the reserved tasks (S58).
- the priority file is a file that stores the priority data read when the reserved software is loaded.
- the determination unit 66 compares the priority of the new task with the priority of the reserved task (S 60). If there is a reserved task with a priority lower than the priority of the new task (hereinafter referred to as a low priority task) (Y in S60), one of them is extracted based on the priority of the task, for example.
- the processing reservation for the assigned low priority task is temporarily canceled (S64)
- the temporary free time of the sub processor 30 is calculated (S32).
- the determination unit 66 compares the processing time required for the new task with the temporary free time (S34). In this case as well, if there is not enough free time, you may include a process of making a temporary adjustment to the remaining reserved tasks and then comparing them again.
- Temporary cancellation of reservations is a thought-experimental process that is performed only by calculation, independent of the actual task process.
- a warning to stop the low priority task is displayed on the display device 500 (S68), the task is stopped (S70), and the reservation is canceled from the schedule file (S72). Then, as shown in FIG. 7, the loading is completed (S38) and the schedule file is updated (S40). In S40, the priority of the loaded software task is written to the priority file.
- the warning regarding the stop of the low priority task in S68 may cause the user to determine whether or not the execution of the low priority task can be stopped. In this case, if the user refuses to stop execution of the task, new software load disapproval processing is performed and the sequence is terminated. On the other hand, if the user approves the suspension of execution, the new software is loaded as described above.
- the present embodiment can be implemented with the same configuration as the information processing apparatus 1000 shown in FIG. 1 and the management processor 32 shown in FIG. 2 in the first embodiment.
- the priority attribute is introduced when comparing the processing time attribute required by the new task with the free time of the sub processor 30.
- the same priority attribute is also referred to in comparing the bus bandwidth required by the new task described in the third embodiment and the bus bandwidth that can be secured based on the bus bandwidth reservation file.
- the bus bandwidth attribute is expressed in two stages: the optimum bus bandwidth and the minimum required bus bandwidth. Then, based on the priority of the new task and the reserved task, the execution determination is performed while adjusting the bus bandwidth used for each task.
- FIG. 16 shows an example of the data structure of the attribute file in the present embodiment.
- the attribute table 76 of the present embodiment includes an attribute name column 76a, a first required value column 76b, a second required value column 76c, and an identifier column 76d.
- the “Processing time” attribute the number of sub-processors 30 required for processing the task and the processing time power.
- the priority of the task is described in the first required value column 76b.
- the ratio of the optimal bus band for task processing is in the first required value field 76b, and the minimum required bandwidth ratio is within the second required value field as long as there is no malfunction.
- identifier field 76d an identifier for identifying a bus section is described in the identifier field 76d.
- the bus bandwidth used for each task is determined based on the numerical values described in the first required value column 76b and the second required value column 76c by comparing priorities with other tasks. The decision procedure is described below.
- FIG. 17 shows an example of the data structure of the bus bandwidth reservation table stored in the bus bandwidth reservation file referred to in the present embodiment.
- the bus bandwidth reservation table 78 includes a software name column 78a, a task number column 78b, an optimum value column 78c, a minimum value column 78d, and a use value column 78e.
- the scheduled task is numbered and the number is shown in the task number field 78b.
- the first required value and the second required value read from the bus bandwidth attribute of each software are shown in the optimum value column 78c and the lowest value column 78d as the optimum bus bandwidth and the minimum bus bandwidth, respectively.
- the usage value column 78e shows the percentage of the bus bandwidth that is currently reserved, that is, that each task can use. This used bus bandwidth is automatically determined in the processing related to the bus bandwidth attribute described later.
- the optimum value for the nose band is the upper limit, and the lowest value is the lower limit.
- the bus bandwidth usage value is at least guaranteed by hardware as described in Embodiment 3. It is.
- Fig. 18 shows the processing procedure related to the bus bandwidth attribute considering the priority, which is performed after the determination that the processing time attribute is executable (Y in S34, S66 to S72)! /
- the attribute acquisition unit 62 detects the bus bandwidth attribute in the attribute file of the new software, and reads the first required value, the second required value, and the identifier (S74).
- the status acquisition unit 64 derives the time change of the bus bandwidth that can be secured based on the bus bandwidth reservation file for each bus section (S76).
- the determination unit 66 acquires the first required value from the bus bandwidth attribute of the new software, and compares it with the bus bandwidth that can be secured for each bus section (S78). In this comparison, the required processing time for the new task is taken into consideration as in the third embodiment. Also, if sufficient bus bandwidth cannot be secured in the initially reserved task allocation schedule, the schedule is temporarily adjusted as in the third embodiment, and then the comparison is performed again. In FIG. 18, these processes are also included in S78. Optimal bus bandwidth for new tasks If it is determined that the bus bandwidth can be scheduled so that it does not exceed the available bus bandwidth at any time (Y of S78, ⁇ of S88), the mouth as shown in Fig. 7 Mode completion (S38) and the schedule file and bus bandwidth reservation file are updated (S40). At this time, an optimum bus bandwidth is described in the use value column 78e of the new software in the bus bandwidth reservation table 78.
- the determination unit 66 determines the priority of the new task read during the processing related to the processing time attribute ( S56) in FIG. 15 is compared with the priority of the reserved task (S58 in the figure) (S80).
- the activation processing unit 68 performs a new software load non-permission process (S82). If there is a low priority task (Y in S80), the status acquisition unit 64 refers to the bus bandwidth reservation file, and is greater than the lowest bus bandwidth of the low priority tasks. Then, a value whose value is the used bus band is extracted (S84).
- the provisionable bus bandwidth is calculated when one of the usage values is temporarily reduced (S86, S76). Then, the judging unit 66 compares the optimum task bandwidth of the new task with the temporarily secured bus bandwidth (S78). Reduction of the bus bandwidth used by low priority tasks is limited to the minimum bus bandwidth. Reduction may be performed gradually while observing the determination result by the determination unit 66. In addition, multiple low-priority task powers may be gradually reduced evenly.
- the activation processing unit 68 warns about the possibility of slowing down the processing operation of the low priority task that is the target of the bus bandwidth reduction.
- the used value column 78e of the corresponding software in the bus bandwidth reservation table 78 is changed so as to reduce the used bus bandwidth of the task (S92).
- the activation processing unit 68 completes the loading of the new software (S38) and performs update processing of the schedule file, bus bandwidth reservation file, and priority file.
- step S90 the user may be inquired whether the operation of the low priority task may be delayed. In this case, if the user refuses to reduce the operation speed of the task, the new software is not loaded as in S82. On the other hand, if the user approves the operation speed reduction, the above-described loading completion processing is performed.
- the optimal bus bandwidth of the new task exceeds the bus bandwidth that can be secured (N in S78), and if there is a low-priority task in which the bus bandwidth used is greater than the minimum bus bandwidth (Y in S80, S8 4 Ii) Compare the bus bandwidth that can be secured if the used bus bandwidth is reduced with the optimum bus bandwidth of the new task (S86, S76, S78). Repeat the above process until the optimal bus bandwidth of the new task does not exceed the bus bandwidth that can be secured temporarily (Y of S78). If the optimal bus bandwidth for the new software cannot be secured (N in S84), the bus bandwidth used for the new task is temporarily reduced (S94, S96), and it is determined whether the bus bandwidth that has been temporarily secured is exceeded. (S 78).
- the reduction of the bus bandwidth used by new tasks is also limited to the second required value of the bus bandwidth attribute. If the bus bandwidth that can be secured is not exceeded (Y in S78), the activation processing unit 68 may delay the operation of the low-priority task that is targeted for reducing the bandwidth, and A warning about the possibility of slowing down the task operation is displayed on the display device 500 (Y, S90 in S88), and the usage value of the corresponding software in the bus bandwidth reservation table 78 to reduce the bus bandwidth used by low-priority tasks Change field 78e (S92). Then, as shown in FIG. 7, the loading of the new software is completed (S38), and the schedule file, bus bandwidth reservation file, and priority file update process (S40) is performed. At this time, the bus bandwidth used for the new software task should be the value obtained by reducing the first required value of the bus bandwidth attribute.
- the startup processing unit 68 can secure the minimum bus bandwidth for the new task.
- the low priority task is extracted as much as possible based on the priority and the like, and the low priority task stop processing similar to that performed in S68, S70, and S72 in FIG. 15 of Embodiment 4 is performed (S98). Then, the above new software loading process (S38, S40 in Fig. 7) is performed.
- all tasks can be executed as much as possible while adjusting the bus bandwidth used for both new tasks and reserved tasks within an allowable range.
- the system is configured to check with the user before reducing the bus bandwidth used or stopping the low-priority tasks, even if there is a possibility that the operation will be slow, all tasks will be executed. Users can select from various countermeasures such as stopping low-priority tasks.
- the operation mode becomes more flexible with respect to the processing time. Furthermore, by introducing a priority attribute to the determination of the bus bandwidth, it is possible to determine whether or not loading is possible according to the priority, and it is possible to automatically adjust the nose bandwidth, and only whether or not loading is possible. In addition, the usage bandwidth is flexible, and more efficient use of resources is possible.
- the bus bandwidth attribute is expressed in two stages of the first required value and the second required value.
- one required value is set, and is it a strict adherence value or a desirable value? You may be discouraged to identify.
- use of a task whose set bus bandwidth is a strict adherence The bus bandwidth is excluded from the reduction target regardless of the priority.
- the bus bandwidth may be preliminarily set to some common minimum required bus bandwidth and reduced to that value. Also in this case, the same effect as in the above case can be obtained.
- the present embodiment can be implemented with the same configuration as the information processing apparatus 1000 shown in FIG. 1 and the management processor 32 shown in FIG. 2 in the first embodiment.
- the processing procedure performed in the management processor 32 is performed in the same manner as in any one of the first to fifth embodiments.
- the explanation will focus on the differences from the first embodiment.
- FIG. 19 schematically shows a configuration of the storage device 600 in the present embodiment.
- the file power indicating the processing time attribute and bus bandwidth attribute is stored in the same storage device as the software program file.
- the attribute file is Stored in a storage device 600 different from the program file.
- the attribute acquisition unit 62 first loads only the attribute file from the storage device 600 storing the attribute file into the main memory 50, and the processing time attribute and bus bandwidth included in the attribute file. Based on the attribute and priority attribute data, it is determined whether or not loading is possible.
- the version of the OS that controls the processing operation of the management processor 32 is updated, and a new model of the information processing apparatus 1000 having a high processor operation speed and a large bus bandwidth is available. Even if the storage device 600 is converted to a new one, only the storage device 600 such as a CD-ROM that stores attribute files corresponding to those changes can be newly read and the storage device 600 storing the program file can be used as it is. it can. Thereby, the user can easily enjoy the synergistic effect of the effect similar to that described in the first to fifth embodiments and the effect related to the processing speed brought about by the latest environment.
- the attribute file storage device 600 is a node disk connected to the information processing device 1000, for example, the user can rewrite the priority attribute according to his / her preference. As a result, it is possible to perform a load process that more closely meets the needs of the user.
- This embodiment has the same configuration as the management processor 32 shown in FIG. 2 in the first embodiment.
- the information processing apparatus 1000 shown in FIG. 1 is connected to the server 700 via the network as shown in the overall configuration of FIG.
- the processing procedure performed in the management processor 32 is performed in the same manner as in any one of the first to fifth embodiments.
- the description will be given mainly focusing on the differences from the first and sixth embodiments.
- FIG. 20 shows the overall configuration of the system in the present embodiment.
- the file power indicating the processing time attribute and the bus bandwidth attribute is stored in the storage device 600 directly connected to the information processing device 1000 such as a CD-ROM.
- the information processing device 1000 such as a CD-ROM.
- Managed on server 700 On the other hand, an identifier for detecting the attribute file corresponding to the software, such as the name of the corresponding attribute file and OS version information, is added to the software.
- the attribute acquisition unit 62 of the information processing apparatus 1000 sends an identifier to the server 700 to make an inquiry when acquiring the processing time attribute and the bus bandwidth attribute.
- the server-side information processing unit 702 of the server 700 detects the attribute file corresponding to the identifier from the server-side storage device 704 according to the inquiry from the information processing device 1000, and prepares the information processing device 1000 for download. Notify that you were able to.
- the attribute acquisition unit 62 receives the notification and downloads the attribute file to store it in the main memory 50. Thereafter, as in the first to fifth embodiments, whether or not loading is possible is determined based on the processing time attribute, bus bandwidth attribute, and priority attribute data included in the attribute file.
- the server 700 since the server 700 always manages the attribute file, the attribute data is improved by the attribute data verification experiment by a software manufacturer or the like, or is executed by the information processing apparatus 1000. Even if the OS version to be updated is updated, or the information processing device 1000 model with a large processing speed and bus bandwidth is newly commercialized, operation with the latest attribute data within the range corresponding to the software is possible. Can be done automatically. As a result, the user can easily enjoy the synergistic effect of the effect similar to that described in Embodiments 1 to 5 and the effect related to the processing speed brought about by the latest environment.
- the identifier and the program file are stored in the storage device 600 connected to the information processing device 1000. May be stored in 04.
- the corresponding attribute file is downloaded first.
- whether or not new software can be loaded is determined. If it is determined that loading is possible, the information processing apparatus 1000 sends a signal to that effect to the server 700 and downloads the software program file.
- the present embodiment can be implemented with the same configuration as the management processor 32 shown in FIG. 2 in the first embodiment, but the information processing apparatus 1000 shown in FIG. 1 is the same as the seventh embodiment. Connected to server 700 via the network.
- the processing procedure performed by the management processor 32 is performed in the same manner as in any of the first to fifth embodiments.
- the explanation will focus on the differences from the seventh embodiment.
- FIG. 21 shows the overall configuration of the system in the present embodiment.
- the attribute file indicating the processing time attribute and the bus bandwidth attribute is centrally managed by the server 700.
- the same software file as the software program file is stored. It is also stored in the storage device 600.
- the latest attribute file is added to the program file at the time of shipping the software.
- the attribute file is acquired from the server 700 when the attribute data is improved by the attribute data verification experiment by a software manufacturer or when the OS version executed on the information processing device 1000 is updated. . Therefore, identifiers such as the version information of the attached attribute file and the OS version information at that time are added to the software.
- the attribute acquisition unit 62 of the information processing apparatus 1000 first transmits an identifier to the server 700 to make an inquiry when acquiring the processing time attribute and the bus bandwidth attribute.
- the server-side information processing unit 702 of the server 700 detects the attribute file corresponding to the identifier from the server-side storage device 704 and confirms whether the version has been updated. If it has been updated, the information processing apparatus 1000 is notified of the fact, and the information processing apparatus 1000 has the latest attribute file. Download it from server 700. Further, even if the OS version executed on the information processing apparatus 1000 has been updated, the information processing apparatus 1000 queries the server 700 and downloads the attribute file corresponding to the updated OS version. The download procedure is the same as in the seventh embodiment. After that, as in the first to fifth embodiments, whether or not loading is possible is determined based on the processing time attribute, bus bandwidth attribute, and priority attribute data included in the attribute file.
- the information processing device 1000 since the latest attribute data at the time of shipment is stored in the same storage device 600 that stores the software, the information processing device 1000 is connected to the network, for example. Even if it is not, it can be operated. Furthermore, as in Embodiment 7, it is possible to operate in the latest environment that appropriately responds to changes such as improved attribute data, OS version updates, and changes in the information processing device 1000 model. It is possible to easily enjoy the synergistic effect of the same effect as described in 5 and the effect on the processing speed brought about by the latest environment.
- the processing related to the bus bandwidth attribute is performed after the processing related to the processing time attribute, or the processing referring to only the bus bandwidth attribute is performed. Also good. Also in this case, the same effect as this embodiment can be obtained.
- each attribute may be described in a separate attribute file, or the storage device to be stored may be different!
- a file that contains only priority attributes that can be easily set by the user is stored on the hard disk when it is loaded for the first time, and updated and referenced.
- Other attributes are stored on the CD-ROM along with the software program file, You may refer to the file stored in the server 700.
- the effects described in this embodiment can be obtained in a flexible operation mode according to the nature of the attribute itself.
- the present invention is a computer or game machine that executes a plurality of tasks in parallel. Available to any electronic device.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Processing (AREA)
- Stored Programmes (AREA)
Abstract
図2において、メインプロセッサに含まれ、情報処理装置全体の制御やサブプロセッサへの複数のタスクの割り当てを行う管理プロセッサ32において、ロード要求受付部60は、新規ソフトウェアのロード要求をユーザより受け付ける。属性取得部62は、新規ソフトウェアに付加された属性ファイルを読み込み、当該ソフトウェアのタスクの処理に必要な処理時間を検出する。状況取得部64は、サブプロセッサへ割り当て済みのタスクに関するスケジュールファイルを読み込み、サブプロセッサの空き時間を導出する。判定部66は新規ソフトウェアのタスク処理に必要な時間とサブプロセッサの空き時間を比較し、必要な時間が空き時間を超えない場合には、起動処理部68が新規ソフトウェアのロードを完了させる。
Description
明 細 書
情報処理方法、情報処理装置、およびサーバ
技術分野
[0001] 本発明は情報処理技術に関し、特にオペレーティングシステムによって複数のタス ク処理を制御する情報処理装置と、その装置における情報処理方法、およびその装 置を支援するサーバに関する。
背景技術
[0002] 近年の著し 、技術進歩に伴 、、テレビ、コンピュータゲーム、ディジタルビデオ、電 子メールなどを含む複数の機能を、一の装置で並行して実行することのできるコンビ ユータが広く一般に浸透しつつある。そのようなコンピュータの実現において根幹を なす技術的課題のひとつが処理の高速ィ匕である。処理の高速化は、コンピュータを 構成する各モジュールにおける処理速度の向上以外に、それらのモジュールが供給 する量的、時間的資源を効率的に使用することによってももたらされる。例えば演算 処理を高速ィ匕するためにマルチプロセッサによる並列処理を行ったり、アプリケーショ ンソフトウェアやユーティリティソフトウェアなどのソフトウェアが使用する関数をコンポ 一ネントとして別に保持し、必要に応じてロードすることによって効率的な処理を行つ たりする。
[0003] 上記のコンポーネントや、ソフトウェア本体、基本ソフトウェアであるオペレーティング システム(以下、 OSと呼ぶ)などの技術開発は日々進拔しており、ユーザは自らのコ ンピュータの性能向上を求めて、それらを最新バージョンへと更新しようと望む。しか しながらソフトウェアは通常、ソフトウェア本体の他、コンポーネントや OS、および装置 との協働によって実現されるものであるため、個々にバージョンアップを行うことによつ て互換性がなくなり、ソフトウェアの動作に不具合が生じることがある。そこでコンポ一 ネントにバージョン互換性を記述したファイルを付加しておき、互換性を別に管理す ることによってバージョンアップを効率ィ匕し、かつ不具合が発生しないようにする技術 が提案されている (例えば特許文献 1参照)。
特許文献 1 :特開 2001— 331324号公報
発明の開示
発明が解決しょうとする課題
[0004] 演算の並列処理など装置自体の進歩や、上述のような機能の分業などの工夫によ り可能となった複数のソフトウェアの並行処理においては、コンピュータに含まれるプ ロセッサ、メモリ、およびバスなどの資源を、複数のソフトウェアで共有する必要がある 。このため、起動するソフトウェアの数が増加するほど、一のソフトウェアが占有できる 資源が減少し、処理の順番待ちなどによって動作速度が低下する。しかし、ソフトゥヱ ァによってはある動作速度を確保できな 、と、正常な動作を確保できな 、場合がある ことを、本発明者は認識した。
[0005] 本発明はこのような課題に鑑みてなされたものであり、その目的は複数のソフトゥヱ ァを正常かつ効率的に動作させる技術の提供にある。
課題を解決するための手段
[0006] 本発明のある態様は情報処理方法に関する。この情報処理方法は、新規タスクの 実行要求を受け付けるステップと、新規タスクの所要処理時間および新規タスクの処 理における所要バス帯域の少なくとも一方を特定するステップと、複数のタスクに関 する処理手順を表すスケジューラに予約された予約済みタスクと、新規タスクの所要 処理時間とを合計した総所要処理時間と、それらのタスクを実行する装置が確保でき る処理時間との比較、および、予約済みタスクと新規タスクの処理における所要バス 帯域とを合計した総所要ノ ス帯域と、それらのタスクを実行する装置が確保できるバ ス帯域との比較、の少なくとも一方を行うステップと、比較結果に基づき新規タスクの 実行可否を判定するステップと、新規タスクが実行可能と判定された場合、その新規 タスクをスケジューラに予約するステップと、スケジューラに基づき実行可能と判定さ れた新規タスクを含むタスクの処理を行うステップと、を含むことを特徴とする。ここで 実行可否を判定するステップは、新規タスクの優先度情報を取得するステップを含み 、取得した優先度情報に基づ!、て実行可否を判定する。
[0007] 「タスク」とは、ある目的を達成するためにプログラムされたアプリケーションまたはそ れに含まれる情報処理の内容をいい、アプリケーションと対応してもよいし、入出力制 御やユーザが指定したコマンドなどアプリケーションよりも小さい単位と対応してもよく
、何らかの処理または機能の単位に対応すればよ!、。
[0008] 本発明の別の態様は情報処理装置に関する。この情報処理装置は、主に装置全 体を統括的に制御する第一のプロセッサと、主に演算処理を行う第二のプロセッサと 、処理するタスクに関する情報を記憶するメインメモリと、外部装置とのデータ入出力 を制御するデータ入出力プロセッサと、を備える情報処理装置であって、第一のプロ セッサは、新規タスクの実行要求を受け付ける実行要求受付け部と、新規タスクの処 理に係る時間関連パラメータを特定するパラメータ特定部と、特定した時間関連パラ メータと、情報処理装置の内部に係る情報のうち時間関連パラメータと対応する対応 内部情報と、に基づき新規タスクの実行可否を判定する実行許可部と、新規タスクが 実行可能と判定された場合、新規タスクの処理を起動する起動処理部と、を備え、時 間関連パラメータは、第一のプロセッサとメインメモリ間のデータ転送において新規タ スクが必要とするバス帯域、第一のプロセッサと第二のプロセッサ間のデータ転送に ぉ 、て新規タスクが必要とするバス帯域、および第一のプロセッサとデータ入出力プ 口セッサ間のデータ転送において新規タスクが必要とするバス帯域のうち、少なくとも ひとつを含むことを特徴とする。
[0009] なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コ ンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である
発明の効果
[0010] 本発明によれば、複数のタスクの正常な動作の保障を効率的に実現できる。
図面の簡単な説明
[0011] [図 1]実施の形態 1における情報処理装置の構成を示すブロック図である。
[図 2]実施の形態 1における管理プロセッサの構成を示すブロック図である。
[図 3]実施の形態 1における記憶装置の構成を模式的に示した図である。
[図 4]実施の形態 1における属性ファイルのデータ構造の例を示した図である。
[図 5]実施の形態 1において行われるソフトウェアのロード処理手順を示すフローチヤ ートである。
[図 6]実施の形態 1において行われるソフトウェアのロード処理手順を示すフローチヤ
ートである。
[図 7]実施の形態 1において行われるソフトウェアのロード処理手順を示すフローチヤ ートである。
[図 8]実施の形態 1にお 、てスケジュールファイルに記述されるタスクの割り当て状況 の例を模式的に示した図である。
[図 9]実施の形態 2においてスケジュールファイルに記述されるタスクの割り当て状況 の例を模式的に示した図である。
[図 10]実施の形態 2における属性ファイルのデータ構造の例を示した図である。
[図 11]実施の形態 2において行われるソフトウェアのロード処理手順を示すフローチ ヤートである。
[図 12]実施の形態 3における属性ファイルのデータ構造の例を示した図である。
[図 13]実施の形態 3において行われるソフトウェアのロード処理手順を示すフローチ ヤートである。
[図 14]実施の形態 4における属性ファイルのデータ構造の例を示した図である。
[図 15]実施の形態 4において行われるソフトウェアのロード処理手順を示すフローチ ヤートである。
[図 16]実施の形態 5における属性ファイルのデータ構造の例を示した図である。
[図 17]実施の形態 5におけるバス帯域予約ファイルのデータ構造の例を示した図で ある。
[図 18]実施の形態 5において行われるソフトウェアのロード処理手順を示すフローチ ヤートである。
[図 19]実施の形態 6における記憶装置の構成を模式的に示した図である。
[図 20]実施の形態 7におけるシステムの全体構成を示した図である。
[図 21]実施の形態 8におけるシステムの全体構成を示した図である。
符号の説明
30· ··サブプロセッサ、 32…管理プロセッサ、 40· ··ノス、 50· ··メインメモリ、 6 0…ロード要求受付部、 62· ··属性取得部、 64· ··状況取得部、 66· ··判定部、 6 8…起動処理部、 100· ··グラフィックプロセッサ、 200· ··メインプロセッサ、 600· ··
記憶装置、 650…入出力プロセッサ、 700· "サーバ、 702…サーバ側情報処理 部、 704…サーバ側記憶装置、 1000…情報処理装置。
発明を実施するための最良の形態
[0013] (実施の形態の概要)
複数のソフトウェアを同時に実行する情報処理装置においては、プロセッサによる 処理時間やデータ転送に使用されるバス帯域などの有限な資源をいかに各ソフトゥ アに割り振るかが重要な問題である。例えば、すでに複数のソフトウェアが動作して いる装置で、新たにソフトウェアを起動した場合、動作するソフトウェアで均等に処理 時間やバス帯域を割り振れば、各ソフトウェアの動作は当然遅くなる。しかし、グラフィ ック処理などリアルタイム性を要求されるタスクを含むソフトウェアでは、一定以上の処 理速度を確保できな 、と正常な動作が保障されな 、場合がある。本実施の形態では 、処理速度に対し重要となる、プロセッサの占有時間(以後、処理時間と呼ぶ)やバス 帯域を、タスクの起動時に確認することにより、起動するタスクおよび起動済みのタス クの 、ずれにお 、ても、ユーザの期待しな 、動作速度での処理や不具合の発生を 抑制する。より具体的には以下のような処理を行う。
[0014] 1.まず新規ソフトウエアの実行要求を受け付けた際、対応するタスク (以後、新規タ スクと呼ぶ)が必要とする処理時間、または必要とするバス帯域の少なくとも一方を特 定する。それらの値は、新規ソフトウェアのソースプログラムに付加されたり、ネットヮ ークを介してサーバより取得したりする属性ファイル中、処理時間属性、バス帯域属 性にそれぞれ記述されている。さらに、すでに起動しているタスク(以後、予約済みタ スクと呼ぶ)が必要とする処理時間、または必要とするバス帯域を特定する。それらの 値は、メインメモリに格納したスケジュールファイル、バス帯域予約ファイルに、タスク ごとに記述されている。続いて、新規タスクが必要とする処理時間と、予約済みタスク の処理時間から計算されるプロセッサの空き時間との比較、および新規タスクが必要 とするバス帯域と、予約済みタスクの使用バス帯域力 計算されるバス帯域の空きと の比較、の少なくとも一方を行い、新規タスクが処理時間、バス帯域の少なくともいず れかの観点から、実行可能かどうかを判定する。実行可能と判定された場合は、スケ ジュールファイル、バス帯域予約ファイルを更新し、新規タスクを起動させ、スケジュ
ールファイルに基づき処理を行う。実行可否判断には各タスクの優先度を考慮しても よい。新規タスクの優先度は優先度属性としてソースプログラムなどに付加される。予 約済みタスクの優先度は、メインメモリなどに格納した優先度ファイルに、タスクごと〖こ 記述されている(実施の形態 1〜8)。
[0015] 2.新規タスクが必要とする処理時間がプロセッサの空き時間より大きい場合、また は、必要とするバス帯域がバス帯域の空きより大きい場合、優先度に基づいて予約 済みタスクの停止の可否も判定する(実施の形態 4、 5)。
[0016] 3.新規タスクが必要とするバス帯域がバス帯域の空きより大きい場合、優先度に基 づ 、て各タスクが使用するバス帯域を調整する(実施の形態 5)。
[0017] 4.新規タスクが実行不可と判定された場合は、当該タスクの実行要求を起こしたタ スクに対し、その旨を通知する(実施の形態 1〜5)。
[0018] 5.新規タスクの実行不可や、予約済みタスクの停止が判定されたときは、装置を制 御するメインプロセッサがそれを認識し、ユーザへその旨を通知する(実施の形態 1
〜5)。
[0019] (実施の形態 1)
図 1は、本実施の形態における情報処理装置 1000の構成を示すブロック図である 。情報処理装置 1000は、グラフィックプロセッサ 100、メインプロセッサ 200、入出力 プロセッサ 650、およびメインメモリ 50を含み、それらはバス 40によって相互に接続さ れている。入出力プロセッサ 650は、表示装置 500および記憶装置 600と接続され ている。
[0020] 図 1において、様々な処理を行う機能ブロックとして記載される各要素は、ハードウ エア的には、 CPU、メモリ、その他の LSIで構成することができ、ソフトウェア的には、 メモリにロードされた予約管理機能のあるプログラムなどによって実現される。したが つて、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組 合せによって 、ろ 、ろな形で実現できることは当業者には理解されるところであり、 Vヽ ずれかに限定されるものではな 、。
[0021] この情報処理装置 1000では、情報処理装置 1000を効率よく使用するための機能 、環境を提供し、装置全体を統括的に制御する OSが実行される。その OSによって
情報処理装置 1000の各機能ブロックが動作することにより、複数のソフトウェアが実 行される。
[0022] メインプロセッサ 200は、複数のサブプロセッサ 30と管理プロセッサ 32を含む。管 理プロセッサ 32は、複数のソフトウェアに対応するタスクを時分割し、タイムスライスご とにサブプロセッサ 30に割り当て、それをメインメモリ 50に格納したスケジュールファ ィルに書き込む。さらにバス 40の帯域を、バス帯域予約ファイルをもとに複数のタスク に割り振り、ハードウェアとの協働により使用ノ ス帯域の制御を行う。サブプロセッサ 3 0は、スケジュールファイルに則りタスクの並列処理を行う。
[0023] グラフィックプロセッサ 100は、グラフィックメモリ 10および処理ユニット 12を含む。メ インプロセッサ 200により処理されるそれぞれのタスクに関連する画像処理を処理ュ ニット 12が行い、生成された画像、映像はー且グラフィックメモリ 10に格納され、入出 力プロセッサ 650の制御により表示装置 500または記憶装置 600に出力される。
[0024] メインメモリ 50は、主にメインプロセッサ 200によって使用される記憶領域である。こ のメインメモリ 50は、ロードされたソフトウェアのプログラムや、ソフトウェアに対応する タスクに関連するデータが格納される。また、予約済みタスクのスケジュールファイル 、ノ ス帯域予約ファイル、優先度ファイルもメインメモリ 50に格納される。
[0025] 表示装置 500はメインプロセッサ 200およびグラフィックプロセッサ 100の処理の結 果得られた画像、映像を出力する。記憶装置 600はハードディスク装置、 CD-RO M、 MO、半導体の記憶素子などの外部記憶装置のいずれか、またはそれらの組み 合わせでよい。情報処理装置 1000は OSの制御のもと、記憶装置 600に記憶された ソフトウェアをメインメモリ 50に読み出すことにより、当該ソフトウェアのロードを行い、 タスクの処理を実行する。入出力プロセッサ 650は表示装置 500や記憶装置 600と 情報処理装置 1000との上述のようなデータの入出力を制御する。
[0026] なお図 1において、バス 40は簡単のために一の線で示されている力 実際には複 数のバスで構成してよぐ所定の機能ブロック間に専用バスを設けてよい。
[0027] 図 2は、本実施の形態における管理プロセッサ 32の構成を示すブロック図である。
管理プロセッサ 32は、ユーザが記憶装置 600に格納されたソフトウェアを情報処理 装置 1000に認識させることによって行う、ソフトウェアのロード要求を受け付けるロー
ド要求受付部 60と、ロード要求を受け付けた新規ソフトウェアの属性ファイルを記憶 装置 600より読み出し、新規タスクの所要処理時間を取得する属性取得部 62と、ス ケジュールファイルをメインメモリ 50より読み出し、予約済みタスクの所要処理時間を 取得する状況取得部 64と、新規タスクの所要処理時間とプロセッサの空き時間を比 較し、新規タスクの処理を実行できる力否力判定する判定部 66と、実行可能と判定さ れた新規ソフトウェアのプログラムを記憶装置 600より読み出し、メインメモリ 50へ格 納し、新規タスクをサブプロセッサ 30に割り当て、スケジュールファイルを更新する起 動処理部 68と、を含む。起動処理部 68は、新規ソフトウェアのロードが実行不可とさ れたときも、新規ソフトウェアを格納した記憶装置 600へロード要求拒否の信号を送 信し、入出力プロセッサ 650を介して表示装置 500へロード不可の通知を表示する などのロード不許可処理を行う。
[0028] 図 3は本実施の形態における記憶装置 600の構成を模式的に示している。本実施 の形態では、属性ファイルがソフトウェア本体であるプログラムファイルや各種コンポ 一ネントなどとともに記憶装置 600に格納される。
[0029] 図 4は本実施の形態における属性ファイルのデータ構造の例を示している。属性テ 一ブル 70は、属性名称欄 70a、および必要値欄 70bを含む。ここでは、「処理時間」 属性に対し、タスクの処理に必要な処理時間が必要値欄 70bに記述されている。図 4 における処理時間属性の必要値は、所定単位時間に対して当該タスクがサブプロセ ッサ 30を占有する時間の絶対値として表現されている力 これについては後述する。 処理時間の必要値はソフトウェアの出荷時にソフトウェアメーカによって設定される値 であり、過負荷での検証実験などによって得られた値を採用する。
[0030] 属性は処理時間属性の他、実行許可属性やメモリ容量属性を含んでもよ!、。実行 許可属性は例えば、ドンダルの接続やシリアルナンバーの入力など、実行に必要な 条件を、メモリ容量属性はタスクの処理に必要なメモリ容量を表す。
[0031] 次に上述した構成による動作を説明する。図 5、図 6および図 7は、主に管理プロセ ッサ 32によって行われるソフトウェアのロードに係る処理手順を示す。まず図 5におい て、ユーザはゲームなど所望の新規ソフトウェアを記憶した CD— ROMを情報処理 装置 1000に接続された読み取り装置へ挿入するなどして、情報処理装置 1000〖こ
対し新規ソフトウェアのロード要求を行 、、管理プロセッサ 32のロード要求受付部 60 はそれを受信する(S 10)。なお、新規ソフトウェアが格納された記憶装置 600は、 C D— ROMに限られず、ハードディスク装置、 MO、半導体の記憶素子などの記憶装 置でもよい。さらに、図示しないネットワークに接続されたサーバから、所望の新規ソ フトウェアを情報処理装置 1000にダウンロードするように要求する構成としてもよい。 ここでは記憶装置 600として CD— ROMを例に説明する。
[0032] ロード要求受付部 60がロード要求を受け付けると、属性取得部 62は、新規ソフトゥ エアの CD— ROMに記憶された属性ファイルに含まれる、実行許可属性やメモリ容 量属性など一般的な属性を取得する。次 、で状況取得部 64がそれぞれの属性の実 態を確認し、判定部 66がそれぞれの属性の条件を実態が満足して 、るかを判定す る(S12)。条件を満たしていないと判定された場合は(SI 2の N)、起動処理部 68が 上述のロード不許可処理を行い(S 14)、シーケンスを終了する。
[0033] 一方、条件を満たしていると判定された場合 (S 12の Y)、図 6示すように、属性取得 部 62は属性ファイル内の処理時間属性を検出し、必要値を読み込む(S30)。次い で状況取得部 64はスケジュールファイルをメインメモリ 50より読み込み、予約済みタ スクの割り当て状況力もサブプロセッサ 30の空き時間を導出する(S32)。そして判定 部 66は、処理時間の必要値と、サブプロセッサ 30の空き時間とを比較する(S34)。 比較の結果、処理時間の必要値がサブプロセッサ 30の空き時間を上回っていると判 定された場合は(S34の N)、起動処理部 68がロード不許可処理を行い(S37)、シ 一ケンスを終了する。
[0034] 一方、処理時間の必要値がサブプロセッサ 30の空き時間を超えないと判定された 場合は(S34の Y)、図 7のごとぐ起動処理部 68により新規ソフトウェアの本体を CD —ROMからメインメモリ 50へ読み出し、ロードを完了する(S38)。さらに起動処理部 68は、新規タスクを時分割し、タイムスライスごとにサブプロセッサ 30に割り当て、メイ ンメモリ 50に格納されたスケジュールファイルを更新する(S40)。これにより、上述の とおりサブプロセッサ 30による新規タスクの処理が開始される。
[0035] 次に処理時間属性について説明する。図 8は本実施の形態におけるスケジュール ファイルに記述されるタスクの割り当て状況の例を模式的に示している。同図は、 2つ
の予約済みソフトウェア、ソフトウェア Aおよびソフトウェア Bにそれぞれ対応するタスク Aおよびタスク Bが時分割され、あら力じめ設定された単位期間においてそれらのタ スクが順番に処理されるように複数のサブプロセッサ 30a〜30dに割り当てられた様 子を示している。この単位期間内の処理を繰り返すことにより、タスク A、タスク Bの実 行が進拔する。
[0036] 本実施の形態において S30で読み込まれる処理時間属性の必要値は、この単位 期間のうち、タスクが必要とする処理時間の絶対値で表現する。図 8の例では、ソフト ウェア Aおよびソフトウェア Bの処理時間属性の必要値はそれぞれ単位期間の 20% 、および 40%であるから、単位期間が例えば 16. 6msであるとすると、 3. 3ms、 6. 6 msと記述されて 、ることになる。そしてそれらのソフトウェアが実行可能と判定され口 ードされたときに、 S40にてスケジュールファイルにそれらの値が書き込まれ、各サブ プロセッサ 30によってタスクの処理がなされる。
[0037] ここでユーザが、処理時間属性の必要値が単位期間の 50%である新規ソフトゥェ ァ Cのロード要求を行ったとする。図 8で示された予約済みソフトウェア Aおよび Bの 占有割合の合計が 60%であるため、状況取得部 64が S32で導出するサブプロセッ サ 30の空き時間は割合にして 40%である。したがって判定部 66は S34において、ソ フトウェア Cの処理時間属性の必要値がサブプロセッサ 30の空き時間を上回ってい ると判定し、ソフトウェア Cのロードは行われない。一方、ソフトウェア Cの処理時間属 性の必要値が単位期間の 30%を示して 、た場合は、サブプロセッサ 30の空き時間 を超えな 、と判定され、ソフトウェア Cがロードされる。
[0038] 上述の場合、管理プロセッサ 32の処理を制御する OSにおいてあらかじめ単位期 間を設定しておき、各ソフトウェアは同一の単位期間に対してそれぞれのタスクに必 要な処理時間の絶対値を処理時間属性の必要値として保持する。単位期間としては 例えば、表示装置 500の垂直同期信号の周期を設定する。
[0039] ソフトウェアがコンピュータゲームなど、 3次元グラフィックス処理を伴う場合、サブプ 口セッサ 30とグラフィックプロセッサ 100との協働によって生成されたフレームデータ は、グラフィックメモリ 10に格納され、表示装置 500に表示される。表示装置 500にお V、て、あるフレームの表示終了力 次のフレームの表示終了までに力かる時間が垂
直同期信号の周期であるから、動きのある画像を滞りなく表示しソフトウェアを正常に 動作させるためには、所望の解像度や動作速度などに応じて、ソフトウェアごとに垂 直同期信号の周期内で確保しなければならない処理時間が決まってくる。したがつ て処理時間属性の必要値を垂直同期信号の周期を単位に設定することにより、ソフト ウェアの動作保障のための設定が容易になる。
[0040] 本実施の形態では、処理時間属性をソフトウェアごとに保持することによって、ユー ザがロード要求を行ったソフトウェアの動作環境を前もって把握し、正常な動作を保 障できる場合に限りロードを行う。これにより、ロードを行ったにも関わらずソフトウェア がユーザの期待通りの動作をしな 、などの不具合を未然に防ぐことができる。また予 約済みソフトウェアのタスク処理時間を最低限確保できる力確認して力 新規ソフトゥ エアのロードを行うため、新規ソフトウェアのロードによってすでに起動しているソフト ゥ アの動作に支障をきたすことがなくなる。さらに必要な処理時間が比較的短ぐ時 間的制限の軽微なソフトウェアに対して、グラフィック処理などを含みリアルタイム性を 要求されるソフトウェアに選択的に多くのタイムスライスを確保することによって、有限 なプロセッサ資源の効率的な使用が可能となり、ユーザのニーズへ対応する余地が 広がる。
[0041] 上述の形態では、垂直同期信号の周期をソフトウェアに共通の単位期間とし、その 単位期間に対する処理時間の絶対値をもって処理時間属性の必要値としたが、単 位期間は、垂直同期信号の周期の倍数などでもよい。すなわち処理時間属性の必 要値は、ある単位期間におけるタスク処理に必要な時間であればよい。または、ある 単位期間に対するタスク処理に必要な時間の割合でもよい。さらに単位期間は、ソフ トウエアに共通でなくてもよい。例えば、基準となる単位期間の値および、その期間中 に必要な処理時間、の 2値を処理時間属性とし、ソフトウェアごとに設定してもよい。 そのほか、ある時刻と、それまでに必要な処理時間の絶対値、の 2値を処理時間属 性としてもよい。これらの処理時間属性の形式を混在させる場合は、処理時間属性に さらに記述形式を識別する識別子を付加し、管理プロセッサ 32を制御する OSによつ て識別するようにする。そして判定部 66は、識別子に基づき各ソフトウェアに付加さ れた処理時間属性の形式をスケジュールファイルの形式に即した値に変換してから
、タスクに必要な処理時間とサブプロセッサ 30の空き時間とを比較するようにしてもよ い。この場合、ソフトウェアの内容に適した形式で処理時間属性を表現できるため、 正常な動作の保障を確実ィ匕できるとともに、 OSの種類やバージョンアップなどによつ てスケジュールファイルの形式が変化しても、ソフトウェアの属性ファイルを書き変える ことなく本実施の形態を適用することができる。
[0042] (実施の形態 2)
本実施の形態は、実施の形態 1における図 1で示した情報処理装置 1000および、 図 2で示した管理プロセッサ 32と同様の構成で実施することができる。ここでは主に、 実施の形態 1との相違点に着目し、説明する。
[0043] 実施の形態 1では処理時間属性として処理時間の必要値のみを設定した。これに より新規タスクを含む各タスクは、全サブプロセッサ 30を必要値に示された処理時間 で占有した。すなわち、メインプロセッサ 200が同時に処理するのはひとつのタスクと なっていた。本実施の形態では処理時間属性として、処理時間の必要値に加えサブ プロセッサの必要個数を設定し、同時に複数のタスクを処理するようなスケジユーリン グに対応させる。
[0044] 図 9は本実施の形態におけるスケジュールファイルに記述されるタスクの割り当て状 況の例を模式的に示して 、る。本実施の形態では処理時間属性としてサブプロセッ サ 30の必要個数および、それらのサブプロセッサ 30によって処理した際に必要とな る処理時間とを設定できることから、同時に複数のタスクを処理することが可能となる 。図 9の例では、 3つのタスク、タスク A、タスク B、およびタスク Cがスケジューリングさ れて 、るが、タスク Cのように長時間のシリアル処理が必要なタスクを処理する場合な どに、効率の良い処理を行うことのできるサブプロセッサ 30の割り当てが可能であり、 本実施の形態での処理時間属性の設定はこのようなスケジューリング手法に対応す る。
[0045] 図 10は、本実施の形態における属性ファイルのデータ構造の例を示している。本 実施の形態の属性テーブル 71は、実施の形態 1と同様、属性名称欄 71aおよび必 要値欄 71bを含む。本実施の形態では、必要値欄 71bにはサブプロセッサの必要個 数および処理時間の必要値の 2値が記載される。
[0046] 次に本実施の形態において主に管理プロセッサ 32によって行われる処理について 説明する。新規ソフトウェアのロード要求受け付けから、一般的な属性に係る処理は 、実施の形態 1における図 5と同様の処理を行う。図 11は、一般的な属性について実 行可能の判定がなされたら(S12の Y)、それに引き続き行われる、処理時間属性に 係る処理手順を示して!/、る。
[0047] まず実施の形態 1と同様、属性ファイル内の処理時間属性を検出し、必要値を読み 込み(S30)、スケジュールファイルに記載された予約済みタスクの割り当て状況から サブプロセッサ 30の空き時間を導出する(S32)。そして処理時間の必要値とサブプ 口セッサ 30の空き時間との比較を行う(S34)。但し、本実施の形態における「必要値 」は上述の 2値であり、「空き時間」は、上述のとおり必要個数分のサブプロセッサが 同時期に有する空き時間である。
[0048] 必要な処理時間がサブプロセッサ 30の空き時間を上回って 、ると判定された場合 ( S34の N)、本実施の形態では、スケジュールファイルに記載された予約済みタスク の割り当てスケジュールにつ 、て仮調整を行 、 (S35)、再度処理時間の必要値とサ ブプロセッサ 30の空き時間との比較を行う(S36)。ここで行われるスケジュールの仮 調整は、実際のタスク処理とは独立に、計算のみで行う思考実験的な処理である。処 理時間の必要値がサブプロセッサ 30の空き時間を超えな 、と判定された場合は(S3 4の Y、 S36の Υ)、実施の形態 1の図 7のごとぐ起動処理部 68はロードの完了(S38 )およびスケジュールファイルの更新(S40)を行う。このとき、スケジュールの仮調整 を行ってロードが許可された場合は、その仮調整の内容も反映させる。スケジュール の仮調整を行っても十分な空き時間を確保できな 、場合は (S36の Ν)、実施の形態 1と同様に、新規ソフトウェアのロード不許可処理を行い(S37)、シーケンスを終了す る。
[0049] 図 9に示した割り当て状況を例に、図 11の手順を説明すると次のようになる。例え ばユーザがロードを要求した新規ソフトウェアの処理時間属性として、サブプロセッサ
30の必要個数が 3個、処理時間の必要値が単位期間の 20%に相当する値であった 場合、タスク Bが終了した時点以降、 3つのサブプロセッサ 30a、 30bおよび 30cに、 単位期間に対する割合にして 40%の空き時間が確保できるため、 S34において空き
時間は十分であると判定される。一方、サブプロセッサ 30の必要個数が 1個で、処理 時間の必要値が単位期間の 90%に相当する値である場合は、最も空き時間の長 ヽ サブプロセッサ 30cにおいても、その空き時間が単位期間の 80%であるため、 S34 において処理時間の必要値が空き時間を上回ると判定される。そこで S35において タスク Cの処理を、サブプロセッサ 30cのタスク Aの処理後に行うようにスケジュールの 仮調整を行う。するとサブプロセッサ 30dの空き時間が単位期間の 100%となるため 、 S36において処理時間の必要値が空き時間を超えないと判定され、当該新規ソフ トウエアのロードが許可される。
[0050] 本実施の形態によれば、実施の形態 1と同様、ロード要求がなされたソフトウェアの 動作環境を把握し、正常な動作を保障できる場合に限りロードを行うため、新規ソフト ウェアや予約済みソフトウェアの動作不具合の発生を防止できる。さらに、短期間の ノ レル処理を必要とするタスク、長期間のシリアル処理を必要とするタスクなど、個 々のタスクの処理態様を時間処理属性としてあらかじめ取得することにより、処理時 間の割り当てのみならず、サブプロセッサ 30の割り当てに対して自由度を有するスケ ジユーリングに対応させることができ、より柔軟なロード許可判定を行うことができる。 これにより上述した効果を、より効率的な資源の使用とともに得ることができ、ユーザ のニーズに対応する余地が広がる。
[0051] (実施の形態 3)
本実施の形態は、実施の形態 1における図 1で示した情報処理装置 1000および、 図 2で示した管理プロセッサ 32と同様の構成で実施することができる。ここでは主に、 実施の形態 1および 2との相違点に着目し、説明する。
[0052] 実施の形態 1および 2では新規ソフトウェアのロード要求に対し、属性ファイル内の 処理時間属性を取得した。本実施の形態ではさらにバス帯域属性を取得する。そし て、予約済みタスクのバス帯域の予約状況を記載したバス帯域予約ファイルに基づ き、新規ソフトウェアの実行可否判定を行う。
[0053] 図 12は、本実施の形態における属性ファイルのデータ構造の例を示している。本 実施の形態の属性テーブル 72は、属性名称欄 72a、必要値欄 72bおよび、識別子 欄 72cを含む。ここでは、「処理時間」属性に対し、タスクの処理に必要なサブプロセ
ッサ 30の個数および処理時間力 「バス帯域」属性に対し、タスク処理中のデータ転 送に必要なバス帯域の割合力 必要値欄 72bに記述されている。必要なバス帯域の 割合は、情報処理装置 1000に設けられたバス 40の帯域に対して必要とされる割合 である。必要なバス帯域の割合に代わり、必要なバス帯域の絶対値や、必要なデー タ転送速度で表してもよい。必要なデータ転送速度から、情報処理装置 1000が有 するクロック周波数特性を用いて、必要なノ ス帯域を算出できる。
[0054] データを転送する区間によって専用のバスが設けられるなどバス帯域が異なったり 、各タスクが必要とする転送速度が異なったりするため、バス帯域の必要値は複数設 定できるようにする。特にメインメモリ 50とメインプロセッサ 200との間のデータ転送、 グラフィックプロセッサ 100とメインプロセッサ 200との間の転送、およびメインプロセッ サ 200と入出力プロセッサ 650との間の転送は、タスクの処理速度に大きく影響する ため、本実施の形態ではそれらの区間において必要なバス帯域の割合を、バス帯域 の必要値とする。このため、各必要値に対応するバス 40の区間を識別するための識 別子が識別子欄 72cに記載される。図 12の例では、「mem」はメインメモリ 50とメイン プロセッサ 200との間、「gra」はグラフィックプロセッサ 100とメインプロセッサ 200との 間、「io」はメインプロセッサ 200と入出力プロセッサ 650との間のバス 40をそれぞれ 表している。バス帯域の必要値も処理時間属性と同様、過負荷での検証実験などに よって得られた値を設定する。
[0055] 次に本実施の形態において主に管理プロセッサ 32によって行われる処理について 説明する。新規ソフトウエアのロード要求受け付けから、処理時間属性に係る処理は 、実施の形態 1における図 5、および実施の形態 2における図 11と同様の処理を行う 。図 13は、処理時間属性について実行可能の判定がなされたら(S34の Y、 S36の Υ)、それに引き続き行われる、バス帯域属性に係る処理手順を示している。
[0056] まず属性取得部 62は属性ファイル内のバス帯域属性を検出し、必要値および識別 子を全て読み込む(S42)。次いで状況取得部 64は、バス帯域予約ファイルをメイン メモリ 50より取得し、同時に処理が行われる予約済みタスクが予約したバス帯域の合 計から、新規タスクのために確保できるバス帯域の時間変化を識別子で識別された バスの区間ごとに導出する(S44)。バス帯域予約ファイルは、予約済みソフトウェア
をロードした際に読み込んだ、バス帯域属性の必要値および識別子を記載したファ ィルである。一方、あら力じめ算出した確保できるバス帯域の時間変化を別のフアイ ルとしてメインメモリ 50に格納しておき、ソフトウェアをロード、もしくはアンロードする 都度、当該パラメータを計算し直してファイルを更新するようにしてもよい。この場合 上述した S44のステップは、当該ファイルを参照するのみでよ!/、。
[0057] そして判定部 66は、新規ソフトウェアのバス帯域属性内の必要値をバスの区間ごと に、確保できるバス帯域と比較する(S46)。予約済みタスクの処理スケジュールに応 じて、確保できるバス帯域は時間依存の変数となるため、 S46の処理は実際には、新 規タスクに必要な処理時間とバス帯域の双方に基づき比較を行う。新規タスクに必要 なノ ス帯域力 バスの区間のいずれかにおいて、確保できるバス帯域を上回ってい ると判定された場合 (S46の N)、まずスケジュールファイルに記載された予約済みタ スクの割り当てスケジュールについて、実施の形態 2と同様の調整を行い(S47)、再 度バス帯域属性の必要値と確保できるバス帯域との比較を行う(S48)。スケジュール を調整してもなお、十分なノ ス帯域を確保できない場合は (S48の N)、新規タスクが 必要とするバス帯域を確保できない旨の通知を表示装置 500に表示し、ロード処理 を続行するかどうかをユーザへ確認する(S49)。
[0058] ユーザがロードのキャンセルを選択した場合(S49の N)、起動処理部 68が実施の 形態 1で述べたロード不許可処理を行い(S50)、シーケンスを終了する。一方、新規 タスクに必要なノ ス帯域が確保できるバス帯域をどの時間においても超えないように スケジューリングできると判定された場合(S46の Y、 S48の Υ)または、必要なバス帯 域が確保できるバス帯域を超えて!/、てもユーザがロードの続行を希望した場合 (S49 の Υ)、図 7のごとぐ起動処理部 68はロードの完了(S38)およびスケジュールフアイ ルの更新(S40)を行う。このとき、スケジュールの仮調整を行ってロードが許可された 場合は、その仮調整の内容も反映させる。 S40ではさらに、バス帯域予約ファイルに 、ロードしたソフトウェアのタスクが使用できるバス帯域を書きこむ。ここで、必要なバ ス帯域が確保できるバス帯域を超えない場合は(S46の Υ)、その必要なバス帯域が 書きこまれ、必要なノ ス帯域が確保できるバス帯域を上回り(S46の Ν)、ユーザの選 択により(S49の Υ)ロードされた新規ソフトウェアについては、 S44で取得した確保で
きるバス帯域を書き込み、予約する。確保できるバス帯域が時間によって変化する場 合は、その最小値を使用できるバス帯域としてもよいし、時間変化をそのまま反映し た形で予約してもよい。これにより、必要なバス帯域が確保できた場合は望ましいバ ス帯域を使用し、必要なバス帯域が確保できな力 た場合は最大限使用できるバス 帯域を利用して、新規タスクの処理がなされる。
[0059] ここで再度、図 9に示した割り当て状況を例にとり、図 13の手順を説明すると次のよ うになる。ある転送区間において、図 9に示された 3つの予約済みタスク A、タスク Bお よびタスク Cは、それぞれ 60%、 40%および 40%のバス帯域を予約しているとする。 さらに、ユーザがロードを要求した新規ソフトウェアの処理時間属性は、サブプロセッ サ 30の必要個数が 3個、処理時間の必要値が単位期間の 20%、バス帯域属性は必 要値が 80%であったとする。この場合、図 11の処理時間属性に係る処理では、実施 の形態 2で説明したように、 3つのサブプロセッサ 30a、 30bおよび 30cにおいて、タス ク Bが終了した時点以降、十分な空き時間があるため、例えばタスク Bが終了した直 後の 3つのサブプロセッサ 30a、 30bおよび 30cに新規タスクを割り当てることにより新 規ソフトウェアは実行可能との判定がなされる。し力しながら、このような割り当てを行 つた場合、新規タスクの開始時にはサブプロセッサ 30dによってバス帯域の必要値が 40%であるタスク Cの処理がなされているため、確保できるバス帯域は 60%であり、 バス帯域属性に係る判定、すなわち図 13の S46で、必要なバス帯域 80%が確保で きるバス帯域を超えていると判定される。
[0060] そこで S47において、タスク Cの処理が終了した後の 4つのサブプロセッサ 30a、 30 b、 30cおよび 30dのうちのいずれ力 3つに新規タスクを割り当てるようにスケジュール の仮調整を行う。タスク Cの処理の終了後は予約済みタスクの処理は行われないた め、確保できるノ ス帯域は 100%となり、 S48において必要なバス帯域が確保できる バス帯域を超えないと判定され、当該新規ソフトウェアのロードが許可される。この例 では、新規タスクに対してのみスケジュールの仮調整を行った力 実施の形態 2と同 様、新規タスクが処理時間とバス帯域の双方に対して必要値を満足するように、予約 済みタスクのスケジュール仮調整を同時に行ってもょ 、。あるいは予約済みタスクの みスケジュール仮調整を行ってもよ 、。
[0061] 上述の例におけるタスク Aとタスク Cのように、メインプロセッサ 200において同時に 処理されるタスクのバス帯域の必要値の合計が 100%である場合には、それぞれが 使用するバス帯域が予約した値を超えないようにハードウェアによって制御を行う。こ れにより、本実施の形態によってー且ロードの許可がなされ、バス帯域の必要値を予 約できたソフトウェアは、他にどのようなソフトウェアが実行されようとも、その必要値を 最低限確保できることになる。一方タスク Bとタスク Cのように、バス帯域の必要値の合 計が 100%未満であった場合は、ハードウェア制御により余ったバス帯域を適宜両タ スクに割り振ることにより、より効率のよい資源の使用が可能となる。
[0062] 例えばコンピュータゲームなど、 3次元グラフィックス処理を伴うソフトウェアを実行す る場合、図 1に示した情報処理装置 1000において、メインプロセッサ 200が処理する タスクに含まれる画像処理はグラフィックプロセッサ 100が行 、、画像処理に係る情 報はメインメモリ 50に格納される。したがってフレームデータを生成し、滞りなく表示 装置 500に表示することによりゲームのリアルタイム性を確保するためには、各プロセ ッサの処理速度とともにメインプロセッサ 200とメインメモリ 50間や、メインプロセッサ 2 00とグラフィックプロセッサ 100間の画像処理に係るデータの転送速度が重要な要 素となる。すなわちフレームデータの生成に際し、それに必要なデータの転送が間に 合わなければ、結果的に表示装置 500に表示されるフレームレートに影響を与えるこ とになる。したがって本実施の形態では、望ましい解像度や動作速度で動画を表現 するために最低限必要とされるバス帯域をバス帯域属性としてソフトウエアごとに保持 する。これにより、実施の形態 1および 2と同様、新規ソフトウェアの動作環境をロード 前に把握することができ、ロードを行ったにも関わらずソフトウェアがユーザの期待通 りの動作をしないなどの不具合を未然に防ぐことができる。
[0063] 一方、本実施の形態では、新規タスクが必要とするバス帯域が確保できるバス帯域 を超えて 、てもロードする可能性が残されて 、る。これはもし望まし!/、バス帯域が得ら れなくても、遅い速度での進行をユーザが許容する場合が考えられるためである。し たがって S49のユーザ確認処理では、動作速度が低下する可能性がある旨の警告 を表示するようにしてもょ 、。
[0064] 本実施の形態によれば、上述のとおり新規ソフトウェアの動作にユーザが期待しな
い不具合が生じるのをロード前に防止することができるとともに、すでに実行されてい るソフトウェアのタスクに必要なバス帯域も必ず確保されるため、新規ソフトウェアが口 ードされることによってそれらのソフトウェアの動作に支障をきたすことがなくなる。さら にデータ転送量が小さい、または、時間的制限の軽微なタスクに対して、グラフィック 処理などを含みリアルタイム性を要求されるタスクに選択的に多くのバス帯域を確保 することによって、有限なプロセッサ資源の効率的な使用が可能となり、ユーザの- ーズに適合した処理を行うことができる。本実施の形態では実施の形態 1および 2と 同様に、処理時間属性の確認も行われるため、処理時間およびバス帯域の両側面 力もの確認およびタスクの選択ができ、また個々のタスクの処理態様に応じたスケジ ユーリングに対応するため、より効果的な資源使用、および正常な動作保障を行うこ とがでさる。
[0065] (実施の形態 4)
本実施の形態は、実施の形態 1における図 1で示した情報処理装置 1000および、 図 2で示した管理プロセッサ 32と同様の構成で実施することができる。ここでは主に、 実施の形態 1および 2との相違点に着目し、説明する。
[0066] 実施の形態 1および 2では新規ソフトウェアのロード要求に対し、属性ファイル内の 処理時間属性を取得した。本実施の形態ではさらに優先度属性を取得する。そして 、予約済みタスクの優先度を記載した優先度ファイルに基づき、新規ソフトウェアの実 行可否判定を行うが、この場合はさらに、予約済みソフトウェアをも実行可否判定の 対象とする。
[0067] 図 14は、本実施の形態における属性ファイルのデータ構造の例を示している。本 実施の形態の属性テーブル 74は、実施の形態 1と同様、属性名称欄 74aおよび必 要値欄 74bを含む。ここでは、「処理時間」属性に対し、タスクの処理に必要なサブプ 口セッサ 30の個数および処理時間力 「優先度」属性に対し、タスクの優先度力 そ れぞれ必要値欄 74bに記載される。
[0068] 優先度は、新規タスクと予約済みタスク間、または予約済みタスクどうしで比較され る相対値であり、例えば 1から 5までの 5段階の自然数によって表現する。図 14の例 では 5段階のうち「4」の優先度を有している。優先度は、ソフトウェアの出荷時に内容
に応じて設定される。
[0069] 次に本実施の形態において主に管理プロセッサ 32によって行われる処理について 説明する。新規ソフトウェアのロード要求受け付けから、一般的な属性に係る処理は 、実施の形態 1における図 5と同様の処理を行う。図 15は、一般的な属性について実 行可能の判定がなされたら (S12の Y)、それに引き続き行われる、処理時間属性お よび優先度属性に係る処理手順を示して ヽる。
[0070] まず実施の形態 2と同様、属性ファイル内の処理時間属性を検出し、必要値を読み 込み(S30)、スケジュールファイルに記載された予約済みタスクの割り当て状況から サブプロセッサ 30の空き時間を導出する(S32)。そして処理時間の必要値とサブプ 口セッサ 30の空き時間との比較を行う(S34)。当初の予約済みタスクのスケジュール では十分な空き時間が確保できない場合は、実施の形態 2と同様、スケジュールの 仮調整を行ったうえで再度比較を行うが、図の簡単のため、図 15においてはそれら の処理も S34に含めるものとする。
[0071] 本実施の形態では、必要な処理時間がサブプロセッサ 30の空き時間を上回ってい ると判定された場合 (S34の N)、属性取得部 62が、属性ファイル内の優先度属性を 検出し読み込む(S56)。次いで状況取得部 64は優先度ファイルをメインメモリ 50より 取得し、予約済みタスクの優先度を全て特定する(S58)。優先度ファイルは、予約済 みソフトウェアをロードした際に読み込んだ優先度データを蓄積したファイルである。
[0072] そして判定部 66は、新規タスクの優先度と、予約済みタスクの優先度を比較する(S 60)。新規タスクの優先度より低い優先度の予約済みタスク(以後、低優先度タスクと 呼ぶ)が存在する場合(S60の Y)、そのうちのひとつを例えばタスクの優先度に基づ いて抽出し、抽出された低優先度タスクの処理予約を仮に取り消した場合 (S64)の、 サブプロセッサ 30の仮の空き時間を算出する(S32)。そして判定部 66が新規タスク に必要な処理時間と仮の空き時間とを比較する(S34)。この場合も仮の空き時間が 足りない場合は、残りの予約済みタスクに対してスケジュールの仮調整を行ったうえ で再度比較をする処理を含めてよい。予約の仮取り消しなどは、実際のタスク処理と は独立に、計算のみで行う思考実験的な処理である。
[0073] 新規タスクに必要な処理時間が空き時間を超えな 、場合は(S34の Y)、抽出した
低優先度タスクを停止する旨の警告を表示装置 500に表示のうえ (S68)、当該タス クを停止し(S70)、スケジュールファイルより予約を取り消す(S72)。そして図 7のごと く、ロードの完了(S38)およびスケジュールファイルの更新(S40)を行う。 S40ではさ らに、ロードしたソフトウェアのタスクの優先度を優先度ファイルに書き込む。 S68の、 低優先度タスクの停止に関する警告では、低優先度タスクの実行停止の可否をユー ザに判断させるようにしてもよい。この場合は、ユーザが当該タスクの実行停止を拒 否したら、新規ソフトウェアのロード不許可処理を行い、シーケンスを終了する。一方 、ユーザが実行停止を了承したら、上述のように新規ソフトウェアのロード処理を行う
[0074] 必要な処理時間が仮の空き時間を上回る場合は(S34の N)、優先度ファイルにさ らに低優先度タスクがあれば (S60の Y)、そのタスクを仮に取り消した場合 (S64)の 仮の空き時間と新規タスクに必要な処理時間とを比較する(S32、 S34)。以上の処 理を、新規タスクに必要な処理時間が仮の空き時間を超えなくなる(S34の Y)まで繰 り返すが、その前に取り消すことのできる低優先度タスクが存在しなくなったら(S60 の N)、新規ソフトウェアのロード不許可処理を行う(S62)。これらの処理により、先に 実行されて 、ても優先度の低 ヽタスクを停止させ、その代わりに新規タスクを起動さ せることができる。
[0075] 本実施の形態によれば、実施の形態 1および 2と同様、新規ソフトウェアの動作、お よび予約済みソフトウェアの動作にユーザが期待しない不具合が生じるのをロード前 に防止することができ、さらにプロセッサ資源を効率的に使用することができる。さら に本実施の形態では、優先度属性を導入することによって、新規タスクに必要な処理 時間がサブプロセッサ 30の空き時間を上回った場合でも、予約済みタスクの停止を 視野に入れてロード可否判断がなされるため、ソフトウェアの内容などに応じた柔軟 な対応を行うことができる。
[0076] (実施の形態 5)
本実施の形態は、実施の形態 1における図 1で示した情報処理装置 1000および、 図 2で示した管理プロセッサ 32と同様の構成で実施することができる。ここでは主に、 実施の形態 1〜4との相違点に着目し、説明する。
[0077] 実施の形態 4では、新規タスクが必要とする処理時間属性とサブプロセッサ 30の空 き時間との比較に際し、優先度属性を導入した。本実施の形態ではさらに、実施の 形態 3で述べた新規タスクが必要とするバス帯域と、バス帯域予約ファイルに基づく 確保できるバス帯域との比較においても同じ優先度属性を参照する。さらに本実施 の形態では、バス帯域属性を、最適バス帯域と最低必要バス帯域との 2段階に分け て表現する。そして新規タスクおよび予約済みタスクの優先度に基づき各タスクの使 用バス帯域を調整しながら、実行可否判定を行う。
[0078] 図 16は、本実施の形態における属性ファイルのデータ構造の例を示している。本 実施の形態の属性テーブル 76は、属性名称欄 76a、第一必要値欄 76b、第二必要 値欄 76cおよび、識別子欄 76dを含む。「処理時間」属性に対し、タスクの処理に必 要なサブプロセッサ 30の個数および処理時間力 「優先度」属性に対し、タスクの優 先度が、それぞれ第一必要値欄 76bに記載される。「バス帯域」属性は、タスクの処 理に最適なバス帯域の割合が第一必要値欄 76bに、動作に不具合が生じない範囲 で最低限必要なノ ス帯域の割合が第二必要値欄 76cに、バスの区間を識別するた めの識別子が識別子欄 76dに記載される。各タスクは、他のタスクとの優先度の比較 によって、第一必要値欄 76b、および第二必要値欄 76cに記載された数値に基づき 、その使用バス帯域が決定される。決定手順について以下に述べる。
[0079] 図 17は本実施の形態において参照されるバス帯域予約ファイルに格納されたバス 帯域予約テーブルのデータ構造の例を示している。バス帯域予約テーブル 78は、ソ フトウェア名欄 78a、タスクナンバー欄 78b、最適値欄 78c、最低値欄 78dおよび使 用値欄 78eを含む。各ソフトウェアに対し、スケジューリングされたタスクは番号付けさ れ、その番号がタスクナンバー欄 78bに示される。さらにそれぞれのソフトウェアのバ ス帯域属性より読みだされた、第一必要値および第二必要値が、最適バス帯域およ び最低バス帯域としてそれぞれ最適値欄 78cおよび最低値欄 78dに示される。さら に現在予約されている、すなわち各タスクが使用できるバス帯域の割合が使用値欄 7 8eに示される。この使用バス帯域は、後述のバス帯域属性に係る処理において自動 的に決定される。ノ ス帯域の使用値は最適値が上限、最低値が下限となる。またバ ス帯域使用値は実施の形態 3で説明したとおり、ハードウェアによって最低限保障さ
れる。
[0080] 本実施の形態において、主に管理プロセッサ 32によって行われる処理について説 明する。新規ソフトウェアのロード要求受け付けから、優先度を考慮した処理時間属 性に係る処理は、実施の形態 1における図 5および、実施の形態 4における図 15と同 様の処理を行う。図 18は、処理時間属性について実行可能の判定がなされたら(S3 4の Y、 S66〜S72)、それに引き続き行われる、優先度を考慮したバス帯域属性に 係る処理手順を示して!/、る。
[0081] まず属性取得部 62は、新規ソフトウェアの属性ファイル内のバス帯域属性を検出し 、第一必要値、第二必要値、および識別子を読み込む (S74)。次に状況取得部 64 は、バス帯域予約ファイルに基づき確保できるバス帯域の時間変化をバスの区間ごと に導出する(S76)。
[0082] 次いで判定部 66は、新規ソフトウェアのバス帯域属性のうち第一必要値を取得し、 バスの区間ごとに、確保できるバス帯域との比較を行う(S78)。ここでの比較も実施 の形態 3と同様に、新規タスクの必要処理時間を考慮する。また当初の予約済みタス クの割り当てスケジュールでは十分なバス帯域が確保できな 、場合は、実施の形態 3 と同様、スケジュールの仮調整を行ったうえで再度比較を行うが、図の簡単のため、 図 18においてはそれらの処理も S78に含めるものとする。新規タスクの最適バス帯 域力 バスの区間において、確保できるバス帯域をどの時間においても超えないよう にスケジューリングできると判定された場合は(S78の Y、 S88の Ν)、図 7のごとぐ口 ードの完了(S38)およびスケジュールファイルおよびバス帯域予約ファイルを更新す る(S40)。このときバス帯域予約テーブル 78の新規ソフトウェアの使用値欄 78eには 、最適バス帯域が記載される。
[0083] 一方、最適バス帯域が確保できるバス帯域を上回って 、ると判定された場合 (S78 の N)、判定部 66は、処理時間属性に係る処理時に読み込まれた新規タスクの優先 度(図 15の S56)と、予約済みタスクの優先度(同図の S58)とを比較する(S80)。低 優先度タスクが存在しない場合 (S80の N)、起動処理部 68は新規ソフトウェアのロー ド不許可処理を行う(S82)。低優先度タスクが存在する場合 (S80の Y)、状況取得 部 64はバス帯域予約ファイルを参照し、低優先度タスクのうち、最低バス帯域より大
、値が使用バス帯域となって 、るものを抽出する(S84)。該当する低優先度タスク があったら(S84の Y)、そのうちのひとつの使用値を仮に削減した場合の、仮に確保 できるバス帯域を算出する(S86、 S76)。そして判定部 66が新規タスクの最適バス 帯域と仮に確保できるバス帯域とを比較する(S78)。低優先度タスクの使用バス帯 域の削減は、最低バス帯域を限度とする。削減は判定部 66による判定結果を見なが ら徐々に行ってもよい。さらに、複数の低優先度タスク力 均等に、徐々に削減して いってもよい。
[0084] 新規タスクの最適バス帯域が確保できたら(S78の Y)、起動処理部 68は、バス帯 域の削減対象となった低優先度タスクの処理動作が遅くなる可能性についての警告 を表示装置 500に表示のうえ(S88の Y、 S90)、当該タスクの使用バス帯域を削減 するようバス帯域予約テーブル 78の該当ソフトウェアの使用値欄 78eを変更する(S9 2)。そして、図 7のごとぐ起動処理部 68が新規ソフトウェアのロードの完了(S38)お よびスケジュールファイル、バス帯域予約ファイル、および優先度ファイルの更新処 理を行う。 S90のステップではユーザに対し、低優先度タスクの動作が遅くなつてもよ いか問い合わせるようにしてもよい。この場合は、ユーザが当該タスクの動作速度低 減を拒否したら、 S82と同様に新規ソフトウェアのロードを行わない。一方、ユーザが 動作速度低減を了承したら、上述のロード完了処理を行う。
[0085] 新規タスクの最適バス帯域が仮に確保できるバス帯域を上回る場合 (S78の N)、さ らに使用バス帯域が最低バス帯域より大きい低優先度タスクがあれば (S80の Y、 S8 4の Υ)、その使用バス帯域を削減した場合の仮に確保できるバス帯域と新規タスクの 最適バス帯域とを比較する(S86、 S76、 S78)。以上の処理を、新規タスクの最適バ ス帯域が仮に確保できるバス帯域を超えなくなる(S78の Y)まで繰り返すが、その前 に低優先度タスク全ての使用バス帯域を最低バス帯域に設定してもなお、新規ソフト ウェアの最適バス帯域分を確保できない場合は(S84の N)、新規タスクの使用バス 帯域を仮に削減し (S94、 S96)、仮に確保できたバス帯域を超えないか判定する(S 78)。新規タスクの使用バス帯域の削減も、バス帯域属性の第二必要値を限度とす る。そして、仮に確保できるバス帯域を超えなければ (S78の Y)、起動処理部 68は、 ノ ス帯域の削減対象となった低優先度タスクの動作が遅くなる可能性、および、新規
タスクの動作が遅くなる可能性についての警告を表示装置 500に表示のうえ(S88の Y、 S90)、低優先度タスクの使用バス帯域を削減するようバス帯域予約テーブル 78 の該当ソフトウェアの使用値欄 78eを変更する(S92)。そして、図 7のごとぐ新規ソフ トウエアのロードの完了(S38)およびスケジュールファイル、バス帯域予約ファイル、 および優先度ファイルの更新処理(S40)を行う。このとき、新規ソフトウェアのタスクの 使用バス帯域はバス帯域属性の第一必要値力 削減した値を記載する。
[0086] 新規タスクの使用バス帯域を第二必要値まで削減しても仮に確保できたバス帯域 を超える場合は(S78の N)、起動処理部 68は、新規タスクの最低バス帯域を確保で きるまで低優先度タスクを優先度などに基づき抽出し、実施の形態 4の図 15における S68、 S70、 S72で行ったのと同様の低優先度タスクの停止処理を行う(S98)。そし て上述の新規ソフトウェアのロード処理(図 7の S38、 S40)を行う。
[0087] 以上の処理により、新規タスク、予約済みタスクの双方の使用バス帯域を許容範囲 内で調整しながら、可能な限り全てのタスクを実行することができる。さらに、使用バス 帯域の削減や低優先度タスクの停止を行う前にユーザへ確認する態様とすれば、動 作が遅くなる可能性があっても全てのタスクを実行する、動作を遅くせず優先度の低 いタスクを停止する、など多様な対策の中からのユーザによる選択が可能となる。
[0088] 本実施の形態では、実施の形態 1〜4と同様、新規ソフトウェアの動作、および予約 済みソフトウェアにユーザが期待しない不具合が生じるのをロード前に防止すること ができ、さらにプロセッサ資源を効率的に使用することができる。また実施の形態 4と 同様、優先度属性を導入することによって処理時間に対してより柔軟な運用形態とな る。さらに、バス帯域に対する判定にも優先度属性を導入することにより、優先度に応 じてロードの可否判断がなされるとともに、ノ ス帯域の調整を自動的に行うことができ 、ロードの可否のみならず使用ノ ス帯域についても柔軟な運用形態となるほか、より 効率的な資源の使用を行うことができる。
[0089] なお、本実施の形態ではバス帯域属性として第一必要値と第二必要値の 2段階で 表現したが、必要値をひとつ設定し、それが厳守値であるか望ましい値であるかを識 別するよう〖こしてもよい。この場合、設定されたバス帯域が厳守値であるタスクの使用 バス帯域は優先度に関わらず削減対象からはずす。望まし 、値であるタスクの使用
バス帯域は、例えばある共通の最低必要バス帯域をあら力じめ設定しておき、その値 まで削減させてよいとする。この場合も、上述の場合と同様の効果を得ることができる
[0090] (実施の形態 6)
本実施の形態は、実施の形態 1における図 1で示した情報処理装置 1000および、 図 2で示した管理プロセッサ 32と同様の構成で実施することができる。また、管理プロ セッサ 32で行われる処理手順は実施の形態 1〜5のいずれかと同様に行われる。こ こでは主に、実施の形態 1との相違点に着目し、説明する。
[0091] 図 19は本実施の形態における記憶装置 600の構成を模式的に示している。実施 の形態 1では、処理時間属性やバス帯域属性を示すファイル力 ソフトウェアのプロ グラムファイルと同一の、 CD— ROMなどの記憶装置に格納されているとしたが、本 実施の形態では属性ファイルはプログラムファイルとは異なる記憶装置 600に格納さ れる。そして属性取得部 62は、新規ソフトウェアのロード処理とは別に、属性ファイル の格納された記憶装置 600から属性ファイルのみをまずメインメモリ 50にロードし、属 性ファイルに含まれる処理時間属性、バス帯域属性、優先度属性のデータに基づき 、ロード可否の判定を行う。
[0092] 本実施の形態によれば、管理プロセッサ 32の処理動作などを制御する OSのバー ジョンが更新されたり、プロセッサの演算速度やバス帯域が大きい情報処理装置 100 0の機種が新たに製品化されたりした場合でも、それらの変化に対応した属性フアイ ルを記憶した CD— ROMなどの記憶装置 600のみを新たに読み込ませれば、プログ ラムファイルを格納した記憶装置 600はそのまま利用することができる。これによりュ 一ザは、実施の形態 1〜5で説明したのと同様の効果と、最新環境がもたらす処理速 度に係る効果との相乗効果を容易に享受することができる。また、属性ファイルの記 憶装置 600を情報処理装置 1000に接続したノヽードディスクとすれば、例えば優先 度属性などをユーザが自分の好みに応じて書き変えることも可能となる。これにより、 よりユーザのニーズに即したロード処理を行うことができる。
[0093] (実施の形態 7)
本実施の形態は、実施の形態 1における図 2で示した管理プロセッサ 32と同様の構
成で実施することができる力 図 1で示した情報処理装置 1000は図 20の全体構成 で示すようにネットワークを介してサーバ 700に接続されて!、る。管理プロセッサ 32で 行われる処理手順は実施の形態 1〜5のいずれかと同様に行われる。ここでは主に、 実施の形態 1および 6との相違点に着目し、説明する。
[0094] 図 20は本実施の形態におけるシステムの全体構成を示している。実施の形態 1〜 6では、処理時間属性やバス帯域属性を示すファイル力 CD— ROMなど情報処理 装置 1000に直接接続された記憶装置 600に格納されているとしたが、本実施の形 態ではサーバ 700において管理される。一方、ソフトウェアには、対応する属性フアイ ルの名称や OSのバージョン情報など、当該ソフトウェアに対応した属性ファイルをサ ーバより検出するための識別子が付加される。
[0095] そして情報処理装置 1000の属性取得部 62は、処理時間属性やバス帯域属性を 取得する際、サーバ 700に識別子を送信して問い合わせを行う。サーバ 700のサー バ側情報処理部 702は情報処理装置 1000からの問 、合わせに従 、、サーバ側記 憶装置 704から当該識別子に対応する属性ファイルを検出し、情報処理装置 1000 に対しダウンロードの準備ができた旨の通知を行う。属性取得部 62は当該通知を受 けて属性ファイルのダウンロードを行うことにより、メインメモリ 50に格納する。その後 は実施の形態 1〜5と同様に、当該属性ファイルに含まれる処理時間属性、バス帯域 属性、優先度属性のデータに基づき、ロード可否の判定を行う。
[0096] 本実施の形態によれば、属性ファイルの管理は常にサーバ 700が行っているため 、ソフトウェアメーカなどによる属性データの検証実験により属性データが改善された 場合や、情報処理装置 1000で実行される OSのバージョンが更新されたり、プロセッ サの演算速度やバス帯域が大きい情報処理装置 1000の機種が新たに製品化され たりした場合でも、ソフトウェアに対応する範囲内で最新の属性データによる運用を 自動的に行うことができる。これによりユーザは、実施の形態 1〜5で説明したのと同 様の効果と、最新環境がもたらす処理速度に係る効果との相乗効果を容易に享受す ることがでさる。
[0097] 上述の構成では、識別子およびプログラムファイルは情報処理装置 1000に接続さ れた記憶装置 600に格納されていた力 これらもサーバ 700のサーバ側記憶装置 7
04に格納してよい。この場合、ユーザが表示装置 500上でソフトウェア名の選択など を行うと、対応する属性ファイルのダウンロードが先に行われる。これにより新規ソフト ウェアのロード可否判定を行い、ロード可能と判定された場合に、情報処理装置 100 0はその旨の信号をサーバ 700へ送信し、ソフトウェアのプログラムファイルのダウン ロードを行う。このような構成により、新規ソフトウェアに係る記憶装置 600をユーザが 全く保持せずとも、本実施の形態の実施が可能となり、上述と同様の効果を得ること ができる。
[0098] (実施の形態 8)
本実施の形態は、実施の形態 1における図 2で示した管理プロセッサ 32と同様の構 成で実施することができるが、図 1で示した情報処理装置 1000は実施の形態 7と同 様にネットワークを介してサーバ 700に接続されている。管理プロセッサ 32で行われ る処理手順は実施の形態 1〜5のいずれかと同様に行われる。ここでは主に、実施の 形態 7との相違点に着目し、説明する。
[0099] 図 21は本実施の形態におけるシステムの全体構成を示している。実施の形態 7で は、処理時間属性やバス帯域属性を示す属性ファイルをサーバ 700で一元的に管 理していた力 本実施の形態では、ソフトウェアのプログラムファイルが格納されてい るのと同一の記憶装置 600にも格納される。すなわち、ソフトウェアの出荷時にはそ の時点で最新の属性ファイルをプログラムファイルに付加しておく。その後、ソフトゥェ ァメーカなどによる属性データの検証実験により属性データが改善された場合や、情 報処理装置 1000で実行される OSのバージョンが更新された場合などに、サーバ 70 0より属性ファイルを取得する。そのため、ソフトウェアには、付加された属性ファイル のバージョン情報や、その時点での OSのバージョン情報などの識別子が付加される
[0100] そして情報処理装置 1000の属性取得部 62は、処理時間属性やバス帯域属性を 取得する際、まずサーバ 700に識別子を送信して問い合わせを行う。サーバ 700の サーバ側情報処理部 702は当該識別子に対応する属性ファイルをサーバ側記憶装 置 704から検出し、バージョンが更新されているかどうかを確認する。更新されていれ ばその旨を情報処理装置 1000へ通知し、情報処理装置 1000は最新の属性フアイ
ルをサーバ 700よりダウンロードする。さらに情報処理装置 1000で実行されている O Sのバージョンが更新されている場合も、情報処理装置 1000はサーバ 700に問い合 わせを行い、更新後の OSのバージョンに対応した属性ファイルをダウンロードする。 ダウンロードの手順は実施の形態 7と同様である。その後は実施の形態 1から 5と同 様に、当該属性ファイルに含まれる処理時間属性、バス帯域属性、優先度属性のデ ータに基づき、ロード可否の判定を行う。
[0101] 本実施の形態によれば、出荷時点で最新の属性データはソフトウェアが格納されて いるのと同一の記憶装置 600に格納されているため、情報処理装置 1000が例えネ ットワークと接続していない状態であったとしても運用が可能である。さらに実施の形 態 7と同様、属性データの改善、 OSのバージョンの更新、情報処理装置 1000の機 種変更などの変化に適宜対応した最新の環境での運用が可能となり、実施の形態 1 〜5で説明したのと同様の効果と、最新環境がもたらす処理速度に係る効果との相 乗効果を容易に享受することができる。
[0102] 以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それ らの各構成要素や各処理プロセスの組合せに 、ろ 、ろな変形例が可能なこと、また そうした変形例も本発明の範囲にあることは当業者に理解されるところである。
[0103] 実施の形態 3および 5では、バス帯域属性に係る処理を処理時間属性に係る処理 の後に行った力 処理時間属性に係る処理の前、あるいはバス帯域属性のみを参照 する処理を行ってもよい。この場合も、本実施の形態と同様の効果を得ることができる
[0104] また、各属性は別の属性ファイルに記述されてもよぐ格納する記憶装置が異なつ て!、てもよ 、。例えばユーザによる設定が容易な優先度属性のみを記載したファイル を初回ロード時にハードディスクなどに格納して更新、参照を行い、そのほかの属性 はソフトウェアのプログラムファイルとともに CD— ROMに格納したファイル、またはサ ーバ 700に格納されたファイルを参照してもよい。これにより、属性そのものの性質に 応じた臨機応変な運用形態で、本実施の形態で述べた効果を得ることができる。 産業上の利用可能性
[0105] 以上のように本発明は、複数のタスクを並列に実行するコンピュータ、ゲーム機器な
どの電子機器に利用可能である。
Claims
[1] 新規タスクの実行要求を受け付けるステップと、
前記新規タスクの所要処理時間および前記新規タスクの処理における所要バス帯 域の少なくとも一方を特定するステップと、
複数のタスクの処理手順を表すスケジューラに予約された予約済みタスクと前記新 規タスクの所要処理時間を合計した総所要処理時間と、それらのタスクを実行する装 置が確保できる処理時間との比較、および、前記予約済みタスクと前記新規タスクの 処理における所要バス帯域を合計した総所要バス帯域と、それらのタスクを実行する 装置が確保できるバス帯域との比較、の少なくとも一方を行うステップと、
比較結果に基づき前記新規タスクの実行可否を判定するステップと、
前記新規タスクが実行可能と判定された場合、前記新規タスクを前記スケジューラ に予約するステップと、
前記スケジューラに基づき前記実行可能と判定された新規タスクを含むタスクの処理 を行うステップと、
を含み、
前記実行可否を判定するステップは、前記新規タスクの優先度情報を取得するス テツプを含み、前記取得した優先度情報に基づ 、て前記実行可否を判定することを 特徴とする情報処理方法。
[2] 前記実行可否を判定するステップは、
前記総所要バス帯域が前記確保できるバス帯域を上回って 、た際、前記新規タス クの優先度情報と前記予約済みタスクの優先度情報を参照するステップをさらに含 み、
参照した前記優先度情報に基づいて前記新規タスクに加え前記予約済みタスクの 実行可否を判定することを特徴とする請求項 1に記載の情報処理方法。
[3] 前記実行可否を判定するステップにおいて前記新規タスクの実行可否を判定する 前に、前記新規タスクおよび前記予約済みタスクの処理態様の調整を行うステップを さらに含むことを特徴とする請求項 2に記載の情報処理方法。
[4] 前記実行可否を判定するステップにお!ヽて前記新規タスクが実行不可と判定され
た場合、前記新規タスクの実行要求を起こしたタスクに対して、前記判定結果を通知 するステップをさらに含むことを特徴とする請求項 1から 3のいずれかに記載の情報 処理方法。
[5] 前記実行可否を判定するステップにお!、て前記新規タスクおよび前記予約済みタ スクの一方が実行不可と判定された場合、前記装置を制御するシステム制御部に対 して、前記判定結果を通知するステップをさらに含むことを特徴とする請求項 2または 3に記載の情報処理方法。
[6] 前記システム制御部に通知された前記判定結果に基づき、ユーザが認識可能な表 現にて前記新規タスクおよび前記予約済みタスクの一方が実行不可と判定された旨 の通知をユーザに対し行うステップをさらに含むことを特徴とする請求項 5に記載の 情報処理方法。
[7] 通知を受けたユーザ力もの、実行不可と判定されたタスクの実行不履行の許可に 係る情報の入力を受け付けるステップをさらに含み、前記許可に係る情報に基づき、 前記新規タスクおよび前記予約済みタスクの実行可否を再判定することを特徴とする 請求項 6に記載の情報処理方法。
[8] 主に装置全体を統括的に制御する第一のプロセッサと、主に演算処理を行う第二 のプロセッサと、処理するタスクに関する情報を記憶するメインメモリと、外部装置との データ入出力を制御するデータ入出力プロセッサと、を備える情報処理装置であつ て、
前記第一のプロセッサは、
新規タスクの実行要求を受け付ける実行要求受付け部と、
前記新規タスクの処理に係る時間関連パラメータを特定するパラメータ特定部と、 特定した前記時間関連パラメータと、前記情報処理装置の内部に係る情報のうち 前記時間関連パラメータと対応する対応内部情報と、に基づき前記新規タスクの実 行可否を判定する実行許可部と、
前記新規タスクが実行可能と判定された場合、前記新規タスクの処理を起動する起 動処理部と、を備え、
前記時間関連パラメータは、前記第一のプロセッサと前記メインメモリ間のデータ転
送にぉ 、て前記新規タスクが必要とするバス帯域、前記第一のプロセッサと前記第 二のプロセッサ間のデータ転送にお 、て前記新規タスクが必要とするバス帯域、およ び前記第一のプロセッサと前記データ入出力プロセッサ間のデータ転送において前 記新規タスクが必要とするバス帯域のうち、少なくともひとつを含むことを特徴とする 情報処理装置。
[9] 前記第二のプロセッサはグラフィックプロセッサであり、前記第一のプロセッサによる 制御により、取得した画像処理に係るデータに基づき画像処理演算を行うことを特徴 とする請求項 8に記載の情報処理装置。
[10] 前記実行許可部は、
前記新規タスクが必要とするバス帯域と、複数のタスクの処理手順を表すスケジュ ーラに予約された予約済みタスクが必要とするバス帯域とを合計した総所要バス帯 域と、前記情報処理装置の確保できるバス帯域と、をバス区間ごとに比較し、前記総 所要バス帯域が前記情報処理装置の確保できるバス帯域を上回って!/、た際、前記 新規タスクの優先度情報と前記予約済みタスクの優先度情報に基づいて前記新規タ スクの実行可否を判定することを特徴とする請求項 8に記載の情報処理装置。
[12] 前記時間関連パラメータは、前記新規タスクを処理するための最適バス帯域および 最小限度バス帯域を含み、
前記実行許可部は、優先度の低い前記予約済みタスクが使用するバス帯域を前記 最適バス帯域以下、前記最小限度バス帯域以上の範囲で調整することにより、前記 新規タスクの実行可否を判定することを特徴とする請求項 10に記載の情報処理装置
[13] 前記第一のプロセッサと、前記第二のプロセッサと、前記データ入出力プロセッサと の間のバスにお 、て、前記新規タスクおよび前記予約済みタスクがそれぞれ使用す る帯域を前記調整の結果に基づいて制御するバス帯域制御部をさらに含むことを特 徴とする請求項 11に記載の情報処理装置。
[14] 前記実行許可部にお!ヽて前記新規タスクおよび前記予約済みタスクの一方が実行 不可と判定された場合、ユーザが認識可能な表現にて前記新規タスクおよび前記予 約済みタスクの一方が実行不可と判定された旨の通知をユーザに対し行う判定結果 通知部をさらに含むことを特徴とする請求項 11に記載の情報処理装置。
[15] 前記第一のプロセッサは複数の処理ユニットを含み、
前記時間関連パラメータは前記新規タスクを前記複数の処理ユニットの少なくとも ひとつへ割り当てて処理した際の所要処理時間をさらに含むことを特徴とする請求項 10に記載の情報処理装置。
[16] 前記時間関連パラメータは前記新規タスクを前記所要処理時間内で処理する際の 所要処理ユニット数を含み、
前記実行許可部は、前記予約済みタスクに対し未割り当ての期間を有する前記処 理ユニットの数と、それらの処理ユニットの前記未割り当ての期間とを、前記新規タス クの前記所要処理ユニット数および前記所要処理時間と比較することにより、前記新 規タスクの実行可否を判定することを特徴とする請求項 15に記載の情報処理装置。
[17] 前記実行許可部は、前記予約済みタスクに割り当てられた処理ユニットを別の処理 ユニットに割り当てなおして前記未割り当ての期間を調整することにより、前記新規タ スクの実行可否を判定することを特徴とする請求項 16に記載の情報処理装置。
[18] 前記パラメータ特定部は、前記新規タスクの処理に係る時間関連パラメータの情報 要求を、ネットワークを介して接続したサーバに対し発行するパラメータ要求発行部と 前記情報要求に応じて前記サーバが特定した前記時間関連パラメータを受信する パラメータ受信部と、
を含むことを特徴とする請求項 8に記載の情報処理装置。
[19] タスクごとに、タスクの処理に係る時間関連パラメータを記憶したパラメータ記憶部 をさらに含み、
前記パラメータ特定部は、前記パラメータ記憶部を検索することにより、前記新規タ スクの処理に係る時間関連パラメータを特定することを特徴とする請求項 8に記載の 情報処理装置。
[20] タスクの実行要求を受けた装置力 前記タスクの所要処理時間および前記タスクの 処理における所要バス帯域の少なくとも一方を含む時間関連パラメータの情報要求 を受け付けるパラメータ要求受付け部と、
前記情報要求に対し、前記時間関連パラメータを特定するパラメータ取得部と、 特定した前記時間関連パラメータに関する情報を前記タスクの実行要求を受けた 装置へ送信するパラメータ送信部と、
を含むことを特徴とするサーバ。
[21] コンピュータにタスクを実行させるコンピュータプログラムであって、
前記タスクの処理に係り、前記コンピュータの内部に係る対応情報との比較により 前記タスクの実行可否が前記コンピュータにより判定される、タスクの所要処理時間 および所要バス帯域の少なくとも一方を含む時間関連パラメータが、属性として付カロ されていることを特徴とするコンピュータプログラム。
[22] コンピュータが処理するタスクごとに、前記コンピュータの内部に係る対応情報との 比較により前記タスクの実行可否が前記コンピュータにより判定される、タスクの所要 処理時間および所要バス帯域の少なくとも一方を含む時間関連パラメータを記録し たことを特徴とする記録媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/909,196 US8266621B2 (en) | 2005-05-27 | 2006-04-06 | Information processing method, information processing apparatus, and server |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005-155945 | 2005-05-27 | ||
| JP2005155945A JP4298679B2 (ja) | 2005-05-27 | 2005-05-27 | 情報処理方法、情報処理装置、およびサーバ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2006126331A1 true WO2006126331A1 (ja) | 2006-11-30 |
Family
ID=37451763
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2006/307323 Ceased WO2006126331A1 (ja) | 2005-05-27 | 2006-04-06 | 情報処理方法、情報処理装置、およびサーバ |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US8266621B2 (ja) |
| JP (1) | JP4298679B2 (ja) |
| WO (1) | WO2006126331A1 (ja) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4758388B2 (ja) * | 2007-04-26 | 2011-08-24 | 日本電信電話株式会社 | リソース予約制御方法及び装置及びプログラム |
| US20090287523A1 (en) * | 2008-05-19 | 2009-11-19 | Microsoft Corporation | Showing and correcting irregularities in a schedule |
| JP5067282B2 (ja) | 2008-06-27 | 2012-11-07 | ソニー株式会社 | 物体検出制御装置、物体検出システム、物体検出制御方法およびプログラム |
| US8583720B2 (en) * | 2010-02-10 | 2013-11-12 | L3 Communications Integrated Systems, L.P. | Reconfigurable networked processing elements partial differential equations system |
| US8621634B2 (en) * | 2011-01-13 | 2013-12-31 | F-Secure Oyj | Malware detection based on a predetermined criterion |
| JP5778521B2 (ja) * | 2011-08-15 | 2015-09-16 | フェリカネットワークス株式会社 | 情報処理装置、情報処理方法、プログラム、および情報処理システム |
| JP5687666B2 (ja) * | 2012-08-15 | 2015-03-18 | 株式会社東芝 | スケジューリング装置、システム、方法およびプログラム |
| US9923837B2 (en) | 2013-08-29 | 2018-03-20 | Ericsson Ab | Method and system to allocate bandwidth based on task deadline in cloud computing networks |
| JP6247597B2 (ja) * | 2014-05-28 | 2017-12-13 | 株式会社日立製作所 | 制御装置 |
| JP6372315B2 (ja) * | 2014-11-11 | 2018-08-15 | コニカミノルタ株式会社 | 画像処理装置及び並列処理制御プログラム並びに並列処理制御方法 |
| GB2532926A (en) * | 2014-11-27 | 2016-06-08 | Ibm | Managing time-dependent electronic files |
| JP7087649B2 (ja) * | 2018-05-08 | 2022-06-21 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
| CN110008187B (zh) * | 2018-12-18 | 2023-05-12 | 创新先进技术有限公司 | 文件传输调度方法、装置、设备及计算机可读存储介质 |
| CN116541122A (zh) * | 2022-01-26 | 2023-08-04 | 北京沃东天骏信息技术有限公司 | 一种分布式容器系统的任务调度方法、装置及系统 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0659906A (ja) * | 1992-08-10 | 1994-03-04 | Hitachi Ltd | 並列計算機の実行制御方法 |
| JPH08212084A (ja) * | 1995-02-02 | 1996-08-20 | Hitachi Ltd | 情報処理装置 |
| JPH11249915A (ja) * | 1998-03-02 | 1999-09-17 | Chokosoku Network Computer Gijutsu Kenkyusho:Kk | タスク管理方法 |
| JP2001022597A (ja) * | 1999-05-06 | 2001-01-26 | Matsushita Electric Ind Co Ltd | リソース管理システム |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6453376B1 (en) * | 1999-10-21 | 2002-09-17 | Sony Corporation | Method for implementing scheduling mechanisms with selectable resource modes |
| JP2001331324A (ja) | 2000-05-19 | 2001-11-30 | Sony Corp | 情報処理方法および装置、ならびに、記録媒体 |
| US20030084144A1 (en) * | 2001-10-30 | 2003-05-01 | Lipinski Greg J. | Network bandwidth optimization method and system |
-
2005
- 2005-05-27 JP JP2005155945A patent/JP4298679B2/ja not_active Expired - Fee Related
-
2006
- 2006-04-06 WO PCT/JP2006/307323 patent/WO2006126331A1/ja not_active Ceased
- 2006-04-06 US US11/909,196 patent/US8266621B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0659906A (ja) * | 1992-08-10 | 1994-03-04 | Hitachi Ltd | 並列計算機の実行制御方法 |
| JPH08212084A (ja) * | 1995-02-02 | 1996-08-20 | Hitachi Ltd | 情報処理装置 |
| JPH11249915A (ja) * | 1998-03-02 | 1999-09-17 | Chokosoku Network Computer Gijutsu Kenkyusho:Kk | タスク管理方法 |
| JP2001022597A (ja) * | 1999-05-06 | 2001-01-26 | Matsushita Electric Ind Co Ltd | リソース管理システム |
Also Published As
| Publication number | Publication date |
|---|---|
| US8266621B2 (en) | 2012-09-11 |
| US20080163228A1 (en) | 2008-07-03 |
| JP4298679B2 (ja) | 2009-07-22 |
| JP2006331207A (ja) | 2006-12-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4298679B2 (ja) | 情報処理方法、情報処理装置、およびサーバ | |
| JP5516744B2 (ja) | スケジューラ、マルチコアプロセッサシステムおよびスケジューリング方法 | |
| US9405563B2 (en) | Resource management method and apparatus for virtual machine system, and virtual machine system | |
| US6438553B1 (en) | Distributed job integrated management system and method | |
| US9465663B2 (en) | Allocating resources in a compute farm to increase resource utilization by using a priority-based allocation layer to allocate job slots to projects | |
| CN117311990B (zh) | 资源调整方法、装置、电子设备、存储介质及训练平台 | |
| CN113342477A (zh) | 一种容器组部署方法、装置、设备及存储介质 | |
| JP5052278B2 (ja) | 記憶装置を制御する装置及び方法 | |
| US20090083746A1 (en) | Method for job management of computer system | |
| EP4177751A1 (en) | Resource scheduling method, resource scheduling system, and device | |
| CN100527119C (zh) | 信息处理设备和信息处理方法 | |
| KR101150661B1 (ko) | 정보 처리 장치 및 메모리 영역 관리 방법 | |
| CN120560776A (zh) | 容器重调度方法、系统、设备、存储介质及程序产品 | |
| CN114780201A (zh) | 资源调整方法、装置、电子设备及存储介质 | |
| CN118885273A (zh) | 一种gpu算力资源的调度方法、装置 | |
| CN117971398A (zh) | 一种带宽调整方法、装置、计算机设备及存储介质 | |
| JP5776813B2 (ja) | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法および制御プログラム | |
| JP2014078214A (ja) | スケジュールシステム、スケジュール方法、スケジュールプログラム、及び、オペレーティングシステム | |
| US8776068B2 (en) | Operating method for a computer with performance optimization by grouping applications | |
| WO2014188642A1 (ja) | スケジュールシステム、スケジュール方法、及び、記録媒体 | |
| JP2009070265A (ja) | 情報処理装置 | |
| CN115934363A (zh) | 分布式对象存储系统清空桶的方法、系统及装置 | |
| JP6874594B2 (ja) | 電源管理装置,ノード電源管理方法およびノード電源管理プログラム | |
| JP2003186686A (ja) | リソース制御装置、方法及び記憶媒体 | |
| JPH11175357A (ja) | タスク管理方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 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: 11909196 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| NENP | Non-entry into the national phase |
Ref country code: RU |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 06731271 Country of ref document: EP Kind code of ref document: A1 |