CN109992359A - 一种事务调度方法 - Google Patents
一种事务调度方法 Download PDFInfo
- Publication number
- CN109992359A CN109992359A CN201910243782.4A CN201910243782A CN109992359A CN 109992359 A CN109992359 A CN 109992359A CN 201910243782 A CN201910243782 A CN 201910243782A CN 109992359 A CN109992359 A CN 109992359A
- Authority
- CN
- China
- Prior art keywords
- affairs
- thread
- transaction
- scheduling
- scheduling unit
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000008569 process Effects 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 13
- 230000001360 synchronised effect Effects 0.000 claims abstract description 5
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 19
- 230000015654 memory Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000003938 response to stress Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 206010010356 Congenital anomaly Diseases 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002650 habitual effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
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/466—Transaction processing
-
- 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/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- 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
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/543—Local
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种事务调度方法,操作系统的调度单元处理事务,将处理的事务划分为不同的事务类型,为需要处理的事务建立数据结构,把所述数据结构连接成一个队列,处理过程包括如下步骤:步骤1、弹出事务;步骤2、调度单元将事务分成一个就绪事务队列和若干个同步事务队列;步骤3、调度单元根据规则从队列中选取一个事务,为该事务分配一个线程;步骤4、调度单元把事务分配到CPU中处理。本发明的有益效果是:可有效避免人为错误,同时减少软件bug,大幅提高软件开发效率。
Description
技术领域
本发明涉及一种计算机操作系统的事务调度方法,特别涉及一种嵌入式计算机操作系统的事务调度方法。
背景技术
当前的计算机在操作系统控制下运行时,是以线程为执行单位的,线程的运行、停止、切换、阻塞、休眠等过程,直接体现了CPU的运行过程。传统操作系统以此为出发点,设计了一套调度系统,线程在内存中形成若干个队列。操作系统内核则按照一定的算法,把CPU时间分配给各线程。并且提供一系列的API函数,程序员调用这些API函数,就可以创建线程,并且控制线程的运行、停止、休眠、阻塞等过程。这个过程,是与计算机的运行过程高度相关的,完全属于过程化、结构化的编程。
现代软件设计中,过程化、结构化软件设计已经落后,更先进的设计方法,是面向对象编程。一些高级的软件设计工具,比如c#,在面向过程化和结构化的操作系统之上,加了一层包装,提供了一套面向对象的开发环境,使程序员不需要面对线程这些过程化的元素。然而,这些工具只能在PC、手机软件开发中使用,嵌入式系统的开发中,依然只能用C语言,只能直接控制线程,用过程化、结构化的方法开发软件。
发明内容
本发明的目的是提出一种事务调度的方案,计算机内存中保存的是要求计算机完成的事务队列,调度单元根据调度算法,确定当前需要处理哪个事务,就把CPU分配给它。操作系统提供一系列的API,程序员使用这些API,就可以弹出事务、控制事务的处理过程,是通过如下技术方案实现的。
一种事务调度方法,操作系统的调度单元处理事务,将处理的事务划分为不同的事务类型,为需要处理的事务建立数据结构,把所述数据结构连接成一个队列,处理过程包括如下步骤:
步骤1、弹出事务;
步骤2、调度单元将事务分成一个就绪事务队列和若干个同步事务队列;
步骤3、调度单元根据规则从队列中选取一个事务,为该事务分配一个线程;
步骤4、调度单元把事务分配到CPU中处理。
进一步的,操作系统新建或分配线程处理事务,线程的属性必须与事务类型对应,相同类型的事务使用相同的线程处理,不同类型的事务使用不同的线程处理。
进一步的,每一条事务对应一个线程,如果有多条同一类型的事务需要处理,操作系统会根据事务的特征,创建多个相同的线程同时处理,或者用同一个线程依序处理。
在步骤3中,所述事务无适合的线程,则为该事务创建一个线程。
进一步的,弹出事务时,为事务定义优先级标志。
步骤1中,调度单元根据事务优先级域进行调度,在弹出事务时,新事务具有高优先级时,调度单元执行:立即处理;否则,弹出时调度单元执行:不分配或创建线程,直到该事务应该被处理的时候才创建或分配线程。
进一步的,定义事务类型,为该事务编写事务处理函数。
进一步的,登记一个事务类型时,定义操作系统创建用于处理该类型事务的线程所需要的两个关键参数:事务处理入口函数和该函数需要的栈空间。
进一步的,操作系统为事务创建或分配存在的线程,执行该类型事务对应的事务处理函数。
进一步的,事务处理完成之后,操作系统会自动回收该线程所占用的资源,或删除线程。
本发明的有益效果是:
不要求程序员操纵线程,程序员只需把需要计算机处理的任务划分为一个个事务类型,并为各种不同类型的事务编写独立的事务处理函数,然后把它登记到系统中就可以了。当事务发生时,发现(检测到)该事务的程序员只要告诉操作系统“某类型事务发生了”,操作系统自动地创建或分配或唤醒合适的线程去处理该事务,而无须程序员亲自创建或者唤醒相应的线程。可有效避免人为错误,同时减少软件bug,大幅提高软件开发效率。
附图说明
图1是现有技术中事务调度示意图。
图2是本发明具体实施例的事务调度示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的装置和计算方法进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所示,一种事务调度方法,操作系统的调度单元处理事务,将处理的事务划分为不同的事务类型,为需要处理的事务建立数据结构,把所述数据结构连接成一个队列,处理过程包括如下步骤:
步骤1、弹出事务;
步骤2、调度单元将事务分成一个就绪事务队列和若干个同步事务队列;
步骤3、调度单元根据规则从队列中选取一个事务,为该事务分配一个线程;
步骤4、调度单元把事务分配到CPU中处理。
本发明的具体实施例以一种名为都江堰(DJYOS)的嵌入式系统为例,以下简称本实施例。
弹出事务时,为事务定义优先级标志。计算机系统中,程序运行期间会发生各种各样的事务,不同种类的事务由各自的程序处理,需要用事务类型去加以区分。套用面向对象的概念,事务类型相当于C++的类,登记事务类型相当于声明一个类数据类型;事务相当于对象,弹出事务相当于定义对象,同时做一些构造函数的工作;事务处理完成相当于撤销一个对象,同时做一些类似析构函数的工作。
本发明的具体实施例中,应用程序的运行过程,就是不断地弹出新事务和处理事务的过程。每个事务都必须属于已经登记的事务类型,相同类型的事务使用相同的程序进行处理。
本发明的具体实施例中,处理事务的程序在线程中运行,线程作为事务的资源而存在,而该事务就是线程的拥有者,因此,任何线程,都不能无缘无故地出生、存在和死亡,它必定与某一类型的某一条事务联系在一起。线程随事务的需要而生,随事务完成而消亡。线程无需登记,也无需有用户建立和启动,它的创建、启动和删除都是由操作系统自动完成的。这与传统操作系统不一样,传统操作系统可以由用户任意创建线程,创建一个毫无意义的线程是允许的。
本发明的调度依据是一个就绪事务队列和若干个同步事务队列,而不是线程队列(有的操作系统也称其为任务队列),本发明中根本就没有线程队列。本发明的调度针对事务而不是线程,创建一个线程是因为它的拥有者需要被处理,线程被切入是因为该线程的拥有者需要被切入,线程被切离是因为它的拥有者被挂起。把线程作为事务的资源的积极意义在于,当某类型的事务频繁发生,操作系统将调集更多的资源,为其创建多个线程来处理该事务,如果在多处理机(多核)系统中,把这些线程分配给不同的处理器,处理器本身也就成为一种资源,将极大地方便多处理器系统的管理。而传统的编程方法中,程序员创建若干线程待机,每个线程对应一种或数种任务,待相应的任务发生后,唤醒线程予以处理,这种方式在管理多处理器方面要复杂得多。因此,本发明在多处理器系统中,有先天的优越性。
线程的属性必须与事务类型对应,相同类型的事务使用相同的线程处理,不同类型的事务使用不同的线程处理。用户登记一个事务类型时,必须传入操作系统创建用于处理该类型事务的线程所需要的两个关键参数:事务处理入口函数和该函数需要的栈空间。当某类型的事务发生后,操作系统就会在适当的时候创建线程(或分配存在的线程)执行该类型事务对应的事务处理函数。事务处理完成之后,操作系统会自动回收该线程所占用的资源,必要时还会删除线程。
每一条事务对应一个线程,如果有多条同一类型的事务需要处理,操作系统会根据事务的特征,创建多个相同的线程同时处理多个相同的事务,或者用同一个线程依序处理。这可以更合理地使用计算机资源。虽然在单处理器的情况下,建立多个线程并不会比单个线程长期霸占处理器更充分利用处理器,但可以产生多个相同类型事务并行处理的效果,例如同时绘制多个窗口,特别是,在多处理机(或多核)系统中,可以把频繁发生的同一类型事务分配到不同的处理器上。而传统操作系统下,线程是由程序员创建的,如果程序员只为某项工作创建了一个线程,则该工作再繁忙也只有一个线程为它工作,该线程处理的多项任务只能串行执行。但是这样反复创建线程可能导致资源枯竭,比如处理某事务时需要使用串口,而串口又被其他线程占用,在串口被占用期间发生该事务,操作系统就会再次为其创建线程,该线程开始执行后会因串口资源繁忙而进入阻塞状态,如果事务反复发生,操作系统就会反复为其创建线程,直到消耗完所有内存,造成内存枯竭。为了防止发生资源枯竭事故,在事务类型控制块中提供了vpus_limit成员,表示该类型事务可以同时建立线程的个数。
本发明的具体实施例是基于事务进行调度,也是本发明与传统操作系统最大的区别。图1是从传统操作系统抽象出来的,无论是简单的OS还是复杂OS,其调度都是基于线程的。图1中,无论是初始化创建线程,还是线程执行过程中创建线程,都是在创建线程的时候分配线程所需要的资源,栈是其中的必备件。弹出事务时,除非新事务的优先级足够高,需要立即处理,否则弹出时不会分配或创建线程,直到该事务应该被处理的时候才创建或分配线程。
看起来,除了不能从中断处理函数中创建线程外,两图有很大的相似性,其实不然,传统OS下编程时,在线程执行过程中创建新线程要非常谨慎,为什么呢?为了创建线程而导致阻塞,而被阻塞的却是当前线程。如果新线程的优先级低于当前线程,那当前线程就冤了,因为创建一个低优先级的线程,而导致高优先级线程阻塞,这在RTOS中是不允许的,从系统方案设计角度,也是不合理的;即使不被阻塞,高优先级线程执行过程中,花大量时间用于创建低优先级的线程,也是不合理的。所以,传统OS下编程时,所有线程总是在初始化阶段创建,极少在运行过程中创建。而本发明的实施例则没有这个问题,如果新弹出的事务优先级不够高,根本就不会为他创建线程。这使得本实施例中能够更加优化配置计算机的资源,假设有一个产品,有uart串口,在传统线程模式下,uart通信线程是在初始化时创建的,即使uart通信线没有连接,uart线程也必定占用内存资源。如果uart通信非常频繁地发生,也只能由初始化时创建的那个线程一点一点来处理,即使你有多个cpu核,其他cpu核也只能干着急。那不能创建多个线程吗?可以,线程池技术就是这样干的,究竟创建多少线程才合适,是一个非常令人头疼的问题。在传统OS下,线程池技术是一门专门的学科。而在本实施例的事务调度中,如果uart通信线上没有数据,则根本不会弹出该事务,也就不会占用任何资源。如果uart口频繁通信,就会频繁弹出事务,若计算机有多个cpu核,则自然而然地会把事务分散到不同的cpu核上,即使根本不知道线程为何物的程序员,也能进行优化的多核编程。
传统的基于线程的调度模式下,操作系统只知道哪个线程正在占有CPU,却不能知道该线程在干什么,调度器也只能针对线程分配CPU,不能针对计算机所处理的具体事务分配CPU。因此,传统操作系统下,程序员必须熟练掌握有关线程的知识,必须自己为程序需要处理的事务创建线程,清楚在哪些状况下有哪些线程正在运行。而事务调度则不同,用户可能根本不知道线程的存在,以及谁正在运行,谁正在等待,实际上,程序员根本不需要关心这些。本实施例的调度单元中,程序员只知道哪个事务正在被处理,哪些事务已经处理完成,哪些事务正在队列中等待处理。定义一个一个的事务类型并登记到系统中,为每类事务编写处理函数,便是编程的全部工作。当相同类型的多条事务,具有不同的优先级时,在传统操作系统下,要么为每一种可能的优先级建立一个线程来实现,要么在执行中动态改变线程的优先级,不管哪种方式,程序员都需要花费大量的时间和精力,以确保事务按正确的优先级得到处理。而本实施例不同,它先天就是以事务优先级作为调度的基础,只要在产生事务时,直接在事务中做优先级标志就可以了。例如一个串口通信程序,中断函数负责底层接收,当接收到完整数据包后,就发给上层应用程序处理,上层应用程序处理接收到的所有数据包,而数据包中有一个命令字域,不同的命令要求的优先级不同。在传统操作系统下,要么创建一个comm_app线程,在中断函数中把数据传送给该线程的同时根据命令字改变comm_app线程的优先级,这种在中断函数中改变线程优先级的做法,在许多操作系统中是不允许的;另一种方法是,为命令字对应的每一种可能的优先级,均创建一个相同的线程,这些线程除优先级不同外,其它部分完全相同,当中断函数接收到完整数据包时,就根据数据包中的命令字,发消息给相应优先级的线程。这种方法虽然可行,但是会消耗很多CPU资源,且难于在编码阶段穷举所有可能的优先级,一旦命令字发生变化,很可能就需要修改软件源码。而本实施例的调度单元不一样,程序员只需要定义一个事务类型,并为之编写事务处理函数proc_uart(),当中断函数接收到完整数据包,弹出事务时直接以命令字对应的优先级作为参数就可以,本实施例的调度单元自动会根据事务优先级域进行调度。
另外,嵌入式系统多是应激系统,应激系统的主要任务是对外界的事务做出正确且及时的反应,从这点看,程序员根本就不用知道进程和线程这些东西,为处理外界事务而建立线程实际上是不得已而为之,传统操作系统下,你必须做这些工作,你的系统才能正确地为你做些事情。本发明基于事务的调度非常适合这种应激系统,被调度的目标就是反映外部刺激的事务,而不是处理这些外部刺激的线程,符合人们的习惯性思维。即使是非应激系统,或者是非实时系统,基于事务的调度仍然有其优势,“有事就做,没事就坐”是人们最为习惯的思维方式,以事务为调度单位的调度策略显然符合这种思维方式,而与人们习惯性思维相同的调度方式,又是避免人为错误,减少软件bug的有效方法。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (7)
1.一种事务调度方法,其特征在于,操作系统的调度单元处理事务,将处理的事务划分为不同的事务类型,为需要处理的事务建立数据结构,把所述数据结构连接成一个队列,处理过程包括如下步骤:
步骤1、弹出事务;
步骤2、调度单元将事务分成一个就绪事务队列和若干个同步事务队列;
步骤3、调度单元根据规则从队列中选取一个事务,为该事务分配一个线程;
步骤4、调度单元把事务分配到CPU中处理。
2.根据权利要求1所述的事务调度方法,其特征在于,操作系统新建或分配线程处理事务,线程的属性必须与事务类型对应,相同类型的事务使用相同的线程处理,不同类型的事务使用不同的线程处理。
3.根据权利要求2所述的事务调度方法,其特征在于,调度规则是:每一条事务对应一个线程,如果有多条同一类型的事务需要处理,操作系统会根据事务的特征,创建多个相同的线程同时处理,或者用同一个线程依序处理。
4.根据权利要求1所述的事务调度方法,其特征在于,在步骤3中,所述事务无适合的线程,则为该事务创建一个线程。
5.根据权利要求1所述的事务调度方法,其特征在于,弹出事务时,为事务定义优先级标志。
6.根据权利要求4所述的事务调度方法,其特征在于,步骤1中,调度单元根据事务优先级域进行调度,在弹出事务时,新事务具有高优先级时,调度单元执行:立即处理;否则,弹出时调度单元执行:不分配或创建线程,直到该事务应该被处理的时候才创建或分配线程。
7.根据权利要求3所述的事务调度方法,其特征在于,事务处理完成之后,操作系统会自动回收该线程所占用的资源,或删除线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910243782.4A CN109992359A (zh) | 2019-03-28 | 2019-03-28 | 一种事务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910243782.4A CN109992359A (zh) | 2019-03-28 | 2019-03-28 | 一种事务调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109992359A true CN109992359A (zh) | 2019-07-09 |
Family
ID=67131009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910243782.4A Pending CN109992359A (zh) | 2019-03-28 | 2019-03-28 | 一种事务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109992359A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347482A (zh) * | 2019-07-18 | 2019-10-18 | 哈尔滨汇拓投资中心(有限合伙) | 基于OLTPShare的OLTP事务结合规则与队列模型改进方法 |
CN112783613A (zh) * | 2019-11-07 | 2021-05-11 | 北京沃东天骏信息技术有限公司 | 一种单元调度的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004030663A (ja) * | 2002-06-20 | 2004-01-29 | Internatl Business Mach Corp <Ibm> | ワークロード・マネージャをシステム・タスク・スケジューラと統合する装置および方法 |
CN101770398A (zh) * | 2008-12-26 | 2010-07-07 | 罗侍田 | 一种操作系统内核 |
CN106325980A (zh) * | 2015-06-30 | 2017-01-11 | 中国石油化工股份有限公司 | 一种多线程并发系统 |
CN109117260A (zh) * | 2018-08-30 | 2019-01-01 | 百度在线网络技术(北京)有限公司 | 一种任务调度方法、装置、设备和介质 |
-
2019
- 2019-03-28 CN CN201910243782.4A patent/CN109992359A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004030663A (ja) * | 2002-06-20 | 2004-01-29 | Internatl Business Mach Corp <Ibm> | ワークロード・マネージャをシステム・タスク・スケジューラと統合する装置および方法 |
CN101770398A (zh) * | 2008-12-26 | 2010-07-07 | 罗侍田 | 一种操作系统内核 |
CN106325980A (zh) * | 2015-06-30 | 2017-01-11 | 中国石油化工股份有限公司 | 一种多线程并发系统 |
CN109117260A (zh) * | 2018-08-30 | 2019-01-01 | 百度在线网络技术(北京)有限公司 | 一种任务调度方法、装置、设备和介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347482A (zh) * | 2019-07-18 | 2019-10-18 | 哈尔滨汇拓投资中心(有限合伙) | 基于OLTPShare的OLTP事务结合规则与队列模型改进方法 |
CN110347482B (zh) * | 2019-07-18 | 2021-07-23 | 哈尔滨汇拓投资中心(有限合伙) | 基于OLTPShare的OLTP事务结合规则与队列模型改进方法 |
CN112783613A (zh) * | 2019-11-07 | 2021-05-11 | 北京沃东天骏信息技术有限公司 | 一种单元调度的方法和装置 |
CN112783613B (zh) * | 2019-11-07 | 2024-03-01 | 北京沃东天骏信息技术有限公司 | 一种单元调度的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101226487B (zh) | 基于嵌入式Linux操作系统的内核级线程库的实现方法 | |
US7370326B2 (en) | Prerequisite-based scheduler | |
JP2829078B2 (ja) | プロセス分散方法 | |
US20230185607A1 (en) | Hardware accelerated dynamic work creation on a graphics processing unit | |
CN100481014C (zh) | 用于信息处理的系统和方法 | |
CN105808334B (zh) | 一种基于资源重用的MapReduce短作业优化系统及方法 | |
TWI736001B (zh) | 用以加速資料流訊號處理之異質cpu/gpu系統和由其實施之加速的資料流訊號處理方法 | |
Willhalm et al. | Putting intel® threading building blocks to work | |
CN112463709A (zh) | 可配置的异构人工智能处理器 | |
CN112465129A (zh) | 片内异构人工智能处理器 | |
CN108595282A (zh) | 一种高并发消息队列的实现方法 | |
CN107273141A (zh) | 嵌入式实时操作系统 | |
CN110297661B (zh) | 基于amp构架dsp操作系统的并行计算方法、系统及介质 | |
KR20200014378A (ko) | 직무 관리 | |
WO2021022964A1 (zh) | 一种基于多核系统的任务处理方法、装置及计算机可读存储介质 | |
CN114579285B (zh) | 一种任务运行系统、方法及计算设备 | |
CN109992359A (zh) | 一种事务调度方法 | |
CN103262035A (zh) | 组合式cpu/gpu体系结构系统中的装置发现和拓扑报告 | |
CN100383743C (zh) | Java操作系统中实时任务调度方法 | |
CN101369258B (zh) | 输入输出控制系统 | |
US11301304B2 (en) | Method and apparatus for managing kernel services in multi-core system | |
CN109766131A (zh) | 基于多线程技术实现软件智能化自动升级的系统及方法 | |
CN101349975B (zh) | 一种在嵌入式操作系统上实现中断底半部机制的方法及装置 | |
CN103257892A (zh) | 一种基于宏组合的多任务调度方法及系统 | |
CN103995743B (zh) | 基于资源预约的两级混合任务调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190709 |
|
RJ01 | Rejection of invention patent application after publication |