WO2012039216A1 - Dispositif de traitement d'informations, procédé associé et programme associé - Google Patents
Dispositif de traitement d'informations, procédé associé et programme associé Download PDFInfo
- Publication number
- WO2012039216A1 WO2012039216A1 PCT/JP2011/068667 JP2011068667W WO2012039216A1 WO 2012039216 A1 WO2012039216 A1 WO 2012039216A1 JP 2011068667 W JP2011068667 W JP 2011068667W WO 2012039216 A1 WO2012039216 A1 WO 2012039216A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- task
- processor
- information
- buffer
- processing
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/54—Interprogram communication
Definitions
- the present invention relates to an information processing apparatus, a method thereof, and a program thereof, and more particularly to an information processing apparatus related to execution control of a task that performs processing while sharing data among tasks in a job composed of a plurality of tasks, and the method thereof Regarding the program.
- stream data such as packet stream and audio / image stream is composed of at least one frame of frame data (one unit of input data).
- a series of processing hereinafter referred to as a job
- output data is generated.
- a job performed on frame data can be divided into at least one or more partial processes (hereinafter referred to as tasks).
- the divided tasks can be processed by different processors, by executing different programs even in the same processor, or by different configurations if reconfigurable hardware (HW) (for example, Patent Document 1).
- HW reconfigurable hardware
- an object of the present invention is to provide an information processing apparatus, a method thereof, and a program thereof that reduce buffer access overhead and prevent processing delay.
- a processor that executes processing corresponding to a task, a processing element that includes an internal memory that is occupied and accessible by the processor, and task management that controls the operation of the processing element At least one input buffer for storing the data to be processed, contents of processing performed by the processor on the data to be processed, and by the processor Specify at least one output buffer for storing processing result data, cause the processor to perform processing corresponding to the task, and provide the input buffer and the output buffer outside the processing element.
- the information processing apparatus is provided, characterized in that.
- an information processing method used in an information processing apparatus including a processor that executes processing corresponding to a task and a processing element that includes an internal memory that the processor occupies and can access. And at least one input buffer for storing data to be processed, at least contents of processing performed by the processor on the data to be processed, and data of processing results by the processor Specify one output buffer, cause the processor to perform processing corresponding to the task, and secure the input buffer and the output buffer in an external memory provided outside the processing element or the internal memory Information that is managed according to the dependency between tasks Management method information processing method is provided.
- a processor that executes processing corresponding to a task, a processing element that includes an internal memory that the processor occupies and can access, and a task management unit that controls the operation of the processor
- An information processing program incorporated in an information processing apparatus, wherein the task management unit stores at least one input buffer for storing data to be processed, and the processor sets data to be processed. Designating at least one output buffer for storing the contents of processing to be performed and data of processing results by the processor, causing the processor to perform processing corresponding to the task, the input buffer and the output buffer In the external memory provided outside the processing element or the internal Managing depending whether reserved memory dependencies between tasks, information processing program information processing program for causing a computer to function is provided as an information processing apparatus.
- whether to secure the input buffer and the output buffer in the external memory provided outside the processing element or in the internal memory is managed according to the dependency between tasks. It is possible to reduce overhead and prevent occurrence of processing delay.
- Task information 110 Input port set 111 Input port address 112 Input port control information 120 Output port set 121 Output port address 122 Output port control information 130 Task identifier (TID) 140 Program identifier (PID) 150 Task management information 160 Stream identifier 300 Task 310 Task processing 400 Job 410 Job input port 420 Job output port 500 Processing element (PE) 501 Processor 502 Execution control unit 503 Internal memory 510 External memory 520 Communication path 530 Task management unit 600 Task group management information 610 Task queue 611 Task buffer 612 Program identifier (PID) 613 Task queue management information 614 Task information
- FIG. 1 is a diagram showing details of a job executed in an information processing system according to an embodiment of the present invention.
- one job 400 can be divided into at least one task.
- Task processing unit Task1 realizes processing functions corresponding to task 300. Specifically, the task processing unit Task1 is realized by a processor and its program, or reconfigurable hardware (HW) and its configuration.
- HW reconfigurable hardware
- the task processing unit Task1 includes an input port Iport1 for inputting input data to be processed and an output port Oport1 for outputting processing result data.
- the input port Iport1 and the output port Oport1 are connected to the corresponding buffers Buf1 and Buf4, respectively.
- the task processing unit Task1 executes processing independently of other tasks It becomes possible to do.
- the buffer Buf1 is connected to the input port Iport1 of the task processing unit Task1 and the buffer Buf4 is connected to the output port Oport2, so that one task 300 is configured.
- the task processing unit may include a plurality of input ports, a plurality of output ports, or both.
- each of the task processing units Task4 to Task7 includes two input ports Iport1 and Iport2 and one output port Oport1. Different buffers are connected to these two input ports.
- the job 400 shown in FIG. 1 includes seven task processing units Task1 to Task7 and ten buffers Buf1 to Buf10. Corresponding to these task processing units Task1 to Task7, the job 400 can be divided into a plurality of tasks.
- the task processing units Task2 to Task7 have the same configuration as the task processing unit Task1 and realize the corresponding task processing functions. Note that the number of task processing units included in one job 400 is not limited to seven.
- the plurality of tasks constituting the job 400 are dependent on each other, and the output result of any task may be used as input data for another task.
- information about an input buffer (a buffer in which input data accessed by the task is stored) and an output buffer from which the processing result of the task is output is the task information 100 (see FIG. 3).
- an appropriate input / output buffer is designated for each task, and data is exchanged between the tasks.
- a task by the task processing unit Task1 that executes the task processing ProcA is composed of this task processing unit Task1, a buffer Buf1 connected to the input port Iport1, and a buffer Buf4 connected to the output port Oport1.
- the buffer Buf4 is also connected to the input port Iport1 of the task processing unit Task4 for executing other tasks, and the two tasks Task1 and Task4 are dependent on each other through this connection.
- the job 400 includes three job input ports 410 and four job output ports 420. Input data from the outside is input from the job input port 410 and stored in the corresponding buffers. Further, the processing result of the job 400 is stored in the output-side buffer, and is output from the job output port 420 to the outside of the job 400. The processing result data of the job 400 can be processed by other jobs.
- FIG. 2 is a diagram showing a general configuration of an information processing system according to an embodiment of the present invention.
- This information processing system may be realized on one information processing apparatus.
- the information processing system includes one or more processing elements (PE) 500, an external memory 510, and a task management unit 530. These units are connected to each other via a communication path 520.
- PE processing elements
- the processing element 500 includes a hardware configuration that actually processes a task, and specifically includes a processor 501, an execution control unit 502, and an internal memory 503.
- the processor 501 actually performs task processing, and the execution control unit 502 controls task execution by the processor 501.
- the internal memory 503 is a memory that the processor 501 can occupy and access.
- the processor 501 and the execution control unit 502 refer to the task information 100 (see FIG. 3) when executing a task.
- the external memory 510 is a storage device that stores data to be processed, programs for defining processing contents, and the like.
- the task management unit 530 realizes a management function for managing jobs and tasks constituting an application.
- the task management unit 530 performs job management by performing a predetermined process on the data according to the arrival of data from the outside. Also, the task management unit 530 dynamically selects a task to be executed next according to the execution status of the task in the job, and dynamically manages the execution of the task and the schedule management of the program load necessary for the execution of the task. To do.
- FIG. 3 is a diagram showing details of task information referred to in the information processing system according to the embodiment of the present invention.
- the task information 100 includes, as an example, an input port set 110, an output port set 120, a task identifier (TID) 130, a program identifier (PID) 140, task management information 150, and a stream identifier (SID) 160. Etc. are included.
- the task identifier 130 designates a task corresponding to the task information 100, and the program identifier 140 designates processing contents of the task.
- the stream identifier 160 is an identifier for identifying a task that may have a dependency. For example, tasks belonging to the same group (stream) may be assigned the same identifier.
- the input port set 110 includes information for addressing at least one buffer in which task processing input data is stored.
- the input port set 110 includes at least one input port address 111 and input port control information (IF) 112 corresponding to the input port address.
- IF input port control information
- the input port address 111 addresses a buffer in which input data is stored.
- the input port control information 112 is information for determining whether input data to be input to the buffer is input from a buffer secured in the external memory 510 or from a buffer secured in the internal memory 503. It is.
- the output port set 120 includes information for addressing at least one or more buffers to which task processing result data is output.
- the output port set 120 includes at least one output port address 121 and output port control information (OF) 122 corresponding to the output port address.
- OF output port control information
- the output port address 121 addresses a buffer in which output data is stored.
- the output port control information 122 is information for determining whether output data is stored in a buffer in the external memory 510 or a buffer in the internal memory 503.
- the processor 501 that executes the task processing refers to the task information 100 corresponding to the task and determines whether to acquire input data from the buffer in the external memory 510 or to acquire input data from the buffer in the internal memory 503. Switching is performed according to the designation of the IF 112 of the input port set 110. Similarly, the processor 501 switches whether to output output data to a buffer in the external memory 510 or to a buffer in the internal memory 503 according to the designation of the IF 122 of the output port set 120.
- a job is generated for each frame data. That is, a plurality of jobs are generated corresponding to a plurality of continuous frame data, and each job is divided into tasks for performing similar processing.
- the processing of each frame data includes processing such as header analysis, Huffman decoding, and inverse quantization, and each processing is executed as a task.
- a job is generated for each of a plurality of frame data, and each job is divided into tasks such as a header analysis task, a Huffman decoding task, and an inverse quantization.
- tasks such as a header analysis task, a Huffman decoding task, and an inverse quantization.
- FIG. 4 is a diagram showing an example of task management information according to an embodiment of the present invention. By using such task management information, it becomes possible to manage a task group for each same type.
- the task group management information 600 shown in FIG. 4 includes one or a plurality of task queues 610 (task queue 1 to task queue N). Each of the task queues 610 stores information on tasks of the same type.
- FIG. 5 is a diagram showing an example of a detailed configuration of a task queue included in the above-described task management information.
- the task queue 610 includes a task buffer 611, a program identifier (PID) 612, and task queue management information 613.
- PID program identifier
- the task buffer 611 stores a plurality of pieces of task information 614 according to the task generation order.
- Each of the task information 614 corresponds to, for example, the task information 100 illustrated in FIG.
- the program identifier 612 is used to identify the type of task, and includes information similar to the program identifier 140 shown in FIG.
- the task queue management information 613 includes information necessary for execution management of a plurality of tasks managed by the task queue 610.
- the time required to execute all tasks specified by the task information stored in the task buffer 611 (task queue required processing time) and the execution of all the tasks are completed.
- the time (task queue deadline) that should be included may be included.
- dependency relationships may also be established between tasks of the same type that are grouped in one task queue.
- job input port Iport1, j and buffer Buf1, j are connected, and job input port Iport2, j and buffer Buf2, j are connected.
- the task processing unit Task1, j includes two input ports Iport1 and Oport1. Input data is input to the input port Iport1 from the buffer Buf1, j, and input data is input to the input port Iport2 from the buffer Buf2, j.
- the task processing units Task1, j perform task processing specified by the processing ProcA on these input data.
- the task processing unit Task1, j includes two output ports Oport1 and Oport2.
- the processing result data output from Oport1 is stored in buffer Buf3, j
- the processing result data output from Oport2 is stored in buffer Buf5, j.
- the task processing units Task2, j include an input port Iport1 and an output port Oport1.
- the data stored in the buffer Buf3, j is input to the input port Iport1 of the task processing unit Task2, j.
- the task processing unit Task2, j performs the task processing specified by the processing ProcB on this input data.
- the processing result data of the task processing unit Task2, j is stored in the buffer Buf4, j.
- Buffer Buf4, j is connected to job output port Oport1, j, and buffer Buf5, j is connected to job output port Oport2, j. Therefore, the processing result data of the task processing unit Task1, j is output to the job output port Oport2, j via the buffer Buf5, j, and the processing result data of the task processing unit Task2, j is output to the job via Buf4, j Output to port Oport2, j.
- the job output port Oport2, j of the job Jobj is connected to the job input port Iport1, j + 1 of the next job Jobj + 1. That is, a dependency relationship is established between the preceding and succeeding jobs.
- One line of output data of the first job Job1 shown in FIG. 6 is input to one input port of the subsequent job Job2. That is, one output port Oport2,1 of job Job1 is connected to one input port Iport1,2 of subsequent job Job2.
- FIG. 7 is a diagram showing in more detail the dependency relationship established between tasks of the same type in a plurality of jobs shown in FIG.
- Processing result data of the task processing unit Task1, i-1 is stored in the buffer Buf5, i-1 associated with Oport2 of the two output ports. Data is input from the buffers Buf1, i associated with the input port IPort1 to the subsequent task processing units Task1, i.
- unnecessary copy processing between the buffer Buf5, i-1 and the buffer Buf1, i can be performed by designating the same buffer area as the buffer Buf5, i-1 and the buffer Buf1.i. Don't make it happen.
- unnecessary copy processing can be reduced for the buffers Buf5, i and the buffers Buf1, i + 1.
- memory access via the communication path 520 is required, which may cause a processing delay.
- FIG. 8 is a diagram showing a state of access from the processor to the buffer area according to an embodiment of the present invention. For simplification of explanation, FIG. 8 shows an excerpt from the information processing system shown in FIG.
- each buffer is secured in a specific area of the external memory 510.
- each buffer is shown as being secured in a different area, but different buffers may be secured in the same area as long as the processing is not affected.
- the task information 100 is individually transferred to the execution control unit 502 according to the dependency between tasks.
- the task queue 610 (see FIG. 5) storing the task information 100 of a plurality of tasks may be transferred to the execution control unit 502 in a batch according to the dependency relationship.
- the execution control unit 502 controls the execution of the processor 501 according to the task information 100 or the task information 612 stored in the task queue 610. That is, the processor 501 operates according to a program necessary for execution of processing by the task processing unit 310.
- the program can be executed after being stored in the internal memory 503, or the hardware configuration can be changed according to the program.
- the execution control unit 502 also performs control such as loading of such a program into the internal memory 503 and reconfiguration of the hardware configuration.
- the processor 501 performs a necessary process by accessing a designated buffer based on the information of the input port set 110 and the output port set 120 of the task information 100.
- the internal memory 503 can be used for temporary data storage, depending on the processing contents, a part of the storage contents of the buffer in the external memory 510 is transferred to the internal memory 503 and read / write to the internal memory 503 is performed. The process can also proceed. Thereafter, the final processing result may be transferred from the internal memory 503 to a predetermined buffer in the external memory 510.
- the external memory 510 is shared and used by a plurality of processing elements by access via the communication path 520. For this reason, in general, access to the external memory 510 has a larger delay than the internal memory 503 that can be occupied and used by the processor 501. In addition, there may be a delay in access to the external memory 510 due to access contention with other processing elements. For this reason, it is desirable to reduce the delay by reducing access to the external memory 510 when processing the task.
- the same kind of tasks collected in the task queue 610 are executed by the same program of the same processor 501.
- the buffer area is reserved in the internal memory 503 that can be used by the processor 501 instead of the external memory 510, and the data is transferred.
- the access to the external memory 510 is suppressed by securing a buffer area in the internal memory 503 connected to the processor 501. Can do. Accordingly, it is possible to reduce overhead (ie, delay) as compared with data transfer via the external memory 510.
- a buffer area corresponding to the buffer Buf5, i-1 is secured in the internal memory 503 as the internal memory Buf.
- the results of the tasks Task1, i-1 are stored in the buffer Buf, and when the tasks Task1, i are executed, the results stored in the buffer Buf can be referred to. Therefore, Write access and Read access to the buffers Buf5, i-1 in the external memory 510 can be reduced, respectively.
- the processing result of the task Task1, i-1 is stored in the buffer Buf in the internal memory 503, and the task Task1, i + 1 refers to the result so that the write access to the buffer Buf5, i-1 and Read access can be reduced respectively.
- task Task1 i + 1 and task Task1, i + 2 (not shown) are in a dependency relationship, but task Task1, i + 1 and task Task1, i + 2 are not executed continuously, task Task1, There is a possibility that different types of tasks TaskX (not shown) are executed between the execution of i + 1 and the execution of tasks Task1 and i + 2. In such a case, the task TaskX uses the internal memory 503 as the buffer area Buf, which may destroy the contents of the internal buffer Buf.
- task information 614 of tasks having a dependency relationship are not always adjacent to each other. For example, when two input streams are decoded in parallel, task information 614 corresponding to a task necessary for processing the frame data of each stream may be mixed in one task queue 610.
- the processor 501 may not be able to determine whether a dependency relationship is established between the tasks. In such a case, even if data can be transferred using the buffer in the internal memory 503, data transfer using the buffer in the external memory 510 may be performed.
- the processor 501 that executes the task refers to the task information and processes the specified task.
- Task processing executed by the processor 501 is specified by a program identifier.
- Specific task processing is realized as a program of the processor 501, or when the processor 501 is reconfigurable hardware, it is realized as hardware reconfigured by reconfiguration data.
- the corresponding input port address is referred to and the buffer in the external memory 510 is referred to. Get input data.
- the address of the internal buffer Buf in the internal memory 503 may be specified by the corresponding input port address.
- tasks having the same task identifier correspond to the same program or the same hardware configuration, when data is transferred between tasks having the same task identifier via the internal memory 503, a program or hardware
- the internal memory 503 may be accessible using an address embedded in the configuration.
- the output is output to an internal buffer secured in the internal memory 503. Data is output.
- the address of the internal buffer in the internal memory 503 may be specified by the corresponding output port address.
- tasks having the same task identifier correspond to the same program or the same hardware configuration, when data is transferred between tasks having the same task identifier via the internal memory 503, a program or hardware
- the internal memory 503 may be accessible using an address embedded in the configuration.
- the set value of the output port control information can be set to 0 and the dependency of the preceding task can be transmitted.
- the output data from the output port is written into the buffer of the internal memory 503.
- the set value of the input port control information corresponding to the subsequent task is set to 0
- the dependency relationship between tasks is correctly transmitted. That is, in the subsequent task, input data is read from the internal memory 503. Therefore, overhead can be reduced by transferring data between tasks having a dependency relationship using a buffer in the internal memory 503.
- FIG. 9 is a diagram showing an example of setting of task information 100 for each task when the three tasks shown in FIG. 7 are executed.
- the task buffer 611 of the task queue 600 stores task information 100 (that is, task information 614) for each of the three tasks Task1, i-1, Task1, i, and Task1, i + 1.
- Each task information 100 includes input port control information 112 and output port control information 122.
- the three tasks are executed by the processor 501 in the order of tasks Task1, i-1, Task1, i, Task1, i + 1. Dependencies are established between these tasks.
- control values of the input port control information 112 and the output port control information 122 are set to 1 for all tasks. Therefore, data transfer is performed via a buffer in the external memory 510 specified by the input port address 111 and the output port address 121.
- FIG. 10 is a diagram showing another example of the setting of each task information 100 when three tasks are executed as in FIG.
- the input data to the task Task1, i-1 is acquired from the area specified by the input port addresses Buf1, i-1, Buf2, i-1 in the external memory 510.
- the values of the input port control information IF1 and IF2 are set to 1, respectively, indicating that the buffer associated with the input port is in the external memory 510.
- the output port Oport1, i-1 of the two output ports of the first task Task1, i-1 has no dependency on the next task Tkas1, i that is executed continuously. Therefore, output data is sent from the output port Oport1, i-1 to an area specified by the output port address 1 (Buf3, i-1) in the external memory 510.
- the value of the output port control information OF1 corresponding to the output port address 1 is set to 1.
- the output data from the other output port Oport2, i-1 of the first task Task1, i-1 is input to the input port Iport1, i of the task Task1, i to be executed immediately after.
- the value of the corresponding output port control information OF2 is set to 0, and an output to the internal buffer of the internal memory 503 is instructed.
- the address set in the corresponding output port address 121 may be used as the buffer area address in the internal memory 503.
- the value of the input port control information IF1 of the input port Iport1, i of the task Task1, i is set to 0, and input data is input to the input port Iport1, i from the internal buffer in the internal memory 503.
- the value of the other input port control information IF2 is set to 1, and the input data is acquired from the area specified by the input port address 2 (Buf2, i) in the external memory 510.
- the setting of the output port of this task Task1, i is the same as that of task Task1, i-1, the value of output port control information OF1 is set to 1 and the value of OF2 is set to 0.
- the setting of the input port of the next task Task1, i + 1 is the same as the setting of the input port of task Task1, i. That is, the value of task Task1, i + 1 input port control information IF1 is set to 0, and the value of IF2 is set to 1.
- This task Task1, i + 1 is the last task among the three tasks, and all output results must be output to the external memory 510. For this reason, the values of the output port control information OF1 and OF2 for the tasks Task1 and i + 1 are both set to 1.
- task information of a plurality of tasks processed by the same program is collected in one task queue 610.
- a job for processing different streams and a task constituting the job may be generated and stored in one task queue 610.
- tasks in the same stream are not necessarily consecutive in the task queue 610.
- the task management unit 530 rearranges the tasks in the task queue 610 to be executed next so that dependent tasks belonging to the same stream are continuously executed.
- FIG. 11 is a flowchart showing an example of a task management operation according to an embodiment of the present invention.
- FIG. 11 illustrates the selection of a task queue 610 for execution by the processing element 500 and the operations that take place thereafter.
- Task management unit 530 selects a task queue to be executed next based on task queue management information 613 of each task queue (step S100).
- the task management unit 530 rearranges the tasks in the selected task queue (step S110). At this time, rearrangement is performed so that tasks belonging to the same stream are continuous. However, the order between tasks belonging to the same stream is not changed.
- task groups belonging to the same stream rearranged so as to be continuous are referred to as task groups.
- the task management unit 530 selects one task group from the selected task queue (step S120).
- the order of selection may be arbitrarily set.
- the task management unit 530 sets input port control information for each task of the selected task group (step S130), and similarly sets output port control information (step S140).
- the task management unit 530 sets the input port control information of the first task in the task group to 1 and sets the input port control information of the tasks other than the head to 0 for the input ports related to the dependency between tasks. To do.
- the task management unit 530 sets the output port control information of the last task of the task group to 1 for the output port related to the dependency between tasks, and sets the output port control information of the tasks other than the last to 0. Set.
- the task management unit 530 determines whether or not the input port control information and the output port control information have been set for all tasks in the task group (step S150). If the settings for all tasks in the task group have not been completed (No in step S150), the process returns to step S130, and the settings of the input port control information and the output port control information are repeated.
- step S150 the task management unit 530 determines whether the setting is completed for all tasks in the task group (step S150). If there is a task group that has not been set (No in step S160), the task management unit 503 returns to step S120, selects the next task group, and repeats the processing from step S130.
- step S160 If the setting is completed for all task groups (Yes in step S160), the setting of data transfer between tasks is completed.
- FIG. 12 is a flowchart showing an example of the operation of the processor 501 that has received the task information.
- the processor 501 receives the task information 100 from the execution control unit 502 (step S200), refers to the input port control information 112 of the input port set 110, and acquires input data via the designated input port (step S210). ).
- the processor 501 acquires input data from the buffer in the internal memory 503 when the set value of the input port control information is 0, and inputs the input data in the external memory 510 when the set value of the input port control information is 1. Input data is obtained from the buffer area addressed by the port address 111.
- the processor 501 executes the process of the task specified by the program identifier 140 of the task information 100 on the acquired input data (step S220).
- the processor 501 refers to the output port control information 122 of the output port set 120 and outputs the processing result data from the output port to the designated buffer (step S230).
- the processor 501 outputs the processing result data to the buffer in the internal memory 503 when the set value of the output port control information is 0, and outputs it in the external memory 510 when the set value of the output port control information is 1.
- the processing result data is output to the buffer area addressed by the port address 121.
- step S210 data input from the input port (step S210), task execution (step S220), and data output to the output port (step S230) are performed separately is illustrated. .
- these processes may be mixed.
- task information of a plurality of tasks that are continuously executed by the same program is grouped as a task group belonging to the same stream, and dependent tasks are continuously executed by the processor.
- input port control information and output port control information of dependent tasks that are continuously executed are set according to the dependency between tasks, and dependent data transfer is performed using an internal buffer in the internal memory with low overhead.
- the processor inputs input data from the input port and outputs output data from the output port.
- the information processing system can be realized by hardware, but the computer reads a program for causing the computer to function as an apparatus of the information processing system from a computer-readable recording medium and executes the program. This can also be realized.
- the information processing method according to the embodiment of the present invention can be realized by hardware, but the computer can also read and execute a program for causing the computer to execute the method from a computer-readable recording medium. Can be realized.
- the program unique to this embodiment has been described as being pre-installed in the information processing system.
- a program for operating a computer as all or part of an information processing system or executing the above-described processing is a flexible disk, a CD-ROM (Compact Disc-Read-Only Memory), a DVD (Digital Versatile Disc). ), MO (Magneto Optical Disk (Disc)) BD (Blu-ray Disc) stored in a computer-readable recording medium and distributed, installed in another computer, operated as the above-mentioned means, or
- the above-described steps may be executed.
- the program may be stored in a disk device or the like included in a server device on the Internet, and the program may be executed by, for example, superimposing the program on a carrier wave and downloading it to a computer.
- a processor that executes processing corresponding to a task a processing element that includes an internal memory that the processor occupies and can access, and a task management unit that controls the operation of the processing element,
- the task management unit At least one input buffer for storing the data to be processed, at least one output for storing the contents of processing performed by the processor on the data to be processed, and data of processing results by the processor Specify the buffer for Causing the processor to perform processing corresponding to the task; Managing whether to secure the input buffer and the output buffer in an external memory provided outside the processing element or in the internal memory according to the dependency between tasks;
- An information processing apparatus characterized by that.
- the task management unit Specify an input port for inputting data stored in the input buffer to the processor; Input port identification information for identifying whether the input buffer to which the input port is connected is secured in the external memory or the internal memory; An address of the input buffer; Task information including: to the processor, The information processing apparatus according to appendix 1, wherein the processor acquires data to be processed from the input buffer according to the task information.
- the task management unit Specify an output port for storing the processing result data by the processor in the output buffer; Output port identification information for identifying in which of the external memory and the internal memory the output buffer to which the output port is connected; An address of the output buffer to which the output port is connected; Task information including: to the processor, The information processing apparatus according to claim 1, wherein the processor transfers the processing result data to the output buffer according to the task information.
- the task management unit Specify an input port for inputting data stored in the input buffer to the processor; Input port identification information for identifying whether the input buffer to which the input port is connected is secured in the external memory or the internal memory; An address of the input buffer; Task information including: to the processor, The processor acquires data to be processed from the input buffer according to the task information, In addition, the task management unit Specify an output port for storing the processing result data by the processor in the output buffer; Output port identification information for identifying whether the output port is connected to the external memory or the internal memory; An address of the output buffer to which the output port is connected; Task information including: to the processor, The information processing apparatus according to claim 1, wherein the processor transfers the processing result data to the output buffer according to the task information.
- the task management unit If the data to be handled by the process is stored in the input buffer secured in the internal memory, the input port identification information is set so that the input port is connected to the internal memory, and Specify the address in the internal memory of the area where the data to be processed is stored as the address of the input buffer, When the data to be handled by the processing is stored in the input buffer secured in the external memory, the input port identification information is set so that the input port is connected to the external memory, and Specify the address in the external memory of the area where the data to be processed is stored as the address of the input buffer, In addition, the task management unit When storing the processing result data in the output buffer secured in the internal memory, the output port identification information is set so that the output port is connected to the internal memory, and the processing result data Specify the address in the internal memory of the area to store the output buffer as an address, When storing the processing result data in the output buffer secured in the external memory, the output port identification information is set so that the output port is connected to the external memory, and the
- Appendix 6 The information processing apparatus according to any one of appendices 1 to 5, further comprising a hardware unit including a plurality of processing elements.
- the task management unit Store task information of a plurality of tasks having the same program identifier in one task queue in the order in which the tasks are generated, Passing the task queue to the processor;
- the information processing apparatus according to any one of appendices 1 to 6, wherein the processor executes the plurality of tasks according to the task queue.
- the task information includes stream identifier information indicating a dependency relationship between tasks, The task management unit Task information of the plurality of tasks stored in the task queue so that a plurality of tasks having the same stream identifier are continuously executed and the execution order between the plurality of tasks having the same stream identifier does not change.
- the information processing apparatus according to appendix 7, wherein the information is rearranged with reference to the stream identifier.
- Appendix 9 The task management unit In a task group consisting of tasks with the same stream identifier, for tasks that have a dependency relationship with other tasks, 9.
- Appendix 10 The task management unit In a task group consisting of tasks with the same stream identifier, for tasks that have a dependency relationship with other tasks, The information processing apparatus according to appendix 9, wherein the task information is set so that an output port related to the dependency relationship is connected to the output buffer secured in the internal memory.
- An information processing method used in an information processing apparatus including a processor that executes processing corresponding to a task, and a processing element that includes an internal memory that is occupied and accessible by the processor, At least one input buffer for storing the data to be processed, at least one output for storing the contents of processing performed by the processor on the data to be processed, and data of processing results by the processor Specify the buffer for Causing the processor to perform processing corresponding to the task; An information processing method for managing whether to secure the input buffer and the output buffer in an external memory provided outside the processing element or in the internal memory according to dependency between tasks .
- Appendix 12 Specify an input port for inputting data stored in the input buffer to the processor; Task information including input port identification information for identifying whether the input buffer to which the input port is connected is reserved in the external memory or the internal memory, and an address of the input buffer To the processor, The information processing method according to appendix 11, wherein the processor acquires data to be processed from the input buffer according to the task information.
- (Appendix 14) Specify an input port for inputting data stored in the input buffer to the processor; Input port identification information for identifying whether the input buffer to which the input port is connected is secured in the external memory or the internal memory; An address of the input buffer; Task information including: to the processor, The processor acquires data to be processed from the input buffer according to the task information, Also, Specify an output port for storing the processing result data by the processor in the output buffer; Task information including output port identification information for identifying whether the output port is connected to the external memory or the internal memory, and an address of the output buffer to which the output port is connected To the processor, 12.
- the information processing method according to claim 11, wherein the processor transfers the processing result data to the output buffer in accordance with the task information.
- the input port identification information is set so that the input port is connected to the internal memory, and Specify the address in the internal memory of the area where the data to be processed is stored as the address of the input buffer
- the input port identification information is set so that the input port is connected to the external memory, and Specify the address in the external memory of the area where the data to be processed is stored as the address of the input buffer
- the output port identification information is set so that the output port is connected to the internal memory, and the processing result data Specify the address in the internal memory of the area to store the output buffer as an address
- the output port identification information is set so that the output port is connected to the external memory, and the processing result data 15.
- Appendix 17 Store task information of a plurality of tasks having the same program identifier in one task queue in the order in which the tasks are generated, Passing the task queue to the processor; The information processing method according to any one of appendices 11 to 16, wherein the processor executes the plurality of tasks in accordance with the task queue.
- the task information includes stream identifier information indicating a dependency relationship between tasks, Task information of the plurality of tasks stored in the task queue so that a plurality of tasks having the same stream identifier are continuously executed and the execution order between the plurality of tasks having the same stream identifier does not change. 18.
- Appendix 19 In a task group consisting of tasks having the same stream identifier, for a task having a dependency relationship with another task, an input port related to the dependency relationship is connected to the input buffer secured in the internal memory.
- Appendix 20 In a task group consisting of tasks having the same stream identifier, for a task having a dependency relationship with another task, an output port related to the dependency relationship is connected to the output buffer secured in the internal memory.
- Information processing incorporated in an information processing apparatus including a processor that executes processing corresponding to a task, a processing element that includes an internal memory that the processor occupies and can access, and a task management unit that controls the operation of the processor
- the task management unit At least one input buffer for storing the data to be processed, at least one output for storing the contents of processing performed by the processor on the data to be processed, and data of processing results by the processor Specify the buffer for Causing the processor to perform processing corresponding to the task; Managing whether to secure the input buffer and the output buffer in an external memory provided outside the processing element or in the internal memory according to the dependency between tasks;
- An information processing program for causing a computer to function as an information processing apparatus.
- the task management unit Specify an input port for inputting data stored in the input buffer to the processor; Task information including input port identification information for identifying whether the input buffer to which the input port is connected is reserved in the external memory or the internal memory, and an address of the input buffer To the processor, The information processing program according to appendix 21, wherein the processor acquires data to be processed from the input buffer according to the task information.
- the task management unit Specify an output port for storing data of a processing result by the processor in the output buffer; Output port identification information for identifying whether the output buffer to which the output port is connected is secured in the external memory or the internal memory, and the output buffer to which the output port is connected Task information including an address to the processor,
- the task management unit Specify an input port for inputting data stored in the input buffer to the processor; Task information including input port identification information for identifying whether the input buffer to which the input port is connected is reserved in the external memory or the internal memory, and an address of the input buffer To the processor, The processor acquires data to be processed from the input buffer according to the task information,
- the task management unit Specify an output port for storing the processing result data by the processor in the output buffer; Task information including output port identification information for identifying whether the output port is connected to the external memory or the internal memory, and an address of the output buffer to which the output port is connected To the processor,
- the information processing program according to appendix 21, wherein the processor transfers data of the processing result to the output buffer according to the task information.
- the task management unit When the data to be dealt with by the processing is stored in the input buffer secured in the internal memory, Setting the input port identification information so that the input port is connected to the internal memory; Specify the address in the internal memory of the area where the data to be processed is stored as the address of the input buffer, When the data to be handled by the process is stored in the input buffer secured in the external memory, Setting the input port identification information such that the input port is connected to the external memory; Specify the address in the external memory of the area where the data to be processed is stored as the address of the input buffer,
- the task management unit When storing the processing result data in the output buffer secured in the internal memory, Setting the output port identification information such that the output port is connected to the internal memory; Specify the address in the internal memory of the area for storing the data of the processing result as the address of the output buffer, When storing the processing result data in the output buffer secured in the external memory, Setting the output port identification information such that the output port is connected to the external memory; 25.
- the task management unit Store task information of a plurality of tasks having the same program identifier in one task queue in the order in which the tasks are generated, Passing the task queue to the processor; The information processing program according to any one of appendices 21 to 26, wherein the processor executes the plurality of tasks in accordance with the task queue.
- the task information includes stream identifier information indicating a dependency relationship between tasks, The task management unit Task information of the plurality of tasks stored in the task queue so that a plurality of tasks having the same stream identifier are continuously executed and the execution order between the plurality of tasks having the same stream identifier does not change.
- Appendix 29 The task management unit In a task group consisting of tasks with the same stream identifier, for tasks that have a dependency relationship with other tasks, 29.
- Appendix 30 The task management unit In a task group consisting of tasks with the same stream identifier, for tasks that have a dependency relationship with other tasks, The information processing program according to appendix 29, wherein the task information is set so that an output port related to the dependency relationship is connected to the output buffer secured in the internal memory.
- the present invention can be applied to a multimedia processing apparatus that encodes and decodes a plurality of media such as an audio stream and an image stream, and network processing that processes network packet data and the like.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
La présente invention réduit les surdébits d'accès aux tampons et évite l'apparition de retards de traitement. Un dispositif de traitement d'informations comprend un processeur qui exécute un traitement correspondant à une tâche, un élément de traitement occupé par le processeur et qui est doté d'une mémoire interne accessible, et une unité de gestion de tâches, qui contrôle les opérations effectuées par l'élément de traitement. L'unité de gestion de tâches désigne au moins un tampon d'entrée qui stocke des données soumises au traitement, les détails du traitement que le processeur effectue sur les données soumises au traitement, et au moins un tampon de sortie qui stocke des données liées aux résultats du traitement effectué par le processeur, déclenche un traitement correspondant à la tâche devant être effectuée dans le processeur, et gère le maintien ou non du tampon d'entrée et le tampon de sortie dans une mémoire externe prévue à l'extérieur de l'élément de traitement, ou leur maintien dans la mémoire interne, en réponse à l'interdépendance des tâches.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012534967A JP5825261B2 (ja) | 2010-09-24 | 2011-08-18 | 情報処理装置、その方法及びそのプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-213704 | 2010-09-24 | ||
JP2010213704 | 2010-09-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012039216A1 true WO2012039216A1 (fr) | 2012-03-29 |
Family
ID=45873710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/068667 WO2012039216A1 (fr) | 2010-09-24 | 2011-08-18 | Dispositif de traitement d'informations, procédé associé et programme associé |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5825261B2 (fr) |
WO (1) | WO2012039216A1 (fr) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5372297B1 (ja) * | 2012-12-20 | 2013-12-18 | 三菱電機株式会社 | 車載装置及びプログラム |
JP2016523409A (ja) * | 2013-06-24 | 2016-08-08 | エフティーエス コンピューターテクニク ジーエムビーエイチ | 分散リアルタイムシステムにおける周期的なタスク上で適時にデータを受け渡す方法および装置 |
JP2018037088A (ja) * | 2016-09-02 | 2018-03-08 | 三星電子株式会社Samsung Electronics Co.,Ltd. | ソリッドステートドライブ及びドライバー並びにストリーム識別子割り当て方法 |
US10437650B2 (en) | 2014-06-19 | 2019-10-08 | Nec Corporation | Controlling execution of tasks in a series of operational processing by identifying processing units based on task command, task setting information, state of operational processing |
JP2020126483A (ja) * | 2019-02-05 | 2020-08-20 | Kddi株式会社 | 制御装置、情報処理装置、コンピュータプログラム及び情報処理方法 |
US10866905B2 (en) | 2016-05-25 | 2020-12-15 | Samsung Electronics Co., Ltd. | Access parameter based multi-stream storage device access |
CN114612287A (zh) * | 2022-03-18 | 2022-06-10 | 北京小米移动软件有限公司 | 图像处理方法、装置及存储介质 |
US11392297B2 (en) | 2015-07-13 | 2022-07-19 | Samsung Electronics Co., Ltd. | Automatic stream detection and assignment algorithm |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11328134A (ja) * | 1998-05-14 | 1999-11-30 | Hitachi Ltd | 計算機間データ送受信方法 |
JP2002207710A (ja) * | 2001-01-11 | 2002-07-26 | Mitsubishi Electric Corp | マルチプロセッサ信号処理装置 |
WO2007029421A1 (fr) * | 2005-09-05 | 2007-03-15 | Nec Corporation | Dispositif de traitement d’information |
WO2009131167A1 (fr) * | 2008-04-23 | 2009-10-29 | 日本電気株式会社 | Appareil de commande à multiples processeurs, son procédé et son programme |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006099579A (ja) * | 2004-09-30 | 2006-04-13 | Toshiba Corp | 情報処理装置及び情報処理方法 |
JP4909588B2 (ja) * | 2005-12-28 | 2012-04-04 | 日本電気株式会社 | 情報処理装置及び再構成デバイスの利用方法 |
-
2011
- 2011-08-18 WO PCT/JP2011/068667 patent/WO2012039216A1/fr active Application Filing
- 2011-08-18 JP JP2012534967A patent/JP5825261B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11328134A (ja) * | 1998-05-14 | 1999-11-30 | Hitachi Ltd | 計算機間データ送受信方法 |
JP2002207710A (ja) * | 2001-01-11 | 2002-07-26 | Mitsubishi Electric Corp | マルチプロセッサ信号処理装置 |
WO2007029421A1 (fr) * | 2005-09-05 | 2007-03-15 | Nec Corporation | Dispositif de traitement d’information |
WO2009131167A1 (fr) * | 2008-04-23 | 2009-10-29 | 日本電気株式会社 | Appareil de commande à multiples processeurs, son procédé et son programme |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5372297B1 (ja) * | 2012-12-20 | 2013-12-18 | 三菱電機株式会社 | 車載装置及びプログラム |
WO2014097442A1 (fr) * | 2012-12-20 | 2014-06-26 | 三菱電機株式会社 | Dispositif embarqué et programme |
US9405601B2 (en) | 2012-12-20 | 2016-08-02 | Mitsubishi Electric Corporation | In-vehicle apparatus and program |
JP2016523409A (ja) * | 2013-06-24 | 2016-08-08 | エフティーエス コンピューターテクニク ジーエムビーエイチ | 分散リアルタイムシステムにおける周期的なタスク上で適時にデータを受け渡す方法および装置 |
US10437650B2 (en) | 2014-06-19 | 2019-10-08 | Nec Corporation | Controlling execution of tasks in a series of operational processing by identifying processing units based on task command, task setting information, state of operational processing |
US11392297B2 (en) | 2015-07-13 | 2022-07-19 | Samsung Electronics Co., Ltd. | Automatic stream detection and assignment algorithm |
US10866905B2 (en) | 2016-05-25 | 2020-12-15 | Samsung Electronics Co., Ltd. | Access parameter based multi-stream storage device access |
JP2018037088A (ja) * | 2016-09-02 | 2018-03-08 | 三星電子株式会社Samsung Electronics Co.,Ltd. | ソリッドステートドライブ及びドライバー並びにストリーム識別子割り当て方法 |
JP2020126483A (ja) * | 2019-02-05 | 2020-08-20 | Kddi株式会社 | 制御装置、情報処理装置、コンピュータプログラム及び情報処理方法 |
JP7145094B2 (ja) | 2019-02-05 | 2022-09-30 | Kddi株式会社 | 制御装置、コンピュータプログラム及び情報処理方法 |
CN114612287A (zh) * | 2022-03-18 | 2022-06-10 | 北京小米移动软件有限公司 | 图像处理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2012039216A1 (ja) | 2014-02-03 |
JP5825261B2 (ja) | 2015-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5825261B2 (ja) | 情報処理装置、その方法及びそのプログラム | |
US7418705B2 (en) | Method and system for performing real-time operation | |
JP4057989B2 (ja) | スケジューリング方法および情報処理システム | |
US7657890B2 (en) | Scheduling system and method in which threads for performing a real-time operation are assigned to a plurality of processors | |
KR100649107B1 (ko) | 실시간 동작 수행방법 및 시스템 | |
JP5018480B2 (ja) | 情報処理装置 | |
US7464379B2 (en) | Method and system for performing real-time operation | |
US7356666B2 (en) | Local memory management system with plural processors | |
US10944722B2 (en) | Using activities to manage multi-tenant firewall configuration | |
US20140204103A1 (en) | Data processing system and method for task scheduling in a data processing system | |
US7380005B1 (en) | Systems, methods and computer program products for improving placement performance of message transforms by exploiting aggressive replication | |
CN114168271A (zh) | 一种任务调度方法、电子设备及存储介质 | |
JP2008052750A (ja) | プロセッサ | |
JP4102425B2 (ja) | プロセッサ | |
US7802253B2 (en) | System for session management of resources and tasks having records in the lookup table for the session | |
JP2007047968A (ja) | マルチプロセッサシステム | |
JP4017005B2 (ja) | 演算装置 | |
JPH1124950A (ja) | 並列ジョブスワップシステムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11826662 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012534967 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11826662 Country of ref document: EP Kind code of ref document: A1 |