WO2016177138A1 - 一种调度任务的方法、装置及系统 - Google Patents

一种调度任务的方法、装置及系统 Download PDF

Info

Publication number
WO2016177138A1
WO2016177138A1 PCT/CN2016/076735 CN2016076735W WO2016177138A1 WO 2016177138 A1 WO2016177138 A1 WO 2016177138A1 CN 2016076735 W CN2016076735 W CN 2016076735W WO 2016177138 A1 WO2016177138 A1 WO 2016177138A1
Authority
WO
WIPO (PCT)
Prior art keywords
cpu
task
scheduling
running queue
queue
Prior art date
Application number
PCT/CN2016/076735
Other languages
English (en)
French (fr)
Inventor
王波
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2016177138A1 publication Critical patent/WO2016177138A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Definitions

  • the present application relates to, but is not limited to, the field of communication control technologies, and in particular, to a method, device and system for scheduling tasks.
  • the traditional operating system is beaten.
  • the operating system completes the task scheduling, performs various statistics and counting, and completes other periodic timing tasks through the time of the beat maintenance system.
  • the operating system can maintain functions such as system time and task scheduling through timer interrupts generated by the beat rate.
  • the hardware timer can generate an interrupt at a certain frequency. This frequency can be preset by programming. This frequency is called Beat rate.
  • the traditional operating system senses the passage of time through the beat. For some application scenarios, the beat is not necessary, but because of the design of the operating system itself, the operating system must maintain a beat throughout its life cycle, resulting in central processing. (CPU) and other hardware resources are not fully utilized. With a no-beat operating system, you can avoid wasting hardware resources and improve efficiency, because the operating system does not need to maintain unnecessary beats.
  • the Linux operating system implements the NO_HZ full technology in the kernel version 3.10, that is, when there is no task on the CPU or when a task is running, the periodic beat is cancelled.
  • This technology avoids unwanted beats on idle CPUs and improves system performance by eliminating beats when only one task is running on the CPU.
  • the disadvantage of this technology is that when there are 2 or more runnable tasks on the CPU, the system will resume the beat on this CPU. In fact, when there are fewer tasks on the CPU, continue to maintain no beats to reduce hardware resources. Waste.
  • the existing operating system has the problem that the system time cannot be properly maintained when the beat is cancelled, and the CPU and hardware resources in the system cannot be used efficiently when the beat is resumed.
  • the embodiment of the invention provides a method, a device and a system for scheduling tasks, which can correctly maintain system time and improve the efficiency of CPU and hardware resources in the system when eliminating unnecessary beats.
  • An embodiment of the present invention provides a method for scheduling a task, where the method is applied to a first CPU set, the first CPU set provides a system tempo, and the first CPU set includes at least one first CPU.
  • the method includes:
  • the first task in the first task running queue needs to be run on the second CPU set
  • the first task is linked to the second task running queue of the second CPU in the second CPU set, And sending an interrupt command to the second CPU, wherein the second CPU set does not provide a system tick, and the initial state of the second CPU is an idle state.
  • the method further includes: scheduling, in a time slice rotation manner, a task in the first task running queue when the system beat generates an interrupt.
  • an embodiment of the present invention further provides a method for scheduling a task, which is applied to a second CPU set, where the second CPU set does not provide system tempo, and the second CPU set includes at least A second CPU, the method comprising:
  • scheduling the tasks in the second task running queue according to the preset scheduling interface including: Dispatching a second task to a tail of the second task running queue; Port, calling the task specified by the preset scheduling interface or the task of the team head located in the second task running queue.
  • the method further includes: when the current state of the second CPU is an idle state, receiving an interrupt command sent by the first CPU in the first CPU set and exiting an idle state; checking the second task running queue And scheduling the first task in the second task running queue.
  • the method further includes: when the second task running queue is empty, the second CPU Entering an idle state and transmitting an idle state notification message to the first CPU.
  • an embodiment of the present invention further provides an apparatus for scheduling a task, where the first CPU set provides a system tempo, and the first CPU set includes at least one The first CPU, the device includes:
  • a first acquiring module configured to: acquire a first task running queue of the first CPU in the first CPU set, where the first task running queue includes at least one task created by a user;
  • a first processing module configured to: when the first task in the first task running queue needs to run on the second CPU set, hang the first task to the second in the second CPU set The second task of the CPU runs the queue and sends an interrupt command to the second CPU, wherein the second CPU set does not provide a system tick, and the initial state of the second CPU is an idle state.
  • the device further includes: a first scheduling module, configured to: when the system beat generates an interrupt, schedule the tasks in the first task running queue by using a time slice rotation.
  • a first scheduling module configured to: when the system beat generates an interrupt, schedule the tasks in the first task running queue by using a time slice rotation.
  • an embodiment of the present invention further provides an apparatus for scheduling a task, which is applied to a second CPU set, where the second CPU set does not provide system tempo, and the second CPU set includes at least a second CPU, the device comprising:
  • a second acquiring module configured to: acquire a second task running queue of the second CPU in the second CPU set, where an initial state of the second CPU is an idle state, and the second task running queue includes at least one a task hooked by a first CPU in the first CPU set, the first CPU set providing a system beat;
  • a second processing module configured to: receive the middle CPU sent by the first CPU in the first CPU set Disabling a command to schedule a first task in the second task running queue;
  • the second scheduling module is configured to: when the second task that the second CPU is running invokes the preset scheduling interface, schedule the tasks in the second task running queue according to the preset scheduling interface.
  • the second scheduling module is configured to: schedule the second task to a tail of the second task running queue; and invoke, according to the preset scheduling interface, the specified scheduling interface to specify A task or a task at the head of the second task run queue.
  • the second processing module is further configured to: when the current state of the second CPU is an idle state, receive an interrupt command sent by the first CPU in the first CPU set, and exit an idle state;
  • the second task runs a queue, and schedules the first task in the second task running queue.
  • the second processing module is further configured to: when the second task running queue is empty, the second CPU enters an idle state, and sends an idle state notification message to the first CPU.
  • an embodiment of the present invention further provides a system for scheduling a task, the system comprising: a device applied to a scheduling task of a first CPU set, and a device applied to a scheduling task of a second CPU set.
  • an embodiment of the present invention further provides a computer readable storage medium storing computer executable instructions, the method of implementing the scheduling task applied to a first CPU set when the computer executable instructions are executed.
  • an embodiment of the present invention further provides a computer readable storage medium storing computer executable instructions, the method of implementing the scheduling task applied to a second CPU set when the computer executable instructions are executed.
  • the first CPU set in the embodiment of the present invention provides system tempo, and the second CPU set does not provide system tempo.
  • the first CPU hooks the first task to the second task running queue of the second CPU in the second CPU set, and sends an interrupt command to the second CPU.
  • the first CPU set in the embodiment of the present invention provides system tempo, which ensures that the system time can be properly maintained.
  • the second CPU When it is required to run a task on the second CPU in the second CPU set, the second CPU acquires a second task running queue composed of tasks hooked by the first CPU, and after the second CPU receives the interrupt command, the second CPU schedules the first task in the second task running queue of the second CPU; When the running second task invokes the preset scheduling interface, the task in the second task running queue is scheduled according to the preset scheduling interface.
  • the second CPU set in the embodiment of the present invention does not provide system tempo, and uses the preset scheduling interface to schedule tasks in the second task running queue, thereby eliminating the dependency of the traditional scheduling on the beat, so that the user can utilize the CPU more flexibly. It solves the problem that the beat cannot be canceled when there are multiple tasks in the CPU, improves the response time of the system, and improves the efficiency of CPU and hardware resources.
  • FIG. 1 is a flow chart showing the main steps of a method for applying a scheduling task to a first CPU set in an embodiment of the present invention
  • FIG. 2 is a flow chart showing the main steps of a method for applying a scheduling task to a second CPU set in an embodiment of the present invention
  • FIG. 3 is a block diagram showing the structure of a first CPU set and a second CPU set in the embodiment of the present invention
  • FIG. 4 is a schematic diagram showing a second CPU scheduling a first task in an embodiment of the present invention.
  • Figure 5 is a schematic diagram showing the steps of step 203 in Figure 2;
  • FIG. 6 is a block diagram showing the structure of an apparatus applied to a scheduling task of a first CPU set in an embodiment of the present invention
  • Fig. 7 is a block diagram showing the structure of an apparatus applied to a scheduling task of a second CPU set in the embodiment of the present invention.
  • FIG. 1 is a flowchart of main steps of a method for applying a scheduling task to a first CPU set according to an embodiment of the present invention.
  • the method provided in this embodiment mainly includes the following steps:
  • Step 101 Acquire a first task running queue of the first CPU in the first CPU set.
  • FIG. 3 is a structural block diagram of a first CPU set and a second CPU set.
  • the first CPU set includes at least one first CPU, and the first The CPU aggregates a set of CPUs that provide system ticks; in addition, the first CPU maintains a first task run queue, and the first task run queue includes at least one task created by the user.
  • the first CPU in the first CPU set acquires the first task running queue, and when the system beat generates an interrupt, the first CPU maintains the system time, system statistics, and system count of the system where the first CPU is located.
  • Step 102 When it is required to run the first task in the first task running queue on the second CPU set, the first task is linked to the second task running queue of the second CPU in the second CPU set, and The second CPU sends an interrupt command.
  • the second CPU set does not provide system tempo, and the initial state of the second CPU in the second CPU set is an idle state.
  • the first CPU in the first CPU set first suspends the first task in the first task running queue to the second CPU when the task created by the user needs to run on the second CPU in the second CPU set.
  • the second task runs in the queue, and then sends an interrupt command to the second CPU, and the second CPU performs task scheduling according to the interrupt command.
  • the first CPU set in this embodiment provides system tempo, and the second CPU set does not provide system tempo.
  • the first CPU hooks the first task to the second task running queue of the second CPU in the second CPU set, and sends an interrupt command to the second CPU.
  • the first CPU set in this embodiment provides system tempo, which ensures that the system time can be properly maintained.
  • the task in the first task running queue may be scheduled in a time slice rotation manner when the system beat generates an interrupt.
  • the first CPU when the first CPU schedules the tasks in the first task running queue, the first CPU depends on the beat, and completes the multi-task scheduling in the first task running queue according to the time slice.
  • the tasks in the first task running queue can be divided into real-time tasks and common tasks, and in real-time task scheduling, The first-in first-out and time-slice rotation methods can be adopted, and when there is no real-time task, the first CPU schedules the ordinary task.
  • the multitasks in the first task running queue are simultaneously performed.
  • FIG. 2 is a flowchart of main steps of a method for applying a scheduling task to a second CPU set in an embodiment of the present invention.
  • the method provided in this embodiment mainly includes the following steps:
  • Step 201 Acquire a second task running queue of the second CPU in the second CPU set.
  • FIG. 3 is a structural block diagram of a first CPU set and a second CPU set.
  • the second CPU set does not provide system tempo, and the second CPU set is At least one second CPU is included; further, the initial state of the second CPU is an idle state.
  • the task in the second task running queue of the second CPU in the acquired second CPU set includes at least one hook connected by the first CPU in the first CPU set. Task.
  • Step 202 Receive an interrupt command sent by the first CPU in the first CPU set, and schedule a first task in the second task running queue.
  • FIG. 4 is a schematic diagram of the second CPU scheduling the first task.
  • the second CPU when the task needs to be run on the second CPU in the second CPU set, The second CPU first receives the interrupt command sent by the first CPU in the first CPU set, and then schedules the first task in the second task run queue.
  • the current state of the second CPU is an idle state
  • the second CPU after the second CPU receives the interrupt command, the second CPU first needs to exit the idle state, and then checks the second task running queue to call the second task running queue. a task.
  • Step 203 When the second task that the second CPU is running invokes the preset scheduling interface, scheduling the tasks in the second task running queue according to the preset scheduling interface.
  • the preset scheduling interface may be a scheduling interface provided to the user.
  • the tasks in the second task running queue may be scheduled according to the preset scheduling interface.
  • the second CPU when it is required to run the task on the second CPU in the second CPU set, the second CPU first acquires the second task running queue composed of the tasks hooked by the first CPU, and receives the interrupt command when receiving the interrupt command. After the second CPU schedules the first of the second task running queues of the second CPU When the second task that is running by the second CPU invokes the preset scheduling interface, the task in the second task running queue is scheduled according to the preset scheduling interface.
  • the second CPU set in this embodiment does not provide system tempo, and uses the preset scheduling interface to schedule tasks in the second task running queue, thereby eliminating the dependence of the traditional scheduling on the beat, so that the user can utilize the CPU more flexibly. It solves the problem that the beat cannot be canceled when there are multiple tasks in the CPU, improves the response time of the system, and improves the efficiency of CPU and hardware resources.
  • FIG. 5 is a schematic diagram of a step-by-step process of step 203 in FIG.
  • the second task when the second task that the second CPU is running invokes the preset scheduling interface, the second task may be scheduled to the tail of the second task running queue, and then invoked according to the preset scheduling interface. The task specified by the scheduled interface or the task of the head of the second task run queue.
  • the second task running queue is empty, that is, when the tasks in the second task running queue are all running, the second CPU enters an idle state, and sends an idle state notification message to the first CPU.
  • the user can invoke the task specified by the preset scheduling interface or the task of the team head located in the second task running queue according to the preset scheduling interface, so that the user can use the CPU more flexibly to achieve better operating efficiency.
  • a method for scheduling a task according to an embodiment of the present invention is applied to a first CPU set that provides system tempo and a second CPU set that does not provide system tempo, and eliminates the traditional by adopting different scheduling modes on different CPU sets. Scheduling the reliance on system beats solves the problem of not being able to eliminate beats when there are multiple tasks in the CPU. In addition, in this way, the purpose of completely eliminating the use of clock interruption on the CPU to avoid useless clock interruption is achieved, and the system time is properly maintained. In addition, by developing the preset scheduling interface to the user, the user can use the CPU more flexibly to achieve better operating efficiency.
  • FIG. 6 is a structural block diagram of an apparatus applied to a scheduling task of a first CPU set according to an embodiment of the present invention, where the apparatus is applied to a first CPU set, and the first CPU set provides a system beat, and The first CPU set includes at least one first CPU, and the apparatus includes:
  • the first obtaining module 301 is configured to: acquire a first task running queue of the first CPU in the first CPU set, where the first task running queue includes at least one task created by the user;
  • the first processing module 302 is configured to: when the first task in the first task running queue needs to be When running on the second CPU set, the first task is hung to the second task running queue of the second CPU in the second CPU set, and an interrupt command is sent to the second CPU, wherein the second CPU set does not provide the system beat
  • the initial state of the second CPU is an idle state.
  • the device further includes: a first scheduling module 303, configured to: when the system beat generates an interrupt, schedule the tasks in the first task running queue by using a time slice rotation manner.
  • a first scheduling module 303 configured to: when the system beat generates an interrupt, schedule the tasks in the first task running queue by using a time slice rotation manner.
  • FIG. 7 is a structural block diagram of an apparatus applied to a scheduling task of a second CPU set in an embodiment of the present invention, where the apparatus is applied to a second CPU set, and the second CPU set does not provide system tempo, and
  • the second CPU set includes at least one second CPU, and the device includes:
  • the second obtaining module 401 is configured to: acquire a second task running queue of the second CPU in the second CPU set, where the initial state of the second CPU is an idle state, and the second task running queue includes at least one by the first CPU The task of the first CPU hook in the collection, the first CPU set provides the system beat;
  • the second processing module 402 is configured to: receive an interrupt command sent by the first CPU in the first CPU set, and schedule a first task in the second task running queue;
  • the second scheduling module 403 is configured to: when the second task that the second CPU is running invokes the preset scheduling interface, schedule the tasks in the second task running queue according to the preset scheduling interface.
  • the second scheduling module 403 is configured to: schedule the second task to the tail of the second task running queue; according to the preset scheduling interface, invoke the task specified by the preset scheduling interface or located in the second task running queue. The task of the team leader.
  • the second processing module 402 is further configured to: when the current state of the second CPU is an idle state, receive an interrupt command sent by the first CPU in the first CPU set and exit the idle state; check the second task running queue, Schedule the first task in the second task run queue.
  • the second processing module 402 is further configured to: when the second task running queue is empty, the second CPU enters an idle state, and sends an idle state notification message to the first CPU.
  • an embodiment of the present invention further provides a system for scheduling a task, the system comprising: a device applied to a scheduling task of a first CPU set, and a device applied to a scheduling task of the second CPU set.
  • the system for scheduling the task may be a symmetric multiprocessor (SMP, Symmetric) Multi-Processing) system.
  • SMP Symmetric Multi-Processing
  • a system for scheduling tasks in this embodiment is not a complete beatless system, so a user program that relies on beats can be conveniently run in the system.
  • the system overcomes the problem of compatibility with existing programs without any beats.
  • the system can provide absolute time while eliminating unnecessary beats and maximizing users.
  • a real-time system is provided.
  • the system solves the problem that the beat cannot be eliminated when there are multiple tasks in the CPU because the beat-based scheduling algorithm is not used.
  • the system develops the preset scheduling interface to the user, so that the user can utilize the CPU more flexibly and achieve better running efficiency.
  • an embodiment of the present invention further provides a computer readable storage medium storing computer executable instructions, the method of implementing the scheduling task applied to a first CPU set when the computer executable instructions are executed.
  • an embodiment of the present invention further provides a computer readable storage medium storing computer executable instructions, the method of implementing the scheduling task applied to a second CPU set when the computer executable instructions are executed.
  • each module/unit in the above embodiment may be implemented in the form of hardware, for example, by implementing an integrated circuit to implement its corresponding function, or may be implemented in the form of a software function module, for example, executing a program stored in the memory by a processor. / instruction to achieve its corresponding function.
  • This application is not limited to any specific combination of hardware and software.
  • Embodiments of the present invention provide a method, device, and system for scheduling tasks, which are applied to providing a system
  • the first CPU set of the beat and the second CPU set that does not provide the system beat by adopting different scheduling modes on different CPU sets, eliminating the dependence of the traditional scheduling on the system beat, and solving the problem that when the CPU has multiple tasks Eliminate the problem of beats.
  • the purpose of completely eliminating the use of clock interruption on the CPU to avoid useless clock interruption is achieved, and the system time is properly maintained.
  • the preset scheduling interface to the user the user can use the CPU more flexibly to achieve better operating efficiency.

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

