首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

小游戏源码开发,DPDK又是一个新的闯入者?

DPDK是一个开源的数据平面开发工具集,提供了一个用户空间下的高效数据包处理库函数,通过环境抽象层旁路内核协议栈、轮询模式的报文无中断收发、优化内存、缓冲区等多项技术,实现了当前小游戏源码处理器架构下的高性能报文转发能力。

DPDK定义了大量API来抽象数据平面的转发应用,虽然很多小游戏源码开发运营商对DPDK很陌生,但不代表着它没有做为。

一、大页技术

处理器的内存管理包含两个概念,物理内存和虚拟内存,linux操作系统里面整个物理内存按帧数来进行管理,虚拟内存按照页面来进行管理,内存管理单元可以完成小游戏源码开发从虚拟内存地址到物理内存地址的转换,内存管理但愿进行地址转换需要的信息保存在叫做页表的数据结构里,页表查找是一种很耗时间的操作。

DPDK利用大页技术,帮助小游戏源码开发的内存进行分配,实现对内存池的管理,并预先分配好同样大小的数据包。

二、轮询技术

为了减少中断处理开销,DPDK会使用轮询技术来处理网络报文,网卡受到报文后,会直接将报文保存到小游戏源码开发的处理器中,或者保存到已有的内存中,并设置报文到达的标志位,小游戏源码开发可以周期性的轮询报文到达的标志位,检测是否有新报文需要处理,不过需要注意的是这个过程是不包含中断处理的,所以必须要保证小游戏平台的处理能力。

三、CPU亲和技术

由于小游戏源码开发是基于分时调用方式来实现任务调度的,所以多个进程或线程需要在多核处理器的某一个核上不断进行交替,在小游戏源码开发的进程切换过程中,需要将处理器的状态寄存器保存在堆栈中,并回复当前进程的状态信息,对小游戏源码开发来说是一种额外的处理开销,处理器缓存中的数据是需要进行清除的,这也会导致处理器缓存的利用效果奖励。

声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20221124A053PK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券