RU2010149255A - Экземпляры планировщика в процессе - Google Patents
Экземпляры планировщика в процессе Download PDFInfo
- Publication number
- RU2010149255A RU2010149255A RU2010149255/08A RU2010149255A RU2010149255A RU 2010149255 A RU2010149255 A RU 2010149255A RU 2010149255/08 A RU2010149255/08 A RU 2010149255/08A RU 2010149255 A RU2010149255 A RU 2010149255A RU 2010149255 A RU2010149255 A RU 2010149255A
- Authority
- RU
- Russia
- Prior art keywords
- scheduler
- instance
- tasks
- task
- processor
- Prior art date
Links
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
1. Машиночитаемый носитель (104) данных, хранящий исполняемые на компьютере команды, которые при их исполнении компьютерной системой (100) выполняют способ, содержащий этапы, на которых: ! создают первый экземпляр (22) планировщика с помощью команд, исполняемых компьютерной системой, чтобы заставить первый набор задач (36/40/42) процесса (12) исполняться компьютерной системой; и ! создают второй экземпляр (22) планировщика (22) с помощью команд, исполняемых компьютерной системой, чтобы заставить второй набор задач (36/40/42) процесса исполняться компьютерной системой. ! 2. Машиночитаемый носитель данных по п.1, в котором способ дополнительно содержит этапы, на которых: ! распределяют первому экземпляру планировщика первое множество виртуальных процессоров (32), чтобы представлять первое подмножество процессорных ресурсов компьютерной системы; и ! распределяют второму экземпляру планировщика второе множество виртуальных процессоров (32), чтобы представлять второе подмножество процессорных ресурсов компьютерной системы. ! 3. Машиночитаемый носитель данных по п.2, в котором способ дополнительно содержит этапы, на которых: ! сопоставляют первое множество виртуальных процессоров с первым множеством аппаратных потоков (16), чтобы заставить первое множество задач исполняться посредством первого множества аппаратных потоков; и ! сопоставляют второе множество виртуальных процессоров со вторым множеством аппаратных потоков (16), чтобы заставить второе множество задач исполняться посредством второго множества аппаратных потоков. ! 4. Машиночитаемый носитель данных по п.1, в котором создание второго экземпляра планировщика содержит э�
Claims (15)
1. Машиночитаемый носитель (104) данных, хранящий исполняемые на компьютере команды, которые при их исполнении компьютерной системой (100) выполняют способ, содержащий этапы, на которых:
создают первый экземпляр (22) планировщика с помощью команд, исполняемых компьютерной системой, чтобы заставить первый набор задач (36/40/42) процесса (12) исполняться компьютерной системой; и
создают второй экземпляр (22) планировщика (22) с помощью команд, исполняемых компьютерной системой, чтобы заставить второй набор задач (36/40/42) процесса исполняться компьютерной системой.
2. Машиночитаемый носитель данных по п.1, в котором способ дополнительно содержит этапы, на которых:
распределяют первому экземпляру планировщика первое множество виртуальных процессоров (32), чтобы представлять первое подмножество процессорных ресурсов компьютерной системы; и
распределяют второму экземпляру планировщика второе множество виртуальных процессоров (32), чтобы представлять второе подмножество процессорных ресурсов компьютерной системы.
3. Машиночитаемый носитель данных по п.2, в котором способ дополнительно содержит этапы, на которых:
сопоставляют первое множество виртуальных процессоров с первым множеством аппаратных потоков (16), чтобы заставить первое множество задач исполняться посредством первого множества аппаратных потоков; и
сопоставляют второе множество виртуальных процессоров со вторым множеством аппаратных потоков (16), чтобы заставить второе множество задач исполняться посредством второго множества аппаратных потоков.
4. Машиночитаемый носитель данных по п.1, в котором создание второго экземпляра планировщика содержит этапы, на которых:
перемещают контекст (34) исполнения, исполняющий одну задачу из первого множества задач, из первого экземпляра планировщика во второй экземпляр планировщика; и
исполняют одну задачу из первого множества задач как одну задачу из второго множества задач.
5. Машиночитаемый носитель данных по п.4, в котором создание второго экземпляра планировщика дополнительно содержит этап, на котором:
сохраняют данные (44), которые идентифицирует первый экземпляр планировщика, с контекстом исполнения до исполнения одной задачи из первого множества задач как одной задачи из второго множества задач.
6. Способ, содержащий этапы, на которых:
инициализируют первый и второй экземпляры (22) планировщика в процессе (12), причем первый и второй экземпляры планировщика имеют доступ к первому и второму подмножествам процессорных ресурсов из множества процессорных ресурсов соответственно, и к первому и второму множествам задач (36/40/42) из процесса соответственно;
планируют первую задачу из первого множества задач для исполнения посредством одного процессорного ресурса из первого подмножества процессорных ресурсов с помощью первого экземпляра планировщика; и
планируют одну задачу из второго множества задач для исполнения посредством одного процессорного ресурса из второго подмножества процессорных ресурсов с помощью второго экземпляра планировщика.
7. Способ по п.6, дополнительно содержащий этапы, на которых:
планируют первую задачу из первого множества задач для исполнения посредством одного процессорного ресурса из первого подмножества процессорных ресурсов посредством привязки одной задачи из первого множества задач к первому контексту (34) исполнения на одном виртуальном процессоре из первого множества виртуальных процессоров (32), распределенных первому экземпляру планировщика; и
планируют одну задачу из второго множества задач для исполнения посредством одного процессорного ресурса из второго подмножества процессорных ресурсов посредством привязки одной задачи из второго множества задач к первому контексту (34) исполнения на одном виртуальном процессоре из второго множества виртуальных процессоров (32), распределенных второму экземпляру планировщика;
причем первое и второе подмножества процессорных ресурсов включают в себя первое и второе множества виртуальных процессоров соответственно.
8. Способ по п.7, дополнительно содержащий этапы, на которых:
сопоставляют виртуальный процессор из первого множества виртуальных процессоров с первым аппаратным потоком (16) для исполнения первой задачи из первого множества задач; и
сопоставляют виртуальный процессор из второго множества виртуальных процессоров со вторым аппаратным потоком (16) для исполнения одной задачи из второго множества задач;
причем множество процессорных ресурсов включает в себя первый и второй аппаратные потоки.
9. Способ по п.6, дополнительно содержащий этапы, на которых:
инициализируют второй экземпляр планировщика в ответ на исполнение одной задачи из первого множества задач на первом контексте (34) исполнения на одном процессорном ресурсе из первого подмножества процессорных ресурсов в первом экземпляре планировщика; и
инициализируют второй экземпляр планировщика, чтобы он включал в себя первый контекст исполнения.
10. Способ по п.9, дополнительно содержащий этап, на котором:
сохраняют первые данные (44), которые идентифицирует первый экземпляр планировщика, с первым контекстом исполнения.
11. Способ по п.10, дополнительно содержащий этапы, на которых:
сохраняют вторые данные (44), которые идентифицируют первый экземпляр планировщика, со вторым контекстом (34) исполнения в первом экземпляре планировщика; и
сохраняют третьи данные (44), которые идентифицирует второй экземпляр планировщика, с первым контекстом исполнения.
12. Способ по п.11, дополнительно содержащий этап, на котором:
сохраняют первые данные и третьи данные как стек.
13. Способ по п.9, дополнительно содержащий этап, на котором:
возвращают первый контекст выполнения во втором экземпляре планировщика первому экземпляру планировщика.
14. Способ по п.9, дополнительно содержащий этап, на котором:
планируют вторую задачу из первого множества задач для исполнения посредством одного процессорного ресурса из первого подмножества процессорных ресурсов после инициализации второго экземпляра планировщика.
15. Способ по п.6, в котором процесс представляет собой одно из прикладной программы, библиотечной функции или службы операционной системы.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/131,135 | 2008-06-02 | ||
US12/131,135 US8650570B2 (en) | 2008-06-02 | 2008-06-02 | Method of assigning instructions in a process to a plurality of scheduler instances based on the instruction, in which each scheduler instance is allocated a set of negoitaited processor resources |
PCT/US2009/042609 WO2009148738A2 (en) | 2008-06-02 | 2009-05-01 | Scheduler instances in a process |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2010149255A true RU2010149255A (ru) | 2012-06-10 |
RU2530345C2 RU2530345C2 (ru) | 2014-10-10 |
Family
ID=41381482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2010149255/08A RU2530345C2 (ru) | 2008-06-02 | 2009-05-01 | Экземпляры планировщика в процессе |
Country Status (9)
Country | Link |
---|---|
US (1) | US8650570B2 (ru) |
EP (1) | EP2300910B1 (ru) |
JP (1) | JP5597196B2 (ru) |
KR (1) | KR101555529B1 (ru) |
CN (1) | CN102047218B (ru) |
BR (1) | BRPI0910531A2 (ru) |
CA (1) | CA2722670C (ru) |
RU (1) | RU2530345C2 (ru) |
WO (1) | WO2009148738A2 (ru) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101644800B1 (ko) * | 2010-01-07 | 2016-08-02 | 삼성전자주식회사 | 컴퓨팅 시스템 및 방법 |
US8392920B2 (en) * | 2010-01-27 | 2013-03-05 | Microsoft Corporation | Parallel query engine with dynamic number of workers |
KR101658035B1 (ko) * | 2010-03-12 | 2016-10-04 | 삼성전자주식회사 | 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법 |
KR101859188B1 (ko) * | 2011-09-26 | 2018-06-29 | 삼성전자주식회사 | 매니코어 시스템에서의 파티션 스케줄링 장치 및 방법 |
US20130132962A1 (en) * | 2011-11-22 | 2013-05-23 | Microsoft Corporation | Scheduler combinators |
CN103136047B (zh) * | 2011-11-30 | 2016-08-17 | 大唐联诚信息系统技术有限公司 | 一种多线程管理方法及架构 |
ES2439803B1 (es) * | 2012-04-19 | 2014-10-29 | Universitat Politècnica De Catalunya | Procedimiento, sistema y pieza de código ejecutable para controlar el uso de recursos de hardware de un sistema informático |
CN102693156A (zh) * | 2012-05-07 | 2012-09-26 | 清华大学 | 一种基于可配置策略的进程调度方法 |
CN102685228A (zh) * | 2012-05-10 | 2012-09-19 | 苏州阔地网络科技有限公司 | 一种云会议的消息处理方法及系统 |
JP6017260B2 (ja) * | 2012-10-17 | 2016-10-26 | ルネサスエレクトロニクス株式会社 | マルチスレッドプロセッサ |
US10108445B2 (en) * | 2014-09-22 | 2018-10-23 | The Boeing Company | Parallelization in virtual machine operation |
US9582298B2 (en) | 2015-03-20 | 2017-02-28 | Amazon Technologies, Inc. | Executing commands within virtual machine instances |
US10768984B2 (en) | 2015-06-11 | 2020-09-08 | Honeywell International Inc. | Systems and methods for scheduling tasks using sliding time windows |
CN106502787B (zh) * | 2016-09-30 | 2019-11-26 | 华为技术有限公司 | 一种调度方法及装置 |
CN107741878A (zh) * | 2016-11-01 | 2018-02-27 | 研祥智能科技股份有限公司 | 任务调度方法、装置及系统 |
US10552212B2 (en) * | 2016-11-28 | 2020-02-04 | Arm Limited | Data processing |
CN109426556B (zh) * | 2017-08-31 | 2021-06-04 | 大唐移动通信设备有限公司 | 一种进程调度方法和装置 |
CN107451469A (zh) * | 2017-09-14 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种进程管理系统及方法 |
CN110968401A (zh) * | 2018-09-28 | 2020-04-07 | 北京国双科技有限公司 | 基于Quartz的任务调度方法及装置 |
US11138213B2 (en) | 2019-04-10 | 2021-10-05 | Snowflake Inc. | Internal resource provisioning in database systems |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5394547A (en) | 1991-12-24 | 1995-02-28 | International Business Machines Corporation | Data processing system and method having selectable scheduler |
JP2836468B2 (ja) * | 1993-12-28 | 1998-12-14 | 日本電気株式会社 | 並列ジョブの協調スケジューリング方式 |
JPH0954699A (ja) | 1995-08-11 | 1997-02-25 | Fujitsu Ltd | 計算機のプロセススケジューラ |
US6269391B1 (en) | 1997-02-24 | 2001-07-31 | Novell, Inc. | Multi-processor scheduling kernel |
DE69808633T2 (de) | 1997-07-25 | 2003-06-12 | British Telecomm | Ablaufsteuerung für ein softwaresystem |
US6661794B1 (en) | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
US6839748B1 (en) | 2000-04-21 | 2005-01-04 | Sun Microsystems, Inc. | Synchronous task scheduler for corba gateway |
US7234139B1 (en) * | 2000-11-24 | 2007-06-19 | Catharon Productions, Inc. | Computer multi-tasking via virtual threading using an interpreter |
US20020073129A1 (en) * | 2000-12-04 | 2002-06-13 | Yu-Chung Wang | Integrated multi-component scheduler for operating systems |
US6901405B1 (en) | 2000-12-20 | 2005-05-31 | Microsoft Corporation | Method for persisting a schedule and database schema |
GB0212176D0 (en) | 2002-05-27 | 2002-07-03 | Radioscape Ltd | Stochasitc scheduling in CVM |
US8165148B2 (en) | 2003-01-13 | 2012-04-24 | Qualcomm Incorporated | System and method for rate assignment |
US7251815B2 (en) * | 2003-04-29 | 2007-07-31 | International Business Machines Corporation | Multiple virtual machines sharing processor and work queue in memory having program/dispatch functions for assigning and accessing work items while the virtual machine was not idle |
US20050076339A1 (en) * | 2003-10-03 | 2005-04-07 | Nortel Networks Limited | Method and apparatus for automated negotiation for resources on a switched underlay network |
US7457886B1 (en) * | 2004-02-03 | 2008-11-25 | Apple Inc. | System and method for input/output scheduling |
US8271976B2 (en) | 2004-06-30 | 2012-09-18 | Microsoft Corporation | Systems and methods for initializing multiple virtual processors within a single virtual machine |
US7793293B2 (en) * | 2004-11-01 | 2010-09-07 | Hewlett-Packard Development Company, L.P. | Per processor set scheduling |
US7600101B2 (en) | 2005-01-13 | 2009-10-06 | Hewlett-Packard Development Company, L.P. | Multithreaded hardware systems and methods |
US7613904B2 (en) * | 2005-02-04 | 2009-11-03 | Mips Technologies, Inc. | Interfacing external thread prioritizing policy enforcing logic with customer modifiable register to processor internal scheduler |
FR2882169B1 (fr) | 2005-02-14 | 2007-05-25 | Cofluent Design Sarl | Procede de simulation d'un systeme complexe incluant une hierarchie d'ordonnanceurs, produit programme d'ordinateur et moyen de stockage correspondants |
US8245230B2 (en) * | 2005-03-14 | 2012-08-14 | Qnx Software Systems Limited | Adaptive partitioning scheduler for multiprocessing system |
US7802256B2 (en) | 2005-06-27 | 2010-09-21 | Microsoft Corporation | Class scheduler for increasing the probability of processor access by time-sensitive processes |
US20070083735A1 (en) * | 2005-08-29 | 2007-04-12 | Glew Andrew F | Hierarchical processor |
US20070074217A1 (en) | 2005-09-26 | 2007-03-29 | Ryan Rakvic | Scheduling optimizations for user-level threads |
US20070204268A1 (en) * | 2006-02-27 | 2007-08-30 | Red. Hat, Inc. | Methods and systems for scheduling processes in a multi-core processor environment |
US8656403B2 (en) * | 2008-04-30 | 2014-02-18 | International Business Machines Corporation | Negotiation management in data processing systems |
-
2008
- 2008-06-02 US US12/131,135 patent/US8650570B2/en active Active
-
2009
- 2009-05-01 WO PCT/US2009/042609 patent/WO2009148738A2/en active Application Filing
- 2009-05-01 JP JP2011512497A patent/JP5597196B2/ja not_active Expired - Fee Related
- 2009-05-01 CN CN2009801212404A patent/CN102047218B/zh active Active
- 2009-05-01 CA CA2722670A patent/CA2722670C/en not_active Expired - Fee Related
- 2009-05-01 BR BRPI0910531A patent/BRPI0910531A2/pt not_active Application Discontinuation
- 2009-05-01 EP EP09758901.4A patent/EP2300910B1/en active Active
- 2009-05-01 KR KR1020107026554A patent/KR101555529B1/ko not_active IP Right Cessation
- 2009-05-01 RU RU2010149255/08A patent/RU2530345C2/ru active
Also Published As
Publication number | Publication date |
---|---|
US20090300637A1 (en) | 2009-12-03 |
CA2722670A1 (en) | 2009-12-10 |
RU2530345C2 (ru) | 2014-10-10 |
BRPI0910531A2 (pt) | 2015-09-29 |
EP2300910B1 (en) | 2018-11-21 |
US8650570B2 (en) | 2014-02-11 |
CN102047218B (zh) | 2013-09-11 |
EP2300910A4 (en) | 2012-10-10 |
KR101555529B1 (ko) | 2015-10-06 |
JP5597196B2 (ja) | 2014-10-01 |
CN102047218A (zh) | 2011-05-04 |
EP2300910A2 (en) | 2011-03-30 |
JP2011523142A (ja) | 2011-08-04 |
WO2009148738A2 (en) | 2009-12-10 |
KR20110025745A (ko) | 2011-03-11 |
CA2722670C (en) | 2016-07-05 |
WO2009148738A3 (en) | 2010-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2010149255A (ru) | Экземпляры планировщика в процессе | |
US8495598B2 (en) | Control flow graph operating system configuration | |
US8713571B2 (en) | Asynchronous task execution | |
US9891949B2 (en) | System and method for runtime scheduling of GPU tasks | |
US9658890B2 (en) | Runtime agnostic representation of user code for execution with selected execution runtime | |
US10585653B2 (en) | Declarative programming model with a native programming language | |
US20100257527A1 (en) | Computer applications classifier | |
US20170192761A1 (en) | Dynamic data and compute resource elasticity | |
JP2017528845A5 (ru) | ||
CN105204913A (zh) | 一种在Android操作系统上运行Linux应用程序的方法及系统 | |
RU2012148583A (ru) | Трансформация прерывистых спецификаторов команд в непрерывные спецификаторы команд | |
GB2524085A (en) | Exception handling in microprocessor systems | |
US20130231912A1 (en) | Method, system, and scheduler for simulating multiple processors in parallel | |
US11163677B2 (en) | Dynamically allocated thread-local storage | |
US9003094B2 (en) | Optimistic interrupt affinity for devices | |
RU2015145292A (ru) | Управление доступом во время выполнения к интерфейсам прикладного программирования | |
US20140298346A1 (en) | Management of task allocation in a multi-core processing system | |
US20130054861A1 (en) | Pessimistic interrupt affinity for devices | |
Humane et al. | Simulation of cloud infrastructure using CloudSim simulator: A practical approach for researchers | |
CN105550040A (zh) | 基于kvm平台的虚拟机cpu资源预留算法 | |
WO2015032311A1 (zh) | 一种代码生成方法、编译器、调度方法、装置及调度系统 | |
US9703905B2 (en) | Method and system for simulating multiple processors in parallel and scheduler | |
RU2013118640A (ru) | Аппаратно-вычилистельный комплекс виртуализации и управления ресурсами в среде облачных вычислений | |
Pufek et al. | Achieving Efficient Structured Concurrency through Lightweight Fibers in Java Virtual Machine | |
Liu et al. | A concurrent approach for improving the efficiency of Android CTS testing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC41 | Official registration of the transfer of exclusive right |
Effective date: 20150410 |