CN110286743A - 一种数据中心节电方法、终端、计算机可读存储介质 - Google Patents
一种数据中心节电方法、终端、计算机可读存储介质 Download PDFInfo
- Publication number
- CN110286743A CN110286743A CN201910593905.7A CN201910593905A CN110286743A CN 110286743 A CN110286743 A CN 110286743A CN 201910593905 A CN201910593905 A CN 201910593905A CN 110286743 A CN110286743 A CN 110286743A
- Authority
- CN
- China
- Prior art keywords
- power
- data packet
- data center
- saving method
- poll
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本发明公开了一种数据中心节电方法、终端、计算机可读存储介质,属于开源系统数据包处理领域,要解决的技术问题为如何降低CPU的使用,以节约电力资源;方法包括:初始处于中断模式,进程被阻塞;通过第一个到达的数据包触发中断,并唤醒被阻塞的进程,进入轮询模式;在轮询模式,不断轮询是否有数据包要接收,如果是,接收数据包,如果否,进入中断模式,进程被阻塞;通过4K内存页缓存数据包。一种终端,包括处理器,处理器被配置用于调用所述程序指令执行一种数据中心节电方法。一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时处理器执行一种数据中心节电方法。
Description
技术领域
本发明涉及开源系统数据包处理领域,具体地说是一种数据中心节电方法、终端、计算机可读存储介质。
背景技术
在现在的使用开源系统Open vSwitch的公有云和私有云里,为了实现更高的虚拟机网络和主机节电网络性能,绝大部分公司都使用Open vSwitch DPDK来实现,但是它是以独占CPU资源、消耗大量内存和电力资源为代价的。DPDK至少独占一个以上CPU核心,使用轮询(poll)方式在用户态收发数据包,因此这些独占的CPU核心始终处于100%的繁忙状态,即使没有任何数据包要接收发送;而且,DPDK需要使用hugepage来做数据包的缓存,一个hugepage可以使2MB或1GB大小,基本上1GB物理内存是运行DPDK的最低要求,这就导致大量的内存消耗。独占的CPU核心100%的繁忙也会导致不必要的电力消耗,即使没有任何数据包需要处理,这些独占的CPU核心也在那空转,消耗电力,特别是在大的数据中心,电力消耗导致的电费支出是一笔巨大的开支。
基于上述分析,如何降低CPU的使用,以节约电力资源,是需要解决的技术问题。
发明内容
本发明的技术任务是针对以上不足,提供一种数据中心节电方法、终端、计算机可读存储介质,来解决如何降低CPU的使用,以节约电力资源的问题。
第一方面,本发明提供一种数据中心节电方法,作用于开源系统Open vSwitch,通过结合中断和轮询的方式接收数据包,包括:
初始处于中断模式,进程被阻塞;
通过第一个到达的数据包触发中断,并唤醒被阻塞的进程,进入轮询模式;
在轮询模式,不断轮询是否有数据包要接收,如果是,接收数据包,如果否,进入中断模式,进程被阻塞;
通过4K内存页缓存数据包。
上述实施方式中,开始进程处于中断状态,进程被阻塞等待数据包的到来,一旦有数据包到达,将触发中断,因而被阻塞的进程被唤醒,首先它将失效中断从而紧跟着的后续的数据包的到达不会再触发不必要的中断,这就是进入轮询方式,它将不断地轮询是否有数据包要接收,如果有,就接收数据包,只要有数据包不停地到达,它就一直处于轮询方式,一旦发现没有数据包来了,就重新设置成中断模式,进程被阻塞,等待新的数据包到来触发中断再唤醒它;数据包的发送不触发中断。同时使用普通的4K内存页避免巨大的内存消耗。基于上述OpenvSwitch的pmd线程将使用极低的CPU资源,从而不需要独占这个CPU core。该实施方法大大降低了CPU的使用,因而节约了电力资源,彻底消除了hugepage的使用,减少了内存使用。
作为优选,不断轮询是否有数据包要接收时,通过中断函数批量接收数据包。
作为优选,在OpenvSwitch DPDK pmd线程中通过结合中断和轮询的方式接收数据包。
更优的,通过结合中断和轮询的方式接收数据包之前,配置Open vSwitch DPDKpmd线程,包括:
在网卡端口初始化时,打开中断配置;
为网卡端口的每个接收队列注册中断事件。
更优的,使用4K内存页缓存数据包,Open vSwitch配置后才能使用4K内存页缓存数据包
作为优选,配置Open vSwitch,包括:
修改Open vSwitch,修改后Open vSwitch接收4K内存页参数;
通过命令行设置4K内存页参数。
作为优选,命令行为:
ovs-vsctl set Open_vSwitch.other_config:dpdk-extra="--no-huge-m1024"
上述no-huge用于命令DPDK不使用hugepage,使用正常的4K内存页。
第二方面,本发明提供一种终端,包括处理器、输入设备、输出设备和存储器,处理器、输入设备、输出设备和存储器相互连接,存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令执行如第一方面任一项所述的一种数据中心节电方法。
第三方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,程序指令当被处理器执行时所述处理器执行如第一方面任一项所述的一种数据中心节电方法。
本发明的一种数据中心节电方法、终端、可读取计算机存储介质具有以下优点:
1、通过结合中断和轮询的方式接收数据包,线程将使用极低的CPU资源,从而不需要独占这个CPU core,大大降低了CPU的使用,因而节约了电力资源,彻底消除了hugepage的使用,减少了内存使用;
2、通过4K内存页缓存数据包,避免巨大的内存消耗。
附图说明
为了更清除地说明本发明实施例中的技术方案,下面将对实施例中描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
下面结合附图对本发明进一步说明。
附图1为实施例1一种数据中心节电方法的流程框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
本发明实施例提供一种数据中心节电方法、终端、可读取计算机存储介质,用于解决如何降低CPU的使用,以节约电力资源的技术问题。
实施例1:
如附图1所示,本发明的一种数据中心节电方法,作用于开源系统Open vSwitch,通过结合中断和轮询的方式接收数据包,包括如下模式:
初始处于中断模式,进程被阻塞,等待数据包的到来;
通过第一个到达的数据包触发中断,并唤醒被阻塞的进程,进入轮询模式;
在轮询模式,不断轮询是否有数据包要接收,如果是,接收数据包,如果否,进入中断模式,进程被阻塞;
通过4K内存页缓存数据包。
其中,一旦有数据包到达,将触发中断,因而被阻塞的进程被唤醒,首先中断处理函数将失效中断从而紧跟着的后续的数据包的到达不会再触发不必要的中断,进入轮询模式;在轮询模式将不断地轮询是否有数据包要接收,如果有,就接收数据包,只要有数据包不停地到达,它就一直处于轮询方式,一旦发现没有数据包来了,就重新设置成中断模式,进程被阻塞,等待新的数据包到来触发中断再唤醒它;数据包的发送不触发中断。
本实施例中在OpenvSwitch DPDK pmd线程中通过结合中断和轮询的方式接收数据包,代码如下:
通过结合中断和轮询的方式接收数据包之前,配置Open vSwitch DPDK pmd线程,包括:
(1)在网卡端口初始化时,打开中断配置,网卡端口包括虚拟网卡,代码如下:
(2)为网卡端口的每个接收队列注册中断事件,代码如下:
DPDK允许应用使用正常的4K内存页,但Open vSwitch并没有使用4K内存页,需要改变Open vSwitch来使用DPDK支持的4K的内存页来作为数据包的缓存,改变如下:
(1)修改Open vSwitch,修改后Open vSwitch接收4K内存页参数,代码如下:
inti,ret=initial_size;
(2)通过命令行设置4K内存页参数,代码如下:
ovs-vsctl set Open_vSwitch.other_config:dpdk-extra="--no-huge-m1024"
—no-huge用于命令DPDK不使用hugepage,而是使用正常的4K的内存页。
本实施例中Open vSwitch DPDK pmd线程不再需要独占CPU core,因而计算节电上可以创建更多的客户VM,带来更多收益。
原来的Open vSwitch DPDK需要使用hugepage,hugepage是2MB或1GB的连续的大物理内存页,由于计算节电上有很多进程消耗内存资源,导致整个物理内存趋于碎片化,因而即使总的可使用内存远远超过了2MB或1GB,系统也很难找到物理上连续的一个2MB或1GB的内存页;使用了普通的4K内存页后,不再有连续的大物理内存需求,因为最终使用的内存可以由这些离散的4K内存页共同组合成大的内存空间,结果是在物理内存再怎么碎片化,只要总的可用内存足够,仍然可以为客户创建新的VM。
每一个计算节电消耗在网络上的CPU资源严重下降,CPU有更多的时间可以进入闲的状态,Intel CPU有许多电源管理技术,包括Turbo Boost,P state,C state,如果Linux内核和BIOS配置适当,在用户使用低谷,CPU能完全进入最省电的C状态,消耗的电力将是满负荷运行的几分之一。所以,省下来的电费非常可观。
实施例2:
本发明的一种终端,包括处理器、输入设备、输出设备和存储器,处理器、输入设备、输出设备和存储器相互连接,存储器用于存储计算机程序,计算机程序包括程序指令,处理器被配置用于调用所述程序指令执行实施例1公开的一种数据中心节电方法。
实施例3:
本发明一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时处理器执行如实施例1公开的一种数据中心节电方法。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
Claims (9)
1.一种数据中心节电方法,其特征在于作用于开源系统Open vSwitch,通过结合中断和轮询的方式接收数据包,包括:
初始处于中断模式,进程被阻塞;
通过第一个到达的数据包触发中断,并唤醒被阻塞的进程,进入轮询模式;
在轮询模式,不断轮询是否有数据包要接收,如果是,接收数据包,如果否,进入中断模式,进程被阻塞;
通过4K内存页缓存数据包。
2.根据权利要求1所述的一种数据中心节电方法,其特征在于不断轮询是否有数据包要接收时,通过中断函数批量接收数据包。
3.根据权利要求1或2所述的一种数据中心节电方法,其特征在于在OpenvSwitch DPDKpmd线程中通过结合中断和轮询的方式接收数据包。
4.根据权利要求3所述的一种数据中心节电方法,其特征在于通过结合中断和轮询的方式接收数据包之前,配置Open vSwitch DPDK pmd线程,包括:
在网卡端口初始化时,打开中断配置;
为网卡端口的每个接收队列注册中断事件。
5.根据权利要求3所述的一种数据中心节电方法,其特征在于使用4K内存页缓存数据包,Open vSwitch配置后才能使用4K内存页缓存数据包。
6.根据权利要求5所述的一种数据中心节电方法,其特征在于配置Open vSwitch,包括:
修改Open vSwitch,修改后Open vSwitch接收4K内存页参数;
通过命令行设置4K内存页参数。
7.根据权利要求6所述的一种数据中心节电方法,其特征在于命令行为:
ovs-vsctlset Open_vSwitch.other_config:dpdk-extra="--no-huge-m1024"
上述no-huge用于命令DPDK不使用hugepage,使用正常的4K内存页。
8.一种终端,其特征在于包括处理器、输入设备、输出设备和存储器,处理器、输入设备、输出设备和存储器相互连接,存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令执行如权利要求1-7任一项所述的一种数据中心节电方法。
9.一种计算机可读存储介质,其特征在于所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,程序指令当被处理器执行时所述处理器执行如权利要求1-7任一项所述的一种数据中心节电方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910593905.7A CN110286743A (zh) | 2019-07-03 | 2019-07-03 | 一种数据中心节电方法、终端、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910593905.7A CN110286743A (zh) | 2019-07-03 | 2019-07-03 | 一种数据中心节电方法、终端、计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110286743A true CN110286743A (zh) | 2019-09-27 |
Family
ID=68020401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910593905.7A Pending CN110286743A (zh) | 2019-07-03 | 2019-07-03 | 一种数据中心节电方法、终端、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110286743A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227341A (zh) * | 2007-12-18 | 2008-07-23 | 浪潮电子信息产业股份有限公司 | Linux系统上以太网卡快速捕包的方法 |
US20120017063A1 (en) * | 2010-07-16 | 2012-01-19 | Hummel Mark D | Mechanism to handle peripheral page faults |
CN106095580A (zh) * | 2016-06-14 | 2016-11-09 | 上海交通大学 | 一种针对半虚拟化网卡的数据包高效发送方法 |
CN107861817A (zh) * | 2017-11-30 | 2018-03-30 | 努比亚技术有限公司 | 基于线程阻塞的内存优化方法、移动终端及可读存储介质 |
CN107911237A (zh) * | 2017-11-10 | 2018-04-13 | 南京邮电大学 | 一种基于dpdk的用户空间内数据包快速检测方法 |
CN108037898A (zh) * | 2017-12-15 | 2018-05-15 | 郑州云海信息技术有限公司 | 一种基于Ceph的dpdk通讯的方法、系统及装置 |
CN108345502A (zh) * | 2018-01-15 | 2018-07-31 | 中兴飞流信息科技有限公司 | 基于dpdk的资源调度方法、装置、终端设备及可读存储介质 |
CN108628684A (zh) * | 2017-03-20 | 2018-10-09 | 华为技术有限公司 | 一种基于dpdk的报文处理方法及计算机设备 |
CN109309626A (zh) * | 2018-09-10 | 2019-02-05 | 南京知常容信息技术有限公司 | 一种基于dpdk的高速网络数据包捕获分流及缓存方法 |
CN109787777A (zh) * | 2017-11-10 | 2019-05-21 | 北京金山云网络技术有限公司 | 一种网卡模式切换方法、装置、电子设备及存储介质 |
-
2019
- 2019-07-03 CN CN201910593905.7A patent/CN110286743A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227341A (zh) * | 2007-12-18 | 2008-07-23 | 浪潮电子信息产业股份有限公司 | Linux系统上以太网卡快速捕包的方法 |
US20120017063A1 (en) * | 2010-07-16 | 2012-01-19 | Hummel Mark D | Mechanism to handle peripheral page faults |
CN106095580A (zh) * | 2016-06-14 | 2016-11-09 | 上海交通大学 | 一种针对半虚拟化网卡的数据包高效发送方法 |
CN108628684A (zh) * | 2017-03-20 | 2018-10-09 | 华为技术有限公司 | 一种基于dpdk的报文处理方法及计算机设备 |
CN107911237A (zh) * | 2017-11-10 | 2018-04-13 | 南京邮电大学 | 一种基于dpdk的用户空间内数据包快速检测方法 |
CN109787777A (zh) * | 2017-11-10 | 2019-05-21 | 北京金山云网络技术有限公司 | 一种网卡模式切换方法、装置、电子设备及存储介质 |
CN107861817A (zh) * | 2017-11-30 | 2018-03-30 | 努比亚技术有限公司 | 基于线程阻塞的内存优化方法、移动终端及可读存储介质 |
CN108037898A (zh) * | 2017-12-15 | 2018-05-15 | 郑州云海信息技术有限公司 | 一种基于Ceph的dpdk通讯的方法、系统及装置 |
CN108345502A (zh) * | 2018-01-15 | 2018-07-31 | 中兴飞流信息科技有限公司 | 基于dpdk的资源调度方法、装置、终端设备及可读存储介质 |
CN109309626A (zh) * | 2018-09-10 | 2019-02-05 | 南京知常容信息技术有限公司 | 一种基于dpdk的高速网络数据包捕获分流及缓存方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230367711A1 (en) | Systems and methods for scalable and coherent memory devices | |
CN109787777B (zh) | 一种网卡模式切换方法、装置、电子设备及存储介质 | |
KR101310044B1 (ko) | 복수의 코어 프로세서들에서의 하나 이상의 코어들의 워크로드 성능을 증가시키는 방법 | |
CN102609311B (zh) | 用于选择接收中断的处理器的装置、方法和系统 | |
US8776066B2 (en) | Managing task execution on accelerators | |
JP4833380B2 (ja) | 仮想化環境における割り込み処理を最適化するためのシステムおよび方法 | |
US9965412B2 (en) | Method for application-aware interrupts management | |
US20200364080A1 (en) | Interrupt processing method and apparatus and server | |
CN102693162A (zh) | 基于共享内存和核间中断的多核平台上多个虚拟机之间进程通信方法 | |
CN101091169B (zh) | 通过监视外部接口生成中断的方法、装置和系统 | |
CN110399034A (zh) | 一种SoC系统的功耗优化方法及终端 | |
CN108121685A (zh) | 一种嵌入式多核cpu固件运行方法 | |
CN106789337B (zh) | 一种kvm的网络性能优化方法 | |
CN116257471A (zh) | 一种业务处理方法及装置 | |
WO2012140669A2 (en) | Low pin count controller | |
US12093706B2 (en) | Multiple port emulation | |
CN110286743A (zh) | 一种数据中心节电方法、终端、计算机可读存储介质 | |
TW202008172A (zh) | 儲存系統 | |
US8688889B2 (en) | Virtual USB key for blade server | |
CN110750210A (zh) | 存储系统 | |
US9043507B2 (en) | Information processing system | |
CN111736984B (zh) | 一种感知pcie设备numa分布平衡的方法、系统 | |
WO2019028987A1 (zh) | 数据处理方法、电子设备及计算机可读存储介质 | |
CN110837482B (zh) | 分布式块存储低延迟控制方法、系统及设备 | |
Xie et al. | Comparing busy poll socket and NAPI |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190927 |