一种调度任务的方法,应用于提供系统节拍的、包括至少一个第一CPU的第一CPU集合,所述方法包括:获取第一CPU集合中的第一CPU的第一任务运行队列,其中,所述第一任务运行队列包括至少一个由用户创建的任务;当需要将所述第一任务运行队列中的第一任务在第二CPU集合上运行时,将所述第一任务挂到所述第二CPU集合中的第二CPU的第二任务运行队列,并向所述第二CPU发送中断命令,其中,所述第二CPU集合不提供系统节拍,所述第二CPU的初始状态为空闲状态。上述方法在消除不必要的节拍时,能够同时正确维护系统时间和提高系统中CPU和硬件资源的使用效率。

Description

一种调度任务的方法、装置及系统 技术领域
本申请涉及但不限于通信控制技术领域,尤其是涉及一种调度任务的方法、装置及系统。
背景技术
传统的操作系统都是有节拍的,操作系统通过节拍维护系统的时间,完成任务调度,进行各种统计和计数,并完成其他周期定时任务。此外,操作系统可以通过定时器按照节拍率产生的中断来维护系统时间和任务调度等功能,其中,硬件定时器可以以某种频率产生中断,这个频率可以通过编程来预设,这个频率称为节拍率。
传统的操作系统通过节拍来感知时间的流逝,对于某些应用场景,节拍不是必须的,但是因为操作系统本身设计的原因,导致操作系统必须在其生命周期中始终维护一个节拍,从而导致中央处理器(CPU)和其他硬件资源没有充分利用。采用无节拍的操作系统,可以避免硬件资源的浪费,提高效率,因为操作系统不需要维护不必要的节拍。
Linux操作系统在3.10版内核中实现了NO_HZ full技术,即当CPU上没有任务或者有一个任务在运行的时候,取消周期性节拍。该技术能避免在空闲CPU上产生的无用节拍,也能够当只有一个任务在CPU上运行时,通过取消节拍来提高系统的性能。但是该技术的缺点是当CPU上存在有2个或者2个以上可运行任务的时候,系统会恢复此CPU上的节拍,实际上当CPU上任务较少的时候,继续保持无节拍可以减少硬件资源的浪费。
综上可知,现有的操作系统存在在取消节拍时无法正确维护系统时间、在恢复节拍时无法提高系统中CPU和硬件资源的使用效率的问题。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求 的保护范围。
本发明实施例提供了一种调度任务的方法、装置及系统,在消除不必要的节拍时,能够同时正确维护系统时间和提高系统中CPU和硬件资源的使用效率。
本发明实施例提供了一种调度任务的方法,其中,所述方法应用于第一CPU集合,所述第一CPU集合提供系统节拍,且所述第一CPU集合中包括至少一个第一CPU,所述方法包括:
获取第一CPU集合中的第一CPU的第一任务运行队列,其中,所述第一任务运行队列包括至少一个由用户创建的任务;
当需要将所述第一任务运行队列中的第一任务在第二CPU集合上运行时,将所述第一任务挂到所述第二CPU集合中的第二CPU的第二任务运行队列,并向所述第二CPU发送中断命令,其中,所述第二CPU集合不提供系统节拍,所述第二CPU的初始状态为空闲状态。
可选地,所述方法还包括:在所述系统节拍产生中断时,采用时间片轮转的方式对所述第一任务运行队列中的任务进行调度。
依据本申请的另一个方面,本发明实施例还提供了一种调度任务的方法,应用于第二CPU集合,所述第二CPU集合不提供系统节拍,且所述第二CPU集合中包括至少一个第二CPU,所述方法包括:
获取第二CPU集合中的第二CPU的第二任务运行队列,其中,所述第二CPU的初始状态为空闲状态,所述第二任务运行队列包括至少一个由第一CPU集合中的第一CPU挂接的任务,所述第一CPU集合提供系统节拍;
接收所述第一CPU集合中第一CPU发送的中断命令,调度所述第二任务运行队列中的第一个任务;
当所述第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对所述第二任务运行队列中的任务进行调度。
可选地,所述当所述第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对所述第二任务运行队列中的任务进行调度,包括:将所述第二任务调度至所述第二任务运行队列的队尾;根据所述预设调度接 口,调用所述预设调度接口指定的任务或位于所述第二任务运行队列的队头的任务。
可选地,所述方法还包括:当所述第二CPU当前状态为空闲状态时,接收第一CPU集合中的第一CPU发送的中断命令并退出空闲状态;检查所述第二任务运行队列,调度所述第二任务运行队列中的第一个任务。
可选地,所述根据预设调度接口,对所述第二任务运行队列中的任务进行调度之后,所述方法还包括:当所述第二任务运行队列为空时,所述第二CPU进入空闲状态,并向所述第一CPU发送空闲状态通知消息。
依据本申请的另一个方面,本发明实施例还提供了一种调度任务的装置,应用于第一CPU集合,所述第一CPU集合提供系统节拍,且所述第一CPU集合中包括至少一个第一CPU,所述装置包括:
第一获取模块,设置为:获取第一CPU集合中的第一CPU的第一任务运行队列,其中,所述第一任务运行队列包括至少一个由用户创建的任务;
第一处理模块,设置为:当需要将所述第一任务运行队列中的第一任务在第二CPU集合上运行时,将所述第一任务挂到所述第二CPU集合中的第二CPU的第二任务运行队列,并向所述第二CPU发送中断命令,其中,所述第二CPU集合不提供系统节拍,所述第二CPU的初始状态为空闲状态。
可选地,所述装置还包括:第一调度模块,设置为:在所述系统节拍产生中断时,采用时间片轮转的方式对所述第一任务运行队列中的任务进行调度。
依据本申请的另一个方面,本发明实施例还提供了一种调度任务的装置,应用于第二CPU集合,所述第二CPU集合不提供系统节拍,且所述第二CPU集合中包括至少一个第二CPU,所述装置包括:
第二获取模块,设置为:获取第二CPU集合中的第二CPU的第二任务运行队列,其中,所述第二CPU的初始状态为空闲状态,所述第二任务运行队列包括至少一个由第一CPU集合中的第一CPU挂接的任务,所述第一CPU集合提供系统节拍;
第二处理模块,设置为:接收所述第一CPU集合中第一CPU发送的中 断命令,调度所述第二任务运行队列中的第一个任务;
第二调度模块,设置为:当所述第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对所述第二任务运行队列中的任务进行调度。
可选地,所述第二调度模块是设置为:将所述第二任务调度至所述第二任务运行队列的队尾;根据所述预设调度接口,调用所述预设调度接口指定的任务或位于所述第二任务运行队列的队头的任务。
可选地,所述第二处理模块还设置为:当所述第二CPU当前状态为空闲状态时,接收第一CPU集合中的第一CPU发送的中断命令并退出空闲状态;检查所述第二任务运行队列,调度所述第二任务运行队列中的第一个任务。
可选地,所述第二处理模块还设置为:当所述第二任务运行队列为空时,所述第二CPU进入空闲状态,并向所述第一CPU发送空闲状态通知消息。
依据本申请的另一个方面,本发明实施例还提供了一种调度任务的系统,所述系统包括应用于第一CPU集合的调度任务的装置以及应用于第二CPU集合的调度任务的装置。
此外,本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现应用于第一CPU集合的所述调度任务的方法。
此外,本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现应用于第二CPU集合的所述调度任务的方法。
本发明实施例的有益效果是:
本发明实施例中的第一CPU集合提供系统节拍,第二CPU集合不提供系统节拍,当需要将第一CPU集合中第一CPU的第一任务运行队列中的第一任务在第二CPU集合上运行时,第一CPU将第一任务挂到第二CPU集合中第二CPU的第二任务运行队列中,并向第二CPU发送中断命令。本发明实施例中的第一CPU集合提供系统节拍,保证了能够正确维护系统时间。
当需要在第二CPU集合中的第二CPU上运行任务时,第二CPU获取由 第一CPU挂接的任务组成的第二任务运行队列,并当第二CPU接收到中断命令后,第二CPU调度第二CPU的第二任务运行队列中的第一个任务;在第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对第二任务运行队列中的任务进行调度。本发明实施例中的第二CPU集合不提供系统节拍,且采用预设调度接口对第二任务运行队列中的任务进行调度,消除了传统调度对节拍的依赖,使得用户可以更加灵活地利用CPU,解决了当CPU存在多个任务时无法取消节拍的问题,提高了系统的响应时间,并且提高了CPU及硬件资源的使用效率。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图概述
图1表示本发明的实施例中应用于第一CPU集合的调度任务的方法的主要步骤流程图;
图2表示本发明的实施例中应用于第二CPU集合的调度任务的方法的主要步骤流程图;
图3表示本发明的实施例中第一CPU集合与第二CPU集合的结构框图;
图4表示本发明的实施例中第二CPU调度第一个任务时的示意图;
图5表示图2中步骤203的分步骤示意图;
图6表示本发明的实施例中应用于第一CPU集合的调度任务的装置的结构框图;以及
图7表示本发明的实施例中应用于第二CPU集合的调度任务的装置的结构框图。
本发明的实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,图1为本发明的实施例中应用于第一CPU集合的调度任务的方法的主要步骤流程图,本实施例提供的方法主要包括如下步骤:
步骤101,获取第一CPU集合中的第一CPU的第一任务运行队列。
在本步骤中,如图3所示,图3为第一CPU集合与第二CPU集合的结构框图,由图3中可以看出,第一CPU集合中包括至少一个第一CPU,且第一CPU集合为提供系统节拍的CPU集合;此外,第一CPU维护有一第一任务运行队列,且第一任务运行队列包括至少一个由用户创建的任务。其中,第一CPU集合中的第一CPU获取第一任务运行队列,并且在系统节拍产生中断时,第一CPU维护第一CPU所在系统的系统时间、系统统计及系统计数。
步骤102,当需要将第一任务运行队列中的第一任务在第二CPU集合上运行时,将第一任务挂到第二CPU集合中的第二CPU的第二任务运行队列,并向第二CPU发送中断命令。
在本步骤中,第二CPU集合不提供系统节拍,且第二CPU集合中的第二CPU的初始状态为空闲状态。其中,当用户创建的任务需要在第二CPU集合中的第二CPU上运行时,第一CPU集合中的第一CPU先将第一任务运行队列中的第一任务挂到第二CPU的第二任务运行队列中,然后向第二CPU发送中断命令,由第二CPU根据中断命令进行任务调度。
本实施例中的第一CPU集合提供系统节拍,第二CPU集合不提供系统节拍,当需要将第一CPU集合中第一CPU的第一任务运行队列中的第一任务在第二CPU集合上运行时,第一CPU将第一任务挂到第二CPU集合中第二CPU的第二任务运行队列中,并向第二CPU发送中断命令。本实施例中的第一CPU集合提供系统节拍,保证了能够正确维护系统时间。
可选地,在第一CPU集合中的第一CPU调度任务时,可以在系统节拍产生中断时,采用时间片轮转的方式对第一任务运行队列中的任务进行调度。
在本实施例中,第一CPU对第一任务运行队列中的任务进行调度时依赖于节拍,并根据时间片完成第一任务运行队列中的多任务调度。其中,可以将第一任务运行队列中的任务分为实时任务和普通任务,实时任务调度时, 可以采用先进先出和时间片轮转的方式,在没有实时任务时,第一CPU调度普通任务。本实施例在维护了正确的系统时间的同时,使得第一任务运行队列中的多任务同时进行。
如图2所示,图2为本发明的实施例中应用于第二CPU集合的调度任务的方法的主要步骤流程图,本实施例提供的方法主要包括如下步骤:
步骤201,获取第二CPU集合中的第二CPU的第二任务运行队列。
在本步骤中,如图3所示,图3为第一CPU集合与第二CPU集合的结构框图,由图3中可以看出,第二CPU集合不提供系统节拍,且第二CPU集合中包括至少一个第二CPU;此外,第二CPU的初始状态为空闲状态。其中,当第二任务运行队列中有任务时,所获取的第二CPU集合中的第二CPU的第二任务运行队列中的任务包括有至少一个由第一CPU集合中的第一CPU挂接的任务。
步骤202,接收第一CPU集合中第一CPU发送的中断命令,调度第二任务运行队列中的第一个任务。
在本步骤中,如图4所示,图4为第二CPU调度第一个任务时的示意图,由图4所示,当需要在第二CPU集合中的第二CPU上运行任务时,第二CPU首先接收第一CPU集合中第一CPU发送的中断命令,然后调度第二任务运行队列中的第一个任务。其中,当第二CPU当前状态为空闲状态时,在第二CPU接收到中断命令后,第二CPU首先需要退出空闲状态,然后再检查第二任务运行队列,调用第二任务运行队列中的第一个任务。
步骤203,当第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对第二任务运行队列中的任务进行调度。
在本步骤中,预设调度接口可以为向用户提供的调度接口。当第二CPU中正在运行的第二任务调用预设调度接口时,可以根据预设调度接口,对第二任务运行队列中的任务进行调度。
在本实施例中,当需要在第二CPU集合中的第二CPU上运行任务时,第二CPU首先获取由第一CPU挂接的任务组成的第二任务运行队列,并当接收到中断命令后,第二CPU调度第二CPU的第二任务运行队列中的第一 个任务;在第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对第二任务运行队列中的任务进行调度。
本实施例中的第二CPU集合不提供系统节拍,且采用预设调度接口对第二任务运行队列中的任务进行调度,消除了传统调度对节拍的依赖,使得用户可以更加灵活地利用CPU,解决了当CPU存在多个任务时无法取消节拍的问题,提高了系统的响应时间,并且提高了CPU及硬件资源的使用效率。
可选地,如图5所示,图5为图2中步骤203的分步骤示意图。由图5中可以看出,当第二CPU正在运行的第二任务调用预设调度接口时,可以先将第二任务调度至第二任务运行队列的队尾,然后根据预设调度接口,调用预设调度接口指定的任务或位于第二任务运行队列的队头的任务。其中,当第二任务运行队列为空时,即当第二任务运行队列中的任务都运行完后,第二CPU则进入空闲状态,并向第一CPU发送空闲状态通知消息。
在本实施例中,用户可以根据预设调度接口,调用预设调度接口指定的任务或者位于第二任务运行队列的队头的任务,使得用户可以更加灵活地利用CPU,取得更好的运行效率。
本发明实施例提供的一种调度任务的方法,应用于提供系统节拍的第一CPU集合和不提供系统节拍的第二CPU集合,通过在不同的CPU集合上采用不同的调度方式,消除了传统调度对系统节拍的依赖,解决了当CPU存在多个任务时无法消除节拍的问题。此外,通过该种方式,实现了完全消除CPU上的节拍时避免产生无用的时钟中断的目的,同时正确维护了系统时间。另外,通过将预设调度接口开发给用户,使得用户可以更加灵活地利用CPU,取得更好的运行效率。
如图6所示,图6为本发明的实施例中应用于第一CPU集合的调度任务的装置的结构框图,该装置应用于第一CPU集合,所述第一CPU集合提供系统节拍,且所述第一CPU集合中包括至少一个第一CPU,该装置包括:
第一获取模块301,设置为:获取第一CPU集合中的第一CPU的第一任务运行队列,其中,第一任务运行队列包括至少一个由用户创建的任务;
第一处理模块302,设置为:当需要将第一任务运行队列中的第一任务 在第二CPU集合上运行时,将第一任务挂到第二CPU集合中的第二CPU的第二任务运行队列,并向第二CPU发送中断命令,其中,第二CPU集合不提供系统节拍,第二CPU的初始状态为空闲状态。
可选地,该装置还包括:第一调度模块303,设置为:在系统节拍产生中断时,采用时间片轮转的方式对第一任务运行队列中的任务进行调度。
如图7所示,图7为本发明的实施例中应用于第二CPU集合的调度任务的装置的结构框图,该装置应用于第二CPU集合,第二CPU集合不提供系统节拍,且第二CPU集合中包括至少一个第二CPU,该装置包括:
第二获取模块401,设置为:获取第二CPU集合中的第二CPU的第二任务运行队列,其中,第二CPU的初始状态为空闲状态,第二任务运行队列包括至少一个由第一CPU集合中的第一CPU挂接的任务,第一CPU集合提供系统节拍;
第二处理模块402,设置为:接收第一CPU集合中第一CPU发送的中断命令,调度第二任务运行队列中的第一个任务;
第二调度模块403,设置为:当第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对第二任务运行队列中的任务进行调度。
可选地,第二调度模块403是设置为:将第二任务调度至第二任务运行队列的队尾;根据预设调度接口,调用预设调度接口指定的任务或位于第二任务运行队列的队头的任务。
可选地,第二处理模块402还设置为:当第二CPU当前状态为空闲状态时,接收第一CPU集合中的第一CPU发送的中断命令并退出空闲状态;检查第二任务运行队列,调度第二任务运行队列中的第一个任务。
可选地,第二处理模块402还设置为:当第二任务运行队列为空时,第二CPU进入空闲状态,并向第一CPU发送空闲状态通知消息。
依据本申请的另一个方面,本发明实施例还提供了一种调度任务的系统,该系统包括应用于第一CPU集合的调度任务的装置以及应用于第二CPU集合的调度任务的装置。
其中,该调度任务的系统可以为对称多处理器(SMP,Symmetric  Multi-Processing)系统。此外,本实施例中的一种调度任务的系统不是完全的无节拍系统,因此依赖于节拍的用户程序可以方便地在该系统中运行。另外,与Linux操作系统中实现的NO_HZ full技术相比,该系统克服了完全无节拍对现有程序的兼容性问题,该系统能够提供绝对时间,同时消除不必要的节拍,最大限度地为用户提供了一个实时系统。此外,该系统由于没有采用基于节拍的调度算法,因此,解决了当CPU存在多个任务时无法消除节拍的问题。并且该系统通过将预设调度接口开发给用户,使得用户可以更加灵活地利用CPU,取得更好的运行效率。
此外,本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现应用于第一CPU集合的所述调度任务的方法。
此外,本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现应用于第二CPU集合的所述调度任务的方法。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本申请不限制于任何特定形式的硬件和软件的结合。
以上所述的是本申请的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本申请所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本申请的保护范围内。
工业实用性
本发明实施例提供一种调度任务的方法、装置及系统,应用于提供系统 节拍的第一CPU集合和不提供系统节拍的第二CPU集合,通过在不同的CPU集合上采用不同的调度方式,消除了传统调度对系统节拍的依赖,解决了当CPU存在多个任务时无法消除节拍的问题。此外,通过该种方式,实现了完全消除CPU上的节拍时避免产生无用的时钟中断的目的,同时正确维护了系统时间。另外,通过将预设调度接口开发给用户,使得用户可以更加灵活地利用CPU,取得更好的运行效率。

