RU2011117765A - Устройство (варианты) и способ реализации двухпроходного планировщика задач линейной сложности - Google Patents
Устройство (варианты) и способ реализации двухпроходного планировщика задач линейной сложности Download PDFInfo
- Publication number
- RU2011117765A RU2011117765A RU2011117765/08A RU2011117765A RU2011117765A RU 2011117765 A RU2011117765 A RU 2011117765A RU 2011117765/08 A RU2011117765/08 A RU 2011117765/08A RU 2011117765 A RU2011117765 A RU 2011117765A RU 2011117765 A RU2011117765 A RU 2011117765A
- Authority
- RU
- Russia
- Prior art keywords
- named
- tasks
- aforementioned
- processors
- passage
- Prior art date
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/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Multi Processors (AREA)
Abstract
1. Способ реализации двухпроходного планировщика задач линейной сложности, включающий: ! (A) присвоение каждой из названных задач соответствующему одному или нескольким из множества процессоров при первом прохождении названных задач, где названное первое прохождение является неитеративным; ! (B) перераспределение названных задач среди названных процессоров для сокращения соответствующей нагрузки на один или несколько из названных процессоров при втором прохождении названных задач, где названное второе прохождение (i) является неитеративным и (ii) начинается после завершения первого прохождения; и ! (C) генерирование графика в ответ на вышеупомянутое присвоение и вышеупомянутое перераспределение, где названный график закрепляет названные задачи за названными процессорами. ! 2. Способ по п.1, отличающийся тем, что сложность планирования названных задач является линейной в зависимости, как от числа названных задач, так и от числа названных процессоров. ! 3. Способ по п.1, дополнительно включающий генерирование списка вышеупомянутых задач перед вышеупомянутым первым прохождением, где названный список сортируется по множеству соответствующих длин названных задач. ! 4. Способ по п.3, отличающийся тем, что вышеупомянутое присвоение названных задач вышеупомянутым процессорам при названном первом прохождении выполняется в порядке, определенном вышеупомянутым списком. ! 5. Способ по п.4, отличающийся тем, что самая длинная из названных задач назначается первой, а самая короткая из названных задач назначается последней. ! 6. Способ по п.1, отличающийся тем, что во время вышеупомянутого первого прохождения (i) вышеупомян�
Claims (20)
1. Способ реализации двухпроходного планировщика задач линейной сложности, включающий:
(A) присвоение каждой из названных задач соответствующему одному или нескольким из множества процессоров при первом прохождении названных задач, где названное первое прохождение является неитеративным;
(B) перераспределение названных задач среди названных процессоров для сокращения соответствующей нагрузки на один или несколько из названных процессоров при втором прохождении названных задач, где названное второе прохождение (i) является неитеративным и (ii) начинается после завершения первого прохождения; и
(C) генерирование графика в ответ на вышеупомянутое присвоение и вышеупомянутое перераспределение, где названный график закрепляет названные задачи за названными процессорами.
2. Способ по п.1, отличающийся тем, что сложность планирования названных задач является линейной в зависимости, как от числа названных задач, так и от числа названных процессоров.
3. Способ по п.1, дополнительно включающий генерирование списка вышеупомянутых задач перед вышеупомянутым первым прохождением, где названный список сортируется по множеству соответствующих длин названных задач.
4. Способ по п.3, отличающийся тем, что вышеупомянутое присвоение названных задач вышеупомянутым процессорам при названном первом прохождении выполняется в порядке, определенном вышеупомянутым списком.
5. Способ по п.4, отличающийся тем, что самая длинная из названных задач назначается первой, а самая короткая из названных задач назначается последней.
6. Способ по п.1, отличающийся тем, что во время вышеупомянутого первого прохождения (i) вышеупомянутые задачи, имеющие соответствующую длину короче первого предела, назначаются одному из названных процессоров, а (ii) вышеупомянутые задачи, имеющие соответствующую длину больше второго порога, назначаются всем из названных процессоров.
7. Способ по п.1, отличающийся тем, что вышеупомянутое перераспределение названных задач при вышеупомянутом втором прохождении изменяет, по меньшей мере, одну из названных задач от закрепления за одним из названных процессоров к закреплению, по меньшей мере, за двумя из названных процессоров.
8. Способ по п.1, отличающийся тем, что названный график включает множество цепочек, где каждая из названных цепочек (i) соответствует соответствующей из названных задач и (ii) идентифицирует названные один или несколько процессоров, которые обрабатывают названную соответствующую задачу.
9. Способ по п.1, отличающийся тем, что названный график присоединяет названные задачи, закрепленные за вышеупомянутыми процессорами таким образом, чтобы при обработке названных присоединенных задач не существовало промежутков.
10. Устройство для реализации двухпроходного планировщика задач линейной сложности, содержащее:
память, сконфигурированную для буферизации множества задач; и
схему, сконфигурированную для (i) назначения каждой из названных задач соответствующим одному или нескольким из множества процессоров при первом прохождении названных задач, где названное первое прохождение является неитеративным, (ii) перераспределения названных задач среди названных процессоров для сокращения соответствующей нагрузки на один или несколько из названных процессоров при втором прохождении названных задач, где названное второе прохождение (i) является неитеративным и (ii) начинается после завершения первого прохождения и (iii) генерирования графика в ответ на вышеупомянутое присвоение и вышеупомянутое перераспределение, где названный график закрепляет названные задачи за названными процессорами.
11. Устройство по п.10, отличающееся тем, что сложность планирования названных задач является линейной в зависимости, как от числа названных задач, так и от числа названных процессоров.
12. Устройство по п.10, отличающееся тем, что (i) названная схема дополнительно сконфигурирована для генерирования списка вышеупомянутых задач перед вышеупомянутым первым прохождением и (ii) названный список сортируется по множеству соответствующих длин названных задач.
13. Устройство по п.12, отличающееся тем, что вышеупомянутое присвоение названных задач вышеупомянутым процессорам при названном первом прохождении выполняется в порядке, определенном вышеупомянутым списком.
14. Устройство по п.13, отличающееся тем, что самая длинная из названных задач назначается первой, а самая короткая из названных задач назначается последней.
15. Устройство по п.10, отличающееся тем, что во время вышеупомянутого первого прохождения (i) вышеупомянутые задачи, имеющие соответствующую длину короче первого предела, назначаются одному из названных процессоров, а (ii) вышеупомянутые задачи, имеющие соответствующую длину больше второго порога, назначаются всем из названных процессоров.
16. Устройство по п.10, отличающееся тем, что вышеупомянутое перераспределение названных задач при вышеупомянутом втором прохождении изменяет, по меньшей мере, одну из названных задач от закрепления за одним из названных процессоров к закреплению, по меньшей мере, за двумя из названных процессоров.
17. Устройство по п.10, отличающееся тем, что названный график включает множество цепочек, где каждая из названных цепочек (i) соответствует соответствующей из названных задач и (ii) идентифицирует названные один или несколько процессоров, которые обрабатывают названную соответствующую задачу.
18. Устройство по п.10, отличающееся тем, что названная схема и названные процессоры образуют декодер.
19. Устройство по п.11, отличающееся тем, что названное устройство реализовано в виде одной или нескольких интегральных схем.
20. Устройство для реализации двухпроходного планировщика задач линейной сложности, содержащее:
средство для назначения каждой из названных задач соответствующим одному или нескольким из множества процессоров при первом прохождении названных задач, где названное первое прохождение является неитеративным;
средство для перераспределения названных задач среди названных процессоров для сокращения соответствующей нагрузки на один или несколько из названных процессоров при втором прохождении названных задач, где названное второе прохождение (i) является неитеративным и (ii) начинается после завершения первого прохождения; и
средство для генерирования графика в ответ на вышеупомянутое присвоение и вышеупомянутое перераспределение, где названный график закрепляет названные задачи за названными процессорами.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2011117765/08A RU2011117765A (ru) | 2011-05-05 | 2011-05-05 | Устройство (варианты) и способ реализации двухпроходного планировщика задач линейной сложности |
| US13/290,299 US8850437B2 (en) | 2011-05-05 | 2011-11-07 | Two-pass linear complexity task scheduler |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2011117765/08A RU2011117765A (ru) | 2011-05-05 | 2011-05-05 | Устройство (варианты) и способ реализации двухпроходного планировщика задач линейной сложности |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RU2011117765A true RU2011117765A (ru) | 2012-11-10 |
Family
ID=47091164
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RU2011117765/08A RU2011117765A (ru) | 2011-05-05 | 2011-05-05 | Устройство (варианты) и способ реализации двухпроходного планировщика задач линейной сложности |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US8850437B2 (ru) |
| RU (1) | RU2011117765A (ru) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8789065B2 (en) | 2012-06-08 | 2014-07-22 | Throughputer, Inc. | System and method for input data load adaptive parallel processing |
| US9448847B2 (en) | 2011-07-15 | 2016-09-20 | Throughputer, Inc. | Concurrent program execution optimization |
| US20150178092A1 (en) * | 2013-12-20 | 2015-06-25 | Asit K. Mishra | Hierarchical and parallel partition networks |
| US11119813B1 (en) * | 2016-09-30 | 2021-09-14 | Amazon Technologies, Inc. | Mapreduce implementation using an on-demand network code execution system |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3039953B2 (ja) | 1989-04-28 | 2000-05-08 | 株式会社日立製作所 | 並列化装置 |
| US5301324A (en) * | 1992-11-19 | 1994-04-05 | International Business Machines Corp. | Method and apparatus for dynamic work reassignment among asymmetric, coupled processors |
| US5822747A (en) | 1996-08-23 | 1998-10-13 | Tandem Computers, Inc. | System and method for optimizing database queries |
| US7725897B2 (en) | 2004-11-24 | 2010-05-25 | Kabushiki Kaisha Toshiba | Systems and methods for performing real-time processing using multiple processors |
| US7614053B2 (en) | 2004-02-20 | 2009-11-03 | Sony Computer Entertainment Inc. | Methods and apparatus for task management in a multi-processor system |
| US7913254B2 (en) * | 2004-10-11 | 2011-03-22 | International Business Machines Corporation | Method and system for mapping threads or tasks to CPUs in a parallel computer |
| JP3914230B2 (ja) * | 2004-11-04 | 2007-05-16 | 株式会社東芝 | プロセッサシステム及びその制御方法 |
| JP4606142B2 (ja) * | 2004-12-01 | 2011-01-05 | 株式会社ソニー・コンピュータエンタテインメント | スケジューリング方法、スケジューリング装置およびマルチプロセッサシステム |
| US7707578B1 (en) * | 2004-12-16 | 2010-04-27 | Vmware, Inc. | Mechanism for scheduling execution of threads for fair resource allocation in a multi-threaded and/or multi-core processing system |
| US20070143759A1 (en) | 2005-12-15 | 2007-06-21 | Aysel Ozgur | Scheduling and partitioning tasks via architecture-aware feedback information |
| US7461241B2 (en) * | 2006-07-31 | 2008-12-02 | International Business Machines Corporation | Concurrent physical processor reassignment method |
| CA2738990A1 (en) * | 2008-10-03 | 2010-04-08 | The University Of Sydney | Scheduling an application for performance on a heterogeneous computing system |
| US9384042B2 (en) * | 2008-12-16 | 2016-07-05 | International Business Machines Corporation | Techniques for dynamically assigning jobs to processors in a cluster based on inter-thread communications |
| US9396021B2 (en) * | 2008-12-16 | 2016-07-19 | International Business Machines Corporation | Techniques for dynamically assigning jobs to processors in a cluster using local job tables |
| US8453156B2 (en) | 2009-03-30 | 2013-05-28 | Intel Corporation | Method and system to perform load balancing of a task-based multi-threaded application |
-
2011
- 2011-05-05 RU RU2011117765/08A patent/RU2011117765A/ru unknown
- 2011-11-07 US US13/290,299 patent/US8850437B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US20120284731A1 (en) | 2012-11-08 |
| US8850437B2 (en) | 2014-09-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8813073B2 (en) | Compiling apparatus and method of a multicore device | |
| US20120066683A1 (en) | Balanced thread creation and task allocation | |
| JP2005044326A (ja) | 改善されたedfスケジューリング方法 | |
| SG11201808548XA (en) | Task-resource scheduling method and device | |
| CN111124656A (zh) | 用于向专用计算资源分配任务的方法、设备和计算机程序产品 | |
| US8707320B2 (en) | Dynamic partitioning of data by occasionally doubling data chunk size for data-parallel applications | |
| US20150135186A1 (en) | Computer system, method and computer-readable storage medium for tasks scheduling | |
| RU2011117765A (ru) | Устройство (варианты) и способ реализации двухпроходного планировщика задач линейной сложности | |
| JP2017514247A5 (ru) | ||
| CN106569887B (zh) | 一种云环境下细粒度任务调度方法 | |
| CN102073547B (zh) | 一种多路服务器多缓冲区并行收包的性能优化方法 | |
| ATE503223T1 (de) | Verfahren zur verteilung von rechenzeit in einem rechnersystem | |
| CN104871153B8 (zh) | 用于分布式大规模并行处理数据库的方法和系统 | |
| CN106339802A (zh) | 任务分配的方法和装置、电子设备 | |
| ATE410730T1 (de) | Verfahren zum zuweisen von objekten zu verarbeitungseinheiten | |
| KR20130059300A (ko) | 멀티코어 시스템에서 실시간 및 서비스 품질 지원을 위한 스케줄링 | |
| US20170132030A1 (en) | Virtual machine system, control method thereof, and control program recording medium thereof | |
| JPWO2013058396A1 (ja) | タスク配置装置及びタスク配置方法 | |
| CN109716298A (zh) | 用于短周期性任务的有效调度器 | |
| EP2395430A4 (en) | ASSIGNMENT METHOD FOR VIRTUAL COMPUTERS, ASSIGNMENT PROGRAM AND INFORMATION PROCESSING DEVICE WITH A VIRTUAL COMPUTER ENVIRONMENT | |
| CN104375883B (zh) | 一种cfs调度器 | |
| JP6530811B2 (ja) | 画像処理装置 | |
| RU2008149048A (ru) | Апппаратно-реализуемый способ выполнения программ | |
| KR102224446B1 (ko) | Gpgpu 스레드 블록 스케줄링 확장 방법 및 장치 | |
| CN104484160A (zh) | 一种优化的分簇vliw处理器上的指令调度和寄存器分配方法 |