CN113934551B 任务同步等待方法、装置、系统、电子设备及存储介质 (深圳云天励飞技术股份有限公司)_第1页
CN113934551B 任务同步等待方法、装置、系统、电子设备及存储介质 (深圳云天励飞技术股份有限公司)_第2页
CN113934551B 任务同步等待方法、装置、系统、电子设备及存储介质 (深圳云天励飞技术股份有限公司)_第3页
CN113934551B 任务同步等待方法、装置、系统、电子设备及存储介质 (深圳云天励飞技术股份有限公司)_第4页
CN113934551B 任务同步等待方法、装置、系统、电子设备及存储介质 (深圳云天励飞技术股份有限公司)_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

道龙岗大道8288号深圳大运软件小镇2将待处理业务拆分为第一数量的驱动任务,加入到第二数所述将待处理业务拆分为第一数量的驱动任务,加入到第二数量对所述驱动任务添加事件依赖,所述事件依赖包括不同流任务队列之所述事件依赖包括记录事件的依赖以及等待事件的依赖,所述对所述驱所述创建当前驱动任务的记录事件以及等待事件,包括:在预设的事在目标事件对象中的调度事件列表尾部增加一个时间调度生成所述当前流任务队列的事件记录任务,所述事件记录任务将所述事件记录任务作为记录事件添加到所述当前流任务遍历所述等待事件完成状态的并行流任务队列,检查所述等待事件完3若所述等待事件完成状态的并行流任务队列对应的时间调度对象状态更改为准备完在所述当前流任务队列中添加的驱动任务数量达到预设值时,生成所述当前流任务队列的流标记任务,所述流标记任务包括第三时间调度对象指将所述流标记任务作为流标记事件添加到当前流任务生成事件标记任务,所述事件标记任务包括第四时间调度对象遍历所述依赖事件列表,依次读取记录事件或等待事件,当所述第五拆分模块,用于将待处理业务拆分为第一数量的驱所述将待处理业务拆分为第一数量的驱动任务,加入到第二数量添加模块,用于对所述驱动任务添加事件依赖,所述事件依赖所述事件依赖包括记录事件的依赖以及等待事件的依赖,所述对所述驱4所述创建当前驱动任务的记录事件以及等待事件,包括:在预设的事9.一种计算机可读存储介质,其特征在于,所述56理业务拆分为多个驱动任务,再将驱动任务转换为驱动任务流添加到多个流任务队列中,7(ComputingLanguageStream)流管理接口单元以及CLEvent(ComputingLanguageEvent)事件管理接口单元,上述CLSignal线程管理单元用于多线程之间同步等待;上述于并行计算间的同步等待。其中,上述CLEvent管理单元包括SchedEvent(Scheduler队列的输出连接,上述任务分发单元用于将任务队列中的各个任务分发到流控制管理单的输出与上述驱动层的输入连接。上述驱动信息注册单元用于对驱动层中的驱动进行注[0034]上述CLSignal线程管理接口单元与上述CLEvent事件管理接口单元生成对应的事任务分发单元分发到流任务队列中,上述事件控制指令通过任务分发单元分发到Event事8[0040]上述驱动应答任务主要是驱动完成后通过驱动任务完成状态辅助信息发送到流[0041]上述驱动分发单元接收流调度单元的驱动请求任务,解析该驱动请求任务的本发明实施例的上述任务同步等待系统可以通过配置流任务队列和驱动来流调度线程可以禁止执行其他任意的计算任务,驱动层可以设计为驱动线程,driver_register_table(驱动信息存储单元)内注册的通用驱动处理函数(也可以称为驱动任务同步等待函数)会把流调度中的驱动请求任务转发到过上述驱动分发单元调用驱动负载查询函数查询该驱动id对应驱动标记为等待驱动完成状态,并记录该驱动任务流正在等待的驱动任务完成状态辅助信息该驱动任务流状态由等待驱动资源可用状态切换到可9多个流任务队列间的同步,用于在流调度单元解决多个流任务队列之间的任务依赖;2):evente1和事件任务evente2同步,事件任务event的record记录事件和wait等待事件操作用于stream之间的同步。比如:StreamA开始位置为a1驱动任务,紧接事件任务e1的[0052]601、将待处理业务拆分为第一数量的驱动任务,加入到第二数量的流任务队列[0057]在本发明实施例中,上述事件依赖包括不同流任务队列之间的并行同步等待事流控制管理单元控制流任务队列stream_task_queues中对应创建两个空的流任务队列s1调度层的Event事件管理单元收到创建事件任务evente1的命令,在事件数据库event_table中创建一个新的空的event事件对象e1,每个event事件对象内包含:a)维护事件的应用调用CLEvent事件管理接口单元的e1.record操作下发event控制命令;b)流调度层的Event事件管理单元收到e1.record控制命令,从事件数据库单元event_table中找到目标事件对象e1;在调度事件列表e1.sched_events_state[]的尾部增加一个时间调度对象针e1.record_task.sched_event_ptr,指针指向调度事件列表e1.sched_events_state[]e1.record_task放入到streams调用CLEvent事件管理接口单元的e1.wait操作下发event事件控制命令;b)流调度层的Event事件管理单元收到e1.wait控制命令,从事件数据库单元event_table中找到目标事件对象e1;c)Event事件管理单元内部生成一个streams2的eventwait任务,记录为e1.wait_task,e1.wait_task内包括目标事件对象e1最新的时间调度对象SchedEvent指[0069]在本发明实施例中,当上述当前流任务队列执行到当前态;若上述等待事件完成状态的并行流任务队列对应的时间调度对象状态更改为准备完任务队列的记录事件状态为准备完成的情况下,开始并行流任务队列中等待事件的处理,从而使得并行流任务队列可以根据等待事件的完成情况实现并行同队列中增加了wait_task类型任务,如果等待事件对应的时间调度对象SchedEvent未准备(第二时间调度对象指针e1.wait_task.sched_event_ptr指示为SCHED_EVENT_NOT_务队列,检查等待的事件标记,如果读取到的等待事件的第二时间调度对象指针wait_象指针record_task.sched_event_ptr的状态更改为准备完成SCHED_EVENT_C个时间调度对象SchedEvent。应用每次调用e1.record操作,都会在该调度事件列表时间调度对象指针;当上述调度事件列表不为空或者上述时间调度对象的状态为未准备,则在上述依赖事件的标记任务列表的尾部增加上述事件标记任务;遍历上述依赖事件列[0077]进一步的,请参考图9,图9是本发明实施例提供的一种CLEvent同步等待的示意[0078]具体的,在CLEvent事件管理接口单元创建目标事件对象e1后,1.应用调用程调用线程等待sig1.wait进入阻塞状态。2.流调度层中Event事件管理单元的e1.sync_task任务处理:1)在事件数据库中找到目标事件对象e1;2)如果调度事件列表e1.sched_events_state[]为空或者尾部最后一个时间调度对象SchedEvent的状态为准备完成SCHED_EVENT_COMPLETE,那么调用第四时间调度对象指针e1.sync_task.signal_wait_event_task[]存储依赖事件的标记任务列表(synctask列表),在依赖事件的标记任务列表的尾部增加事件标记任务e1.sync_task,并记录依赖事件对应的时间调度对象每次调度遍历事件数据库的依赖事件列表wait_event_task[],依次读取任务的依赖事件,当第五时间调度对象指针sync_task.sched_event_ptr的状态为准备完成SCHED_EVENT_COMPLETE时,那么调用第四时间调度对象指针sync_task.signal_ptr.notify指示操作,并在依赖事件列表wait_event_task[]中删除已经完成的依赖事件。4.操作系统调理业务拆分为多个驱动任务,再将驱动任务转换为驱动任务流添加到多个流任务队列中,驱动任务完成状态辅助信息通过流调度单元,流调度单元触发后续流的驱动请求任务处过上述控制任务进行驱动任务流的创建和销毁,并将上述驱动请求任务转换为驱动任务的数量是否超过第一数量阈值;若上述待创建流任务队列的数量不超过上述第一数量阈[0090]上述第一数量阈值可以理解为流任务队列并行的最大数等待驱动资源可用状态的驱动任务流切换到标记为等待驱动完成状态,并记录该驱动任务流正在等待的驱动任务完成状态辅助信息该驱动任务流状态由等待驱动资源可用状态切换到可[0099]进一步的,上述驱动层中的驱动线程可以通过上述驱动流任务队列将应用层与驱动层之间进行解耦,可以通过配置流任务队列和驱动来进行扩采用独立线程进行实现,通过上述独立的流调度线程将上述应用线程与驱动线程进行解流调度线程可以禁止执行其他任意的计算任务,驱动层可以设计为驱动线程,driver_register_table(驱动信息存储单元)内注册的通用驱动处理函数(也可以称为驱动任务同步等待函数)会把流调度中的驱动请求任务转发到动消息:按驱动id定义各自驱动消息,比如驱动A的DrvTaskA1消息,消息头DrvTaskA1::[0107]在一种可能的实施例中,可以将获取到的上述驱动任务保留到预设的任务队列则从上述预设的任务队列中将上述驱动任务进行释放;若上述驱动任务流没有完成处理,所述事件记录任务作为记录事件添加到所述当前流任务队件列表为空或者所述时间调度对象的状态为准备完成,则调用所述第四时间调度对象指[0122]本发明实施例提供的任务同步等待装置能够实现上述方法实施例中任务同步等[0152]若所述等待事件完成状态的并行流任务队列对应的时间调度对象状态更改为准[0157]当所述当前流任务队列执行到所述流标记事件时,则唤述依赖事件为记录事件或等待事件,所述依赖事件列表中包括依

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论