 绕过conntrack,使用eBPF增强 IPVS优化K8s网络性能Zhiguohong (honkiko@github) Bypassing conntrack: Optimizing K8s Service By Enhancing IPVS with eBPF Agenda 目录 01 Problems with K8s Service How to optimize 02 Comparison with industry Performance measurement measurement 03 04 Future work 05 06 Lessons from eBPF What is K8s Service • It exposes a set of pods via VIP using a load balancer • Two types • ClusterIP provides in-cluster access • NodePort not use DPDK? • DPDK performs busy polling even when network is idle. • Why not use a pure eBPF service? • Not mature enough eBPF brief • Write C • Compile into eBPF assembly code • Inject to kernel0 码力 | 24 页 | 1.90 MB | 1 年前3 绕过conntrack,使用eBPF增强 IPVS优化K8s网络性能Zhiguohong (honkiko@github) Bypassing conntrack: Optimizing K8s Service By Enhancing IPVS with eBPF Agenda 目录 01 Problems with K8s Service How to optimize 02 Comparison with industry Performance measurement measurement 03 04 Future work 05 06 Lessons from eBPF What is K8s Service • It exposes a set of pods via VIP using a load balancer • Two types • ClusterIP provides in-cluster access • NodePort not use DPDK? • DPDK performs busy polling even when network is idle. • Why not use a pure eBPF service? • Not mature enough eBPF brief • Write C • Compile into eBPF assembly code • Inject to kernel0 码力 | 24 页 | 1.90 MB | 1 年前3
 新一代分布式高性能图数据库的构建 - 沈游人生活中无处不在的图 图分析技术分类 图查询 • 使用图数据库的查询语言进行点边搜索 图算法 • 中心性算法 • 社区算法 • 路径算法 • … 图深度学习 • 图嵌入 • 图卷积 • 图注意力网络 • 图自编码器 图查询及其应用场景 图查询 • 使用图数据库的查询语言进行点边的关联查询,可以快速完成传统数据库难以完成的 多度点边关 联 当前图的典型应用场景 路径识别 群体挖掘 节点识别 之间的传递过程和传递概率 图深度学习及其应用场景 图嵌入 • 将高维的图信息映射到低维向量中 • 通过图嵌入将客户关系表示为低维向量,可以结合其 他客户行为特征进行机器学习训练 图卷积神经网络 • 对图结构数据进行卷积计算 • 通过已有的企业数据,通过 GCN 进行半监督学习和分 类,预测企业的违约概率 传统的关系型数据库的存储方式丢失了事物之间的关系信息 Relational Table Technology Landscape 2020 • 图数据库 • 图数据建模 • 图计算引擎 • 图数据集成 • 可视化分析 • 知识图谱解决方案 • 图查询语言 • 欺诈检测 • 网络安全分析 • 社交网络分析 • BI 工具 • 图分析工具集 • 图咨询服务 Source : Graph Aware 图数据库发展趋势 AtlasGraph 研发背景 • 业务对大图分析的诉求(千亿点、万亿边)0 码力 | 38 页 | 24.68 MB | 1 年前3 新一代分布式高性能图数据库的构建 - 沈游人生活中无处不在的图 图分析技术分类 图查询 • 使用图数据库的查询语言进行点边搜索 图算法 • 中心性算法 • 社区算法 • 路径算法 • … 图深度学习 • 图嵌入 • 图卷积 • 图注意力网络 • 图自编码器 图查询及其应用场景 图查询 • 使用图数据库的查询语言进行点边的关联查询,可以快速完成传统数据库难以完成的 多度点边关 联 当前图的典型应用场景 路径识别 群体挖掘 节点识别 之间的传递过程和传递概率 图深度学习及其应用场景 图嵌入 • 将高维的图信息映射到低维向量中 • 通过图嵌入将客户关系表示为低维向量,可以结合其 他客户行为特征进行机器学习训练 图卷积神经网络 • 对图结构数据进行卷积计算 • 通过已有的企业数据,通过 GCN 进行半监督学习和分 类,预测企业的违约概率 传统的关系型数据库的存储方式丢失了事物之间的关系信息 Relational Table Technology Landscape 2020 • 图数据库 • 图数据建模 • 图计算引擎 • 图数据集成 • 可视化分析 • 知识图谱解决方案 • 图查询语言 • 欺诈检测 • 网络安全分析 • 社交网络分析 • BI 工具 • 图分析工具集 • 图咨询服务 Source : Graph Aware 图数据库发展趋势 AtlasGraph 研发背景 • 业务对大图分析的诉求(千亿点、万亿边)0 码力 | 38 页 | 24.68 MB | 1 年前3
 谈谈MYSQL那点事MySQL MySQL 优化方式 优化方式 影响性能的因素 影响性能的因素 应用程序 应用程序 查询 查询 事务管理 事务管理 数据库设计 数据库设计 数据分布 数据分布 网络 网络 操作系统 操作系统 硬件 硬件  使用好的硬件,更快的硬盘、大内存、多核 使用好的硬件,更快的硬盘、大内存、多核 CPU CPU ,专业的 ,专业的 存储服务器( 存储服务器( NAS0 码力 | 38 页 | 2.04 MB | 1 年前3 谈谈MYSQL那点事MySQL MySQL 优化方式 优化方式 影响性能的因素 影响性能的因素 应用程序 应用程序 查询 查询 事务管理 事务管理 数据库设计 数据库设计 数据分布 数据分布 网络 网络 操作系统 操作系统 硬件 硬件  使用好的硬件,更快的硬盘、大内存、多核 使用好的硬件,更快的硬盘、大内存、多核 CPU CPU ,专业的 ,专业的 存储服务器( 存储服务器( NAS0 码力 | 38 页 | 2.04 MB | 1 年前3
 使用硬件加速Tokio - 戴翔• 现在主要专注于服务网格领域,探索云原生软硬件结 合新范式 • Github ID: daixiang0 自我介绍 Cathy Lu • Intel 软件工程师 • 专注于 NFV, 电信网络云化等方案 Rust currently provides only the bare essentials for writing async code. Rust has very strict0 码力 | 17 页 | 1.66 MB | 1 年前3 使用硬件加速Tokio - 戴翔• 现在主要专注于服务网格领域,探索云原生软硬件结 合新范式 • Github ID: daixiang0 自我介绍 Cathy Lu • Intel 软件工程师 • 专注于 NFV, 电信网络云化等方案 Rust currently provides only the bare essentials for writing async code. Rust has very strict0 码力 | 17 页 | 1.66 MB | 1 年前3
 C++高性能并行编程与优化 -  课件 - 性能优化之无分支编程 Branchless Programming如果预判失败,最后走了分支 B ,那就不得不把预先执行分支 A 的数据全部删了,浪费 90% 的算力。这就是 CPU 的分支预测,根据历史的分支记录总结经验,不断调整两个分 支预执行的比例。其实就像训练神经网络一样,一直喂给他正确的数据,他就越来越自信。 • 随着 CPU 预判分支 A 成功的次数越来越多, CPU 对自己的结果就越来越自信,并进一 步加大预执行分支 A 所占的比例,从最初的 50% 到0 码力 | 47 页 | 8.45 MB | 1 年前3 C++高性能并行编程与优化 -  课件 - 性能优化之无分支编程 Branchless Programming如果预判失败,最后走了分支 B ,那就不得不把预先执行分支 A 的数据全部删了,浪费 90% 的算力。这就是 CPU 的分支预测,根据历史的分支记录总结经验,不断调整两个分 支预执行的比例。其实就像训练神经网络一样,一直喂给他正确的数据,他就越来越自信。 • 随着 CPU 预判分支 A 成功的次数越来越多, CPU 对自己的结果就越来越自信,并进一 步加大预执行分支 A 所占的比例,从最初的 50% 到0 码力 | 47 页 | 8.45 MB | 1 年前3
 Автоматизация управления ClickHouse-кластерами в KubernetesZookeeper-2 Zookeeper-1 Replica Service Load Balancer Service Shard 1 Replica 2 Shard 2 Replica 1 Shard 2 Replica 2 Replica Service Replica Service Replica Service User Config Map Common Config Running NAME TYPE CLUSTER-IP service/chi-demo-01-demo-0-0 ClusterIP None service/clickhouse-demo-01 LoadBalancer 10.98.143.187 NAME TYPE CLUSTER-IP service/chi-demo-01-demo-0-0 ClusterIP None service/chi-demo-01-demo-1-0 ClusterIP None service/clickhouse-demo-01 LoadBalancer 10.98.1430 码力 | 44 页 | 2.24 MB | 1 年前3 Автоматизация управления ClickHouse-кластерами в KubernetesZookeeper-2 Zookeeper-1 Replica Service Load Balancer Service Shard 1 Replica 2 Shard 2 Replica 1 Shard 2 Replica 2 Replica Service Replica Service Replica Service User Config Map Common Config Running NAME TYPE CLUSTER-IP service/chi-demo-01-demo-0-0 ClusterIP None service/clickhouse-demo-01 LoadBalancer 10.98.143.187 NAME TYPE CLUSTER-IP service/chi-demo-01-demo-0-0 ClusterIP None service/chi-demo-01-demo-1-0 ClusterIP None service/clickhouse-demo-01 LoadBalancer 10.98.1430 码力 | 44 页 | 2.24 MB | 1 年前3
 Secure your microservices with istio step by step#IstioCon Security Architecture #IstioCon Bookinfo architecture without service mesh ● Reviews-v1 ○ doesn’t call the ratings service. ● Reviews-v2 ○ calls ratings, black stars ● Reviews-v3 ○ calls services with istio sidecar without reviews-v2 2) Deploy bookinfo gateway 3) Deploy reviews-v2 service without istio sidecar ( kubectl label namespace default istio-injection=disabled/enabled ) Initializing services with istio sidecar without reviews-v2 2) Deploy bookinfo gateway 3) Deploy reviews-v2 service without istio sidecar ( kubectl label namespace default istio-injection=disabled/enabled ) http0 码力 | 34 页 | 67.93 MB | 1 年前3 Secure your microservices with istio step by step#IstioCon Security Architecture #IstioCon Bookinfo architecture without service mesh ● Reviews-v1 ○ doesn’t call the ratings service. ● Reviews-v2 ○ calls ratings, black stars ● Reviews-v3 ○ calls services with istio sidecar without reviews-v2 2) Deploy bookinfo gateway 3) Deploy reviews-v2 service without istio sidecar ( kubectl label namespace default istio-injection=disabled/enabled ) Initializing services with istio sidecar without reviews-v2 2) Deploy bookinfo gateway 3) Deploy reviews-v2 service without istio sidecar ( kubectl label namespace default istio-injection=disabled/enabled ) http0 码力 | 34 页 | 67.93 MB | 1 年前3
 Analyzing MySQL Logs with ClickHouse• clicktail –c /etc/clicktail/clicktail.conf • To See how it works • service clicktail start • To run as a service © 2018 Percona. 15 MySQL Logs Primer General Query Log Binary Log –server pmm.your-domain.com • pmm-admin add linux:metrics • pmm-admin add external:service clickhouse --interval 10s --service-port=9116 © 2018 Percona. 40 Use Advanced Data Exploration Dashboard © 20180 码力 | 43 页 | 2.70 MB | 1 年前3 Analyzing MySQL Logs with ClickHouse• clicktail –c /etc/clicktail/clicktail.conf • To See how it works • service clicktail start • To run as a service © 2018 Percona. 15 MySQL Logs Primer General Query Log Binary Log –server pmm.your-domain.com • pmm-admin add linux:metrics • pmm-admin add external:service clickhouse --interval 10s --service-port=9116 © 2018 Percona. 40 Use Advanced Data Exploration Dashboard © 20180 码力 | 43 页 | 2.70 MB | 1 年前3
 No Silver Bullet – Essence and Accident in Software Engineeringto network it I need… • a Service Mesh, but to secure it I need… • an automated Certificate Authority, and for more security I need… • a Container scanning and monitoring service, and to monitor it more • a Log Aggregation and Search service, but to install it I need… • root access on a bunch of servers, but I need more servers so I need… • an Infrastructure as a Service platform, but for high availability0 码力 | 35 页 | 1.43 MB | 5 月前3 No Silver Bullet – Essence and Accident in Software Engineeringto network it I need… • a Service Mesh, but to secure it I need… • an automated Certificate Authority, and for more security I need… • a Container scanning and monitoring service, and to monitor it more • a Log Aggregation and Search service, but to install it I need… • root access on a bunch of servers, but I need more servers so I need… • an Infrastructure as a Service platform, but for high availability0 码力 | 35 页 | 1.43 MB | 5 月前3
 Rust 异步并发框架在移动端的应用 - 陈明煜quality of service 任务优先级调度 Linux CFS 调度 : 线程优先级 • 设置线程的 Nice 值给予线程不同的权重 2 个线程 A 和 B 。 A 的权重是 1024 , B 的权重是 2048 。那么 A 获得 CPU 的时间比例是 1024/ (1024 + 2048) = 33.3% Task priority and quality of service 任务优先级调度 拥有不同权重。 • 由 Kernel 决定调度时间 • 高优先级任务由高权重线程调度, 以此获得更多执行时间 • 全局队列区分高低优先级 Task priority and quality of service 高权重线程 低权重线程 task …. task …. Global queue task Local queue task Local queue Core 高权重线程 任务优先级调度 根据工作线程的优先级进行绑核(大小核) • 高优先级任务在大核执行,高性能 • 低优先级任务在小核执行,节省能耗 Task priority and quality of service Big Core Little Core 高优先级线程 低优先级线程 普通优先级线程 Set core-affinity IO & CPU 融合 北向接口融合:异步并行迭代器 0 码力 | 25 页 | 1.64 MB | 1 年前3 Rust 异步并发框架在移动端的应用 - 陈明煜quality of service 任务优先级调度 Linux CFS 调度 : 线程优先级 • 设置线程的 Nice 值给予线程不同的权重 2 个线程 A 和 B 。 A 的权重是 1024 , B 的权重是 2048 。那么 A 获得 CPU 的时间比例是 1024/ (1024 + 2048) = 33.3% Task priority and quality of service 任务优先级调度 拥有不同权重。 • 由 Kernel 决定调度时间 • 高优先级任务由高权重线程调度, 以此获得更多执行时间 • 全局队列区分高低优先级 Task priority and quality of service 高权重线程 低权重线程 task …. task …. Global queue task Local queue task Local queue Core 高权重线程 任务优先级调度 根据工作线程的优先级进行绑核(大小核) • 高优先级任务在大核执行,高性能 • 低优先级任务在小核执行,节省能耗 Task priority and quality of service Big Core Little Core 高优先级线程 低优先级线程 普通优先级线程 Set core-affinity IO & CPU 融合 北向接口融合:异步并行迭代器 0 码力 | 25 页 | 1.64 MB | 1 年前3
共 17 条
- 1
- 2













