CN112148443B - 龙芯大数据一体机的任务优化调度方法及系统 - Google Patents
龙芯大数据一体机的任务优化调度方法及系统 Download PDFInfo
- Publication number
- CN112148443B CN112148443B CN202010909497.4A CN202010909497A CN112148443B CN 112148443 B CN112148443 B CN 112148443B CN 202010909497 A CN202010909497 A CN 202010909497A CN 112148443 B CN112148443 B CN 112148443B
- Authority
- CN
- China
- Prior art keywords
- task
- processed
- cpu
- individuals
- processing time
- 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 31
- 238000005457 optimization Methods 0.000 title claims abstract description 22
- 230000002068 genetic effect Effects 0.000 claims description 30
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000035772 mutation Effects 0.000 claims description 5
- 108091026890 Coding region Proteins 0.000 claims description 4
- 208000001613 Gambling Diseases 0.000 claims description 4
- 125000004122 cyclic group Chemical group 0.000 claims 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Devices For Executing Special Programs (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种龙芯大数据一体机的任务优化调度方法及系统,通过估算任务处理时间,结合CPU利用率,采用遗传算法对待处理任务队列进行任务的优化调度,不仅加快了龙芯大数据一体机多任务的处理速度,且有效提高了并行效率。
Description
技术领域
本发明涉及大数据处理技术领域,尤其涉及一种龙芯大数据一体机的任务优化调度方法及系统。
背景技术
大数据一体机作为一种边缘智能技术,是云计算的有效补充,能够显著减轻云计算中心的计算负载和通信代价。龙芯大数据一体机为采用龙芯3B处理器研制的国产大数据处理系统,其基本组成包括1个管理节点、5个计算节点和1个万兆交换机,处理速度峰值超过1.5万亿次/秒,能够实现大数据的传输、存储、处理和分析等功能。
负载均衡是大数据一体机实现高性能计算的关键技术,其核心为任务调度。由于龙芯为MIPS架构处理器,基于X86指令集开发封装的负载均衡系统无法移植到龙芯大数据一体机使用;Hadoop的负载均衡机制虽然为开源系统,但是主要是面向虚拟机的,且需要对硬盘等外设进行多次输入/输出操作。由于龙芯较Intel酷睿等处理器的性能有一定差距,虚拟机的采用降低了服务器性能,同时,频繁的输入/输出操作影响了龙芯大数据一体机对大数据的高效处理。因此,需要研发面向MIPS架构的龙芯大数据一体机任务调度方法。
相关的大数据处理任务调度方法主要包括:FIFO调度算法、LATE算法、计算能力调度算法和基于人工智能的优化调度算法等,这些算法主要根据计算节点性能、任务处理所需要的资源、任务优先级等,进行任务调度,以实现负载均衡,但上述算法均假设各任务的处理时间已知,实际应用中无法满足该前提条件;且虚拟机本身需要占用节点资源,不适用于龙芯大数据一体机系统。
发明内容
本发明的目的是提供一种龙芯大数据一体机的任务优化调度方法及系统,不仅加快了龙芯大数据一体机多任务的处理速度,且有效提高了并行效率。
本发明的目的是通过以下技术方案实现的:
一种龙芯大数据一体机的任务优化调度方法,包括:
读取各个待处理任务对应的源程序,通过MIPS编译器对每一源程序完成编译处理,生成可执行文件和汇编文件;
对每一汇编文件进行处理,获得相应源程序对应的指令总数,并结合读取到的计算节点CPU主频,估计相应待处理任务的处理时间;
根据读取到的各计算节点CPU的利用率、以及各待处理任务的处理时间,采用遗传算法获得使任务处理时间最短的任务调度方案;
根据获得的任务调度方案,将待处理任务对应的可执行文件分配至相应计算节点的CPU进行处理。
一种龙芯大数据一体机的任务优化调度系统,包括:
任务管理模块,用于读取各个待处理任务对应的源程序,通过MIPS编译器对每一源程序完成编译处理,生成可执行文件和汇编文件;
任务处理时间估算模块,用于对汇编文件进行处理,获得相应源程序对应的指令总数,并结合读取到的计算节点CPU主频,估计相应待处理任务的处理时间;
任务调度方案优化模块,用于根据读取到的各计算节点CPU的利用率、以及各待处理任务的处理时间,采用遗传算法获得使任务处理时间最短的任务调度方案;
任务分配模块,用于根据获得的任务调度方案,将待处理任务对应的可执行文件分配至相应计算节点的CPU进行处理。
由上述本发明提供的技术方案可以看出,通过估算任务处理时间,结合CPU利用率,采用遗传算法对待处理任务队列进行任务的优化调度,不仅加快了龙芯大数据一体机多任务的处理速度,且有效提高了并行效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种龙芯大数据一体机的任务优化调度方法的流程图;
图2为本发明实施例提供的并行效率比较结果图;
图3为本发明实施例提供的任务处理完成时间比较结果图;
图4为本发明实施例提供的一种龙芯大数据一体机的任务优化调度系统的示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
龙芯大数据一体机是采用自主可控龙芯3B处理器开发的边缘智能基础设施,对信息安全具有重要的意义。由于龙芯处理器采用MIPS架构,目前其性能较之Intel同类型处理器有较大差距。
针对龙芯处理器的MIPS架构及其特性,为了满足大数据处理的龙芯国产大数据一体机负载均衡要求,本发明实施例提供了一种龙芯大数据一体机的任务优化调度方法。任务处理时间估算具有挑战性,对任务优化调度实现负载均衡具有重要意义,本发明实施例中,通过MIPS编译器对任务队列各任务源程序进行编译后得到汇编文件,对汇编文件进行处理获得近似的任务指令数量,结合读取的各计算节点CPU主频,估算各任务所需要的处理时间,以解决任务处理时间难以获取的问题。之后,获取龙芯大数据一体机各计算节点的CPU数量和利用率,根据预估的各任务处理时间、CPU利用率,采用遗传算法对任务调度方案进行优化;从而根据所获得的优化调度方案,将任务队列中的待处理任务分配给各计算节点CPU处理;直至任务队列的所有任务处理完毕。该方法加快龙芯大数据一体机的任务处理速度,同时,也能够有效提高并行效率,实现负载均衡。
如图1所示,本发明实施例提供的上述方法主要包括如下步骤:
步骤11、读取各个待处理任务对应的源程序,通过MIPS编译器对每一源程序完成编译处理,生成可执行文件和汇编文件。
本发明实施例中,任务调度可以由龙芯大数据一体机中的管理节点实现,因此,以管理节点作为执行主体。
本发明实施例中,一个待处理任务对应一个源程序,将待处理任务的数目记为N。通过MIPS编译器对各个源程序完成编译处理,所述编译处理包括预处理、编译、汇编和链接过程,生成各任务对应的可执行文件与汇编文件;示例性的,可以是.s汇编文件。
步骤12、对每一汇编文件进行处理,获得相应源程序对应的指令总数,并结合读取到的计算节点CPU主频,估计相应待处理任务的处理时间。
本步骤主要包括如下三个步骤:
1)获取CPU信息。
本发明实施例中,可以通过万兆交换机与各计算节点PMON固件进行通信,经所述PMON固件读取各计算节点CPU的相关信息,例如,此步骤使用的CPU主频,以及后续步骤使用的CPU利用率等。龙芯大数据一体机各计算节点中CPU通常采用相同的型号,因此,CPU主频相同,记为C。
2)确定源程序对应的指令总数。
源程序对应的指令总数可通过下述方式得到:通过对所述.s汇编文件的字符识别,获取其中的main对应的字符串行数,所述的字符串行数约为汇编文件所对应源程序的指令数。
当然,为了获得较为准确的指令数,可以先判断所述汇编文件中包含的循环次数(本发明处理循环次数可确定的情况)所述循环次数由控制指令确定,即MIPS指令集中的跳转分支如beqz、bnez、beq、bne,以及比较指令如slt、slti、sltu、sltui。根据汇编文件中,表示控制指令的关键字和控制指令中的偏移量,对汇编文件main中是否存在循环进行判断;如果不存在循环,则将main对应的字符串行数作为源程序的指令总数;如果存在循环,则根据控制指令的操作数在循环体内计算结果判断循环次数,再根据循环体的行数和循环次数,计算源程序对应的指令总数。
本领域技术人员可以理解,汇编文件的main是程序的主函数,汇编文件中的关键字(例如,beqz等)用于表示控制指令,偏移量表示了控制指令中的操作数。
3)估计相应待处理任务的处理时间。
本发明实施例中,估计相应待处理任务的处理时间的公式为:
其中,i=1,2,…,N,N为待处理任务总数,ti表示估计的第i个待处理任务对应的处理时间,Isi第i个待处理任务对应源程序的指令总数,C为CPU主频,CPI表示平均的指令周期数。
步骤13、根据读取到的各计算节点CPU的利用率、以及各待处理任务的处理时间,采用遗传算法获得使任务处理时间最短的任务调度方案。
本发明实施例中,读取各计算节点CPU利用率和CPU数量M,每一所述计算节点中包含若干CPU;CPU利用率记为Pj,j=1,2,…,M。采用遗传算法进行任务调度方案优化,N≤M。
遗传算法中的个体采用二进制编码表示,如表1所示,个体的编码由待处理任务1编码至待处理任务N编码顺序组成,每一待处理任务对应一个CPU。
待处理任务1 | 待处理任务2 | 待处理任务3 | ...... | 待处理任务N |
CPU 1 | CPU 2 | CPU 3 | ...... | CPU N |
表1个体编码
表1所示的个体编码为初始的任务调度方案,本发明通过遗传算法得到使任务处理时间最短的任务调度方案,也即得到了优化后的各个待处理任务与CPU之间的对应关系(即优化后的个体编码)。
各待处理任务的编码长度均相同,编码长度l由下式确定:
其中,Mod为取余数函数,Int为取整函数,个体编码长度为N×l。
个体的适应度函数为:
其中,个体g=1,2,…,G,G为个体总数;pi为第i个CPU的利用率。
遗传算法首先对个体进行初始化,即随机生成K个个体的二进制编码,K为初始个体数目,其数值由用户确定,根据公式1-3计算各个个体的适应度值,以个体适应度值成正比的概率确定每个个体遗传到下一代的机会多少,具体来说,可以通过赌轮选择的方式,结合各个个体适应度值确定各个个体遗传至下一代的概率,从而选出一系列个体,然后对所选择的个体进行交叉与变异操作,确定下一代的个体,循环上述操作(即计算适应度值→选择个体→交叉与变异操作),直至遗传算法收敛,最终得到一个最优的个体的二进制编码,并作为使任务处理时间最短的任务调度方案。此处的阈值可由用户根据实际情况或者经验自行设定,本发明不做限定。
赌轮选择方式如下:1)计算所有个体适应度总和;2)根据个体适应度总和计算各个个体的相对应适应度(也即遗传概率);3)基于遗传概率产生0~1之间的随机数来确定各个个体被选中的次数。
步骤14、根据获得的任务调度方案,将待处理任务对应的可执行文件分配至相应计算节点的CPU进行处理。
步骤15、接收计算节点CPU反馈的任务处理结果,等待分配下一个任务。
每一次任务分配之前都需要执行前述步骤11~步骤14,也即,对于每一批待处理任务,都需要重新估计处理时间,并结合相应时刻的CPU利用率,计算使任务处理时间最短的任务调度方案,再进行分配。
步骤16、将任务处理结果存储至本地数据库,供用户查询。
为了验证本发明上述方法的有效性,分别采用典型的负载均衡算法:FIFO调度算法、计算能力调度算法(capacity scheduling)和本发明上述方法(our method)进行比较,假设任务队列中任务数为10个(即,N=10),评价指标为并行效率,实验结果如图2所示。
进一步,分别采用典型的负载均衡算法:FIFO调度算法、计算能力调度算法(capacity scheduling)和本发明方法(our method)进行比较,任务队列中任务数为10个,评价指标为任务处理完成时间,实验结果如图3所示。
实验结果显示,本方法较典型的负载均衡算法,不仅能够实现对多任务的快速处理,且具有良好的并行效率,从而为国产大数据一体机提供了有效的高效处理和负载均衡工具。
本发明另一实施例还提供一种龙芯大数据一体机的任务优化调度系统,该系统主要用于实现前述实施例提供的方法,如图4所示,其主要包括:
任务管理模块,用于读取各个待处理任务对应的源程序,通过MIPS编译器对每一源程序完成编译处理,生成可执行文件和汇编文件;
任务处理时间估算模块,用于对汇编文件进行处理,获得相应源程序对应的指令总数,并结合读取到的计算节点CPU主频,估计相应待处理任务的处理时间;
任务调度方案优化模块,用于根据读取到的各计算节点CPU的利用率、以及各待处理任务的处理时间,采用遗传算法获得使任务处理时间最短的任务调度方案;
任务分配模块,用于根据获得的任务调度方案,将待处理任务对应的可执行文件分配至相应计算节点的CPU进行处理。
本发明实施例中,估计相应待处理任务的处理时间的公式为:
其中,i=1,2,…,N,N为待处理任务总数,ti表示估计的第i个待处理任务对应的处理时间,Isi第i个待处理任务对应源程序的指令总数,C为CPU主频,CPI表示平均的指令周期数。
本发明实施例中,对汇编文件进行处理,获得相应源程序对应的指令总数的方式包括:
根据汇编文件中,表示控制指令的关键字和控制指令中的偏移量,对汇编文件main中是否存在循环进行判断;
如果不存在循环,则获取汇编文件中的main对应的字符串行数,将字符串行数作为源程序的指令总数;
如果存在循环,则根据控制指令的操作数在循环体内计算结果判断循环次数,再根据循环体的行数和循环次数,计算源程序对应的指令总数。
本发明实施例中,所述根据读取到的各计算节点CPU的利用率、以及各待处理任务的处理时间,采用遗传算法获得使任务处理时间最短的任务调度方案包括:
读取各计算节点CPU利用率和CPU数量M,每一所述计算节点中包含若干CPU;CPU利用率记为Pj,j=1,2,…,M;
采用遗传算法进行任务调度方案优化,N≤M;其中,N为待处理任务总数;
遗传算法的个体编码采用二进制编码,个体编码由待处理任务1编码至待处理任务N编码顺序组成,各待处理任务的编码长度均相同,编码长度l由下式确定:
其中,Mod为取余数函数,Int为取整函数,个体编码长度为N×l;
个体的适应度函数为:
其中,个体g=1,2,…,G,G为个体总数;pi为第i个CPU的利用率。
遗传算法首先对个体进行初始化,即随机生成K个个体的二进制编码,K为初始个体数目,其数值由用户确定,根据公式1-3计算各个个体的适应度值,以个体适应度值成正比的概率确定每个个体遗传到下一代的机会多少,具体来说,可以通过赌轮选择的方式,确定各个个体遗传至下一代的概率,从而选出一系列个体,然后对所选择的个体进行交叉与变异操作,确定下一代的个体,循环上述操作,直至遗传算法收敛,最终得到一个最优的个体的二进制编码,并作为使任务处理时间最短的任务调度方案。
本发明实施例中,该系统还包括:
计算结果回传模块,用于接收并回传计算节点CPU反馈的任务处理结果;
处理结果管理模块,用于将任务处理结果存储至本地数据库。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (8)
1.一种龙芯大数据一体机的任务优化调度方法,其特征在于,包括:
读取各个待处理任务对应的源程序,通过MIPS编译器对每一源程序完成编译处理,生成可执行文件和汇编文件;
对每一汇编文件进行处理,获得相应源程序对应的指令总数,并结合读取到的计算节点CPU主频,估计相应待处理任务的处理时间;
根据读取到的各计算节点CPU的利用率、以及各待处理任务的处理时间,采用遗传算法获得使任务处理时间最短的任务调度方案;
根据获得的任务调度方案,将待处理任务对应的可执行文件分配至相应计算节点的CPU进行处理;
其中,所述根据读取到的各计算节点CPU的利用率、以及各待处理任务的处理时间,采用遗传算法获得使任务处理时间最短的任务调度方案包括:
读取各计算节点CPU利用率和CPU数量M,每一所述计算节点中包含若干CPU;CPU利用率记为Pj,j=1,2,…,M;
采用遗传算法进行任务调度方案优化,N≤M;其中,N为待处理任务总数;
遗传算法中的个体采用二进制编码表示,个体的编码由待处理任务1编码至待处理任务N编码顺序组成,每一待处理任务对应一个CPU;各待处理任务的编码长度均相同,编码长度l由下式确定:
其中,Mod为取余数函数,Int为取整函数,个体编码长度为N×l;
个体的适应度函数为:
其中,个体g=1,2,…,G,G为个体总数;pi为第i个待处理任务对应的CPU的利用率;
遗传算法首先对个体进行初始化,即随机生成K个个体的二进制编码,K为初始个体数目,其数值由用户确定,根据个体的适应度函数公式计算各个个体的适应度值,通过赌轮选择的方式,结合每一个体适应度值确定每一个体遗传至下一代的概率,从而选出一系列个体,然后对所选择的个体进行交叉与变异操作,确定下一代的个体,循环操作,直至遗传算法收敛,最终得到一个最优的个体的二进制编码,并作为使任务处理时间最短的任务调度方案。
2.根据权利要求1所述的一种龙芯大数据一体机的任务优化调度方法,其特征在于,估计相应待处理任务的处理时间的公式为:
其中,i=1,2,…,N,N为待处理任务总数,ti表示估计的第i个待处理任务对应的处理时间,Isi第i个待处理任务对应源程序的指令总数,C为CPU主频,CPI表示平均的指令周期数。
3.根据权利要求1或2所述的一种龙芯大数据一体机的任务优化调度方法,其特征在于,对汇编文件进行处理,获得相应源程序对应的指令总数的方式包括:
根据汇编文件中,表示控制指令的关键字和控制指令中的偏移量,对汇编文件main中是否存在循环进行判断;
如果不存在循环,则获取汇编文件中的main对应的字符串行数,将字符串行数作为源程序的指令总数;
如果存在循环,则根据控制指令的操作数在循环体内计算结果判断循环次数,再根据循环体的行数和循环次数,计算源程序对应的指令总数。
4.根据权利要求1所述的一种龙芯大数据一体机的任务优化调度方法,其特征在于,所述方法还包括:接收计算节点CPU反馈的任务处理结果,并存储至本地数据库。
5.一种龙芯大数据一体机的任务优化调度系统,其特征在于,包括:
任务管理模块,用于读取各个待处理任务对应的源程序,通过MIPS编译器对每一源程序完成编译处理,生成可执行文件和汇编文件;
任务处理时间估算模块,用于对汇编文件进行处理,获得相应源程序对应的指令总数,并结合读取到的计算节点CPU主频,估计相应待处理任务的处理时间;
任务调度方案优化模块,用于根据读取到的各计算节点CPU的利用率、以及各待处理任务的处理时间,采用遗传算法获得使任务处理时间最短的任务调度方案;
任务分配模块,用于根据获得的任务调度方案,将待处理任务对应的可执行文件分配至相应计算节点的CPU进行处理;
其中,所述根据读取到的各计算节点CPU的利用率、以及各待处理任务的处理时间,采用遗传算法获得使任务处理时间最短的任务调度方案包括:
读取各计算节点CPU利用率和CPU数量M,每一所述计算节点中包含若干CPU;CPU利用率记为Pj,j=1,2,…,M;
采用遗传算法进行任务调度方案优化,N≤M;其中,N为待处理任务总数;
遗传算法中的个体采用二进制编码表示,个体的编码由待处理任务1编码至待处理任务N编码顺序组成,每一待处理任务对应一个CPU;各待处理任务的编码长度均相同,编码长度l由下式确定:
其中,Mod为取余数函数,Int为取整函数,个体编码长度为N×l;
个体的适应度函数为:
其中,个体g=1,2,…,G,G为个体总数;pi为第i个待处理任务对应的CPU的利用率;
遗传算法首先对个体进行初始化,即随机生成K个个体的二进制编码,K为初始个体数目,其数值由用户确定,根据个体的适应度函数公式计算各个个体的适应度值,通过赌轮选择的方式,结合每一个体适应度值确定每一个体遗传至下一代的概率,从而选出一系列个体,然后对所选择的个体进行交叉与变异操作,确定下一代的个体,循环操作,直至遗传算法收敛,最终得到一个最优的个体的二进制编码,并作为使任务处理时间最短的任务调度方案。
6.根据权利要求5所述的一种龙芯大数据一体机的任务优化调度系统,其特征在于,估计相应待处理任务的处理时间的公式为:
其中,i=1,2,…,N,N为待处理任务总数,ti表示估计的第i个待处理任务对应的处理时间,Isi第i个待处理任务对应源程序的指令总数,C为CPU主频,CPI表示平均的指令周期数。
7.根据权利要求5或6所述的一种龙芯大数据一体机的任务优化调度系统,其特征在于,对汇编文件进行处理,获得相应源程序对应的指令总数的方式包括:
根据汇编文件中,表示控制指令的关键字和控制指令中的偏移量,对汇编文件main中是否存在循环进行判断;
如果不存在循环,则获取汇编文件中的main对应的字符串行数,将字符串行数作为源程序的指令总数;
如果存在循环,则根据控制指令的操作数在循环体内计算结果判断循环次数,再根据循环体的行数和循环次数,计算源程序对应的指令总数。
8.根据权利要求5所述的一种龙芯大数据一体机的任务优化调度系统,其特征在于,所述系统还包括:
计算结果回传模块,用于接收并回传计算节点CPU反馈的任务处理结果;
处理结果管理模块,用于将任务处理结果存储至本地数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010909497.4A CN112148443B (zh) | 2020-09-02 | 2020-09-02 | 龙芯大数据一体机的任务优化调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010909497.4A CN112148443B (zh) | 2020-09-02 | 2020-09-02 | 龙芯大数据一体机的任务优化调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112148443A CN112148443A (zh) | 2020-12-29 |
CN112148443B true CN112148443B (zh) | 2024-06-04 |
Family
ID=73891017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010909497.4A Active CN112148443B (zh) | 2020-09-02 | 2020-09-02 | 龙芯大数据一体机的任务优化调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112148443B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704255A (zh) * | 2016-04-29 | 2016-06-22 | 浙江理工大学 | 一种基于遗传算法的服务器负载均衡方法 |
WO2016165392A1 (zh) * | 2015-04-17 | 2016-10-20 | 华南理工大学 | 一种基于遗传算法的云计算资源调度方法 |
CN107273209A (zh) * | 2017-06-09 | 2017-10-20 | 北京工业大学 | 基于最小生成树聚类改进遗传算法的Hadoop任务调度方法 |
CN107609650A (zh) * | 2017-09-20 | 2018-01-19 | 河南理工大学 | 基于时间负载均衡的粒子遗传算法优化方法、装置及系统 |
-
2020
- 2020-09-02 CN CN202010909497.4A patent/CN112148443B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016165392A1 (zh) * | 2015-04-17 | 2016-10-20 | 华南理工大学 | 一种基于遗传算法的云计算资源调度方法 |
CN105704255A (zh) * | 2016-04-29 | 2016-06-22 | 浙江理工大学 | 一种基于遗传算法的服务器负载均衡方法 |
CN107273209A (zh) * | 2017-06-09 | 2017-10-20 | 北京工业大学 | 基于最小生成树聚类改进遗传算法的Hadoop任务调度方法 |
CN107609650A (zh) * | 2017-09-20 | 2018-01-19 | 河南理工大学 | 基于时间负载均衡的粒子遗传算法优化方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
A Hybrid Load balancing Strategy of Sequential Tasks for Computational Grids;Yajun Li等;《2009 International Conference on Networking and Digital Society》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112148443A (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9715408B2 (en) | Data-aware workload scheduling and execution in heterogeneous environments | |
Liu et al. | Deadline‐constrained coevolutionary genetic algorithm for scientific workflow scheduling in cloud computing | |
JP4781089B2 (ja) | タスク割り当て方法およびタスク割り当て装置 | |
Sheikhalishahi et al. | A multi-dimensional job scheduling | |
Zhang et al. | An effective data locality aware task scheduling method for MapReduce framework in heterogeneous environments | |
CN112416585B (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
US20130117752A1 (en) | Heuristics-based scheduling for data analytics | |
CN103069389A (zh) | 混合计算环境中的高吞吐量计算 | |
CN103069390A (zh) | 在混合计算环境中重新调度工作量 | |
Wu et al. | Optimizing the performance of big data workflows in multi-cloud environments under budget constraint | |
US20070094214A1 (en) | Parallelization of bayesian network structure learning | |
Franke et al. | Development of scheduling strategies with genetic fuzzy systems | |
Shirvani | A novel discrete grey wolf optimizer for scientific workflow scheduling in heterogeneous cloud computing platforms | |
Cheon et al. | ARED: automata-based runtime estimation for distributed systems using deep learning | |
CN112148443B (zh) | 龙芯大数据一体机的任务优化调度方法及系统 | |
CN114968603B (zh) | 一种支持多档负载平衡的容量检测方法及装置 | |
Dietze et al. | The search‐based scheduling algorithm HP* for parallel tasks on heterogeneous platforms | |
CN106874215B (zh) | 一种基于Spark算子的序列化存储优化方法 | |
Tang et al. | A network load perception based task scheduler for parallel distributed data processing systems | |
WO2011103587A9 (en) | Superscalar control for a probability computer | |
Lin et al. | Runtime estimation and scheduling on parallel processing supercomputers via instance-based learning and swarm intelligence | |
Tong et al. | An efficient dynamic load balancing scheme for heterogenous processing system | |
Denker et al. | Practically trivial parallel data processing in a neuroscience laboratory | |
US7870081B2 (en) | Parallelization of bayesian network structure learning | |
Pawiński et al. | An efficient solution of the resource constrained project scheduling problem based on an adaptation of the developmental genetic programming |
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 |