CN109189580B - 一种基于多核平台的多任务开发模型及其方法 - Google Patents
一种基于多核平台的多任务开发模型及其方法 Download PDFInfo
- Publication number
- CN109189580B CN109189580B CN201811080482.0A CN201811080482A CN109189580B CN 109189580 B CN109189580 B CN 109189580B CN 201811080482 A CN201811080482 A CN 201811080482A CN 109189580 B CN109189580 B CN 109189580B
- Authority
- CN
- China
- Prior art keywords
- management module
- task
- memory
- message
- timer
- 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.)
- Active
Links
Images
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于多核平台的多任务开发模型及其方法,涉及海量数据处理领域。本模型包括任务管理模块(10)、消息管理模块(20)、内存管理模块(30)、定时器管理模块(40)和业务层(50);其交互关系是:任务管理模块(10)分别与消息管理模块(20)、内存管理模块(30)和业务层(50)交互;任务管理模块(10)、定时器管理模块(40)和消息管理模块(20)依次循环交互。本发明具有①一致性;②可拓展性;③高效性;④安全性;⑤可复用性;⑥灵活性。本发明对影响数据处理性能的因素进行针对性优化,提高程序的处理效率,同时对于不同的业务需求可以快速地进行复用,降低开发难度减少开发周期。
Description
技术领域
本发明涉及海量数据处理领域,尤其涉及一种基于多核平台的多任务开发模型及其方法。
背景技术
海量数据处理平台通常对系统的处理性能要求较高,需要快速高效的处理网络数据。随着技术的发展,硬件的处理性能越来越高,多核平台以及大容量内存等资源极大地提高到了海量数据处理的效率,而系统处理的瓶颈逐渐向处理软件倾斜。
从软件处理的角度,系统的处理性能往往随着处理流量的增大以及处理流程的增多导致性能快速降低。导致性能降低的原因很多,从系统调用和线程切换开销的角度,其原因包含如下几点:①多线程处理性能并非与线程数量成线性关系,同时线程间高频率切换所带来的开销会导致处理性能的降低;②系统中断0x80以及用户态和内核态的切换存在一定的开销,频繁的系统调用带来的影响尤其明显;③多线程之间进行频繁交互,海量消息收发策略的不完善导致性能降低;④未充分利用多核平台的CPU资源。故需要针对这些瓶颈点,进行相应的性能优化,以实现海量数据的高效处理。
发明内容
本发明的目的就在于针对海量数据处理领域,通过对影响系统处理性能的主要点如线程数量、线程切换、系统调用、线程交互及资源利用等多个方面在用户层面进行优化,提供一种基于多核平台的多任务开发模型及其方法。
本发明的目的技术方案是:
通过任务管理模块提供一种灵活的任务执行模式,根据业务层中具体的任务属性和数量,创建最低数量的线程集合即生产线集合,挂载任务并在不同的CPU逻辑核上执行;通过制定消息的批量收发策略,来提高任务的执行效率,为任务之间的交互高效的服务;通过内存的预先分配和内存池的分级管理,为业务层按需快速高效的分配内存,其中不同内存池的内存分配和释放可以并行进行;同时还提供安全检查机制,便于异常问题的发现;通过以单个系统定时器为基础创建用户层时钟,对定时器进行分级管理,循环扫描,高级向低级不断迁移的方式满足用户对定时器的大量需求;该模型中的业务层与其他支撑模块耦合度低,可以灵活地进行设计,开发复杂度降低。
具体地说:
一、一种基于多核平台的多任务开发模型(简称模型)
包括任务管理模块、消息管理模块、内存管理模块、定时器管理模块和业务层;
其交互关系是:
任务管理模块分别与消息管理模块、内存管理模块和业务层交互;
任务管理模块、定时器管理模块和消息管理模块依次循环交互。
二、基于多核平台的多任务开发方法(简称方法)
本方法包括下列步骤:
①业务层通过任务管理模块提供的接口,对内存管理模块和定时器管理模块进行初始化,即内存池集合的创建以及定时器管理结构的初始化;
同时,业务层根据开发需求制定任务块,并在任务管理模块中进行注册,任务注册时需指定待挂载的生产线及用于生产线绑定的CPU逻辑核编号;
②任务管理模块对所有的生产线进行初始化,同时利用消息管理模块为生产线创建独立的消息队列资源;随后启动所有的生产线,从消息队列获取消费消息供任务消费。同时根据配置保证每条生产线在独立的逻辑核上运行;
③消息管理模块对任务之间的交互进行管理,任务之间均可以通过消息管理模块进行消息的发送,发送的消息将首先装载到目标任务的预备消息容器中,预备容器已满的情况下转变属性为消费容器,从而经步骤②中的生产线进行消费。不同生产线消费自身消息时可以并行执行,但向某个任务发送消息时,只能有一个任务获取发送权限,其他任务阻塞;
④内存管理模块通过不同大小的内存池集合,为生产线上的所有任务提供内存资源。指定大小的内存池,在同一时间只能有一个任务获得其权限,对其进行操作,其他任务阻塞。对于不同的内存集合之间,则可以并行操作;
⑤定时器模块通过任务管理模块,为所有任务提供定时器创建接口。并对定时器进行分级管理,循环扫描,高级向低级不断迁移的方式,及时的产生超时消息,通过步骤③提供给步骤②进行消费。
本发明具有下列优点和积极效果:
①一致性,多任务流水线生产模式场景下,不同的开发平台均可使用该模型;
②可拓展性,对于可承载的任务数量以及使用的内存资源,可以灵活地进行拓展;
③高效性,可以快速地获取和释放内存资源,在海量数据处理场景下效果更佳;
④安全性,对内存资源的使用提供保护机制,及时抛出异常点;
⑤可复用性,该模型可承载各种不同的业务,除业务层以外,其他部分可以复用,降低开发难度;
⑥灵活性,可以根据任务的繁忙程度,对任务进行灵活合理的规划分组,以最小的线程数担负所有任务。
总之,本发明对影响数据处理性能的因素进行针对性优化,提高程序的处理效率,同时对于不同的业务需求可以快速地进行复用,降低开发难度减少开发周期。
附图说明
图1为本模型的结构方框图;
图中:
10—任务管理模块;
20—消息管理模块;
30—内存管理模块;
40—定时器管理模块;
50—业务层。
图2为任务管理模块10的工作流程图;
图3为消息管理模块20的工作流程图;
图4为内存管理模块30的工作流程图;
图5为定时器管理模块40的工作流程图;
图6为业务层50的工作流程图。
英译汉:
1、CPU:Central Processing Unit,中央处理器。
具体实施方式
以下结合附图和实施例详细说明。
一、模型
1、总体
如图1,本模型包括任务管理模块10、消息管理模块20、内存管理模块30、定时器管理模块40和业务层50;
其交互关系是:
任务管理模块10分别与消息管理模块20、内存管理模块30和业务层50交互;
任务管理模块10、定时器管理模块40和消息管理模块20依次循环交互。
工作机理是:
任务管理模块10和消息管理模块20交互,任务管理模块10承载的各项任务,其相互之间的交互由消息管理模块20负责,任务将通过消息管理模块20发送到目标任务的消息队列中,当任务的消息队列中达到一定数量的消息时,消息管理模块20将消息批量提交给任务管理模块10;
任务管理模块10和业务层50交互,任务管理模块10作为整个模型的中心模块,承载业务层50注册的各种任务;业务层50所需的内存资源、定时器资源均由任务管理模块10间接提供;
任务管理模块10和内存管理模块30交互,内存管理模块30所管理的内存资源,均通过任务管理模块10向其他模块提供内存的申请和释放功能,而非直接向其他模块提供;
任务管理模块10、定时器管理模块40和消息管理模块20依次循环交互,任务管理模块10所承载的任务,利用定时器管理模块40创建定时器,超时时将超时消息发送给消息管理模块20,从而将该消息插入到目标任务的消息队列中,当满足批量处理的要求时,再提交给任务管理模块10管理的任务执行。
2、功能模块
1)任务管理模块10
任务管理模块10为整个模型的中心模块,承载业务层50注册的静态任务或动态任务,并对其进行管理和调度;
具体地说,如图2,任务管理模块10的工作流程如下:
a、开始-100
开始启动任务管理模块10时,需提前进行静态任务的注册和基本的初始化工作,该部分由业务层50完成;
b、整合业务层静态任务-101
业务层50根据任务管理模块10提供的任务注册接口提交任务,任务管理层50根据给定的参数进行分类梳理;
c、生产线初始化-102
任务管理模块10根据整体的任务规划,确定各个生产线的多种重要属性:所挂载的任务数、任务入口、生产线条数和生产线CPU亲和性,完成生产线消息队列的初始化;所述的生产线指线程;
d、生产线执行-103
开启生产线,从自身消息队列中获取消息提供各个任务进行消费,消息类型分为基础消息类型和业务层50自定义消息类型,前者用于任务状态的管理,后者由业务层自定义;
e、监听业务层动态任务-104
业务层50存在提交临时任务的可能,任务管理模块10提供接收该类任务的机制。
2)消息管理模块20
消息管理模块20负责任务之间的交互,通过安全机制不同任务的消息队列可以同时接收其他任务发送的消息,但具体的时刻同一消息队列只能接收唯一发送方的消息,消息管理模块20对消息先进行收集然后批量提交处理。
具体地说,如图3,消息管理模块20的工作流程如下:
A、接收业务层发消息指令-200
业务层任务之间通过消息交互,各生产线维护自身的消息链;
B、获取发消息资源锁-201
多个任务可以同时向某个任务发送消息申请,但只有在获得权限后才能继续执行,未获得权限的任务阻塞;
C、消息预备容器装载消息-202
预备容器存储最新接收的消息,其容量可配置设定;
D、判断检查消息预备容器是否已满-203
否则,释放发消息资源锁-204,即当前获得资源锁的任务将权限转让给其他消息发送方,再跳转到步骤A;
是则,依次为:
消息预备容器转变为消费容器-205,即预备容器已满时转变容器属性为消费属性,该类消息急需处理;
生产线接收消费消-206,即生产线从消费容器中批量接收消息,同时将消费容器改为预备属性;
根据消息类型选择任务消费消息-207,即生产线根据消息的类型选择相应的任务进行处理。
3)内存管理模块30
在用户层面实现内存的预先分配,统一管理,灵活进行拓展,通过任务管理模块10快速满足业务层50的内存资源需求;
具体地说,如图4,内存管理模块30的工作流程如下:
Ⅰ、读取内存配置-300
从配置文件中读取各级内存池的大小、页面数、安全间隔、安全检测策略和拓展策略;
Ⅱ、内存池初始化-301
根据确定的内存管理参数,创建各级内存池;
Ⅲ、内存操作申请-302
接收业务层50的内存资源申请,提供内存资源和回收内存资源,业务层50中多任务可以同时提交申请;
分别为分配内存和释放内存,并行执行;
一、分配内存
子步骤A、确定内存池级别-303,即根据业务层申请的内存大小确定目标内存池;
Ⅳ、获取目标内存池权限-305,即同一内存池,同一时刻只能有一个任务获取到内存池操作权限,不同的内存池之间可并行进行;
子步骤B、判断内存池资源检查是否存在资源-306,是则进入子步骤D,否则进入子步骤C;
子步骤C、内存池拓展-307;
子步骤D、分配内存-308;
Ⅴ、释放内存池权限-310,即解除对内存池的锁定状态,便于其他内存申请操作执行;再跳转到步骤Ⅲ。
二、释放内存
子步骤a、安全检查-304,即业务层释放内存资源时,对内存块进行检查是否存在异常操作;
Ⅳ、获取目标内存池权限-305,即同一内存池,同一时刻只能有一个任务获取到内存池操作权限,不同的内存池之间可并行进行;
子步骤b、回收内存-309,即将内存资源释放到内存池中;
Ⅴ、释放内存池权限-310,即解除对内存池的锁定状态,便于其他内存申请操作执行;再跳转到步骤Ⅲ。
4)定时器管理模块40
通过模型的基础定时器,在用户面创建定时器集合,并进行分级管理,循环扫描,高级定时器向低级定时器不断迁移的方式实现定时器的快速创建及准实时超时。
具体地说,如图5,定时器管理模块40的工作流程如下:
ⅰ、定时器模块初始化-400
以模型定时器为基础创建用户层时钟,初始化定时器管理模块,根据定时器超时长度进行多级别管理,每个级别相邻节点间的时间跨度不一样,最低级节点时间跨度为1s;
ⅱ、分别为:
或定时器申请-401,即接受业务层的定时器申请;
创建定时器-402,即根据业务层申请的超时长度,创建定时器并根据当前的运行时间挂载到相应的定时器链表中,再继续定时器申请-401;
或扫描定时器-403,即根据用户面时钟,对最低级定时器当前节点的定时器链进行逐个扫描,扫描完毕,高级的定时器随着时间的变迁,剩余超时时间逐渐减少,需将更高级的定时器调整到低级定时器链表中,并开始对最低级定时器开始新一轮扫描;
创建超时消息-404,即最低级定时器链表中,被扫描到定时器均为超时定时器,创建业务层的超时消息发送到目标任务的消息队列中,随即进入接收业务层发消息指令(200)过程中;再继续扫描定时器-403。
5)业务层50
业务层10为该模型中最灵活的模块,是模型复用性的最终体现,业务层10的具体实现完全由用户根据自身的需求进行定义、任务及资源的管理交由模型中的其他模块实现,自身只需按照提供的接口执行即可;
具体地说,如图6,业务层50的工作流程如下:
α、初始化-500
业务层为该模型中自主性最大的模块,用户根据自身业务需求制定初始化流程,其中固定部分为通过任务管理模块提供的接口执行读取内存配置(300)、内存池初始化(301)及定时器模块初始化(400);
β、任务注册-501
业务层根据自身的需求制定不同的任务,并调用任务管理模块提供的接口进行任务注册,随即任务管理模块通过整合业务层静态任务(101)和监听业务层动态任务(104)过程接受业务层任务;
γ、业务层执行-502
业务层根据自身业务需求开展业务,具体业务可由各个任务项完成。
3、本发明的工作机理
业务层50和任务管理模块10交互,任务管理模块10作为整个模型的中心模块,承载业务层50注册的各种任务;业务层50所需的内存资源、定时器资源均由任务管理模块10间接提供;
任务管理模块10和消息管理模块20交互,任务管理模块10承载的各项任务,其相互之间的交互由消息管理模块20负责;任务将通过消息管理模块20发送到目标任务的消息队列中,当队列的消息队列中达到一定数量的消息时,消息管理模块20将消息批量提交给任务管理模块10;
任务管理模块10和内存管理模块30交互,内存管理模块30所管理的内存资源,均通过任务管理模块10向其他模块提供内存的申请和释放功能,而非直接向其他模块提供;
任务管理模块10、定时器管理模块40和消息管理模块20循环交互,任务管理模块10所承载的任务,利用定时器管理模块40创建定时器,超时时将超时消息发送给消息管理模块20,从而将该消息插入到目标任务的消息队列中,当满足批量处理的要求时,再提交给任务管理模块10管理的任务执行。
4、本发明具体举例,如实际的流水线开发程序中有3个任务环节依次为:A、B、C、D,其中任务A、C为繁忙任务,任务B和D为清闲任务,则可以将任务A、C注册到独立的生产线上,即单线程执行单任务,而将任务B、D注册到同一生产线中,即单线程执行多任务,依次降低线程的数量;该方式涉及到3个线程,为3个线程指定单独的逻辑核,使其在各自的逻辑核上快速运行减少切换带来的开销;4个任务均可以通过任务管理模块10快速地申请和释放内存资源和定时器资源;4个任务之间消息的发送,则通过任务管理模块10提供的接口进行,消息的接收和执行由任务管理模块10和消息管理模块20负责。
Claims (2)
1.一种基于多核平台的多任务开发模型,
多任务开发模型包括任务管理模块(10)、消息管理模块(20)、内存管理模块(30)、定时器管理模块(40)和业务层(50);
其交互关系是:
任务管理模块(10)分别与消息管理模块(20)、内存管理模块(30)和业务层(50)交互;
任务管理模块(10)、定时器管理模块(40)和消息管理模块(20)依次循环交互;
所述的任务管理模块(10)的工作流程如下:
a、开始(100)
开始启动任务管理模块(10)时,需提前进行静态任务的注册和基本的初始化工作,该部分由业务层(50)完成;
b、整合业务层静态任务(101)
业务层50根据任务管理模块(10)提供的任务注册接口提交任务,任务管理模块(10)根据给定的参数进行分类梳理;
c、生产线初始化(102)
任务管理模块(10)根据整体的任务规划,确定各个生产线的多种重要属性:所挂载的任务数、任务入口、生产线条数和生产线CPU亲和性,完成生产线消息队列的初始化;所述的生产线指线程;
d、生产线执行(103)
开启生产线,从自身消息队列中获取消息提供各个任务进行消费,消息类型分为基础消息类型和业务层(50)自定义消息类型,前者用于任务状态的管理,后者由业务层自定义;
e、监听业务层动态任务(104)
业务层(50)存在提交临时任务的可能,任务管理模块(10)提供接收该类任务的机制;
所述的消息管理模块(20)的工作流程如下:
A、接收业务层发消息指令(200)
业务层任务之间通过消息交互,各生产线维护自身的消息链;
B、获取发消息资源锁(201)
多个任务可以同时向某个任务发送消息申请,但只有在获得权限后才能继续执行,未获得权限的任务阻塞;
C、消息预备容器装载消息(202)
预备容器存储最新接收的消息,其容量可配置设定;
D、判断检查消息预备容器是否已满(203)
否则,释放发消息资源锁(204),即当前获得资源锁的任务将权限转让给其他消息发送方,再跳转到步骤A;
是则,依次为:
消息预备容器转变为消费容器(205),即预备容器已满时转变容器属性为消费属性,该类消息急需处理;
生产线接收消费消息(206),即生产线从消费容器中批量接收消息,同时将消费容器改为预备属性;
根据消息类型选择任务消费消息(207),即生产线根据消息的类型选择相应的任务进行处理;
所述的内存管理模块(30)的工作流程如下:
Ⅰ、读取内存配置(300)
从配置文件中读取各级内存池的大小、页面数、安全间隔、安全检测策略和拓展策略;
Ⅱ、内存池初始化(301)
根据确定的内存管理参数,创建各级内存池;
Ⅲ、内存操作申请(302)
接收业务层(50)的内存资源申请,提供内存资源和回收内存资源,业务层(50)中多任务可以同时提交申请;
分别为分配内存和释放内存,并行执行;
其一、分配内存
子步骤A、确定内存池级别(303),即根据业务层申请的内存大小确定目标内存池;
Ⅳ、获取目标内存池权限(305),即同一内存池,同一时刻只能有一个任务获取到内存池操作权限,不同的内存池之间可并行进行;
子步骤(B)、判断内存池资源检查是否存在资源(306),是则进入子步骤D,否则进入子步骤C;
子步骤C、内存池拓展(307);
子步骤D、分配内存(308);
Ⅴ、释放内存池权限(310),即解除对内存池的锁定状态,便于其他内存申请操作执行;再跳转到步骤Ⅲ;
其二、释放内存
子步骤a、安全检查(304),即业务层释放内存资源时,对内存块进行检查是否存在异常操作;
Ⅳ、获取目标内存池权限(305),即同一内存池,同一时刻只能有一个任务获取到内存池操作权限,不同的内存池之间可并行进行;
子步骤b、回收内存(309),即将内存资源释放到内存池中;
Ⅴ、释放内存池权限(310),即解除对内存池的锁定状态,便于其他内存申请操作执行;再跳转到步骤Ⅲ;
所述的定时器管理模块(40)的工作流程如下:
ⅰ、定时器模块初始化(400)
以模型定时器为基础创建用户层时钟,初始化定时器管理模块,根据定时器超时长度进行多级别管理,每个级别相邻节点间的时间跨度不一样,最低级节点时间跨度为1s;
ⅱ、分别为:
或定时器申请(401),即接受业务层的定时器申请;
创建定时器(402),即根据业务层申请的超时长度,创建定时器并根据当前的运行时间挂载到相应的定时器链表中,再继续定时器申请(401);
或扫描定时器(403),即根据用户面时钟,对最低级定时器当前节点的定时器链进行逐个扫描,扫描完毕,高级的定时器随着时间的变迁,剩余超时时间逐渐减少,需将更高级的定时器调整到低级定时器链表中,并开始对最低级定时器开始新一轮扫描;
创建超时消息(404),即最低级定时器链表中,被扫描到定时器均为超时定时器,创建业务层的超时消息发送到目标任务的消息队列中,随即进入接收业务层发消息指令(200)过程中;再继续扫描定时器(403);
所述的业务层(50)的工作流程如下:
α、初始化(500)
业务层为该模型中自主性最大的模块,用户根据自身业务需求制定初始化流程,其中固定部分为通过任务管理模块提供的接口执行读取内存配置(300)、内存池初始化(301)及定时器模块初始化(400);
β、任务注册(501)
业务层根据自身的需求制定不同的任务,并调用任务管理模块提供的接口进行任务注册,随即任务管理模块通过整合业务层静态任务(101)和监听业务层动态任务(104)过程接受业务层任务;
γ、业务层执行(502)
业务层根据自身业务需求开展业务,具体业务可由各个任务项完成。
2.基于权利要求1所述开发模型的开发方法,其特征在于:
①业务层(50)通过任务管理模块(10)提供的接口,对内存管理模块(30)和定时器管理模块(40)进行初始化,即内存池集合的创建以及定时器管理结构的初始化;
同时,业务层(50)根据开发需求制定任务块,并在任务管理模块(10)中进行注册,任务注册时需指定待挂载的生产线及用于生产线绑定的CPU逻辑核编号;
②任务管理模块(10)对所有的生产线进行初始化,同时利用消息管理模块(20)为生产线创建独立的消息队列资源;随后启动所有的生产线,从消息队列获取消费消息供任务消费,同时根据配置保证每条生产线在独立的逻辑核上运行;
③消息管理模块(20)对任务之间的交互进行管理,任务之间均可以通过消息管理模块(20)进行消息的发送,发送的消息将首先装载到目标任务的预备消息容器中,预备容器已满的情况下转变属性为消费容器,从而经步骤②中的生产线进行消费;
不同生产线消费自身消息时可以并行执行,但向某个任务发送消息时,只能有一个任务获取发送权限,其他任务阻塞;
④内存管理模块(30)通过不同大小的内存池集合,为生产线上的所有任务提供内存资源;指定大小的内存池,在同一时间只能有一个任务获得其权限,对其进行操作,其他任务阻塞;对于不同的内存集合之间,则可以并行操作;
⑤定时器管理模块(40)通过任务管理模块(10),为所有任务提供定时器创建接口,并对定时器进行分级管理,循环扫描,高级向低级不断迁移的方式,及时地产生超时消息,通过步骤③提供给步骤②进行消费。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811080482.0A CN109189580B (zh) | 2018-09-17 | 2018-09-17 | 一种基于多核平台的多任务开发模型及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811080482.0A CN109189580B (zh) | 2018-09-17 | 2018-09-17 | 一种基于多核平台的多任务开发模型及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109189580A CN109189580A (zh) | 2019-01-11 |
CN109189580B true CN109189580B (zh) | 2021-06-29 |
Family
ID=64911483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811080482.0A Active CN109189580B (zh) | 2018-09-17 | 2018-09-17 | 一种基于多核平台的多任务开发模型及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109189580B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109829542B (zh) * | 2019-01-29 | 2021-04-16 | 武汉星巡智能科技有限公司 | 基于多核处理器的多元深度网络模型重构方法及装置 |
CN113448734B (zh) * | 2021-07-15 | 2024-02-23 | 中国银行股份有限公司 | Spark SQL交互式场景下SQL中断系统及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101419561A (zh) * | 2007-10-26 | 2009-04-29 | 中兴通讯股份有限公司 | 一种异构多核体系中的资源管理方法及系统 |
CN101459605B (zh) * | 2008-12-31 | 2012-03-21 | 成都市华为赛门铁克科技有限公司 | 一种流量控制方法和设备 |
CN103870338A (zh) * | 2014-03-05 | 2014-06-18 | 国家电网公司 | 一种基于cpu核管理的分布式并行计算平台及方法 |
CN105607904B (zh) * | 2015-12-18 | 2019-04-16 | 南京熊猫电子股份有限公司 | 基于Linux平台的通信软件的快速开发框架及其使用方法 |
-
2018
- 2018-09-17 CN CN201811080482.0A patent/CN109189580B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109189580A (zh) | 2019-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109445944B (zh) | 一种基于dpdk的网络数据采集处理系统及其方法 | |
CN111367679A (zh) | 人工智能算力资源复用方法及装置 | |
CN101452399B (zh) | 任务二级调度模块及方法 | |
WO2021103646A1 (zh) | 一种部署pod的方法及装置 | |
CN109189580B (zh) | 一种基于多核平台的多任务开发模型及其方法 | |
CN110958311A (zh) | 一种基于yarn的共享集群弹性伸缩系统及方法 | |
US20240202024A1 (en) | Thread processing methods, scheduling component, monitoring component, server, and storage medium | |
CN114064199A (zh) | 一种集群容量管理方法及系统 | |
CN112486642A (zh) | 资源调度方法、装置、电子设备及计算机可读存储介质 | |
CN116010064A (zh) | Dag作业调度和集群管理的方法、系统及装置 | |
CN115509704A (zh) | 一种任务调度方法、装置、设备及存储介质 | |
WO2021212967A1 (en) | Task scheduling for distributed data processing | |
Fan et al. | A scheduler for serverless framework base on kubernetes | |
CN117033016A (zh) | 流程调度系统、方法、电子设备及存储介质 | |
CN116010051A (zh) | 一种联邦学习多任务调度方法及装置 | |
CN115114022A (zh) | 对gpu资源进行使用的方法、系统、设备及介质 | |
CN112395063B (zh) | 一种动态多线程调度方法及系统 | |
CN113407305A (zh) | 一种任务部署方法、装置、电子设备及存储介质 | |
Zhang et al. | Cost-efficient and latency-aware workflow scheduling policy for container-based systems | |
CN112860446A (zh) | 消息分发方法 | |
CN113204434B (zh) | 基于k8s的计划任务执行方法、装置及计算机设备 | |
CN115297180B (zh) | 集群调度方法、装置及存储介质 | |
CN112416539B (zh) | 面向异构众核处理器的多任务并行调度方法 | |
CN118277067B (zh) | 轮询器管理方法、设备、介质及计算机程序产品 | |
CN118519750A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |