CN115495211A - 锁等待队列排序的方法、装置以及电子设备 - Google Patents

锁等待队列排序的方法、装置以及电子设备 Download PDF

Info

Publication number
CN115495211A
CN115495211A CN202211104646.5A CN202211104646A CN115495211A CN 115495211 A CN115495211 A CN 115495211A CN 202211104646 A CN202211104646 A CN 202211104646A CN 115495211 A CN115495211 A CN 115495211A
Authority
CN
China
Prior art keywords
holding time
lock
lock holding
target
tasks
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
Application number
CN202211104646.5A
Other languages
English (en)
Inventor
李培锋
郭健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202211104646.5A priority Critical patent/CN115495211A/zh
Publication of CN115495211A publication Critical patent/CN115495211A/zh
Pending legal-status Critical Current

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
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence

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)

Abstract

本申请公开了一种锁等待队列排序的方法、装置以及电子设备,涉及计算机技术领域。该方法包括:在检测到目标锁放锁的情况下,确定等待目标锁的初始等待队列包括的多个任务中各任务的预测持锁时间;若各任务的预测持锁时间满足预设条件,则调整初始等待队列包括的多个任务的排列顺序,获得目标等待队列,其中,目标等待队列包括的多个任务按目标顺序排列;按目标顺序,唤醒多个任务持目标锁。本申请通过预测目标锁等待队列中任务持锁的运行时间,根据任务的持锁运行时间调整等待队列中任务的运行顺序,提高了持锁吞吐量。

Description