Claims (15)

  1. 一种调度任务的方法,应用于第一CPU集合,所述第一CPU集合提供系统节拍,且所述第一CPU集合中包括至少一个第一CPU,所述方法包括:
    获取第一CPU集合中的第一CPU的第一任务运行队列,其中,所述第一任务运行队列包括至少一个由用户创建的任务;
    当需要将所述第一任务运行队列中的第一任务在第二CPU集合上运行时,将所述第一任务挂到所述第二CPU集合中的第二CPU的第二任务运行队列,并向所述第二CPU发送中断命令,其中,所述第二CPU集合不提供系统节拍,所述第二CPU的初始状态为空闲状态。
  2. 根据权利要求1所述的方法,所述方法还包括:
    在所述系统节拍产生中断时,采用时间片轮转的方式对所述第一任务运行队列中的任务进行调度。
  3. 一种调度任务的方法,应用于第二CPU集合,所述第二CPU集合不提供系统节拍,且所述第二CPU集合中包括至少一个第二CPU,所述方法包括:
    获取第二CPU集合中的第二CPU的第二任务运行队列,其中,所述第二CPU的初始状态为空闲状态,所述第二任务运行队列包括至少一个由第一CPU集合中的第一CPU挂接的任务,所述第一CPU集合提供系统节拍;
    接收所述第一CPU集合中第一CPU发送的中断命令,调度所述第二任务运行队列中的第一个任务;
    当所述第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对所述第二任务运行队列中的任务进行调度。
  4. 根据权利要求3所述的方法,其中,所述当所述第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对所述第二任务运行队列中的任务进行调度,包括:
    将所述第二任务调度至所述第二任务运行队列的队尾;
    根据所述预设调度接口,调用所述预设调度接口指定的任务或位于所述 第二任务运行队列的队头的任务。
  5. 根据权利要求3所述的方法,所述方法还包括:
    当所述第二CPU当前状态为空闲状态时,接收第一CPU集合中的第一CPU发送的中断命令并退出空闲状态;
    检查所述第二任务运行队列,调度所述第二任务运行队列中的第一个任务。
  6. 根据权利要求3所述的方法,所述根据预设调度接口,对所述第二任务运行队列中的任务进行调度之后,所述方法还包括:
    当所述第二任务运行队列为空时,所述第二CPU进入空闲状态,并向所述第一CPU发送空闲状态通知消息。
  7. 一种调度任务的装置,应用于第一CPU集合,所述第一CPU集合提供系统节拍,且所述第一CPU集合中包括至少一个第一CPU,所述装置包括:
    第一获取模块,设置为:获取第一CPU集合中的第一CPU的第一任务运行队列,其中,所述第一任务运行队列包括至少一个由用户创建的任务;
    第一处理模块,设置为:当需要将所述第一任务运行队列中的第一任务在第二CPU集合上运行时,将所述第一任务挂到所述第二CPU集合中的第二CPU的第二任务运行队列,并向所述第二CPU发送中断命令,其中,所述第二CPU集合不提供系统节拍,所述第二CPU的初始状态为空闲状态。
  8. 根据权利要求7所述的装置,所述装置还包括:
    第一调度模块,设置为:在所述系统节拍产生中断时,采用时间片轮转的方式对所述第一任务运行队列中的任务进行调度。
  9. 一种调度任务的装置,应用于第二CPU集合,所述第二CPU集合不提供系统节拍,且所述第二CPU集合中包括至少一个第二CPU,所述装置包括:
    第二获取模块,设置为:获取第二CPU集合中的第二CPU的第二任务运行队列,其中,所述第二CPU的初始状态为空闲状态,所述第二任务运行队列包括至少一个由第一CPU集合中的第一CPU挂接的任务,所述第一CPU集合提供系统节拍;
    第二处理模块,设置为:接收所述第一CPU集合中第一CPU发送的中断命令,调度所述第二任务运行队列中的第一个任务;
    第二调度模块,设置为:当所述第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对所述第二任务运行队列中的任务进行调度。
  10. 根据权利要求9所述的装置,其中,所述第二调度模块是设置为:将所述第二任务调度至所述第二任务运行队列的队尾;根据所述预设调度接口,调用所述预设调度接口指定的任务或位于所述第二任务运行队列的队头的任务。
  11. 根据权利要求9所述的装置,其中,所述第二处理模块还设置为:当所述第二CPU当前状态为空闲状态时,接收第一CPU集合中的第一CPU发送的中断命令并退出空闲状态;检查所述第二任务运行队列,调度所述第二任务运行队列中的第一个任务。
  12. 根据权利要求9所述的装置,其中,所述第二处理模块还设置为:当所述第二任务运行队列为空时,所述第二CPU进入空闲状态,并向所述第一CPU发送空闲状态通知消息。
  13. 一种调度任务的系统,所述系统包括如权利要求7~8任一项所述的调度任务的装置以及如权利要求9~12任一项所述的调度任务的装置。
  14. 一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现权利要求1至2任一项所述的方法。
  15. 一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现权利要求3至6任一项所述的方法。
