GMTC全球大前端技术大会(北京站)门票9折特惠截至本周五,点击立减¥480 了解详情
写点什么

如何在 AWS EC2 实例以及基于 AWS 的容器平台中使用 DPDK(一)

2019 年 12 月 20 日

如何在 AWS EC2 实例以及基于 AWS 的容器平台中使用 DPDK(一)

1 背景

数据平面开发工具包 Data Plane Development Kit(DPDK) 由一组库和用户空间驱动组成的,用来加速包处理和转发的速度并降低延时,它支持多种不同的处理器架构和操作系统。DPDK 被设计运行在用户空间,这样,基于 DPDK 的应用程序可以直接与网卡交互收发数据包,对于某些网络性能密集型场景下的应用有着现实的意义。


具体来说,DPDK 所带来的主要的优势在于:通过用户空间的驱动,旁路 kernel 和 TCP 协议栈,规避了过多的内存拷贝和系统调用;通过轮询的方式,避免传统包处理时的中断和上下文切换;通过 hugepage 降低 TLB miss,同时利用多通道内存,避免了过多访存开销;最后,还可以设置亲和性和独占,避免了不同核心的线程切换。除此之外,DPDK 还在管理上提供了更多的包处理的可控制性。


进一步,在容器环境下,无论是原生的 Docker 还是平台化的 kubernetes,不同的网络插件也提供了对于 DPDK 的支持,使得在容器环境中也可以利用到 DPDK 所提供的优势和性能提升。


2 DPDK 对 AWS 的支持

在 AWS 平台上,DPDK 可以支持具有增强网络(Enhanced Networking)的实例,包括了基于 intel 的 82599(ixgbevf)和基于 AWS 的 Elastic Network Adapter(ena)。具体来说,基于 Nitro 的实例,例如 C5,M5,I3 和 T3 以及上一代基于 intel 的 C4,M4 和 T2 等具备增强网络的实例都可以支持 DPDK。在使用 DPDK 时,需要选用 16.04 之后的版本,DPDK 在该版本之后才提供了对 AWS EC2 的支持。


下图示意了 non-DPDK 和 DPDK 优化的应用之间的区别。



本文使用 AWS EC2 C5.2xlarge 实例,说明了如何在 AWS EC2 中安装和部署 DPDK 环境。


在后续的文章中,会进一步针对 AWS 上的容器平台如何和 DPDK 集成给出说明。


本文转载自 AWS 技术博客。


原文链接:https://amazonaws-china.com/cn/blogs/china/how-to-use-dpdk-in-aws-ec2-instances-and-aws-based-container-platforms-i/


2019 年 12 月 20 日 14:22233

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

发布
暂无评论
发现更多内容

玩转容器存储QoS

焱融科技

云计算 容器 云原生 QoS 超融合

用了10年Windows后,我最终转向Linux

学神来啦

Linux windows

数据库中间件:Mycat 权威指南+Mycat 实战笔记,双管齐下!

不秃顶的Java程序员

Java mycat 数据库中间件 笔记分享

自媒体需要追求内容真实性:不能被流量裹胁

石头IT视角

华为 HarmonyOS 正式发布!你还认为鸿蒙只是安卓套壳吗?

北游学Java

鸿蒙

【干货篇】bilibili:基于 Flink 的机器学习工作流平台在 b 站的应用

Apache Flink

flink

如何控制工作流中的流程流转?工作流框架中的流程控制元素之顺序流和网关元素详细解析

攻城狮Chova

网关 6 月日更 顺序流

【译】JavaScript 代码整洁之道-复杂判断

KooFE前端团队

JavaScript 前端 6 月日更 整洁代码 条件判断

Consul场景用例:服务注册(Service discovery) & 服务网格(Service mesh)

awen

微服务 Consul Service Mesh 服务网格 服务注册与发现 服务网格

蓝海战略 - 如何设计与众不同的价值曲线

石云升

战略思考 职场经验 6月日更

Flink 在有赞的实践和应用

Apache Flink

flink

defi流动性挖矿系统开发案例分析,defi流动性挖矿现成源码

系统开发咨询1357O98O718

☕️【Java 技术之旅】知识盲点关于jar包的点点滴滴

李浩宇/Alex

Java jar Jar包扫描 6月日更 6 月日更

阿里直通车?阿里Java面试“内幕”:十万字内部面试题总结

Java架构追梦

Java 阿里巴巴 架构 面试 面试题总结

即构互动白板升级:全面支持教育机构上线H5交互课件

ZEGO即构

在线教育 实时音视频 互动白板

毒瘤还是银弹--低代码与传统研发模式案例对比

赫杰辉

低代码 低代码开发平台

佣金产品的敏捷交付

鲸品堂

佣金产品 敏捷交付

最新!GigaOm 发布 API 网关评测报告:API7 和 Kong 企业版本性能对比

Apache APISIX 中国社区

负载均衡 架构 云原生 后端 网关

公安情报信息应用平台建设解决方案,情报研判预警分析系统开发

WX13823153201

恋爱技巧

Damon

6月日更

《面试官:谈谈你对索引的认知》系列之磁盘I/O

架构精进之路

MySQL 索引结构 6 月日更

python使用命令行传入参数

卤蛋翔

6月日更

vim 操作模式简介

编程三昧

vim 工具

论文解读丨空洞卷积框架搜索

华为云开发者社区

网络模型 目标检测算法 空洞卷积 卷积 空洞卷积框架

springboot-vue-activiti前后端分离快速开发平台脚手架,整合工作审批流,流程在线编辑器

金陵老街

Vue 后端 工作流 springboot

无刷电机与有刷电机的区别

不脱发的程序猿

无刷电机 有刷电机 电机

架构实战营 模块五作业

netspecial

架构实战营

为什么要做语音聊天室

anyRTC开发者

音视频 WebRTC 语音 RTC

【LeetCode】连续的子数组和Java题解

HQ数字卡

算法 LeetCode 6月日更

iOS上的CSS样式协议 VKCssProtocol

iOSer

CSS ios 移动开发 ios开发 VKCssProtocol

阿里P8熬了一个月肝出这份32W字Java面试手册,在Github标星68K+

云流

Java 程序员 面试

如何在 AWS EC2 实例以及基于 AWS 的容器平台中使用 DPDK(一)-InfoQ