发明名称 |
Task list generation, parallelism templates, and memory management for multi-core systems |
摘要 |
There is provided a multi-core system that provides automated task list generation, parallelism templates, and memory management. By constructing, profiling, and analyzing a sequential list of functions to be executed in a parallel fashion, corresponding parallel execution templates may be stored for future lookup in a database. A processor may then select a subset of functions from the sequential list of functions based on input data, select a template from the template database based on particular matching criteria such as high-level task parameters, finalize the template by resolving pointers and adding or removing transaction control blocks, and forward the resulting optimized task list to a scheduler for distribution to multiple slave processing cores. The processor may also analyze data dependencies between tasks to consolidate tasks working on the same data to a single core, thereby implementing memory management and efficient memory locality. |
申请公布号 |
US9063779(B2) |
申请公布日期 |
2015.06.23 |
申请号 |
US201012655786 |
申请日期 |
2010.01.06 |
申请人 |
Mindspeed Technologies, Inc. |
发明人 |
Lavrov Nick J.;Toukmaji Nour |
分类号 |
G06F9/46;G06F9/48 |
主分类号 |
G06F9/46 |
代理机构 |
Farjami & Farjami LLP |
代理人 |
Farjami & Farjami LLP |
主权项 |
1. A method of generating a task list comprising a plurality of transaction control blocks for execution on a multi-core system, the method comprising:
receiving input data; accessing a sequential list of functions constructed for execution on a plurality of slave processing cores; selecting a subset of functions from said sequential list of functions, said subset of functions using said input data as function parameters; translating said subset of functions into said task list, wherein said translating includes:
searching in a template database to find a template of said task list corresponding to said subset of functions; andif the searching is unable to find the template, analyzing said task list for parallel processing of said subset of functions on a plurality of slave processing cores of said multi-core system to create the template for parallel execution of said subset of functions and storing the template in the database; forwarding, after said translating, said task list having said subset of functions to a scheduler for parallel execution on said plurality of slave processing cores of said multi-core system. |
地址 |
Newport Beach CA US |