短任务处理方法、装置及操作系统制造方法及图纸

技术编号:11529398 阅读:110 留言:0更新日期:2015-05-31 18:09
本发明专利技术实施例提供一种短任务处理方法、装置及操作系统。本发明专利技术短任务处理方法,包括:根据接收应用程序发送的请求设置预留硬件线程的申请消息,将普通硬件线程设置成预留硬件线程,所述预留硬件线程只用于执行短任务;所述应用程序运行时,将所述预留硬件线程分配给所述应用程序;将所述应用程序下发的待执行的短任务直接装载在所述预留硬件线程上执行。本发明专利技术实施例通过将应用程序中待执行的短任务直接装载在所述预留硬件线程上执行,实现不需要创建线程就能执行短任务,解决在大规模短任务系统环境中,操作系统将耗费大量资源用于线程的创建和释放过程的问题。

【技术实现步骤摘要】
短任务处理方法、装置及操作系统
本专利技术实施例涉及操作系统技术,尤其涉及一种短任务处理方法、装置及操作系统。
技术介绍
大规模并行计算逐渐代替串行计算已经成为必然趋势,现有的应用程序和操作系统只有最大程度挖掘其并行性,才能提高运行性能并高效利用硬件资源。为此,应用程序通过并行编程方法或编译器技术将任务分解为多个并行的短任务。传统的操作系统(如Linux)中,应用程序在向操作系统发出运行一个任务的请求后,操作系统首先为该任务创建一个线程,再调度到硬件线程的可执行队列中,并在运行结束后释放该线程。这种运行方式可以高效运行长任务,但是对于短任务则非常低效,因为不同于传统的串行任务,短任务的执行过程非常短,其开销主要在于系统创建和释放线程数据结构的过程。尤其是在大规模短任务系统环境中,操作系统将耗费大量资源用于线程的创建和释放过程,这将极大影响并行计算环境下短任务的运行效率。
技术实现思路
本专利技术实施例提供一种短任务处理方法、装置及操作系统,以解决在大规模短任务系统环境中,操作系统将耗费大量资源用于线程的创建和释放过程的问题,以实现提高并行计算环境下短任务的运行效率。第一方面,本专利技术实施例提供一种短任务处理方法,包括:根据接收应用程序发送的请求设置预留硬件线程的申请消息,将普通硬件线程设置成预留硬件线程,所述预留硬件线程只用于执行短任务;所述应用程序运行时,将所述预留硬件线程分配给所述应用程序;将所述应用程序下发的待执行的短任务直接装载在所述预留硬件线程上执行。在第一方面第一种可能的实现方式中,在所述将所述预留硬件线程分配给所述应用程序之后,还包括:创建空白的线程数据结构;则所述将所述应用程序中待执行的短任务直接装载在所述预留硬件线程上执行产生异常时,将执行中的短任务的运行时状态恢复到所述空白的线程数据结构中以使所述短任务参与正常的线程调度执行。根据第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,还包括:若所述将所述应用程序中待执行的短任务直接装载在所述预留硬件线程上正常执行完毕后,则释放所述空白的线程数据结构。在第一方面第三种可能的实现方式中,所述将所述预留硬件线程分配给所述应用程序之前,还包括:判断是否存在空闲的所述预留硬件线程,若不存在,则向所述应用程序发送申请失败的消息以使所述应用程序创建正常的线程调度执行。根据第一方面、第一方面第一种至第三种任意可能的实现方式,在第一方面第四种可能的实现方式中,所述将所述应用程序中待执行的短任务直接装载在所述预留硬件线程上执行,包括:若待执行的短任务数目超过所述应用程序所占有的预留硬件线程的处理能力时,则向所述应用程序发送提示信息。根据第一方面、第一方面第一种至第四种任意可能的实现方式,在第一方面第五种可能的实现方式中,还包括:在所述应用程序执行完毕之后,释放所述预留硬件线程以使所述预留硬件线程成为普通硬件线程。第二方面,本专利技术实施例提供一种短任务处理方法,包括:向操作系统发送请求设置预留硬件线程的申请消息;向所述操作系统下发待执行的短任务,以使所述操作系统将所述待执行的短任务直接装载在所述预留硬件线程上执行。在第二方面第一种可能的实现方式中,所述向操作系统发送请求设置预留硬件线程的申请消息包括:在初始化时,向操作系统发送请求设置预留硬件线程的申请消息;或者,当短任务的数目超过预设的阈值时,向操作系统发送请求设置预留硬件线程的申请消息。根据第二方面或第二方面第一种可能的实现方式,在第二方面第二种可能的实现方式中,还包括:在接收所述操作系统发送的待执行的短任务的数目超过所占有的预留硬件线程的处理能力的提示消息时,向所述操作系统继续发送请求设置预留硬件线程的申请消息以使所述操作系统继续将普通硬件线程设置成预留硬件线程。第三方面,本专利技术实施例提供一种短任务处理装置,包括:设置模块,用于根据接收应用程序发送的请求设置预留硬件线程的申请消息,将普通硬件线程设置成预留硬件线程,所述预留硬件线程只用于执行短任务;分配模块,用于所述应用程序运行时,将所述预留硬件线程分配给所述应用程序;执行模块,用于将所述应用程序下发的待执行的短任务直接装载在所述预留硬件线程上执行。在第三方面第一种可能的实现方式中,还包括:创建模块,用于在所述分配模块将所述预留硬件线程分配给所述应用程序之后,创建空白的线程数据结构;恢复模块,用于所述执行模块将所述应用程序中待执行的短任务直接装载在所述预留硬件线程上执行产生异常时,将执行中的短任务的运行时状态恢复到所述空白的线程数据结构中以使所述短任务参与正常的线程调度执行。根据第三方面第一种可能的实现方式,在第三方面第二种可能的实现方式中,还包括:第一释放模块,用于若所述执行模块将所述应用程序中待执行的短任务直接装载在所述预留硬件线程上正常执行完毕后,则释放所述空白的线程数据结构。在第三方面第三种可能的实现方式中,还包括:判断模块,用于所述分配模块将所述预留硬件线程分配给所述应用程序之前,判断是否存在空闲的所述预留硬件线程,若不存在,则向所述应用程序发送申请失败的消息以使所述应用程序创建正常的线程调度执行。根据第三方面、第三方面第一种至第三种任意可能的实现方式,在第三方面第四种可能的实现方式中,所述执行模块,具体用于:若待执行的短任务数目超过所述应用程序所占有的预留硬件线程的处理能力时,则向所述应用程序发送提示信息。根据第三方面、第三方面第一种至第四种任意可能的实现方式,在第三方面第五种可能的实现方式中,还包括:第二释放模块,用于在所述应用程序执行完毕之后,释放所述预留硬件线程以使所述预留硬件线程成为普通硬件线程。第四方面,本专利技术实施例提供一种短任务处理装置,包括:申请模块,用于向操作系统发送请求设置预留硬件线程的申请消息;下发任务模块,用于向所述操作系统下发待执行的短任务,以使所述操作系统将所述待执行的短任务直接装载在所述预留硬件线程上执行。在第四方面第一种可能的实现方式中,所述申请模块,具体用于:在初始化时,向操作系统发送请求设置预留硬件线程的申请消息;或者,当短任务的数目超过预设的阈值时,向操作系统发送请求设置预留硬件线程的申请消息。根据第四方面或第四方面第一种可能的实现方式,在第四方面第二种可能的实现方式中,所述申请模块,还用于:在接收所述操作系统发送的待执行的短任务的数目超过所占有的预留硬件线程的处理能力的提示消息时,向所述操作系统继续发送请求设置预留硬件线程的申请消息以使所述操作系统继续将普通硬件线程设置成预留硬件线程。第五方面,本专利技术实施例提供一种操作系统,其中包括:如第三方面、第三方面第一种至第五种任意可能的实现方式所述的短任务处理装置。本专利技术实施例短任务处理方法、装置及操作系统,通过将应用程序中待执行的短任务直接装载在所述预留硬件线程上执行,实现不需要创建线程就能执行短任务,解决在大规模短任务系统环境中,操作系统将耗费大量资源用于线程的创建和释放过程的问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本文档来自技高网...
短任务处理方法、装置及操作系统

