2-5 ClickHouse 向量化执行与 Pipeline 设计.pdf

编号:102447 PDF 54页 1.97MB 下载积分:VIP专享
下载报告请您先登录!

2-5 ClickHouse 向量化执行与 Pipeline 设计.pdf

1、ClickHouse向量化执行与Pipeline设计冯吕 ClickHouse社区贡献者About Me ClickHouse Top 50 Contributor,100+merged PRs https:/ MS student at Institute of Computing Technology,CAS Internship at Tencent WeChat Working on ClickHouse development0101ClickHouse简介目录CONTENTCONTENT02向量化执行03Pipeline设计与实现04总结ClickHouse简介01ClickHou

2、se是什么 一个高效的OLAP数据库 最早由Yandex公司开源(2016年)现已从Yandex独立出去ClickHouse,Inc.ClickHouse是什么 工程艺术品 现有技术的充分运用 极致性能优化 Substring search:从几十种算法中选择出最合适的一种 Aggregation:不同数据类型使用不同的Hash表 核心特性:True Column-Oriented Storage Vectorized Query ExecutionClickHouse核心特性 基于MergeTree(类似LSM Tree)的列式存储?列式存储 其他列式存储 VS ClickHouse列式存储

3、?ClickHouse核心特性 向量化执行:以行(Row)为单位-以Block为单位,按列对数据进行处理?向量化执行02什么是向量化 对不同的数据执行同样的一个或一批指令,或者说把指令应用于一个数组/向量,通过CPU数据并行,即SIMD 通俗地说,对一个数组进行连续操作,即可看做向量化?向量计算 VS 常量计算 从CPU流水线角度来看,向量化能够充分填满CPU计算单元?什么是向量化 向量化的本质是采用一个控制器来控制多个处理器,同时对一组数据中的每一条执行相同操作,实现空间上的并行 单指令流:同时只能执行一种操作 多数据流:在一组同构(向量)的数据上进行操作?硬件支持 Intel CPU提供了

4、一系列SSE,AVX扩展向量化指令集?SIMD缺陷 不适用于严重依赖控制流的任务,即有大量分支、跳转和条件判断的语句 主要被用来优化可并行计算的简单场景,以及可能被频繁调用的基础逻辑 不能以不同的方式处理不同的数据?如何实现向量化 自动向量化和Intrinsic函数在通用性和易用性方面更强?Intrinsic函数实现向量化 使用SSE _mm_add_ps intrinsic函数,一次实现8个单精度浮点数的加法?编译器自动向量化 clang+-O3,自动使用向量化指令?ClickHouse向量化 Intrinsic函数 大量使用intrinsic函数对关键路径代码进行优化 编译器自动向量化 通

5、过良好的架构设计和代码设计,使得编译器能够生成良好的向量化代码 关键:基于Pipeline的执行引擎设计,能够按列对数据进行处理ClickHouse中的intrinsic函数 https:/ memcmpSmall.h ColumnsCommon.h/cpp AggragationCommon.h ColumnsHashing.hIPv6ToBinary.cpp remapExecutable.cpp StringSearcher.h FunctionsHashing.h randomString.h randomFixedString.h TargetSpecific.cpp generat

6、eUUIDv4.cpp greateCircleDistance.cpp UTF8Helpers.h/cpp divice.cpp divideImpl.cpp FunctionRando.h/cpp.FunctionsRound.h isValidUTF8.cpp LowerUpperImpl.hmodule.cpp Column Filter 将64字节压缩成64位的数,通过pop_count指令进行计算?Column Filter?ClickHouse-编译器自动向量化 关键:基于Pipeline的执行引擎 以Block为单位,按列对数据进行处理 优化:代码设计中大量使用模板(templ

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(2-5 ClickHouse 向量化执行与 Pipeline 设计.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
客服
商务合作
小程序
服务号
折叠