PCT/CN2016/076735 2015-08-27 2016-03-18 一种调度任务的方法、装置及系统 WO2016177138A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510535086.2A CN106484502B (zh) 2015-08-27 2015-08-27 一种调度任务的方法、装置及系统
CN201510535086.2 2015-08-27

Publications (1)

Publication Number Publication Date
WO2016177138A1 true WO2016177138A1 (zh) 2016-11-10

Family

ID=57217477

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/076735 WO2016177138A1 (zh) 2015-08-27 2016-03-18 一种调度任务的方法、装置及系统

Country Status (2)

Country Link
CN (1) CN106484502B (zh)
WO (1) WO2016177138A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506624A (zh) * 2020-10-29 2021-03-16 望海康信(北京)科技股份公司 定时任务调度系统、方法及相应计算机设备和存储介质
CN112596891A (zh) * 2021-03-03 2021-04-02 南京信息工程大学 时间片轮转结合扩展中断的多任务管理方法
CN112860401A (zh) * 2021-02-10 2021-05-28 北京百度网讯科技有限公司 任务调度方法、装置、电子设备和存储介质
CN113900811A (zh) * 2021-10-11 2022-01-07 万翼科技有限公司 事件驱动的任务调度的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100229181A1 (en) * 2009-03-05 2010-09-09 International Business Machines Corporation Nsmart scheduling of automatic partition migration by the user of timers
CN102222022A (zh) * 2011-07-15 2011-10-19 范示德汽车技术(上海)有限公司 基于多核处理器的实时任务调度方法
CN102707765A (zh) * 2012-05-15 2012-10-03 江苏中科梦兰电子科技有限公司 一种使用混合时钟源的计时方法
CN103257892A (zh) * 2013-05-27 2013-08-21 北京世纪瑞尔技术股份有限公司 一种基于宏组合的多任务调度方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414270A (zh) * 2008-12-04 2009-04-22 浙江大学 硬件辅助的辅核任务动态优先级调度的实现方法
CN101414271A (zh) * 2008-12-04 2009-04-22 浙江大学 多核平台下基于硬件计时器与任务队列的调度方法
CN102231120B (zh) * 2011-05-25 2013-07-24 苏州博远容天信息科技有限公司 任务消息调度方法及系统
US9141424B2 (en) * 2013-03-14 2015-09-22 International Business Machines Corporation Achieving continuous availability for planned workload and site switches with no data loss
US9516100B2 (en) * 2014-02-05 2016-12-06 Travis T. Wilson Method and system for executing third-party agent code in a data processing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100229181A1 (en) * 2009-03-05 2010-09-09 International Business Machines Corporation Nsmart scheduling of automatic partition migration by the user of timers
CN102222022A (zh) * 2011-07-15 2011-10-19 范示德汽车技术(上海)有限公司 基于多核处理器的实时任务调度方法
CN102707765A (zh) * 2012-05-15 2012-10-03 江苏中科梦兰电子科技有限公司 一种使用混合时钟源的计时方法
CN103257892A (zh) * 2013-05-27 2013-08-21 北京世纪瑞尔技术股份有限公司 一种基于宏组合的多任务调度方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506624A (zh) * 2020-10-29 2021-03-16 望海康信(北京)科技股份公司 定时任务调度系统、方法及相应计算机设备和存储介质
CN112860401A (zh) * 2021-02-10 2021-05-28 北京百度网讯科技有限公司 任务调度方法、装置、电子设备和存储介质
CN112860401B (zh) * 2021-02-10 2023-07-25 北京百度网讯科技有限公司 任务调度方法、装置、电子设备和存储介质
CN112596891A (zh) * 2021-03-03 2021-04-02 南京信息工程大学 时间片轮转结合扩展中断的多任务管理方法
CN112596891B (zh) * 2021-03-03 2021-06-11 南京信息工程大学 时间片轮转结合扩展中断的多任务管理方法
CN113900811A (zh) * 2021-10-11 2022-01-07 万翼科技有限公司 事件驱动的任务调度的方法及装置

