CN113296908A - 一种提高视频图像存取速度的方法、装置、设备及介质 - Google Patents

一种提高视频图像存取速度的方法、装置、设备及介质 Download PDF

Info

Publication number
CN113296908A
CN113296908A CN202110486306.2A CN202110486306A CN113296908A CN 113296908 A CN113296908 A CN 113296908A CN 202110486306 A CN202110486306 A CN 202110486306A CN 113296908 A CN113296908 A CN 113296908A
Authority
CN
China
Prior art keywords
video image
service
image access
cpu cores
cpu
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.)
Granted
Application number
CN202110486306.2A
Other languages
English (en)
Other versions
CN113296908B (zh
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.)
Chongqing Unisinsight Technology Co Ltd
Original Assignee
Chongqing Unisinsight Technology Co 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 Chongqing Unisinsight Technology Co Ltd filed Critical Chongqing Unisinsight Technology Co Ltd
Priority to CN202110486306.2A priority Critical patent/CN113296908B/zh
Publication of CN113296908A publication Critical patent/CN113296908A/zh
Application granted granted Critical
Publication of CN113296908B publication Critical patent/CN113296908B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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 load

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供一种提高视频图像存取速度的方法、装置、设备及介质,该方法包括:获取视频图像存取系统中运行单位的个数和CPU核个数;接收含待处理业务的访问请求,按照待处理业务的类型不同选择相应数量的运行单位和CPU核个数执行不同的负载策略,当检测待处理业务为视频图像存取业务时,使用不大于CPU核个数的运行单位来分散负载,指定负载分配到相应CPU核上进行视频图像存取处理;当检测待处理业务为辅助业务时,根据并发分配原则使用预设数值的运行单位来分散负载,确保并发的辅助业务分散到部分CPU核上进行处理。本申请避免了大量连续时间片运行单位的并发和迁移开销,提高了视频图像存取系统内的请求响应、处理速度和并发量。

Description