锁等待队列排序的方法、装置以及电子设备
技术领域
本申请涉及计算机技术领域,更具体地,涉及一种锁等待队列排序的方法、装置以及电子设备。
背景技术
随着科学技术的迅速发展,消费者对于电子设备的需求不再仅仅局限于实现简单的功能,而是满足流畅的使用多种功能。但是,相关技术中,存在由于锁等待导致电子设备上应用卡顿的问题。
发明内容
鉴于上述问题,本申请提出了一种锁等待队列排序的方法、装置以及电子设备,可以通过预测锁等待队列中任务持锁的运行时间,根据预测的任务持锁运行时间调整等待队列中任务的运行顺序,提高了持锁吞吐量,也提高了电子设备执行任务的流畅性。
第一方面,本申请实施例提供了一种锁等待队列排序的方法,所述方法包括:在检测到目标锁放锁的情况下,确定等待所述目标锁的初始等待队列包括的多个任务中各任务的预测持锁时间;若所述各任务的预测持锁时间满足预设条件,则调整所述初始等待队列包括的多个任务的排列顺序,获得目标等待队列,其中,所述目标等待队列包括的多个任务按目标顺序排列;按所述目标顺序,唤醒所述多个任务持所述目标锁。
第二方面,本申请实施例提供了一种锁等待队列排序的装置,所述装置包括:预测持锁时间确定模块、序列调整模块以及唤醒模块。其中,预测持锁时间确定模块,用于在检测到目标锁放锁的情况下,确定等待所述目标锁的初始等待队列包括的多个任务中各任务的预测持锁时间;序列调整模块,用于若所述各任务的预测持锁时间满足预设条件,则调整所述初始等待队列包括的多个任务的排列顺序,获得目标等待队列,其中,所述目标等待队列包括的多个任务按目标顺序排列;唤醒模块,用于按所述目标顺序,唤醒所述多个任务持所述目标锁。
第三方面,本申请实施例提供了一种电子设备,包括存储器和处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时所述处理器执行上述方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述方法。
本申请实施例提供的锁等待队列排序的方法、装置、电子设备以及存储介质,通过在检测到目标锁放锁的情况下,确定等待目标锁的初始等待队列包括的多个任务中各任务的预测持锁时间;若各任务的预测持锁时间满足预设条件,则调整初始等待队列包括的多个任务的排列顺序,获得目标等待队列,其中,目标等待队列包括的多个任务按目标顺序排列;按目标顺序,唤醒多个任务持目标锁。本申请通过预测目标锁等待队列中任务持锁的运行时间,根据任务的持锁运行时间调整等待队列中任务的运行顺序,提高了持锁吞吐量,也提高了电子设备执行任务的流畅性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了本申请一实施例提供的睡眠锁唤醒任务的流程示意图;
图2示出了本申请一实施例提供的锁等待队列排序的方法的流程示意图;
图3示出了本申请一实施例提供的锁等待队列排序的方法的流程示意图;
图4示出了本申请一实施例提供的锁等待队列排序的方法的流程示意图;
图5示出了本申请一实施例提供的锁等待队列排序的装置的模块框图;
图6示出了本申请实施例用于执行根据本申请实施例的锁等待队列排序的方法的电子设备的框图;
图7示出了本申请实施例的用于保存或者携带实现根据本申请实施例的锁等待队列排序的方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
随着科学技术的迅速发展,消费者对于电子设备的需求不再仅仅局限于实现简单的功能,而是流畅的使用多种功能。而随着电子设备的功能越发强大,各种超大型应用孕育而生,超大型应用意味着对电子设备系统资源的要求越来越高,伴随而来的就是对共享资源的保护和同步需求越来越多。目前,由于锁等待导致电子设备上的应用卡顿的越来越严重,更严重的甚至会导致电子设备中的系统宕机。
相关技术中,电子设备中操作系统的锁种类一般会分为两类:自旋锁和睡眠锁。其中,当电子设备中的某一任务需要持自旋锁时,如果发现该锁已经被其他任务持有,那么该任务会一直在此自旋,即电子设备的中央处理器不断在此运行等待,指导持锁方放锁。相关技术中,自旋锁的使用场景一般是共享资源访问时间较短,或者等待锁的任务处于不能进入睡眠的场景,例如中断等,适用性低下。当电子设备中的某一任务需要持睡眠锁时,如果该锁已经被其他任务持有,该任务会让出电子设备的中央处理器,让自己进入睡眠状态,直到持锁方释放该锁的时,再被中央处理器尝试唤醒。由于睡眠锁可以避免自旋过度的使用处理器导致处理器负载高。因此,相关技术中,电子设备中操作系统广泛应用的是睡眠锁。
请参阅图1,图1示出了相关技术中睡眠锁唤醒任务的流程示意图。相关技术中,针对睡眠锁,当锁被任务持有时,电子设备中操作系统可以控制多个申请该锁的线程进行睡眠,也即任务申请持锁等待;并将该多个线程挂到该锁对应的等待队列上,也即挂入锁等待队列。当持锁方释放锁后,会按照挂入队列的时机,唤醒等待队列的线程,也即持锁任务放锁,按照先进先出的顺序唤醒等待队列中的任务。也即,如果有多个线程申请同一锁,控制该多个线程进行睡眠并将多个线程挂到锁对应的等待队列上,当持锁方释放锁后,会按照挂入队列的时机以及唤醒等待队列的线程。
示例性的,等待队列中任务持锁后多个线程申请持锁进行共享资源访问的时间不同,等待队列中加入有10个线程,其中,第一个线程访问1s,剩下9个线程总共访问0.1s。相关技术中,电子设备的操作系统将先唤醒第一个线程,让剩余9个线程等待1s后再运行。也即,相关技术中,电子设备的Linux只会根据挂入等待队列的时间来决定该唤醒哪个线程。
可以理解的是,吞吐量是指单位时间内系统能处理的请求数量,因此,相关技术中,电子设备持锁吞吐量低下,存在由于锁等待导致电子设备上应用卡顿的问题。
针对上述问题,发明人经过长期的研究发现,并提出了本申请实施例提供的锁等待队列排序的方法、装置、电子设备以及存储介质,通过预测目标锁等待队列中任务持锁的运行时间,根据任务的持锁运行时间调整等待队列中任务的运行顺序,提高了持锁吞吐量,也提高了电子设备执行任务的流畅性。
请参阅图2,图2示出了本申请一实施例提供的锁等待队列排序的方法的流程示意图。该锁等待队列排序的方法通过预测目标锁等待队列中任务持锁的运行时间,根据任务的持锁运行时间调整等待队列中任务的运行顺序,提高了持锁吞吐量,也提高了电子设备执行任务的流畅性。在具体的实施例中,该锁等待队列排序的方法可以应用于如图5所示的锁等待队列排序的装置200以及配置有锁等待队列排序的装置200的电子设备100(图6)。下面将以电子设备为例,说明本实施例的具体流程,当然,可以理解的,本实施例所应用的电子设备可以包括智能手机、平板电脑、穿戴式电子设备、车辆等,在此不做限定。下面将针对图2所示的流程进行详细的阐述,所述锁等待队列排序的方法具体可以包括以下步骤:
步骤S110:在检测到目标锁放锁的情况下,确定等待所述目标锁的初始等待队列包括的多个任务中各任务的预测持锁时间。
在一些实施方式中,本申请提供的锁等待队列排序的方法可以采用软件的方式实现,可以集成在电子设备的系统软件包中,由电子设备的操作系统完成。其中,目标锁为电子设备执行本申请锁等待队列排序的方法对应的锁。
在一些实施方式中,电子设备中的操作系统可以检测电子设备内应用中请求的执行情况。进一步的,电子设备可以通过操作系统检测电子设备内的任务对目标锁持锁和放锁的情况。
作为一种实施方式,电子设备中的操作系统检测到目标锁放锁的情况可以是,电子设备中的操作系统接收到持目标锁的任务发送的放锁通知时,确定检测到目标锁放锁的情况。
作为另一种实施方式,电子设备中的操作系统检测到目标锁放锁的情况也可以是,电子设备中的操作系统检测持目标锁的任务的线程中是否持有锁,若检测到该任务的线程中没有持有锁,则确定检测到目标锁放锁的情况。,在本申请实施例中,电子设备检测到目标锁放锁的情况的方式,在此不作限定。
可以理解的是,针对睡眠锁,如果有多个线程申请同一锁(目标锁)。在目标锁处于被持有的状态时,电子设备的操作系统可以控制该多个任务的线程进行睡眠并将该多个线程挂到该目标锁对应的等待队列(也即初始等待队列)上,降低了电子设备的耗能,节约了资源,保证了操作系统顺利执行各线程对应的任务。
进一步的,电子设备在检测到目标锁放锁的情况下,可以确定等待目标锁的初始等待队列包括的多个任务中各任务的预测持锁时间。其中,电子设备确定等待目标锁的初始等待队列包括的多个任务中各任务的预测持锁时间,可以是电子设备通过无线通信技术(如,WiFi、蓝牙、zigbee技术等)从相关联的云端或者电子设备获得各任务的一个历史的持锁时间作为该任务的预测持锁时间,也可以是电子设备通过串口通信接口(如,串行外设接口等)从相关联的电子设备获得各任务的一个历史的持锁时间作为该任务的预测持锁时间,还可以是从电子设备中存储的各任务的多个历史持锁时间中确定一个历史的持锁时间作为该任务的预测持锁时间。在本申请实施例中,电子设备确定等待目标锁的初始等待队列包括的多个任务中各任务的预测持锁时间的方式,在此不作限定。
步骤S120:若所述各任务的预测持锁时间满足预设条件,则调整所述初始等待队列包括的多个任务的排列顺序,获得目标等待队列,其中,所述目标等待队列包括的多个任务按目标顺序排列。
在一些实施方式中,电子设备中可以预先设置有预设条件,该预设条件可以作为是否调整初始等待队列中任务的排列顺序的判断依据。若各任务的预测持锁时间满足预设条件,则调整初始等待队列包括的多个任务的排列顺序,获得目标等待队列;若各任务的预测持锁时间都不满足预设条件,则不调整初始等待队列包括的多个任务的排列顺序,将初始等待队列作为目标等待队列。
可选的,预设条件可以是初始等待队列中各任务的预测持锁时间大于持锁时间阈值,也可以是初始等待队列中预设数量的任务的预测持锁时间大于持锁时间阈值。其中,电子设备中可以预先设置有持锁时间阈值,预设数量。在本申请实施例中,预设条件的内容在此不作限定。
其中,目标等待队列包括的多个任务按目标顺序排列。可选的,目标排列顺序可以是按照时间从短到长的排列顺序;也可以是将预测持锁时间小于或等于持锁时间阈值的任务按照请求持锁的时间顺序排列,预测持锁时间大于持锁时间阈值的任务按照时间从短到长的方式排列,并排列在预测持锁时间小于或等于持锁时间阈值的任务之后的排列顺序。在本申请实施例中,目标排列顺序在此不作限定。
在本申请实施例提供的一种可选的实施方式中,考虑到提高持锁吞吐量,以相同时间内更多的任务完成持锁对资源的访问,目标排列顺序可以是按照时间从短到长的排列顺序,以提高持锁吞吐量。
步骤S130:按所述目标顺序,唤醒所述多个任务持所述目标锁。
在一些实施方式中,电子设备的操作系统可以在获得目标等待队列后,按照目标顺序唤醒目标等待队列中按照目标顺序排列的各任务持目标锁。
可以理解的是,针对睡眠锁,在任务申请持有的锁被其他任务持有时,该任务会进行睡眠。该其他任务放锁后,电子设备可以按照目标顺序唤醒目标等待队列包括的多个任务持该锁,在提高电子设备持锁吞吐量的同时,也保证了电子设备执行应用的流畅性。其中,各任务持目标锁后可以对电子设备进行资源访问、内存操作、IO操纵、硬浮点操作等,在此不作限定。
本申请一实施例提供的锁等待队列排序的方法,通过在检测到目标锁放锁的情况下,确定等待目标锁的初始等待队列包括的多个任务中各任务的预测持锁时间;若各任务的预测持锁时间满足预设条件,则调整初始等待队列包括的多个任务的排列顺序,获得目标等待队列,其中,目标等待队列包括的多个任务按目标顺序排列;按目标顺序,唤醒多个任务持目标锁。本申请通过预测目标锁等待队列中任务持锁的运行时间,根据任务的持锁运行时间调整等待队列中任务的运行顺序,提高了持锁吞吐量,也提高了电子设备执行任务的流畅性。
请参阅图3,图3示出了本申请一实施例提供的锁等待队列排序的方法的流程示意图。该方法应用于上述电子设备,下面将针对图3所示的流程进行详细的阐述,所述锁等待队列排序的方法具体可以包括以下步骤:
步骤S210:在检测到目标锁放锁的情况下,确定等待所述目标锁的初始等待队列包括的多个任务中各任务的预测持锁时间。
在一些实施方式中,电子设备中的操作系统若接收到持目标锁的任务发送的放锁通知,则确认电子设备在检测到目标锁放锁的情况下。进一步的,电子设备可以进行确定等待目标锁的初始等待队列包括的多个任务中各任务的预测持锁时间的操作。
在一些实施方式中,针对初始等待队列包括的多个任务中的每一个任务,电子设备确定等待目标锁的初始等待队列包括的多个任务中各任务的预测持锁时间可以包括步骤S211-S213。
步骤S211:确定所述任务对所述目标锁的历史平均持锁时间。
可选的,电子设备可以实时记录各任务对目标锁的持锁时间并保存至电子设备的存储器,提高电子设备的工作速率;也可以实时记录各任务对目标锁的持锁时间并保存至相关联的云端或电子设备,以节约电子设备的存储空间。其中,可以通过记录各任务的进程进入目标锁的起始时间和结束时间,计算各任务的持锁时间。
作为一种实施方式,电子设备确定初始等待队列包括的多个任务中各任务对目标锁的历史平均持锁时间可以是,电子设备中实时记录并预先存储有初始等待队列包括的多个任务中各任务历史的多个持锁时间,电子设备可以直接根据预先存储的各任务的多个持锁时间,确定该任务对目标锁的历史平均持锁时间。
作为另一种实施方式,相关联的云端或电子设备存储有初始等待队列包括的多个任务中各任务历史的多个持锁时间,电子设备中也可以通过无线通信技术从相关联的云端或电子设备获得各任务历史的多个持锁时间,并根据各任务的多个持锁时间,确定该任务对目标锁的历史平均持锁时间。
作为再一种实施方式,相关联的云端或电子设备存储有初始等待队列包括的多个任务中各任务历史的多个持锁时间,并且相关联的云端或电子设备可以根据实时记录的各任务的持锁时间计算各任务的历史平均持锁时间。电子设备可以直接通过无线通信技术从相关联的云端或电子设备获得任务对目标锁的历史平均持锁时间,减少了电子设备的计算量,降低了电子设备的功耗。
步骤S212:确定所述任务对所述目标锁的第一持锁时间和第二持锁时间,其中,所述第一持锁时间为所述任务对所述目标锁的最近一次的持锁时间,所述第二持锁时间为所述任务对所述目标锁的倒数第二次的持锁时间。
在一些实施方式中,电子设备中可以记录有初始等待队列包括的多个任务中的每一个任务历史的持锁时间,电子设备可以从记录的各任务的多个历史的持锁时间中,确定各任务对目标锁的最近一次的持锁时间作为第一持锁时间,以及确定各任务对目标锁的倒数第二次的持锁时间作为第二持锁时间。
在一些实施方式中,电子设备也可以从相关联的云端或电子设备记录的各任务的多个历史的持锁时间中,确定各任务对目标锁的最近一次的持锁时间作为第一持锁时间,以及确定各任务对目标锁的倒数第二次的持锁时间作为第二持锁时间。
步骤S213:从所述历史平均持锁时间、所述第一持锁时间以及所述第二持锁时间中,确定一个持锁时间作为所述任务的预测持锁时间。
在一些实施方式中,电子设备获得各任务的历史平均持锁时间、第一持锁时间以及第二持锁时间之后,可以确定各任务的历史平均持锁时间作为该任务的预测持锁时间,也可以确定各任务的第一持锁时间作为该任务的预测持锁时间,还可以确定各任务的第二持锁时间作为该任务的预测持锁时间,还可以是确定历史平均持锁时间、第一持锁时间以及第二持锁时间中的平均值、中值、算数平均值作为该任务的预测持锁时间。在本申请实施例中,从历史平均持锁时间、第一持锁时间以及第二持锁时间中,确定一个持锁时间作为任务的预测持锁时间的方式,在此不作限定。
在一些实施方式中,步骤S212可以包括步骤S212A。
步骤S212A:若所述第一持锁时间大于所述历史平均持锁时间,且所述第二持锁时间大于所述历史平均持锁时间,则将所述历史平均持锁时间确定为所述任务的预测持锁时间。
在一些实施方式中,当电子设备确定任务的第一持锁时间大于历史平均持锁时间,且第二持锁时间大于历史平均持锁时间时,可以确定下一次该任务对目标锁的持锁时间等于或者大于该任务的历史平均持锁时间,则可以将该任务的历史平均持锁时间确定为该任务的预测持锁时间。
在另一些实施方式中,步骤S212可以包括步骤S212B1-步骤S212B3。
步骤S212B1:若所述第一持锁时间小于所述历史平均持锁时间,且所述第二持锁时间小于所述历史平均持锁时间,则计算所述第一持锁时间与所述历史平均持锁时间的第一差值,并计算所述第二持锁时间与所述历史平均持锁时间的第二差值。
在一些实施方式中,电子设备将任务的历史平均持锁时间与该任务的第一持锁时间以及第二持锁时间比较。若第一持锁时间小于历史平均持锁时间,且第二持锁时间小于历史平均持锁时间,则进一步计算第一持锁时间与历史平均持锁时间的第一差值,并计算第二持锁时间与历史平均持锁时间的第二差值。
步骤S212B2:若所述第一差值大于预设差值,且所述第二差值大于所述预设差值,则从所述第一差值与所述第二差值中确定数值更大的差值作为目标差值。
在一些实施方式中,电子设备在获得第一持锁时间与历史平均持锁时间的第一差值,以及第二持锁时间与历史平均持锁时间的第二差值后,可以将第一差值与第二差值与预设差值比较。其中,预设差值可以作为判断任务的历史平均持锁时间是否可信的判断依据。若第一差值大于预设差值,第二差值大于预设差值,则可以确定该任务下一次持锁的时间很短,则可以确定任务的历史平均持锁时间不可信;若第一差值小于或等于预设差值,或者第二差值小于或等于预设差值,则确定任务的历史平均持锁时间可信,电子设备可以确定该任务的历史平均持锁时间作为该任务的预测持锁时间。
其中,电子设备中可以预先设置有预设差值;若任务的第一差值大于预设差值,且第二差值大于预设差值,进一步的,电子设备可以从该任务的第一差值与第二差值中确定数值更大的差值作为目标差值。
步骤S212B3:将所述目标差值对应的持锁时间,确定为所述任务对应的预测持锁时间。
在一些实施方式中,电子设备从任务的第一差值与第二差值中确定数值更大的差值作为目标差值后,可以将该目标差值对应的持锁时间,确定为该任务对应的预测持锁时间。其中,目标差值对应的持锁时间可以是第一持锁时间或者第二持锁时间。
可以理解的是,为提高持锁吞吐量,本申请实施例通过预测任务的持锁时间,将预测的持锁时间长的任务靠后唤醒。其中,任务持锁的时间与电子设备的操作系统的资源状态有关,当系统的资源状态紧张时,任务持锁的时间也会变长。因此,考虑到电子设备中系统的资源紧张可能会拉高任务持锁时间的平均值,本申请对任务最近一次持锁时间(第一持锁时间)以及倒数第二次持锁时间(第二持锁时间)进行确定。当任务最后两次持锁时间小于该任务历史平均持锁时间时,可以确定该任务前面的持锁时间过长,拉高了任务的历史平均持锁时间,那么认定该任务下一次对锁的持锁时间很短,若将历史平均持锁时间作为该任务的预测持锁时间存在准确性低下的问题。为不影响对该任务的等锁进程的唤醒,本申请通过确定第一持锁时间与第二持锁时间中的最小值作为预测持锁时间。也即,将目标差值对应的持锁时间,确定为任务对应的预测持锁时间,以提高预测任务的持锁时间的准确性。
步骤S220:从所述初始等待队列包括的多个任务中,确定预设比例数量的任务。
在一些实施方式中,电子设备从初始等待队列包括的多个任务中,确定预设比例数量的任务可以是,从初始等待队列包括的多个任务中,按预测持锁时间从长到短的顺序确定预设比例数量的任务;也可以是电子设备随机从初始等待队列包括的多个任务中,确定预设比例数量的任务。其中,电子设备中可以预先设置有预设比例。
示例性的,电子设备预先设置的预设比例为30%,目标锁的初始等待队列中包括10个任务,电子设备从初始等待队列包括的多个任务中,确定预设比例数量的任务,也即电子设备从10个任务中,确定3(10×30%)个任务。
可以理解的是,为提高持锁吞吐量,本申请实施例通过预测任务的持锁时间,将预测的持锁时间长的任务靠后唤醒。其中,为减少电子设备的计算量,降低电子设备的耗能,在本申请提供的一种可选的实施方式中,电子设备可以从初始等待队列包括的多个任务中,按预测持锁时间从长到短的顺序确定预设比例数量的任务。
步骤S230:基于所述预设比例数量的任务中各任务的预测持锁时间,确定所述预设比例数量的任务的预测持锁时间之和,作为第一预测持锁时间。
其中,电子设备可以基于预设比例数量的任务中各任务的预测持锁时间,确定预设比例数量的任务的预测持锁时间之和,作为第一预测持锁时间。
步骤S240:基于所述多个任务中各任务的预测持锁时间,确定所述多个任务的预测持锁时间之和,作为第二预测持锁时间。
其中,电子设备可以基于多个任务中各任务的预测持锁时间,确定多个任务的预测持锁时间之和,作为第二预测持锁时间。
步骤S250:若所述第一预测持锁时间和所述第二预测持锁时间的比值大于比例阈值,则调整所述初始等待队列包括的多个任务的排列顺序,获得目标等待队列。
在一些实施方式中,电子设备中预先设置有比例阈值,电子设备获得任务的第一预测持锁时间和第二预测持锁时间后,可以计算该任务的第一预测持锁时间和第二预测持锁时间的比值,并将该比值与比例阈值比较。比例阈值可以作为是否调整初始等待队列包括的多个任务的排列顺序的判断依据;若第一预测持锁时间和第二预测持锁时间的比值大于比例阈值,则调整初始等待队列包括的多个任务的排列顺序,获得目标等待队列;若第一预测持锁时间和第二预测持锁时间的比值小于或等于比例阈值,则不调整初始等待队列中包括的多个任务的排列顺序,将初始等待队列确定为目标等待队列。
在本申请实施例中提供的一种可实施的方式中,在初始等待队列中包括的多个任务的预测持锁都很短时,为减少电子设备的计算量,降低电子设备的功耗,本申请的实施例可以在第一预测持锁时间和第二预测持锁时间的比值小于或等于比例阈值时,将初始等待队列确定为目标等待队列,以电子设备基于目标等待队列的目标顺序,唤醒多个任务持目标锁。
在一些实施方式中,电子设备调整初始等待队列包括的多个任务的排列顺序,获得目标等待队列的流程可以包括步骤S250A。
步骤S250A:按照预测持锁时间从短到长的顺序,调整所述初始等待队列包括的多个任务的排列顺序,获得所述目标等待队。
在一些实施方式中,为提高电子设备的持锁吞吐量,提高电子设备执行任务的流畅性,电子设备可以按照预测持锁时间从短到长的顺序,调整初始等待队列包括的多个任务的排列顺序,获得目标等待队。也即将预测持锁时间长的任务靠后唤醒。
示例性的,目标锁的初始等待队列中包括10个任务的线程。其中,在初始等待队列中队头任务的线程的预测持锁时间为1s,剩下的9个任务的线程总共的预测持锁时间为0.1s,电子设备按照预测持锁时间从短到长的顺序,调整初始等待队列包括的多个任务的排列顺序,获得目标等待队,也即将初始等待队列中剩余的9个线程先运行,再唤醒预测持锁时间1s的第一个线程,以先在0.1s完成9个任务的持锁过程,提高了持锁吞吐量,使得电子设备应用的执行更加流畅。
在另一些实施方式中,电子设备调整初始等待队列包括的多个任务的排列顺序,获得目标等待队列的流程可以包括步骤S250B1-步骤S250B3。
步骤S250B1:剥离所述初始等待队列包括的多个任务中的核心任务,获得第一等待队列。
在一些实施方式中,目标锁的初始等待队列中包括电子设备操作系统的核心服务,也即核心服务,如服务器中固定的调度任务等。为避免操作系统的异常,电子设备可以将初始等待队列中的核心任务剥离先运行,并获得第一等待队列进行后续的任务序列的调整。
步骤S250B2:按照预测持锁时间从短到长的顺序,调整所述第一等待队列中各任务的排列顺序,获得第二等待队列。
在一些实施方式中,电子设备获得第一等待队列后,可以按照预测持锁时间从短到长的顺序,调整第一等待队列中各任务的排列顺序,获得第二等待队列,以将预测持锁时间长的任务靠后唤醒,以在避免系统的异常的同时,提高持锁吞吐量。
步骤S250B3:将所述核心任务排列在所述第二等待队列之前,获得所述目标等待队列。
在一些实施方式中,电子设备获得第二等待队列后,可以将从目标锁的初始等待队列中剥离的核心任务排列在第二等待队列之前,获得目标等待队列。
在一些实施方式中,从初始等待队列中剥离的核心任务可以包括一个或多个任务。电子设备可以按照预测持锁时间从短到长的顺序,调整从初始等待队列中剥离的多个核心任务的顺序,获得核心任务队列;电子设备获得第二等待队列和核心任务队列后,可以将核心任务队列排列在第二等待队列之前,获得目标等待队列。
在另一些实施方式中,电子设备可以按照核心任务申请持锁时间的先后顺序调整核心任务的顺序,获得核心任务队列;电子设备获得第二等待队列和核心任务队列后,可以将核心任务队列排列在第二等待队列之前,获得目标等待队列。
步骤S260:按所述目标顺序,唤醒所述多个任务持所述目标锁。
在申请实施例中,电子设备获得目标等待队列后,可以按目标顺序,唤醒多个任务持目标锁。
示例性的,请参阅图4,图4示出了本申请一实施例提供的一种锁等待队列排序的方法的流程示意图。其中,在目标锁被其他任务持有时,电子设备将申请目标锁的任务挂入目标锁的初始等待队列。在电子设备接收到持锁任务放目标锁的通知后,计算目标锁当前的初始等待队列包括的多个任务的预测持锁时间。
进一步的,电子设备可以从初始等待队列包括的多个任务中,确定预设比例数量的任务;基于预设比例数量的任务中各任务的预测持锁时间,确定预设比例数量的任务的预测持锁时间之和,作为第一预测持锁时间;基于多个任务中各任务的预测持锁时间,确定多个任务的预测持锁时间之和,作为第二预测持锁时间。
其中,若第一预测持锁时间和第二预测持锁时间的比值大于比例阈值,则确定少量任务的线程的预测持锁时间综合大于初始等待队列中总体任务的预测持锁时间的“阈值占比”,则将该少量任务设置为靠后唤醒,也即少量任务占据大量预测持锁时间。进一步的,将该少量任务设置为靠后唤醒之前可以对该少量任务进行是否为核心任务的判断,避免该少量任务为重要的核心任务而被靠后唤醒,使得电子设备的系统异常。电子设备在判断初始等待队列中包括核心任务后,可以剥离初始等待队列包括的多个任务中的核心任务,获得第一等待队列;按照预测持锁时间从短到长的顺序,调整第一等待队列中各任务的排列顺序,获得第二等待队列;将核心任务排列在第二等待队列之前,获得目标等待队列(剥离系统核心任务,剩余任务靠后唤醒)。最后,电子设备按目标顺序,唤醒多个任务持目标锁。
在一些实施方式中,若第一预测持锁时间和第二预测持锁时间的比值小于或等于比例阈值,也即少量为占据大量预测持锁时间,则确认初始等待队列中各任务的时间都很均匀,电子设备可以直接将初始等待队列确定为目标等待队列,并按目标等待队列的按目标顺序,唤醒多个任务持目标锁。
本申请实施例提供技术方案,相较于图2所示的锁等待队列排序的方法,本实施例还可以从初始等待队列包括的多个任务中,确定预设比例数量的任务,基于预设比例数量的任务中各任务的预测持锁时间,确定预设比例数量的任务的预测持锁时间之和,作为第一预测持锁时间,基于多个任务中各任务的预测持锁时间,确定多个任务的预测持锁时间之和,作为第二预测持锁时间,若第一预测持锁时间和第二预测持锁时间的比值大于比例阈值,则调整初始等待队列包括的多个任务的排列顺序,获得目标等待队列。在提高预测任务持锁时间的准确性的同时,通过预测目标锁等待队列中任务持锁的运行时间,根据任务的持锁运行时间调整等待队列中任务的运行顺序,提高持锁吞吐量以及电子设备执行应用的流畅性。
请参阅图5,图5示出了本申请一实施例提供的锁等待队列排序的装置的模块框图。该锁等待队列排序的装置200应用于上述电子设备,下面将针对图5所示的流程进行详细的阐述,所述锁等待队列排序的装置200包括:预测持锁时间确定模块210、序列调整模块220和唤醒模块230,其中:
预测持锁时间确定模块210,用于在检测到目标锁放锁的情况下,确定等待所述目标锁的初始等待队列包括的多个任务中各任务的预测持锁时间。
序列调整模块220,用于若所述各任务的预测持锁时间满足预设条件,则调整所述初始等待队列包括的多个任务的排列顺序,获得目标等待队列,其中,所述目标等待队列包括的多个任务按目标顺序排列。
唤醒模块230,用于按所述目标顺序,唤醒所述多个任务持所述目标锁。
进一步地,所述序列调整模块220包括:预设任务确定模块,第一预测持锁时间确定模块、第二预测持锁时间确定模块和序列调整子模块,其中:
预设任务确定模块,用于从所述初始等待队列包括的多个任务中,确定预设比例数量的任务。
第一预测持锁时间确定模块,用于基于所述预设比例数量的任务中各任务的预测持锁时间,确定所述预设比例数量的任务的预测持锁时间之和,作为第一预测持锁时间。
第二预测持锁时间确定模块,用于基于所述多个任务中各任务的预测持锁时间,确定所述多个任务的预测持锁时间之和,作为第二预测持锁时间。
序列调整子模块,用于若所述第一预测持锁时间和所述第二预测持锁时间的比值大于比例阈值,则调整所述初始等待队列包括的多个任务的排列顺序,获得目标等待队列。
进一步地,所述预设任务确定模块包括:预设任务确定子模块,其中:
预设任务确定子模块,用于从所述初始等待队列包括的多个任务中,按预测持锁时间从长到短的顺序确定所述预设比例数量的任务。
进一步地,所述序列调整子模块包括:序列调整第一模块,其中:
序列调整第一模块,用于按照预测持锁时间从短到长的顺序,调整所述初始等待队列包括的多个任务的排列顺序,获得所述目标等待队。
进一步地,所述序列调整模块220还包括:序列调整第二模块,其中:
序列调整第二模块,用于若所述第一预测持锁时间和所述第二预测持锁时间的比值小于或等于所述比例阈值,则将所述初始等待队列确定为所述目标等待队列。
进一步地,所述序列调整模块220还包括:第一队列获取模块、第二队列获取模块以及序列调整第三模块,其中:
第一队列获取模块,用于剥离所述初始等待队列包括的多个任务中的核心任务,获得第一等待队列。
第二队列获取模块,用于按照预测持锁时间从短到长的顺序,调整所述第一等待队列中各任务的排列顺序,获得第二等待队列。
序列调整第三模块,用于将所述核心任务排列在所述第二等待队列之前,获得所述目标等待队列。
进一步地,针对所述多个任务中的每个任务,所述预测持锁时间确定模块210包括:历史平均持锁时间确定模块、第一持锁时间和第二持锁时间确定模块以及预测持锁时间确定子模块,其中:
历史平均持锁时间确定模块,用于确定所述任务对所述目标锁的历史平均持锁时间。
第一持锁时间和第二持锁时间确定模块,用于确定所述任务对所述目标锁的第一持锁时间和第二持锁时间,其中,所述第一持锁时间为所述任务对所述目标锁的最近一次的持锁时间,所述第二持锁时间为所述任务对所述目标锁的倒数第二次的持锁时间。
预测持锁时间确定子模块,用于从所述历史平均持锁时间、所述第一持锁时间以及所述第二持锁时间中,确定一个持锁时间作为所述任务的预测持锁时间。
进一步地,所述预测持锁时间确定子模块还包括:预测持锁时间确定第一模块,其中:
预测持锁时间确定第一模块,用于若所述第一持锁时间大于所述历史平均持锁时间,且所述第二持锁时间大于所述历史平均持锁时间,则将所述历史平均持锁时间确定为所述任务的预测持锁时间。
进一步地,预测持锁时间确定子模块还包括:差值确定模块、目标差值确定模块以及预测持锁时间确定第二模块,其中:
差值确定模块,用于若所述第一持锁时间小于所述历史平均持锁时间,且所述第二持锁时间小于所述历史平均持锁时间,则计算所述第一持锁时间与所述历史平均持锁时间的第一差值,并计算所述第二持锁时间与所述历史平均持锁时间的第二差值。
目标差值确定模块,用于若所述第一差值大于预设差值,且所述第二差值大于所述预设差值,则从所述第一差值与所述第二差值中确定数值更大的差值作为目标差值。
预测持锁时间确定第二模块,用于将所述目标差值对应的持锁时间,确定为所述任务对应的预测持锁时间。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参阅图6,其示出了本申请实施例提供的一种电子设备100的结构框图。该电子设备100可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备。本申请中的电子设备100可以包括一个或多个如下部件:处理器110、存储器120以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
其中,处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(CentralProcessing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责待显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参阅图7,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质300中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质300可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质300包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质300具有执行上述方法中的任何方法步骤的程序代码310的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码310可以例如以适当形式进行压缩。
综上所述,本申请实施例提供的锁等待队列排序的方法、装置、电子设备以及存储介质,通过在检测到目标锁放锁的情况下,确定等待目标锁的初始等待队列包括的多个任务中各任务的预测持锁时间;若各任务的预测持锁时间满足预设条件,则调整初始等待队列包括的多个任务的排列顺序,获得目标等待队列,其中,目标等待队列包括的多个任务按目标顺序排列;按目标顺序,唤醒多个任务持目标锁。本申请通过预测目标锁等待队列中任务持锁的运行时间,根据任务的持锁运行时间调整等待队列中任务的运行顺序,提高了持锁吞吐量以及电子设备执行任务的流畅性。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (12)

1.一种锁等待队列排序的方法,其特征在于,所述方法包括:
在检测到目标锁放锁的情况下,确定等待所述目标锁的初始等待队列包括的多个任务中各任务的预测持锁时间;
若所述各任务的预测持锁时间满足预设条件,则调整所述初始等待队列包括的多个任务的排列顺序,获得目标等待队列,其中,所述目标等待队列包括的多个任务按目标顺序排列;
按所述目标顺序,唤醒所述多个任务持所述目标锁。
2.根据权利要求1所述的方法,其特征在于,所述若所述各任务的预测持锁时间满足预设条件,则调整所述初始等待队列包括的多个任务的排列顺序,获得目标等待队列,包括:
从所述初始等待队列包括的多个任务中,确定预设比例数量的任务;
基于所述预设比例数量的任务中各任务的预测持锁时间,确定所述预设比例数量的任务的预测持锁时间之和,作为第一预测持锁时间;
基于所述多个任务中各任务的预测持锁时间,确定所述多个任务的预测持锁时间之和,作为第二预测持锁时间;
若所述第一预测持锁时间和所述第二预测持锁时间的比值大于比例阈值,则调整所述初始等待队列包括的多个任务的排列顺序,获得目标等待队列。
3.根据权利要求2所述的方法,其特征在于,所述从所述初始等待队列包括的多个任务中,确定预设比例数量的任务,包括:
从所述初始等待队列包括的多个任务中,按预测持锁时间从长到短的顺序确定所述预设比例数量的任务。
4.根据权利要求2所述的方法,其特征在于,所述调整所述初始等待队列包括的多个任务的排列顺序,获得目标等待队列,包括:
按照预测持锁时间从短到长的顺序,调整所述初始等待队列包括的多个任务的排列顺序,获得所述目标等待队。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述第一预测持锁时间和所述第二预测持锁时间的比值小于或等于所述比例阈值,则将所述初始等待队列确定为所述目标等待队列。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述调整所述初始等待队列包括的多个任务的排列顺序,获得目标等待队列,包括:
剥离所述初始等待队列包括的多个任务中的核心任务,获得第一等待队列;
按照预测持锁时间从短到长的顺序,调整所述第一等待队列中各任务的排列顺序,获得第二等待队列;
将所述核心任务排列在所述第二等待队列之前,获得所述目标等待队列。
7.根据权利要求1-5任一项所述的方法,其特征在于,针对所述多个任务中的每个任务,所述确定等待所述目标锁的初始等待队列包括的多个任务中各任务的预测持锁时间,包括:
确定所述任务对所述目标锁的历史平均持锁时间;
确定所述任务对所述目标锁的第一持锁时间和第二持锁时间,其中,所述第一持锁时间为所述任务对所述目标锁的最近一次的持锁时间,所述第二持锁时间为所述任务对所述目标锁的倒数第二次的持锁时间;
从所述历史平均持锁时间、所述第一持锁时间以及所述第二持锁时间中,确定一个持锁时间作为所述任务的预测持锁时间。
8.根据权利要求7所述的方法,其特征在于,所述从所述历史平均持锁时间、所述第一持锁时间以及所述第二持锁时间中,确定一个持锁时间作为所述任务的预测持锁时间,包括:
若所述第一持锁时间大于所述历史平均持锁时间,且所述第二持锁时间大于所述历史平均持锁时间,则将所述历史平均持锁时间确定为所述任务的预测持锁时间。
9.根据权利要求7所述的方法,其特征在于,所述从所述历史平均持锁时间、所述第一持锁时间以及所述第二持锁时间中,确定一个持锁时间作为所述任务的预测持锁时间,包括:
若所述第一持锁时间小于所述历史平均持锁时间,且所述第二持锁时间小于所述历史平均持锁时间,则计算所述第一持锁时间与所述历史平均持锁时间的第一差值,并计算所述第二持锁时间与所述历史平均持锁时间的第二差值;
若所述第一差值大于预设差值,且所述第二差值大于所述预设差值,则从所述第一差值与所述第二差值中确定数值更大的差值作为目标差值;
将所述目标差值对应的持锁时间,确定为所述任务对应的预测持锁时间。
10.一种锁等待队列排序的装置,其特征在于,所述装置包括:
预测持锁时间确定模块,用于在检测到目标锁放锁的情况下,确定等待所述目标锁的初始等待队列包括的多个任务中各任务的预测持锁时间;
序列调整模块,用于若所述各任务的预测持锁时间满足预设条件,则调整所述初始等待队列包括的多个任务的排列顺序,获得目标等待队列,其中,所述目标等待队列包括的多个任务按目标顺序排列;
唤醒模块,用于按所述目标顺序,唤醒所述多个任务持所述目标锁。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-9任一项所述的方法。
12.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-9任一项所述的方法。
CN202211104646.5A 2022-09-09 2022-09-09 锁等待队列排序的方法、装置以及电子设备 Pending CN115495211A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211104646.5A CN115495211A (zh) 2022-09-09 2022-09-09 锁等待队列排序的方法、装置以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211104646.5A CN115495211A (zh) 2022-09-09 2022-09-09 锁等待队列排序的方法、装置以及电子设备

Publications (1)

Publication Number Publication Date
CN115495211A true CN115495211A (zh) 2022-12-20

Family

ID=84469011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211104646.5A Pending CN115495211A (zh) 2022-09-09 2022-09-09 锁等待队列排序的方法、装置以及电子设备

Country Status (1)

Country Link
CN (1) CN115495211A (zh)

Similar Documents

Publication Publication Date Title
US7689838B2 (en) Method and apparatus for providing for detecting processor state transitions
US8310492B2 (en) Hardware-based scheduling of GPU work
US9858115B2 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium
US20150046676A1 (en) Method and Devices for Data Path and Compute Hardware Optimization
US20120297216A1 (en) Dynamically selecting active polling or timed waits
CN107329810B (zh) 用于多核处理器的信号机
JP2003298599A (ja) 分散制御方法及び装置
CN109117280B (zh) 电子装置及其限制进程间通信的方法、存储介质
CN111897637B (zh) 作业调度方法、装置、主机及存储介质
WO2020063041A1 (zh) 多核处理器的调度方法、装置、终端及存储介质
EP3376381A1 (en) Resource management method and system, and computer storage medium
US8099731B2 (en) System having minimum latency using timed mailbox to issue signal in advance to notify processor of the availability of the shared resources
CN109117279B (zh) 电子装置及其限制进程间通信的方法、存储介质
US11422857B2 (en) Multi-level scheduling
US7765548B2 (en) System, method and medium for using and/or providing operating system information to acquire a hybrid user/operating system lock
CN115562838A (zh) 资源调度方法、装置、计算机设备及存储介质
CN111597044A (zh) 任务调度方法、装置、存储介质及电子设备
CN113434303A (zh) 批处理的遥感影像智能处理模型预测性能优化系统及方法
WO2020026010A2 (zh) 任务执行的调控方法、装置、设备/终端/服务器及存储介质
CN116089049B (zh) 基于异步并行i/o请求的进程同步调度方法、装置以及设备
CN115756866A (zh) 负载均衡方法、装置及存储介质
CN115495211A (zh) 锁等待队列排序的方法、装置以及电子设备
CN112114967B (zh) 一种基于服务优先级的gpu资源预留方法
JP2008225641A (ja) コンピュータシステム、割り込み制御方法及びプログラム
US10073723B2 (en) Dynamic range-based messaging

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