Also Published As

Publication number Publication date
CN106484502B (zh) 2020-10-09
CN106484502A (zh) 2017-03-08

Similar Documents

Publication Publication Date Title
WO2016177138A1 (zh) 一种调度任务的方法、装置及系统
JP5324934B2 (ja) 情報処理装置および情報処理方法
Åsberg et al. Exsched: An external cpu scheduler framework for real-time systems
US9830211B2 (en) Framework as well as method for developing time-triggered computer systems with multiple system modes
US20140280411A1 (en) Interrupt driven hardware random number generator
JP2007058601A (ja) タスク実行装置および方法
JP2015507771A (ja) 消費電力を低減する優先度に基づくアプリケーションイベント制御(paec)
US20120284720A1 (en) Hardware assisted scheduling in computer system
KR20140127341A (ko) 휴대용 컴퓨팅 디바이스에서 요청들을 스케쥴링하기 위한 방법 및 시스템
KR101203099B1 (ko) 운영체제 태스크의 실행시간 모니터링 방법 및 시스템
EP2839370A1 (en) Time slack application pipeline balancing for multi/many-core plcs
US20070198997A1 (en) Customer framework for embedded applications
JP4523910B2 (ja) 並列処理装置及び並列処理方法及び並列処理プログラム
Kato et al. A loadable real-time scheduler suite for multicore platforms
JP2005157955A (ja) 資源予約システムおよび資源予約方法および該方法を実行するためのプログラムが記録された記録媒体
Ruaro et al. Dynamic real-time scheduler for large-scale MPSoCs
JP2008276666A (ja) 情報処理装置および方法、並びにプログラム
Parikh et al. Performance parameters of RTOSs; comparison of open source RTOSs and benchmarking techniques
JP2019079336A (ja) 数値制御装置
Åsberg et al. Towards a user-mode approach to partitioned scheduling in the seL4 microkernel
Brandenburg et al. Accounting for interrupts in multiprocessor real-time systems
US20230305872A1 (en) Efficient central processing unit overcommit for virtual machines with symmetric multi-processing
WO2023144878A1 (ja) サーバ内遅延制御装置、サーバ内遅延制御方法およびプログラム
US20240134669A1 (en) Paravirtual pause loops in guest user space
US20240231867A9 (en) Paravirtual pause loops in guest user space

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: 16789132

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16789132

Country of ref document: EP

Kind code of ref document: A1