一种提高视频图像存取速度的方法、装置、设备及介质
技术领域
本申请涉及数据存储技术领域,特别是涉及一种提高视频图像存取速度的方法、装置、设备及介质。
背景技术
在运行交织着不同特性运行单位的应用软件时,CPU(central processing unit,中央处理器)内核以分配策略或迁移策略将运行单位指定到特定核的方式达成多核的负载均衡态势。然而,CPU内核并不清楚各运行单位的运行特性,当运行单位执行业务时,可能会因负载失衡而引发迁移,影响后续运行单位的负载分配。例如,在一些存在高并发请求的应用软件类似动态负载或迁移带来的性能损耗累积可能会成为其对高并发请求处理支持的瓶颈。
因此,如何提供一种提高视频图像存取速度的方法及装置成为亟待解决的问题。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种提高视频图像存取速度的方法、装置、设备及介质,用于解决现有技术中视频图像存取速度缓慢的问题。
为实现上述目的及其他相关目的,本申请提供一种提高视频图像存取速度的方法,包括:
获取视频图像存取系统中运行单位的个数和CPU核个数;
接收包含待处理业务的访问请求,按照所述待处理业务的类型不同选择相应数量的运行单位和CPU核个数执行不同的负载策略,其中,当检测所述待处理业务为视频图像存取业务时,使用不大于所述CPU核个数的运行单位来分散负载,指定所述负载分配到相应CPU核上进行视频图像存取处理;当检测所述待处理业务为辅助业务时,根据并发分配原则使用预设数值的运行单位来分散负载,确保并发的辅助业务分散到部分CPU核上进行处理。
在本申请的另一目的在于提供一种提高视频图像存取速度的装置,包括:
获取模块,用于获取视频图像存取系统中运行单位的个数和CPU核个数;
处理模块,用于接收包含待处理业务的访问请求,按照所述待处理业务的类型不同选择相应数量的运行单位和CPU核个数执行不同的负载策略,其中,当检测所述待处理业务为视频图像存取业务时,使用不大于所述CPU核个数的运行单位来分散负载,指定所述负载分配到相应CPU核上进行视频图像存取处理;当检测所述待处理业务为辅助业务时,根据并发分配原则使用预设数值的运行单位来分散负载,确保并发的辅助业务分散到部分CPU核上进行处理。
在本申请的另一目的在于提供一种电子设备,包括:
一个或多个处理装置;
存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置执行所述提高视频图像存取速度的方法。
在本申请的还一目的在于提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于使所述计算机执行所述提高视频图像存取速度的方法。
如上所述,本申请的提高视频图像存取速度的方法、装置、设备及介质,具有以下有益效果:
通过分析运行单位待处理业务类型,按照所述待处理业务类型不同选择相应数量的运行单位和CPU核个数执行不同的负载策略,避免了大量连续CPU时间片运行单位的并发和迁移开销,提高了视频图像存取系统内的请求响应、处理速度和并发量;同时,利用并发分配原则处理辅助业务的运行单位,最大限度地支撑了并发请求,确保了辅助业务的并发性以及各CPU核的负载均衡态势。
附图说明
图1显示为本申请提供的一种视频图像存取常规流程图;
图2显示为本申请提供的一种视频图像存取流程图;
图3显示为本申请提供的一种提默认负载的调度损耗累积分布图;
图4显示为本申请提供的一种提高视频图像存取速度的方法流程图;
图5显示为本申请提供的一种视频图像存取软件系统中运行单位n+m负载模型分配图;
图6显示为本申请提供的一种提高视频图像存取速度的装置结构框图;
图7显示为本申请一实施例提供的一种电子设备的结构示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,遂图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
技术术语:
CPU核个数,即一块CPU能处理数据的芯片组的数量,例如,现在的i5760是双核心四线程的CPU,而i52250是四核心四线程的CPU。
并发,是指多个线程在单个核心运行,同一时间一个线程运行,系统不停切换线程,看起来像同时运行,实际上是线程不停切换,即一个指令和另一个指令交错执行;即,相当于间隔发生。
并行,当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行;即,相当于同时进行。
请参阅图1,为本申请提供的一种常规的视频图像存取速度的方法流程图,包括:
在视频图片存取软件系统(即,视频图像存取系统)中,通常会牺牲一些CPU的性能消耗来节约硬件成本,例如,使用软件实现纠删编解码代替RAID卡(Redundant Arrays ofIndependent Disks,磁盘阵列),同时,使用加大带宽的方式实现并发操作存储介质,以弱化CPU与IO(磁盘写入或读取)速度差异。在数据的处理/计算过程中,涉及数据冗错、数据恢复(纠删编解码)以及数据缓存等功能。
其中,如图1中IO请求包含两个阶段:
等待资源阶段:IO请求一般需要请求特殊的资源(如磁盘、RAM、文件),当资源被上一个使用者使用没有被释放时,IO请求就会被阻塞,直到能够使用这个资源。
使用资源阶段:真正进行数据接收和发生。
例如,以排队和服务为例:
在等待数据阶段,IO分为阻塞IO和非阻塞IO;阻塞IO,资源不可用时,IO请求一直阻塞,直到反馈结果(有数据或超时);非阻塞IO,资源不可用时,IO请求离开返回,返回数据标识资源不可用。
在使用资源阶段,IO分为同步IO和异步IO;同步IO,应用阻塞在发送或接收数据的状态,直到数据成功传输或返回失败;异步IO:应用发送或接收数据后立刻返回,数据写入OS(object storage)缓存,由OS完成数据发送或接收,并返回成功或失败的信息给应用。
详见图2,在纠删编解码(EC)和IO带宽提升IO内的(strip group)技术将会消耗一些CPU,该过程需要基本运行持大量连续时间片才能完成,为了加宽计算处理,针对需要持大量连续时间片才能完成计算的运行单位来说,需要确保其运行的持续性。
当检测接收到大量视频图片存取请求时,常规处理模式为:利用内核调度器根据负载均衡方式将各个运行单位分散到相应的CPU核上,使得其处于可运行状态的运行单位并发执行。其中,在未接收到视频图片存取请求时,视频图片存取运行单位处于空闲状态,因此,可能造成多个视频图片存取运行单位被密集搁置在同一个CPU核的情景。此时,视频图片存取运行单位会被其他运行单位时间片的累积延误,导致接收到请求得不到及时处理;持大量连续时间片运行单位的运行也会被其他运行单位运行时间片的累积延误;另外,涌入大量视频图片请求时会让各CPU核原本的负载均衡发生变更,同时引起部分视频图片存取运行单位发生迁移,甚至会引发二次迁移,导致视频图片运行单位又被迁移累积阻塞延误。
详见图3,以两个运行时间片为例,阐释默认负载引起的调度损耗累积,其中一个视频图片存取运行单位,一直存在“切换检查”,当满足切换条件时,将该视频图片存取运行单位上的视频图片存取请求切换(加入)到另一个视频图片存取运行单位。其中另一个视频图片存取运行单位在迁移时间片下发生迁移,导致原有的负载均衡发生变更,从而引起视频图片运行单位产生因迁移累积阻塞延误。
从上可知,默认负载在调度损耗过程中,会不断因迁移累积阻塞延误,将降低视频图像存取速度。
请参阅图4,为本申请提供的一种提高视频图像存取速度的方法流程图,详述如下:
步骤S1,获取视频图像存取系统中运行单位的个数和CPU核个数;
具体地,通过视频图像存取系统的配置参数即可获取到运行单位的个数与CPU核个数;例如,所述视频图像存取系统根据运行单位类型确定运行单位的个数,所述运行单位类型包括主动阻塞连续时间片的运行单位、非主动阻塞连续时间片的运行单位与需大量持连续时间片的运行单位。
需要说明的是,运行单位在CPU核上的占比特性分布,例如,一个运行单位的连续运行时间片和切换时间片共同构成CPU占比。包含大量连续运行时间片和(非)主动阻塞连续运行时间片的运行单位,其中,需大量连续时间片的运行单位,可执行视频图像(片)存取业务;主动阻塞连续时间片的运行单位,可执行保活、巡检(辅助业务);非主动阻塞的连续时间片的运行单位,可执行网络连接事件监听(辅助业务)。
步骤S2,接收包含待处理业务的访问请求,按照所述待处理业务的类型不同选择相应数量的运行单位和CPU核个数执行不同的负载策略;
步骤S21,当检测所述待处理业务为视频图像存取业务时,使用不大于所述CPU核个数的运行单位来分散负载,指定所述负载分配到相应CPU核上进行视频图像存取处理;
步骤S22,当检测所述待处理业务为辅助业务时,根据并发分配原则使用预设数值的运行单位来分散负载,确保并发的辅助业务分散到部分CPU核上进行并发处理。
在本实施例中,运行单位处理业务包括视频图像存取业务与辅助业务,通过分析当前视频图像存取系统中运行单位CPU占比特性,即根据业务类型指定负载运行单位,并行运行在CPU核上的视频存取运行单位几乎不受其他运行单位的切换干扰,同时,由于被运行在指定CPU核上也不会有迁移损耗累积,避免了大量连续CPU时间片运行单位的并发和迁移开销,提高了视频图像存取系统内的请求响应、处理速度和并发量;同时,通过辅助业务运行单位的并发分配原则,为并发现象提供了判定依据,该分配原则最大限度保证系统对并发请求的最大支持,并保证辅助业务的并发性以及各CPU核的负载基本均衡态势。
其中,需要说明的是,所述辅助业务的并发切换开销远小于IO延迟;通过切换时间片实现资源的高并发分配,也提升了资源的分配效率,解决了现有视频图像存取速度缓慢的技术问题。另外,所述预设数值远远小于CPU核个数,使用较少数量的CPU核来负载并发性的辅助业务,确保了辅助业务的并发量正常运行。
在本实施例中,针对以上类型的视频图片存取软件系统(即,视频图像存取系统),假设CPU核数为n,根据运行单位性质决定运行单位个数:
(1)对于重实时性的视频图片业务,则运行单位个数为r(r≤n);
(2)对于注重并发性的辅助业务,使用数量较少的CPU核来负载,运行单位个数为c(c≥m∧cswdelay<<IOdelay);其中,r、c、n、m均为整数;
即,实时性业务尽量并行在干净的n核上,此时所能支持的并发量最大,只要并发性业务的并发切换开销远远小于IO(如网络)延迟就可以认为该并发分配是极好的。
在本实施例中,详见图5,为本申请提供的一种视频图像存取软件系统中运行单位n+m负载模型分配图,详述如下:
假设所述视频图像存取系统内存在m个辅助业务,n个CPU核,所述视频图像存取业务数量根据当前CPU核个数和系统性能确定,视频图像存取业务的数量至少为n个,例如,n个、2n个、3n个等等;
若当前视频图像存取系统满足整体并发需求时,则将n个视频图像存取业务对应的运行单位分散负载到n个CPU核进行处理,将m个辅助业务对应的运行单位并发分配到后m个CPU核进行处理,以确保视频图像存取系统实时性最佳;
若当前视频图像存取系统因辅助业务并发量瓶颈而无法满足整体并发需求时,则并发n个CPU核或(n-m)个CPU核个数相匹配的视频图像存取业务进行处理,以确保视频图像存取系统实时性,使得并发和单路上运行单位的时间效率取得合适的折中或偏向;
其中,后m个CPU核与前(n-m)个CPU核之间为并行关系,n与m均为整数,且n远大于m;
当使用n个视频图像存取业务能满足并发需求时,此时各路视频图像存取业务的时间效率最高;当需要确保一定并发需求时,则在保证单路时间效率前提下牺牲一些单路时间效率去满足并发需求,由此在并发和单路时间效率上取得最合适的折中或偏向;折中是指需同时保证并发需求和单路时间效率,偏向是指着重并发或着重单路时间效率。如此,可得到单路视频图像业务和辅助业务相应最佳实时性,同时,获得满足系统整体并发的需求,或偏向折中。
另外,采用的上述负载策略,详细如下:
首先,将视频图片存取业务指定n个运行单位并随之将其分散负载到n个CPU核上,使视频图片存取运行单位彼此之间引起的切换、迁移损耗互不干扰;然后,将具主动或IO阻塞性质的辅助运行单位负载到尽可能少(按照上述原则2)的CPU核上。
其中,并行运行在前(n-m)CPU核上的视频存取运行单位几乎不受其他运行单位的切换干扰,同时,由于被运行在指定CPU核上也不会有迁移损耗累积,后m核之间以及与前(n-m)核之间形成并行关系,其内部负载的运行单位以并发关系运行;例如,前(n-m)CPU核上一直持大量连续的运行时间片处理视频图像存取业务,后m核在检查到切换时间片后在视频图像存取业务与辅助业务之间并发运行。
采用上述负载分配的优点在于:使得n核上的运行单位具负载均衡态势,且n核并行抢占视频图片存取请求业务,能够及时响应视频图片存取请求(为支持辅助业务并发,后m核会相对抢占得少一些);另外,并行在各CPU核上的视频图片存取运行单位会以最快速方式(同理,后m核会稍慢一些)处理完一次业务后继续处理下一次业务处理;所以,相比默认负载情形,该方式可进一步提升视频图片存取软件系统对更大并发场景请求的处理支持。
在另一些实施例中,利用所述负载策略减少运行单位的切换开销,从而提高视频图像存取速度。
具体地,所述负载策略对视频图像存取业务所对应的运行单位优化处理所得的优化时间表达式、以及运行单位切换开销的时延表达式,具体为:
otime=(kc+1)·delaytotal (1)
Figure BDA0003050454190000071
式中,otime为调优后的优化时间,kc为kc个参与并发的运行单位,delaytotal为运行单位的切换开销,cline为缓存行的大小,pmc为内存与缓存的读写性能比,sswitchd为计算一批数据经历的切换次数,sdelay为一次运行单位切换所需时间,fcpu为中央处理器的主频,tlb为页表缓存的大小,switchi为运行一段热代码经历的切换次数,cisize和cdsize分别为Lni cache和Lnd cache(n∈1,2,3...)的大小,datac=min(data,cdsize)、instrc=min(instr,cisize)、switch=max(switchd,switchi)。
例如,提高视频图像存取速度的方法通过减少运行单位切换开销,运行单位切换开销主要包括切换本身(上下文备份及恢复)及运行单位重启动开销,这两部分开销的时间延迟可表示如下:
delaytotal=delaycache_data+delaycache_instr+dealytlb+delayswitch
式中,该延迟由数据、指令、tlb三种cache重载入数据的时间消耗和切换本身时间消耗组成。
设CPU主频为fcpu,Lni cache和Lnd cache(n∈1,2,3...)大小分别为cisize和cdsize,cache line大小为cline,一次计算所需数据大小为data,一段热指令大小instr,内存与cache读写性能比为pmc,计算一批数据所会经历的切换次数sswitchd,switchi为运行一段热代码经历的切换次数,一次运行单位切换所需时间为sdelay,tlb大小为tlb。则delaytotal中的数据和指令重启动延迟可被展开为:
Figure BDA0003050454190000072
Figure BDA0003050454190000073
切换本身及tlb重载入延迟可被展开为:
dealyswitch=switch·sdelay(switch∈(switchd,switchi))
Figure BDA0003050454190000074
即总时延为:
Figure BDA0003050454190000081
其中:
datac=min(data,cdsize)
instrc=min(instr,cisize)
switch=max(switchd,switchi)
若未用本申请的调优前某核上有kc个类似的运行单位参与并发,在公平调度策略下,则该kc个并发单位在开销上的时间损失约为:
delaykc=kc·delaytotal
综上,基于运行单位对视频图像存取业务调优后,所得到的时间优化为:
otime=(kc+1)·delaytotal
其中,fcpu、sdelay、cisize、cdsize、cline、pmc、tlb在特定机器上是确定的,switchd、switchc可基于实际数据和PMU(性能监控单元)通过实验获取。
从otime的展开式中可以看出,若并发单位主要对数据计算频繁,则otime优化主要来自数据和tlb缓存的数据重载入;同理,若持续反复运行一段热代码,则otime优化主要来自指令和tlb缓存的重载入。那么,按照前文所述方法进行调优后,可以在数据局部性或指令局部性层面作为进一步优化,通过对原并发模型性能消耗分析,提取了的时间性能提升的计算方法,根据该公式,结合硬件配置,也可得到最佳软件参数(如数据分片大小)。
在另一些实施例中,如下表中的CPU信息所示:
Figure BDA0003050454190000082
视频图片存取软件系统基本业务(运行单位)、配置信息分别如下表所示:
Figure BDA0003050454190000091
具体地,执行视频图像存取(视频图片读写)业务的运行单位,需要持大量连续时间片的运行单位数量为32个;执行AIO(异步非阻塞I/O模型)事件监听、网络连接事件、连接保活业务的IO阻塞型的运行单位数量分别为1个、4个、4个,执行AIO幕后刷盘、DB(数据存储单位)幕后刷盘、巡检类的主动阻塞型的运行单位数量分别为1个、1个与若干个;纠删比的值为8+1,视频/图像数据块的值分别为4KiB与32KiB,条带组的值为16。
在本实施例中,参照图5所示,将n+m负载模型将视频图片存取运行单位分散到32个CPU核上,然后按照并发分配原则将剩余辅助业务运行单位负载到后m个CPU核上。由于辅助业务如巡检将会通过web展示,所以,此处的IO参考延迟为网络延迟。
网络延迟一般在毫秒级别(良好的网络在1到几十毫秒之间,可以根据该值进行并发分配参考)。
接下来,计算该方法所得到的性能提升,此处所节约的时间性能主要来自对纠删计算中数据cache重载入的避免,即指令和切换本身性能可忽略不计,所得的优化时间表达式:
otime=(kc+1)·delaytotal
展开为:
Figure BDA0003050454190000092
即对于图片的性能提升为:
Figure BDA0003050454190000093
此处tlb切换次数等于cache数据丢失次数,保留分子数量级最大后得到:
Figure BDA0003050454190000094
同理,对于视频的性能提升为:
Figure BDA0003050454190000095
内存和cache读写性能比pmc一般在10~100范围内,此处取该范围的中间值,便于计算取值64,再省略常数系数kc+1得到:
Figure BDA0003050454190000101
从上式可以看出,若在图片(图像)和视频单次读写的纠删计算过程中分别发生128和16次切换,则利用该方案在上述机器上能够降低约近1ms的延迟。
在另一些实施例中,例如,在上述实施例基础上,分析视频数配置参数,并做进一步优化,展示对数据局部性的支持。考虑主要影响性能因素的公式后得到:
Figure BDA0003050454190000102
数据量的有效值最大值datac=min(data,cdsize),此处考虑一级缓存即datac最大值为215,结合纠删编码计算过程:
Figure BDA0003050454190000103
在本实施例,可得出,数据块dx的大小应不大于L1d cache大小的一半,这样在进行一个数据块的纠删编码计算时就不会出现cache替换,如此,可将上述实施例中,视频数据块大小调整为16KiB,由于没有并发和迁移干扰,这种局部数据块大小的配置在时间性能上将会显得非常有用,同时,也提升了诸如数据、指令局部性的编程优化技巧的最大支持力度。
请参阅图6,为本申请提供的一种提高视频图像存取速度的装置结构框图,包括:
获取模块1,用于获取视频图像存取系统中运行单位的个数和CPU核个数;
处理模块2,其进一步包括:
负载策略处理单元,用于接收包含待处理业务的访问请求,按照所述待处理业务的类型不同选择相应数量的运行单位和CPU核个数执行不同的负载策略;
第一处理单元,用于当检测所述待处理业务为视频图像存取业务时,使用不大于所述CPU核个数的运行单位来分散负载,指定所述负载分配到相应CPU核上进行视频图像存取处理;
第二处理单元,用于当检测所述待处理业务为辅助业务时,根据并发分配原则使用预设数值的运行单位来分散负载,确保并发的辅助业务分散到部分CPU核上进行处理。
其中,需要说明的是,提高视频图像存取速度的装置与提高视频图像存取速度的方法为一一对应的关系,在此,各个模块与上述流程步骤所涉及的技术细节与技术效果均相同,在此不用一一赘述,请参照上述提高视频图像存取速度的方法。
下面参考图7,其示出了适于用来实现本公开实施例的电子设备(例如电子设备设备或服务器300的结构示意图。本公开实施例中的电子设备设备可以包括但不限于诸如手机、平板电脑、膝上型电脑、台式电脑、电脑一体机、服务器、工作站、电视、机顶盒、智能眼镜、智能手表、数码相机、MP4播放器、MP5播放器、学习机、点读机、电纸书、电子词典、车载终端、虚拟现实(VirtualReality,VR)播放器或增强现实(Augmented Reality,AR)播放器等的固定器。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储装置308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、ROM 302以及RAM303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图7示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备参照上述提高视频图像存取速度的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
综上所述,通过分析运行单位的待处理业务的类型,按照所述待处理业务的类型不同选择相应数量的运行单位和CPU核个数执行不同的负载策略,避免了大量连续CPU时间片运行单位的并发和迁移开销,提高了视频图像存取系统内的请求响应、处理速度和并发量;同时,利用并发分配原则处理辅助业务的运行单位,最大限度地支撑了并发请求,确保了辅助业务的并发性以及各CPU核的负载均衡态势。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。

Claims (10)

1.一种提高视频图像存取速度的方法,其特征在于,包括:
获取视频图像存取系统中运行单位的个数和CPU核个数;
接收包含待处理业务的访问请求,按照所述待处理业务的类型不同选择相应数量的运行单位和CPU核个数执行不同的负载策略,其中,当检测所述待处理业务为视频图像存取业务时,使用不大于所述CPU核个数的运行单位来分散负载,指定所述负载分配到相应CPU核上进行视频图像存取处理;当检测所述待处理业务为辅助业务时,根据并发分配原则使用预设数值的运行单位来分散负载,确保并发的辅助业务分散到部分CPU核上进行处理。
2.根据权利要求1所述的提高视频图像存取速度的方法,其特征在于,所述视频图像存取系统根据运行单位类型确定运行单位的个数,所述运行单位类型包括主动阻塞连续时间片的运行单位、非主动阻塞连续时间片的运行单位与需大量持连续时间片的运行单位。
3.根据权利要求1所述的提高视频图像存取速度的方法,其特征在于,所述辅助业务的并发切换开销远小于IO延迟。
4.根据权利要求1或3所述的提高视频图像存取速度的方法,其特征在于,所述预设数值远远小于CPU核个数。
5.根据权利要求1所述的提高视频图像存取速度的方法,其特征在于,还包括:假设所述视频图像存取系统内存在m个辅助业务,n个CPU核,所述视频图像存取业务数量根据当前CPU核个数和系统性能确定,其至少为n个;
若当前视频图像存取系统满足整体并发需求时,则将n个视频图像存取业务对应的运行单位分散负载到n个CPU核进行处理,将m个辅助业务对应的运行单位并发分配到后m个CPU核进行处理,以确保视频图像存取系统实时性最佳;
若当前视频图像存取系统因辅助业务并发量瓶颈而无法满足整体并发需求时,则并发n个CPU核或(n-m)个CPU核个数相匹配的视频图像存取业务进行处理,以确保视频图像存取系统实时性,使得并发和单路上运行单位的时间效率取得合适的折中或偏向;
其中,后m个CPU核与前(n-m)个CPU核之间为并行关系,n与m均为整数,且n远大于m。
6.根据权利要求1所述的提高视频图像存取速度的方法,其特征在于,还包括:利用所述负载策略减少运行单位的切换开销,从而提高视频图像存取速度。
7.根据权利要求1或6所述的提高视频图像存取速度的方法,其特征在于,利用所述负载策略对视频图像存取业务所对应的运行单位优化处理所得的优化时间表达式、以及运行单位切换开销的时延表达式,具体为:
otime=(kc+1)·delaytotal (1)
Figure FDA0003050454180000021
式中,otime为调优后的优化时间,kc为kc个参与并发的运行单位,delaytotal为运行单位的切换开销,cline为缓存行的大小,pmc为内存与缓存的读写性能比,sswitchd为计算一批数据经历的切换次数,sdelay为一次运行单位切换所需时间,fcpu为中央处理器的主频,tlb为页表缓存的大小,switchi为运行一段热代码经历的切换次数,cisize和cdsize分别为Lni cache和Lndcache(n∈1,2,3...)的大小。
8.一种提高视频图像存取速度的装置,其特征在于,包括:
获取模块,用于获取视频图像存取系统中运行单位的个数和CPU核个数;
处理模块,用于接收包含待处理业务的访问请求,按照所述待处理业务的类型不同选择相应数量的运行单位和CPU核个数执行不同的负载策略,其中,当检测所述待处理业务为视频图像存取业务时,使用不大于所述CPU核个数的运行单位来分散负载,指定所述负载分配到相应CPU核上进行视频图像存取处理;当检测所述待处理业务为辅助业务时,根据并发分配原则使用预设数值的运行单位来分散负载,确保并发的辅助业务分散到部分CPU核上进行处理。
9.一种电子设备,其特征在于:包括:
一个或多个处理装置;
存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如1至7中任一所述的提高视频图像存取速度的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序用于使所述计算机执行权利要求1至7中任一所述的提高视频图像存取速度的方法。
CN202110486306.2A 2021-04-30 2021-04-30 一种提高视频图像存取速度的方法、装置、设备及介质 Active CN113296908B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110486306.2A CN113296908B (zh) 2021-04-30 2021-04-30 一种提高视频图像存取速度的方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110486306.2A CN113296908B (zh) 2021-04-30 2021-04-30 一种提高视频图像存取速度的方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN113296908A true CN113296908A (zh) 2021-08-24
CN113296908B CN113296908B (zh) 2022-07-29

Family

ID=77320746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110486306.2A Active CN113296908B (zh) 2021-04-30 2021-04-30 一种提高视频图像存取速度的方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN113296908B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116980641A (zh) * 2023-09-22 2023-10-31 江西云眼视界科技股份有限公司 视频迁移的异步处理方法、系统、计算机及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101287002A (zh) * 2008-05-21 2008-10-15 华中科技大学 一种提高流媒体服务器并发媒体流数量的方法
CN102710890A (zh) * 2012-04-06 2012-10-03 东莞中山大学研究院 双ahb总线的视频处理片上系统
CN104657115A (zh) * 2015-03-12 2015-05-27 浪潮集团有限公司 一种集群文件系统客户端多核并发负载实现方法
US20180113738A1 (en) * 2016-10-24 2018-04-26 Netapp, Inc. Balanced, Opportunistic Multicore I/O Scheduling From Non-SMP Applications
CN108509276A (zh) * 2018-03-30 2018-09-07 南京工业大学 一种边缘计算环境中的视频任务动态迁移方法
CN109039929A (zh) * 2018-07-06 2018-12-18 华为技术有限公司 业务调度方法及装置
CN109783232A (zh) * 2018-12-21 2019-05-21 王家万 视频数据处理方法、装置及存储介质
CN111294553A (zh) * 2018-12-07 2020-06-16 杭州海康威视系统技术有限公司 处理视频监控业务信令的方法、装置、设备和存储介质
CN111800501A (zh) * 2020-06-30 2020-10-20 平安普惠企业管理有限公司 处理业务请求的方法及装置、存储介质、电子设备
CN111897633A (zh) * 2020-07-01 2020-11-06 北京沃东天骏信息技术有限公司 一种任务处理的方法和装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101287002A (zh) * 2008-05-21 2008-10-15 华中科技大学 一种提高流媒体服务器并发媒体流数量的方法
CN102710890A (zh) * 2012-04-06 2012-10-03 东莞中山大学研究院 双ahb总线的视频处理片上系统
CN104657115A (zh) * 2015-03-12 2015-05-27 浪潮集团有限公司 一种集群文件系统客户端多核并发负载实现方法
US20180113738A1 (en) * 2016-10-24 2018-04-26 Netapp, Inc. Balanced, Opportunistic Multicore I/O Scheduling From Non-SMP Applications
CN108509276A (zh) * 2018-03-30 2018-09-07 南京工业大学 一种边缘计算环境中的视频任务动态迁移方法
CN109039929A (zh) * 2018-07-06 2018-12-18 华为技术有限公司 业务调度方法及装置
CN111294553A (zh) * 2018-12-07 2020-06-16 杭州海康威视系统技术有限公司 处理视频监控业务信令的方法、装置、设备和存储介质
CN109783232A (zh) * 2018-12-21 2019-05-21 王家万 视频数据处理方法、装置及存储介质
CN111800501A (zh) * 2020-06-30 2020-10-20 平安普惠企业管理有限公司 处理业务请求的方法及装置、存储介质、电子设备
CN111897633A (zh) * 2020-07-01 2020-11-06 北京沃东天骏信息技术有限公司 一种任务处理的方法和装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ALI AALSAUD等: "Model-Free Runtime Management of Concurrent Workloads for Energy-Efficient Many-Core Heterogeneous Systems", 《2018 28TH INTERNATIONAL SYMPOSIUM ON POWER AND TIMING MODELING, OPTIMIZATION AND SIMULATION (PATMOS)》 *
刘宗全等: "基于Hadoop的海量视频快速处理方法", 《指挥信息系统与技术》 *
赵姗等: "性能非对称多核处理器下异构感知调度技术", 《软件学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116980641A (zh) * 2023-09-22 2023-10-31 江西云眼视界科技股份有限公司 视频迁移的异步处理方法、系统、计算机及存储介质
CN116980641B (zh) * 2023-09-22 2023-12-15 江西云眼视界科技股份有限公司 视频迁移的异步处理方法、系统、计算机及存储介质

Also Published As

Publication number Publication date
CN113296908B (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
US20200328984A1 (en) Method and apparatus for allocating resource
US9164853B2 (en) Multi-core re-initialization failure control system
US7882136B2 (en) Foresight data transfer type hierarchical storage system
US7624208B2 (en) Method, system, and computer program for managing a queuing system
US20160179560A1 (en) CPU Overprovisioning and Cloud Compute Workload Scheduling Mechanism
US7971026B2 (en) Information processing apparatus and access control method
US20220066928A1 (en) Pooled memory controller for thin-provisioning disaggregated memory
CN114020470B (zh) 资源分配方法、装置、可读介质及电子设备
US20170212581A1 (en) Systems and methods for providing power efficiency via memory latency control
US20110107344A1 (en) Multi-core apparatus and load balancing method thereof
US9244826B2 (en) Managing CPU resources for high availability micro-partitions
CN112825042A (zh) 资源管理方法和装置、电子设备及存储介质
US9507633B2 (en) Scheduling method and system
WO2016202153A1 (zh) 一种gpu资源的分配方法及系统
CN113918356B (zh) 基于cuda数据快速同步方法、装置、计算机设备及存储介质
US11500577B2 (en) Method, electronic device, and computer program product for data processing
US9069621B2 (en) Submitting operations to a shared resource based on busy-to-success ratios
CN113296908B (zh) 一种提高视频图像存取速度的方法、装置、设备及介质
CN107870877B (zh) 用于在存储系统中管理数据访问的方法和系统
US20130159397A1 (en) Computer product, information processing apparatus, and parallel processing control method
CN111625339A (zh) 集群资源调度方法、装置、介质和计算设备
CN113031857B (zh) 数据写入方法、装置、服务器及存储介质
US9176910B2 (en) Sending a next request to a resource before a completion interrupt for a previous request
CN113076175A (zh) 用于虚拟机的内存共享方法及装置
CN114791847A (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