【技术保护点】
一种短任务处理方法,其特征在于,包括:根据接收应用程序发送的请求设置预留硬件线程的申请消息,将普通硬件线程设置成预留硬件线程,所述预留硬件线程只用于执行短任务;所述应用程序运行时,将所述预留硬件线程分配给所述应用程序;将所述应用程序下发的待执行的短任务直接装载在所述预留硬件线程上执行。

【技术特征摘要】
1.一种短任务处理方法,其特征在于,包括:根据接收应用程序发送的请求设置预留硬件线程的申请消息,将普通硬件线程设置成预留硬件线程,所述预留硬件线程只用于执行短任务;所述应用程序运行时,将所述预留硬件线程分配给所述应用程序;将所述应用程序下发的待执行的短任务直接装载在所述预留硬件线程上执行;在所述将所述预留硬件线程分配给所述应用程序之后,还包括:创建空白的线程数据结构;则所述将所述应用程序中待执行的短任务直接装载在所述预留硬件线程上执行产生异常时,将执行中的短任务的运行时状态恢复到所述空白的线程数据结构中以使所述短任务参与正常的线程调度执行。2.根据权利要求1所述的方法,其特征在于,还包括:若所述将所述应用程序中待执行的短任务直接装载在所述预留硬件线程上正常执行完毕后,则释放所述空白的线程数据结构。3.根据权利要求1所述的方法,其特征在于,所述将所述预留硬件线程分配给所述应用程序之前,还包括:判断是否存在空闲的所述预留硬件线程,若不存在,则向所述应用程序发送申请失败的消息以使所述应用程序创建正常的线程调度执行。4.根据权利要求1-3任一项所述的方法,其特征在于,所述将所述应用程序中待执行的短任务直接装载在所述预留硬件线程上执行,包括:若待执行的短任务数目超过所述应用程序所占有的预留硬件线程的处理能力时,则向所述应用程序发送提示信息。5.根据权利要求1-3任一项所述的方法,其特征在于,还包括:在所述应用程序执行完毕之后,释放所述预留硬件线程以使所述预留硬件线程成为普通硬件线程。6.根据权利要求4所述的方法,其特征在于,还包括:在所述应用程序执行完毕之后,释放所述预留硬件线程以使所述预留硬件线程成为普通硬件线程。7.一种短任务处理方法,其特征在于,包括:向操作系统发送请求设置预留硬件线程的申请消息;向所述操作系统下发待执行的短任务,以使所述操作系统将所述待执行的短任务直接装载在所述预留硬件线程上执行;所述操作系统将所述待执行的短任务直接装载在所述预留硬件线程上执行产生异常时,接收所述操作系统发送的执行异常消息以告知应用程序所述待执行的短任务成为正常线程,等待所述操作系统调度。8.根据权利要求7所述的方法,其特征在于,所述向操作系统发送请求设置预留硬件线程的申请消息包括:在初始化时,向操作系统发送请求设置预留硬件线程的申请消息;或者,当短任务的数目超过预设的阈值时,向操作系统发送请求设置预留硬件线程的申请消息。9.根据权利要求7或8所述的方法,其特征在于,还包括:在接收所述操作系统发送的待执行的短任务的数目超过所占有的预留硬件线程的处理能力的提示消息时,向所述操作系统继续发送请求设置预留硬件线程的申请消息以使所述操作系统继续将普通硬件线程设置成预留硬件线程。10.一种短任务处理装置,其特征在于,包括:设置模块,用于根据接收应用程序发送的请求设置预留硬件线程的申请消息,将普通硬件线程设置成...

【专利技术属性】
技术研发人员:解壁伟张立新谭崇康臧秀涛
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1