CN116401055B - 面向资源效率优化的服务器无感知计算工作流编排方法 - Google Patents
面向资源效率优化的服务器无感知计算工作流编排方法 Download PDFInfo
- Publication number
- CN116401055B CN116401055B CN202310369832.XA CN202310369832A CN116401055B CN 116401055 B CN116401055 B CN 116401055B CN 202310369832 A CN202310369832 A CN 202310369832A CN 116401055 B CN116401055 B CN 116401055B
- Authority
- CN
- China
- Prior art keywords
- workflow
- delay
- sandbox
- processes
- functions
- 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
- 238000000034 method Methods 0.000 title claims abstract description 139
- 230000008447 perception Effects 0.000 title claims abstract description 12
- 230000006870 function Effects 0.000 claims abstract description 104
- 244000035744 Hura crepitans Species 0.000 claims abstract description 83
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 36
- 238000005192 partition Methods 0.000 claims abstract description 22
- 230000011218 segmentation Effects 0.000 claims abstract description 16
- 230000001934 delay Effects 0.000 claims abstract description 11
- 238000005457 optimization Methods 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims description 106
- 238000004891 communication Methods 0.000 claims description 18
- 238000013461 design Methods 0.000 claims description 11
- 230000008901 benefit Effects 0.000 claims description 8
- 230000000903 blocking effect Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000003111 delayed effect Effects 0.000 claims description 2
- 238000002156 mixing Methods 0.000 abstract description 2
- 238000000638 solvent extraction Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000013468 resource allocation Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- KJLPSBMDOIVXSN-UHFFFAOYSA-N 4-[4-[2-[4-(3,4-dicarboxyphenoxy)phenyl]propan-2-yl]phenoxy]phthalic acid Chemical compound C=1C=C(OC=2C=C(C(C(O)=O)=CC=2)C(O)=O)C=CC=1C(C)(C)C(C=C1)=CC=C1OC1=CC=C(C(O)=O)C(C(O)=O)=C1 KJLPSBMDOIVXSN-UHFFFAOYSA-N 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了面向资源效率优化的服务器无感知计算工作流编排方法,包括以下步骤:用户端给定工作流的CPU分配资源总量和整体延迟要求;遍历工作流的每个阶段;采用调度器基于图分割的启发式算法探索包括函数分区和混合进线程执行模式在内的最优编排策略;使用预测器判断所得最优编排策略是否违反给定工作流需求;在产生所有阶段的编排方案且延迟之和满足给定性能需求时,自动生成编排代码,并部署至服务器无感知计算平台上的各个沙箱中。本发明通过将工作流的所有函数分区部署至多个沙箱,且每个沙箱内的函数采用混合进线程的形式运行,在保障用户指定的端到端延迟的同时,实现资源效率的最优,而且不需要用户参与,有效降低了人工成本。
Description
技术领域
本发明属于云计算领域,特别涉及面向资源效率优化的服务器无感知计算工作流编排方法。
背景技术
近几年来,由于具备对资源和编程的高度抽象、按需使用计费以及动态扩容等优势,服务器无感知计算成为日益流行的云计算开发范式。为实现复杂的实际应用,用户通常以有向无环图的形式将一系列细粒度函数编排成工作流,工作流中定义了函数的顺序以及彼此间的数据依赖。当前主流的服务器无感知计算平台将每个函数部署在单独的沙箱执行环境之中,即一对一的部署模型。当请求到达时,平台需要依次启动各个函数的沙箱,导致严重的级联冷启动开销,甚至远远超出函数本身的执行时间。同时,由于服务器无感知计算的无状态特性和沙箱动态伸缩,IP互不感知的沙箱之间无法建立点对点的直接通信,只能通过第三方的函数编排器或者云存储实现中间数据的传输,进而导致不可忽视的通信开销。此外,一对一的部署模型需要为每个沙箱分配单独的CPU和内存资源,存在较大的资源冗余。因此,如何提高工作流的端到端性能和资源效率,是服务器无感知计算领域的一个重要挑战。
为了优化上述问题,现有技术公开了通过将同一个工作流的所有函数部署在同一个沙箱之中,即多对一部署模型。这种多函数复用同一个沙箱的编排方案可以减少冷启动的频率,同时各个函数之间可以通过沙箱内的编排器实现高效的进程间通信,因此一定程度上提升工作流的端到端性能,使得工作流的冷启动和通信延迟得到极大优化。在资源分配方面,CPU可以在不同次序执行的函数间复用,同时多函数共享编程语言运行时和第三方依赖,降低了沙箱间的内存冗余,大大减少了工作流的资源占用。由于常用的Python、Node.js等编程语言运行时中存在的全局解释器锁不允许多线程同时使用CPU,已有的基于多对一部署模型的编排方法使用多进程执行并行函数。但是,对于当前毫秒级的函数执行延迟,进程的启动开销是不可忽视的,更糟糕的是,进程启动开销随并行度的增加不断变大,甚至超过启动新沙箱的延迟。此外,已有方法为并行的每个函数分配单独的CPU资源,忽略了函数运行时特征,导致了严重的计算资源浪费。
发明内容
针对上述现有技术存在的问题,本发明的目的在于提供了面向资源效率优化的服务器无感知计算工作流编排方法,该方法通过将同一个工作流的所有函数分区部署至多个沙箱中,且每个沙箱内的函数采用混合进线程的形式运行,可在保障用户指定的端到端延迟的同时,实现资源效率的最优分配。
为了实现上述目的,本发明采用了以下技术方案:
面向资源效率优化的服务器无感知计算工作流编排方法,包括以下步骤:
S1、用户端给定工作流的CPU分配资源总量和整体延迟要求;
S2、遍历工作流的每个阶段;
S3、调度器基于Kernighan-Lin图分割算法设计启发式算法,探索包括函数分区和混合进线程执行模式在内的最优编排策略,并使用预测器判断所得最优编排策略是否违反给定性能需求;
S4、自动生成编排代码,并部署至服务器无感知计算平台上的各个沙箱中。
优选地,所述步骤S3中,调度器基于Kernighan-Lin图分割算法设计启发式算法,探索每个阶段的工作流函数分区的最优编排策略,具体步骤为:首先,调度器将并行的多函数平均分配到给定的N个进程中,即将被分配的函数以多线程形式在同一进程中运行;然后,调度器在确保多进程的创建开销不超过网络通信延迟的基础上确定主沙箱中并行进程的最大数量,而其余沙箱中仅包含一个进程,以此作为初始分区情况;之后调度器使用Kernighan-Lin图分割算法不断更新每个进程所包含的函数直至预测延迟最小化,获得工作流函数分区的最优编排策略。
优选地,所述步骤S3中,调度器采用Kernighan-Lin图分割算法探索混合进线程执行模式的最优编排策略,具体步骤为:
所述步骤S3中,调度器基于Kernighan-Lin图分割算法设计启发式算法,探索每个阶段的混合进线程执行模式的最优编排策略,具体步骤为:保持每个进程包含的函数不变,调度器首先生成所有进程的两两组合,使用Kernighan-Lin图分割算法在任意两个进程间不断选择交换后延迟收益最大的函数组合进行交换,直至两个进程不能再产生正收益的函数交换组合,待所有组合遍历完成后,即可获得当前部署方案下的混合进线程执行模式的最优编排策略策略。
优选地,所述步骤S3中,使用预测器判断所得最优编排策略是否违反给定工作流的延迟需求,具体步骤为:预测器先使用白盒方法对工作流的端到端的延迟进行建模和预测,再根据延迟预测结果判断当前CPU分配下的最优编排策略是否违反给定工作流的延迟需求。
优选地,所述预测器先使用白盒方法对工作流的端到端的延迟进行建模和预测,具体步骤为:
由于工作流由多个阶段组成,而每个阶段包含一至多个函数,故工作流的总延迟Tworkflow,表示为n个阶段的延迟之和,具体采用下式(1)表示:
每个阶段的多个函数被部署至多个沙箱中,而在实际运行中,编排器所在的沙箱需要通过网络调用其余沙箱,因此,每个阶段的延迟取决于沙箱执行时间和调用延迟之和的最大值,具体采用下式(2)表示:
其中,表示第i个阶段的第k个沙箱内多函数执行的总延迟;TRPC表示通过网络调用其他沙箱的通信开销,设为常量;由于与多个沙箱进行并行通信时会遭遇软件栈开销,使用常数TINV建模线性模型,表示并行调用开销;
每个沙箱的延迟可表示最大函数运行时间和进程间通信时间之和,具体采用下式(3)表示:
其中,表示第i个阶段的第k个沙箱内的进程集合;/>表示第i个阶段的第k个沙箱内第j个进程的延迟;TIPC表示每次主进程与其他进程通信获取执行结果的开销,这里将TIPC设为常量;
每个进程的延迟包括等待其他进程创建完成的阻塞时间、启动时间以及内部多线程函数执行总时间三部分,具体采用下式(4)表示:
TBlock表示每个进程等待上个进程的时间,为常量;TStartup表示进程的启动时间;表示多线程的总执行时间;最后根据预测延迟结果判断所得最优编排策略是否违反给定性能需求,在产生所有阶段的编排方案且延迟之和满足给定性能需求时,调度器在不违反延迟约束的前提下为每个沙箱分配最大允许数量的进程,最终形成包含沙箱函数分区和混合进线程在内的完整编排方案。
优选地,所述步骤S4中,自动生成编排代码,并部署至服务器无感知计算平台上的各个沙箱中,具体步骤为:若判断所得最优编排策略不违反给定工作流的延迟需求,则调度器保持每个进程包含的函数不变,按照贪心算法为每个沙箱分配最大允许数量的进程,自动生成编排代码,并部署多函数至服务器无感知计算平台上的各个沙箱中。
本发明具备如下有益效果:
相比于现有技术,本发明提出了多对多的部署模型,即将同一个工作流的所有函数分区部署到多个沙箱中,同一沙箱内的函数使用混合进线程模型执行以平衡延迟和资源效率。本发明基于全局解释器锁的多线程切换原理和工作流结构设计了工作流的端到端延迟预测模型,以此为基础可以探索低延迟的混合进线程运行方案代替性能和资源效率低下的多进程运行方法。针对庞大的编排方案探索空间,本发明设计了基于图分割算法的启发式算法,在给定初始分区方案后,通过不断交换两两进程间的函数最大化性能收益,最终搜索到包括函数分区和混合进线程策略在内最优编排方案。在调度完成后,自动化生成编排代码并部署至服务器无感知计算平台上,不需要用户参与,有效降低了人工成本。在延迟预测精度上,本发明的预测器的预测误差仅为1.4%-14.2%。在资源分配方面,本发明在保持原有性能的基础上,降低了25.1%-43.4%的CPU资源分配以及22%-5倍的内存分配。在用户付费上,本发明相比已有方法实现了44.4%-95.4%的成本优化。在工作流的端到端延迟保障方面,本发明的延迟违反率相比现有方法进一步降低了88%。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的系统整体架构示意图;
图2为全局解释器锁的示例图;
图3为调度算法的示例图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。
为了优化服务器无感知计算工作流的端到端延迟,现有的系统基于多对一部署模型在同一个沙箱中运行工作流的所有函数。这种编排方案减少了函数冷启动的频率,并且使用高效的进程间通信代替网络通信传输中间数据,一定程度上提升工作流的端到端性能。但是随着并行函数数量的增加,为克服并行瓶颈而采用的多进程的创建开销也不断变大,甚至超过冷启动和网络通信开销。同时,已有方案忽略函数运行时特征而为每个并行函数分配单独的CPU资源,导致了不可忽视的资源浪费。
为了弥补现有解决方案的不足,实现高资源效率的目的,本发明提出了针对服务器无感知计算工作流的多对多部署编排方法。该编排方法的基本思想是,在满足工作流的性能需求的基础上,将函数分区并部署至多个沙箱中,并为每个沙箱内的多函数制定相应的混合进线程的执行模式。参照图1,面向资源效率优化的服务器无感知计算工作流编排方法,包括以下步骤:
S1、用户端给定工作流的CPU分配资源总量和整体延迟要求;
S2、遍历工作流的每个阶段;
S3、调度器基于Kernighan-Lin图分割算法设计启发式算法,探索包括函数分区和混合进线程执行模式在内的最优编排策略;并使用预测器判断所得最优编排策略是否违反给定性能需求;
S4、自动生成编排代码,并部署至各个沙箱中。最终,该工作流的请求被调度至相应沙箱进行处理。
本发明基于一对一请求处理模型设计,即每个沙箱同时只能处理一个请求。因此,本发明决策一次编排策略后,所有请求都按照该函数分区和混合进线程策略执行该工作流。每当新请求到来且没有空闲实例时,系统会按照已有策略启动部署对应多个函数的新沙箱进行处理。为应对函数特征的变化,本发明定期对所有函数重新进行离线刻画,继而重新探索新的编排策略。
其中,本发明提供的基于Kernighan-Lin图分割算法设计启发式算法,探索可满足给定工作流端到端延迟需求且资源效率最优的编排方案,包括工作流函数的分区以及每个分区内多函数的混合进线程运行模式。
采用调度器通过遍历分配不同数量CPU时的延迟确定编排方案。这里使用多进程的目的是为了并发使用多核CPU,故本发明可根据并行多进程的数量分配等量的CPU。因此,最理想的编排方案是所有函数都能以多线程的形式运行在一个进程里,而资源效率最低的方案是每个并行函数都运行在单独的进程中。调度器从一个进程开始,不断增加进程的数量直至探索到满足延迟要求的最少数量的进程数量。
具体地,由于计算资源可以在工作流中按次序执行的不同阶段间复用,对于给定的进程数量,调度器为每个阶段的所有函数(包括串行函数和并行函数)探索最低延迟的编排方案,最终加和所有阶段的预测延迟判断是否满足工作流延迟需求。
对于串行函数,使用本领域常规技术线程可以实现。
对于并行函数,调度器先确定每个沙箱内的初始进程数量,在此基础上不断更新每个进程所包含的函数至延迟最低,最后重新将每个进程分配至多个沙箱中。
首先,调度器将并行的多个函数平均分配到给定的N个进程中,即被分配的函数以多线程形式在同一进程中运行;接着,调度器在确保多进程的创建开销不超过网络通信延迟的基础上确定主沙箱中并行进程的最大数量,而其余沙箱中仅包含一个进程,以此作为初始分区情况;然后,调度器使用Kernighan-Lin图分割算法不断更新每个进程所包含的函数直至预测延迟最小化。
这里,采用Kernighan-Lin图分割算法的主要设计思想为:不断交换两个分区的元素直至最优分割。调度器首先生成所有进程的两两组合,对于任意的两个进程,不断选择交换后延迟收益最大的函数组合进行交换,直至两个进程不能再产生正收益的函数交换组合;待所有组合遍历完成后,即获得当前部署方案下最优的混合进线程策略。
对于上述图分割算法产生的混合进线程方案:首先,调度器保持每个进程包含的函数不变,使用贪心算法将进程分配至尽可能少的沙箱中;接着,在确保执行延迟与通信延迟之和不超过上述预测的最优阶段延迟的基础上,调度器会为每个沙箱分配最大数量的进程,最终形成包含沙箱函数分区和混合进线程在内的完整编排方案。因为进程的创建开销随并发度不断增加,因此进程数量越多不一定代表阶段的最终延迟更低,调度器为每个阶段记录最优的编排方案并不断更新。
最后,在产生所有阶段的编排方案且延迟之和满足需求时,依照所得编排方案部署多函数至服务器无感知计算平台上,否则增加进程的数量继续遍历。
本发明中,利用预测器采用白盒方法对工作流的端到端预测的总延迟进行建模和预测。由于工作流由多个阶段组成,而每个阶段包含一至多个函数。故工作流的总延迟Tworkflow,可表示为n个阶段的延迟之和,具体采用下式(1)表示:
每个阶段的多个函数被部署至多个沙箱中,而在实际运行中,编排器所在的沙箱需要通过网络调用其余沙箱,因此,每个阶段的延迟取决于沙箱执行时间和调用延迟之和的最大值,具体采用下式(2)表示:
其中,表示第i个阶段的第k个沙箱内多函数执行的总延迟;TRPC表示通过网络调用其他沙箱的通信开销,这里将其设为常量;由于与多个沙箱进行并行通信时会遭遇软件栈开销,这里使用常数TINV建模线性模型,表示并行调用开销;
每个沙箱的延迟可表示最大函数运行时间和进程间通信时间之和,具体采用下式(3)表示:
其中,表示第i个阶段的第k个沙箱内的进程集合;/>表示第i个阶段的第k个沙箱内第j个进程的延迟;TIPC表示每次主进程与其他进程通信获取执行结果的开销,这里将TIPC设为常量;
每个进程的延迟包括等待其他进程创建完成的阻塞时间、启动时间以及内部多线程函数执行总时间三部分,具体采用下式(4)表示:
TBlock表示每个进程等待上个进程的时间,这里TBlock为常量;TStartup表示进程的启动时间;表示多线程的总执行时间。最后根据预测延迟结果判断所得最优编排策略是否违反给定性能需求,在产生所有阶段的编排方案且延迟之和满足给定性能需求时,调度器在不违反延迟约束的前提下为每个沙箱分配最大允许数量的进程,最终形成包含沙箱函数分区和混合进线程在内的完整编排方案。
本发明基于全局解释器锁的切换原理阐述如何根据每个函数线程的运行时特征进行模拟预测,具体步骤为:
起始时第一个被创建的函数获取全局解释器锁,开始使用CPU执行函数代码。当其他线程被创建并等待一定时间(默认为5msec)后,该线程要求持有全局解释器锁的线程让出,此后由操作系统决定下个持有锁的线程,其余线程重新开始计时等待。本发明根据Lniux操作系统默认的完全公平调度器,每次选择除上次调度线程外总CPU时间最少的线程在接下来的时间持有锁。
全局解释器锁切换后,持有的函数开始执行,如果在超时时间内线程需要执行读写操作,或者函数执行完毕,该线程会主动让出锁。
之后重复该过程直至所有线程执行完毕。因此,根据每个函数的总执行时间以及执行过程中读写操作发生的时间,即可模拟得到多线程的总执行延迟。
考虑到通用性,本发明使用strace系统调用获取每个函数执行过程中涉及的所有系统调用和相应时间,并根据系统调用类型确定读写操作发生的时间。
实施例1
参照图2,本实施例阐述基于全局解释器锁(现有编程语言的范式)的切换原理根据每个函数线程的运行时特征进行模拟预测的一示例:
首先,最先创建的线程1获取全局解释器锁,之后开始使用CPU执行函数代码;延后被创建的线程2在等待一段时间后(5ms),线程2发出请求要求线程1让出锁。经操作系统调度,锁在下一阶段被线程2所得,线程3开始重新计时。在线程2执行过程中,需要执行IO操作,为避免阻塞过长时间,线程2立即放弃锁的持有权。线程3持有锁后,一直执行到线程1等待超时。虽然是线程1发出的请求,但是锁下阶段由哪个线程持有由操作系统决定。CPU时间最短的线程2获得锁后继续剩下的代码执行,完成后提前释放锁,之后线程3和线程1依次完成作业。根据示例,在获取包括总执行时间、IO操作发生的时间点和时长等在内的函数运行时信息后,再根据全局解释器锁的切换原理模拟计算出给定的多个函数以多线程形式执行的总延迟。
实施例2
参照图3,本实施例以一个最大并行度为100的工作流为例,描述基于Kernighan-Lin图分割的调度算法的执行过程:调度器从1个进程开始,不断增加进程的数量,直至探索到可以满足工作流延迟要求的编排方案才停止遍历。对于给定的进程数量,首先,调度器将函数平均分配到各个进程中形成初始分区;再者,基于Kernighan-Lin图分割算法在任意两个进程间不断交换函数直至多进程总延迟最低。对于将所有函数都运行在1个进程中的编排方案,预测器判断其1578毫秒的延迟将违反200毫秒的端到端延迟要求,所以继续遍历更多数量的进程,直至在17个进程的场景下,在图分割算法最优化每个进程内的函数分配后,调度器按照贪心算法,将多进程依次分配到最少数量的沙箱中并保障延迟约束不被违反。最终,17个进程被分配至4个沙箱中,包含的进程数量分别为6,9,1,1,最大延迟为197毫秒,满足200毫秒的性能约束,所以采纳为最终的编排方案。
调度完成后,本系统将为各个沙箱生成编排代码,除了负责启动多进程并在每个进程内以多线程形式运行各个函数外,沙箱1还需要负责与其他沙箱的通信。部署完成后,工作流的请求将被转发给沙箱1,在工作流的每个阶段,沙箱1除了执行本身的多进程外,也将请求或者中间数据通过网络转发给沙箱2-4并等待结果返回,即沙箱1需要扮演总编排器的角色。
本发明不局限于上述具体的实施方式,本领域的普通技术人员从上述构思出发,不经过创造性的劳动,所做出的种种变换,均落在本发明的保护范围之内。
Claims (4)
1.面向资源效率优化的服务器无感知计算工作流编排方法,其特征在于,包括以下步骤:
S1、用户端给定工作流的CPU分配资源总量和整体延迟要求;
S2、遍历工作流的每个阶段;
S3、调度器基于Kernighan-Lin图分割算法设计启发式算法,探索每个阶段的包括函数分区和混合进线程执行模式在内的最优编排策略,并使用预测器判断所得最优编排策略是否违反给定工作流的延迟需求,若不违反,则算法结束,进入步骤S4;否则增加CPU分配资源总量,从S1重新开始继续遍历;
S4、自动生成编排代码,并部署至服务器无感知计算平台上的各个沙箱中;
所述步骤S3中,调度器基于Kernighan-Lin图分割算法设计启发式算法,探索每个阶段的工作流函数分区的最优编排策略,具体步骤为:
首先,调度器将并行的多函数平均分配到给定的N个进程中,即将被分配的函数以多线程形式在同一进程中运行;然后,调度器在确保多进程的创建开销不超过网络通信延迟的基础上确定主沙箱中并行进程的最大数量,而其余沙箱中仅包含一个进程,以此作为初始分区情况;之后调度器使用 Kernighan-Lin 图分割算法不断更新每个进程所包含的函数直至预测延迟最小化,获得工作流函数分区的最优编排策略;
所述步骤S3中,调度器基于Kernighan-Lin图分割算法设计启发式算法,探索每个阶段的混合进线程执行模式的最优编排策略,具体步骤为:保持每个进程包含的函数不变,调度器首先生成所有进程的两两组合,使用Kernighan-Lin图分割算法在任意两个进程间不断选择交换后延迟收益最大的函数组合进行交换,直至两个进程不能再产生正收益的函数交换组合,待所有组合遍历完成后,获得当前部署方案下的混合进线程执行模式的最优编排策略策略。
2.根据权利要求1所述的面向资源效率优化的服务器无感知计算工作流编排方法,其特征在于,所述步骤S3中,使用预测器判断所得最优编排策略是否违反给定工作流的延迟需求,具体步骤为:预测器先使用白盒方法对工作流的端到端的延迟进行建模和预测,再根据延迟预测结果判断当前CPU分配下的最优编排策略是否违反给定工作流的延迟需求。
3.根据权利要求2所述的面向资源效率优化的服务器无感知计算工作流编排方法,其特征在于,所述预测器先使用白盒方法对工作流的端到端的延迟进行建模和预测,具体步骤为:
由于工作流由多个阶段组成,而每个阶段包含一至多个函数,故工作流的总延迟,表示为n个阶段的延迟之和,具体采用下式(1)表示:
(1)
每个阶段的多个函数被部署至多个沙箱中,而在实际运行中,编排器所在的沙箱需要通过网络调用其余沙箱,因此,每个阶段的延迟取决于沙箱执行时间和调用延迟之和的最大值,具体采用下式(2)表示:
(2)
其中,表示第i个阶段的第k个沙箱内多函数执行的总延迟;/>表示通过网络调用其他沙箱的通信开销,设为常量;由于与多个沙箱进行并行通信时会遭遇软件栈开销,使用常数/>建模线性模型,表示并行调用开销;
每个沙箱的延迟可表示最大函数运行时间和进程间通信时间之和,具体采用下式(3)表示:
(3)
其中,表示第i个阶段的第k个沙箱内的进程集合;/>表示第i个阶段的第k个沙箱内第j个进程的延迟;/>表示每次主进程与其他进程通信获取执行结果的开销,这里将设为常量;
每个进程的延迟包括等待其他进程创建完成的阻塞时间、启动时间以及内部多线程函数执行总时间三部分,具体采用下式(4)表示:
(4)
表示每个进程等待上个进程的时间,为常量;/>表示进程的启动时间;/>表示第i个阶段的第k个沙箱内第j个进程的总执行时间;最后根据预测延迟结果判断所得最优编排策略是否违反给定性能需求,在产生所有阶段的编排方案且延迟之和满足给定性能需求时,调度器在不违反延迟约束的前提下为每个沙箱分配最大允许数量的进程,最终形成包含沙箱函数分区和混合进线程在内的完整编排方案。
4.根据权利要求3所述的面向资源效率优化的服务器无感知计算工作流编排方法,其特征在于,所述步骤S4中,自动生成编排代码,并部署至服务器无感知计算平台上的各个沙箱中,具体步骤为:若判断所得最优编排策略不违反给定工作流的延迟需求,则调度器保持每个进程包含的函数不变,按照贪心算法为每个沙箱分配最大允许数量的进程,自动生成编排代码,并部署多函数至服务器无感知计算平台上的各个沙箱中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310369832.XA CN116401055B (zh) | 2023-04-07 | 2023-04-07 | 面向资源效率优化的服务器无感知计算工作流编排方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310369832.XA CN116401055B (zh) | 2023-04-07 | 2023-04-07 | 面向资源效率优化的服务器无感知计算工作流编排方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116401055A CN116401055A (zh) | 2023-07-07 |
CN116401055B true CN116401055B (zh) | 2023-10-03 |
Family
ID=87017503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310369832.XA Active CN116401055B (zh) | 2023-04-07 | 2023-04-07 | 面向资源效率优化的服务器无感知计算工作流编排方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116401055B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117519954A (zh) * | 2024-01-08 | 2024-02-06 | 北京大学 | 一种面向服务器无感知计算的多资源函数任务调度系统 |
CN117573374B (zh) * | 2024-01-15 | 2024-04-05 | 北京大学 | 一种服务器无感知资源配置的系统及方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597682A (zh) * | 2018-11-26 | 2019-04-09 | 华南理工大学 | 一种采用启发式编码策略的云计算工作流调度方法 |
CN112272231A (zh) * | 2020-10-23 | 2021-01-26 | 杭州卷积云科技有限公司 | 一种面向智能制造场景的边云协同服务编排方法 |
CN112380008A (zh) * | 2020-11-12 | 2021-02-19 | 天津理工大学 | 一种面向移动边缘计算应用的多用户细粒度任务卸载调度方法 |
CN113535409A (zh) * | 2021-08-10 | 2021-10-22 | 天津大学 | 一种面向能耗优化的无服务器计算资源分配系统 |
CN113918277A (zh) * | 2021-09-18 | 2022-01-11 | 浙江工业大学 | 一种面向数据中心的服务功能链优化编排方法和系统 |
CN114662932A (zh) * | 2022-03-24 | 2022-06-24 | 重庆邮电大学 | 一种节点分级的工作流类定时任务调度方法 |
CN115115329A (zh) * | 2022-05-20 | 2022-09-27 | 华南理工大学 | 一种面向智能生产线的制造中间件及云制造架构 |
CN115840638A (zh) * | 2022-10-14 | 2023-03-24 | 天津大学 | 一种基于资源碎片时空特征感知的函数填充模型及其方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7461125B2 (en) * | 2003-09-30 | 2008-12-02 | International Business Machines Corporation | Enterprise system having a smart distance among artifacts, and apparatus and method for providing the smart distance among the artifacts |
KR102585591B1 (ko) * | 2021-06-23 | 2023-10-10 | 한국과학기술원 | 이기종 프로세서 기반 엣지 시스템에서 slo 달성을 위한 인공지능 추론 스케쥴러 |
-
2023
- 2023-04-07 CN CN202310369832.XA patent/CN116401055B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597682A (zh) * | 2018-11-26 | 2019-04-09 | 华南理工大学 | 一种采用启发式编码策略的云计算工作流调度方法 |
CN112272231A (zh) * | 2020-10-23 | 2021-01-26 | 杭州卷积云科技有限公司 | 一种面向智能制造场景的边云协同服务编排方法 |
CN112380008A (zh) * | 2020-11-12 | 2021-02-19 | 天津理工大学 | 一种面向移动边缘计算应用的多用户细粒度任务卸载调度方法 |
CN113535409A (zh) * | 2021-08-10 | 2021-10-22 | 天津大学 | 一种面向能耗优化的无服务器计算资源分配系统 |
WO2023015788A1 (zh) * | 2021-08-10 | 2023-02-16 | 天津大学 | 一种面向能耗优化的无服务器计算资源分配系统 |
CN113918277A (zh) * | 2021-09-18 | 2022-01-11 | 浙江工业大学 | 一种面向数据中心的服务功能链优化编排方法和系统 |
CN114662932A (zh) * | 2022-03-24 | 2022-06-24 | 重庆邮电大学 | 一种节点分级的工作流类定时任务调度方法 |
CN115115329A (zh) * | 2022-05-20 | 2022-09-27 | 华南理工大学 | 一种面向智能生产线的制造中间件及云制造架构 |
CN115840638A (zh) * | 2022-10-14 | 2023-03-24 | 天津大学 | 一种基于资源碎片时空特征感知的函数填充模型及其方法 |
Non-Patent Citations (6)
Title |
---|
IT Help Desk Service Workflow Relationship with Process Mining;Jettada Sakchaikun;2018 16th International Conference on ICT and Knowledge Engineering (ICT&KE);全文 * |
基于Wine的Windows安全机制模拟及沙箱系统实现;刁铭智;周渊;李舟军;赵宇飞;;计算机科学(第11期);全文 * |
容器化安全服务功能链低延迟优化编排研究;徐玉伟;赵宝康;时向泉;苏金树;;信息网络安全(第07期);全文 * |
结合Backfilling和空闲资源调度的云工作流调度方法;谭海中;赵丽;;西南大学学报(自然科学版)(第06期);全文 * |
网络功能虚拟化技术研究综述;周伟林;杨芫;徐明伟;;计算机研究与发展(第04期);全文 * |
跨地域分布数据中心高成本效益的任务调度;赵来平;应用科学学报;第37卷(第6期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116401055A (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116401055B (zh) | 面向资源效率优化的服务器无感知计算工作流编排方法 | |
CN115248728B (zh) | 面向智能计算的分布式训练任务调度方法、系统和装置 | |
Guan et al. | Fixed-priority multiprocessor scheduling with liu and layland's utilization bound | |
CN103970580B (zh) | 一种面向多核集群的数据流编译优化方法 | |
US8612987B2 (en) | Prediction-based resource matching for grid environments | |
CN107038070B (zh) | 一种云环境下执行可靠性感知的并行任务调度方法 | |
CN113064712B (zh) | 基于云边环境的微服务优化部署控制方法、系统及集群 | |
CN102014159A (zh) | 一种云计算环境下的分层资源预留系统 | |
US9239736B2 (en) | System and method of providing a fixed time offset based dedicated co-allocation of a common resource set | |
CN106056294A (zh) | 一种基于任务概率聚簇和多约束工作流划分的混合云科学工作流调度策略 | |
CN110990154B (zh) | 一种大数据应用优化方法、装置及存储介质 | |
CN103970602A (zh) | 一种面向x86多核处理器的数据流程序调度方法 | |
CN112463349A (zh) | 一种高效调度gpu能力的负载均衡方法及系统 | |
CN111352727A (zh) | 一种应用于图像混合集群处理系统的图像处理方法 | |
Boeres et al. | Hybrid task scheduling: Integrating static and dynamic heuristics | |
CN112905317A (zh) | 快速可重构信号处理异构平台下任务调度方法和系统 | |
Tan et al. | Resource stealing: a resource multiplexing method for mix workloads in cloud system | |
CN116010064A (zh) | Dag作业调度和集群管理的方法、系统及装置 | |
Khalilzad et al. | A modular design space exploration framework for multiprocessor real-time systems | |
Wang et al. | A smart semipartitioned real-time scheduling strategy for mixed-criticality systems in 6G-based edge computing | |
CN117435324A (zh) | 基于容器化的任务调度方法 | |
Zhang et al. | Scheduling best-effort and real-time pipelined applications on time-shared clusters | |
Hung et al. | A dynamic scheduling method for collaborated cloud with thick clients. | |
Du et al. | A combined priority scheduling method for distributed machine learning | |
Zhang et al. | Cost-efficient and latency-aware workflow scheduling policy for container-based systems |
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 |