CN104090747B - 利用实时调度优化器对Linux智能终端进行优化的方法 - Google Patents
利用实时调度优化器对Linux智能终端进行优化的方法 Download PDFInfo
- Publication number
- CN104090747B CN104090747B CN201410229284.1A CN201410229284A CN104090747B CN 104090747 B CN104090747 B CN 104090747B CN 201410229284 A CN201410229284 A CN 201410229284A CN 104090747 B CN104090747 B CN 104090747B
- Authority
- CN
- China
- Prior art keywords
- real
- kernel
- intelligent terminals
- information
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000008569 process Effects 0.000 claims abstract description 52
- 238000005457 optimization Methods 0.000 claims abstract description 21
- 230000004048 modification Effects 0.000 claims abstract description 5
- 238000012986 modification Methods 0.000 claims abstract description 5
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 4
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种利用实时调度优化器对Linux智能终端进行优化的方法,包括实时调度优化器通过其上的网卡,获取远程Linux智能终端的进程信息、硬件平台信息和内核源码信息,并且将这些信息传给优化模块进行处理;优化模块根据已有的知识库,分析识别出相互独立的进程组,并且根据这些进程组信息修改该内核源码,使得这些相互独立的进程组运行在不同的Core上;以及修改完成后,将更新后的内核重新上传到远程的Linux智能终端上,并完成其重新启动工作使得新的内核生效。通过采用上述方案其可以远程自动对Linux智能终端的实时调度进行优化。
Description
技术领域
本发明涉及Linux服务器优化调度领域,具体涉及一种利用实时调度优化器对Linux智能终端进行优化的方法。
背景技术
未来多核平台是必然的趋势,智能终端,特别是手机,所安装的大量应用都是相互独立的,大量的实时应用开始部署在智能终端上,这对Linux的实时调度提出了更高的要求。目前,Linux实时调度算法是用时间片轮转(RR,ROUND ROBIN)外加负载均衡实现实时进程的调度,利用时间片轮转外加负载均衡对实时进程的调度方法存在没有考虑到任务相关性的缺陷。以机载Linux服务器为例,在导航的同时,将飞机的状态信息定时发回给地面指挥部,设此时硬件平台是双核CPU。其中,飞机导航至少完成如下功能:
a、从GPS定位设备的获取当前位置点;
b、与mysql数据交互,获得当前所在区域的路线;
c、通过将当前位置点和路线输入到飞行控制进程中,控制进程根据该输入控制飞机的飞行。
也就是说:飞机导航应用至少由三个进程构成,亦即:GPS定位进程、Mysql数据库进程和飞行控制进程。这三个进程和飞机状态信息发送进程不相关。但这三个进程相互之间有依赖关系。那么,此时有可能导致这样的问题发生:设飞行控制进程在Core0上运行,GPS定位进程和MySql数据库进程运行在Core1上,此时,飞机状态信息发送进程启动,此时Linux会通过负载平衡,将飞机状态信息发送进程启动放到Core0上运行,严重干扰了飞行控制进程。上述问题的产生是因为现有Linux实时调度算法没有考虑实时进程之间的依赖关系。
此外,现有实时进程调度的调优一般是要求调优者具有相当高的专业素质,一般用户难以对实时进程进行调优。
发明内容
本发明的目的在于提供一种利用实时调度优化器对Linux智能终端进行优化的方法,其可以远程自动对Linux服务器的实时调度进行优化。
为实现上述目的,本发明采用如下技术方案进行实施:
一种利用实时调度优化器对Linux智能终端进行优化的方法,具体操作如下:
S1:首先实时调度优化器通过其上的网卡,获取远程Linux智能终端的进程信息、硬件平台信息和内核源码信息,并且将这些信息传给优化模块进行处理;
S2:优化模块根据已有的知识库,分析识别出相互独立的进程组,并且根据这些进程组信息修改该内核源码,使得这些相互独立的进程组运行在不同的Core上;
S3:修改完成后,将更新后的内核重新上传到远程的Linux智能终端上,并完成其重新启动工作使得新的内核生效。
具体的方案为:
实时调度优化器包括知识库、输入输出模块和内核实时调度器;
优化模块收到远程Linux智能终端的进程信息、硬件平台信息和内核源码信息后,将进程的信息和知识库中存放的模式信息进行匹配;如果匹配成功,那么就根据硬件平台的核数,生成能够让这些相互独立的实时进程组放在不同的核上运行的控制程序,同时对内核实时调度器进行定制;
将生成的控制程序上传到远程的Linux智能终端上,最终完成实时调度的优化。
内核实时调度器进行定制的方法具体如下:
根据内核源码版本信息,在知识库中寻找预先实现的补丁,该补丁完成的功能是:在sys_execv函数处预先埋入“钩子”(hook),一旦发现所关心的那些进程被载入,立刻将其放入指定的CORE上运行;并且,对于一个实时进程组内部各个进程的调度采用WRR的方法进行调度。
采用上述方法对Linux智能终端进行优化存在如下优点:
1、使用专家知识库全自动完成优化,能够让普通用户也能对调度器进行优化,从而节省了优化成本和时间;
2、可以避免相互独立的实时进程相互干扰,并能够减少实时进程的切换次数,从而提高了系统的实时性。
附图说明
图1为实时调度优化器与Linux智能终端连接示意图;
图2为实时调度优化器的结构示意图。
具体实施方式
为了使本发明的目的及优点更加清楚明白,以下结合实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在很多Linux服务器系统中,常常会出现两组或多组以上互不相关的实时进程组调度的情况,此时,需要Linux系统能够确保这些实时进程组能够互不干扰,顺利完成任务。为此本发明采取如图1所示的技术方案进行实施,利用实时调度优化器对Linux智能终端进行优化,具体操作如下:
首先实时调度优化器通过其上的网卡,获取远程Linux智能终端的进程信息、硬件平台信息和内核源码信息,并且将这些信息传给优化模块进行处理;
优化模块根据已有的知识库,分析识别出相互独立的进程组,并且根据这些进程组信息修改该内核源码,使得这些相互独立的进程组运行在不同的Core上;
修改完成后,将更新后的内核重新上传到远程的Linux智能终端上,并完成其重新启动工作使得新的内核生效。
更为具体的操作为:实时调度优化器包括知识库11、输入输出模块12和内核实时调度器13,如图2所示。
优化模块首先通过输入输出模块12其上的网卡,获取远程Linux智能终端的进程信息、硬件平台信息和内核源码信息,并且将这些信息传给优化模块进行处理。
优化模块收到上述信息后,将进程的信息和知识库11中存放的模式信息进行匹配。如果匹配成功,那么就根据硬件平台的核数,生成能够让这些相互独立的实时进程组放在不同的核上运行的控制程序。需要指出的是,由于控制程序需要内核提供特定的支持,所以优化处理模块还需同时对内核实时调度器13进行定制。
内核实时调度器13定制方法如下:
根据内核源码版本信息,在知识库11中寻找预先实现的补丁(不同的内核版本中,补丁是不一样的)。该补丁完成的功能是:在sys_execv函数处预先埋入“钩子”(hook),一旦发现所关心的那些进程被载入,立刻将其放入指定的CORE上运行。并且,对于一个实时进程组内部各个进程的调度采用WRR(weighted round robin)的方法进行调度。这是因为虽然在同一个实时进程组中,每个进程的重要性是不同的。即WRR会给重要性高的进程分配更多的时间片。
将生成的控制程序和更新后的内核上传到远程的Linux智能终端上,最终完成实时调度的优化。
总之,本发明提供的上述方法,使用专家知识库11全自动完成优化,能够让普通用户也能对调度器进行优化,从而节省了优化成本和时间;可以避免相互独立的实时进程相互干扰,并能够减少实时进程的切换次数,从而提高了系统的实时性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (2)
1.一种利用实时调度优化器对Linux智能终端进行优化的方法,具体操作如下:
S1:首先实时调度优化器通过其上的网卡,获取远程Linux智能终端的进程信息、硬件平台信息和内核源码信息,并且将这些信息传给优化模块进行处理;
S2:优化模块根据已有的知识库,分析识别出相互独立的进程组,并且根据这些进程组信息修改该内核源码,使得这些相互独立的进程组运行在不同的Core上;
其中,实时调度优化器包括知识库、输入输出模块和内核实时调度器;
优化模块收到远程Linux智能终端的进程信息、硬件平台信息和内核源码信息后,将进程的信息和知识库中存放的模式信息进行匹配;如果匹配成功,那么就根据硬件平台的核数,生成能够让这些相互独立的实时进程组放在不同的核上运行的控制程序,同时对内核实时调度器进行定制;
S3:修改完成后,将生成的控制程序和更新后的内核重新上传到远程的Linux智能终端上,并完成其重新启动工作使得新的内核生效。
2.如权利要求1所述的利用实时调度优化器对Linux智能终端进行优化的方法,其特征在于,内核实时调度器进行定制的方法具体如下:
根据内核源码版本信息,在知识库中寻找预先实现的补丁,该补丁完成的功能是:在sys_execv函数处预先埋入“钩子”(hook),一旦发现所关心的那些进程被载入,立刻将其放入指定的CORE上运行;并且,对于一个实时进程组内部各个进程的调度采用WRR的方法进行调度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410229284.1A CN104090747B (zh) | 2014-05-22 | 2014-05-22 | 利用实时调度优化器对Linux智能终端进行优化的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410229284.1A CN104090747B (zh) | 2014-05-22 | 2014-05-22 | 利用实时调度优化器对Linux智能终端进行优化的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104090747A CN104090747A (zh) | 2014-10-08 |
CN104090747B true CN104090747B (zh) | 2018-08-21 |
Family
ID=51638466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410229284.1A Expired - Fee Related CN104090747B (zh) | 2014-05-22 | 2014-05-22 | 利用实时调度优化器对Linux智能终端进行优化的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104090747B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775975B (zh) * | 2016-12-08 | 2020-02-14 | 青岛海信移动通信技术股份有限公司 | 进程调度方法及装置 |
US10430245B2 (en) | 2017-03-27 | 2019-10-01 | Hong Kong Applied Science And Technology Research Institute Co., Ltd. | Systems and methods for dynamic low latency optimization |
CN110990330B (zh) * | 2019-12-02 | 2023-07-18 | 中国科学院光电技术研究所 | 一种基于通用平台的多层共轭自适应光学的实时控制器 |
CN112579150B (zh) * | 2020-12-29 | 2023-10-20 | 中标软件有限公司 | 支持多cpu架构的增强系统实时性的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1818875A (zh) * | 2006-03-16 | 2006-08-16 | 浙江大学 | 嵌入式操作系统分组硬实时任务调度的实现方法 |
CN101013388A (zh) * | 2007-01-26 | 2007-08-08 | 浙江大学 | 面向异构多核体系的进程调度方法 |
CN101226487A (zh) * | 2008-01-30 | 2008-07-23 | 中国船舶重工集团公司第七〇九研究所 | 基于嵌入式Linux操作系统的内核级线程库的实现方法 |
CN101390056A (zh) * | 2005-08-08 | 2009-03-18 | 国际商业机器公司 | 应用系统智能优化器 |
CN101894045A (zh) * | 2010-06-18 | 2010-11-24 | 阳坚 | 一种实时Linux操作系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050246461A1 (en) * | 2004-04-29 | 2005-11-03 | International Business Machines Corporation | Scheduling threads in a multi-processor computer |
-
2014
- 2014-05-22 CN CN201410229284.1A patent/CN104090747B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101390056A (zh) * | 2005-08-08 | 2009-03-18 | 国际商业机器公司 | 应用系统智能优化器 |
CN1818875A (zh) * | 2006-03-16 | 2006-08-16 | 浙江大学 | 嵌入式操作系统分组硬实时任务调度的实现方法 |
CN101013388A (zh) * | 2007-01-26 | 2007-08-08 | 浙江大学 | 面向异构多核体系的进程调度方法 |
CN101226487A (zh) * | 2008-01-30 | 2008-07-23 | 中国船舶重工集团公司第七〇九研究所 | 基于嵌入式Linux操作系统的内核级线程库的实现方法 |
CN101894045A (zh) * | 2010-06-18 | 2010-11-24 | 阳坚 | 一种实时Linux操作系统 |
Non-Patent Citations (4)
Title |
---|
Embedded optimization (2) Starvation free real time;NEC;《http://elinux.org/images/b/bd/WRR-celinux-upload.pdf》;20021129;第1-15页 * |
基于LINUX的实时语音雷达同步记录仪;郭韬;《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》;20070215(第02期);第22-23,36-40页 * |
基于多核的进程调度算法研究;王军锋;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130215(第02期);第15-16,27-29页 * |
嵌入式Linux中调度算法的实现及优化;钟汉如等;《计算机工程与科学》;20020630;第24卷(第3期);第5-7,21页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104090747A (zh) | 2014-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105117289B (zh) | 基于云测试平台的任务分配方法、装置及系统 | |
CN104090747B (zh) | 利用实时调度优化器对Linux智能终端进行优化的方法 | |
CN108388988B (zh) | 基于区块链的协同办公方法、系统及计算机可读存储介质 | |
CN102135901B (zh) | 带有动态数量工作者的并行查询引擎 | |
CN105007623B (zh) | 一种室分系统定位方法及装置 | |
CN112988362B (zh) | 一种任务处理方法、装置、电子设备及存储介质 | |
CN108255585B (zh) | Sdk异常控制及应用程序运行方法、装置及其设备 | |
RU2010139459A (ru) | Агрегирование повторяющихся планов для оптимизации потребления ресурсов | |
CN103873587B (zh) | 一种基于云平台实现调度的方法及装置 | |
CN106648831B (zh) | 基于萤火虫算法和动态优先级的云工作流调度方法 | |
CN105955748B (zh) | 应用程序的返回场景处理方法及装置 | |
CN103235835A (zh) | 用于数据库集群的查询实现方法和装置 | |
CN107479898B (zh) | 一种基于移动平台的三维虚拟地球的系统架构 | |
CN110012062B (zh) | 一种多机房任务调度方法、装置及存储介质 | |
CN105955792A (zh) | 一种启动控制方法、装置及设备 | |
CN107562746B (zh) | 电子设备及其应用的信息处理方法和系统 | |
US11863463B1 (en) | System and method for object-response asset authorization and pairing | |
CN108927802B (zh) | 控制机器人取货的方法、装置和机器人 | |
CN114851210B (zh) | 基于云平台的机器人调度方法及调度云平台 | |
CN112199180A (zh) | 多任务调度的方法及装置、电子设备及可读存储介质 | |
US11723023B2 (en) | System and method for managing collisions in multiple-transmission-and-reception-points communications | |
CN102573073B (zh) | 一种终端物理层资源分配方法及系统 | |
CN116629826A (zh) | 一种排班方法、装置、设备及存储介质 | |
CN102360312A (zh) | 一种设备使用调度方法 | |
CN108021688B (zh) | 一种数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180821 Termination date: 20190522 |
|
CF01 | Termination of patent right due to non-payment of annual fee |