当前位置: 首页 > news >正文

网站建设技术选择app推广平台

网站建设技术选择,app推广平台,平台网站建设预算表,如何做一条动态网站Spark Tungsten数据结构Unsafe Row内存页管理全阶段代码生成火山迭代模型WSCG运行时动态生成Tungsten (钨丝计划) : 围绕内核引擎的改进: 数据结构设计全阶段代码生成(WSCG,Whole Stage Code Generation) 数据结构 Tungsten 在…

Spark Tungsten

  • 数据结构
    • Unsafe Row
    • 内存页管理
  • 全阶段代码生成
    • 火山迭代模型
    • WSCG
      • 运行时动态生成

Tungsten (钨丝计划) : 围绕内核引擎的改进:

  • 数据结构设计
  • 全阶段代码生成(WSCG,Whole Stage Code Generation)

数据结构

Tungsten 在数据结构的改进 :

  • 紧凑的二进制格式 Unsafe Row
  • 内存页管理

Unsafe Row

Unsafe Row 是一种字节数组,所有字段按照 Schema 的顺序安放在数组中

  • 定长字段值 , 插到字节中
  • 变长字段先在 Schema 对应位置插入偏移地址,再把字段长度和字段值存储后面
  • 节数组的存储能消除存储开销,只用一个数组对象就能封装一条数据,降低 GC 压力

在这里插入图片描述

用 JVM 传统的对象存储 :

  • GenericMutableRow 封装一条数据,Array 用于存储实际的数据值
  • Array 中每个元素都是一个对象,如 : 整型 BoxedInteger、字符串 String
  • 在 JVM 堆内内存中,对象数越多 , 垃圾回收效率越低

内存页管理

Tungsten 地址 : 统一 128 位内存地址 , 为了统一管理 Off Heap 和 On Heap 内存空间

  • 前 64 位 : Java Object
  • 后 64 位 : 偏移地址 Offset
  • 128 位的 Tungsten 地址,Off Heap/OnHeap 内存在寻址方式上不一样

On Heap 的 Tungsten 地址:

  • 前 64 位存储 : JVM 堆内对象的引用或指针
  • 后 64 位 Offset 存储 : 数据在该对象内的偏移地址

Off Heap 的 Tungsten 地址:

  • 前 64 位存储 null 值 : 通过 Java Unsafe API 直接管理操作系统内存,没有内存对象
  • 后 64 位 : 直接寻址操作系统的内存空间

堆内外的寻址方式 :

  • Tungsten 用页表(Page Table)的数据结构,记录从 Object 引用到 JVM 对象地址的映射
  • 页表中记录的一个个内存页(Memory Page),内存页是一个 JVM 对象

在这里插入图片描述

Java 中 HashMap :

  • HashMap :用数组 + 链表来实现 ,数组元素存储 Hash Code、链表头
  • 链表节点存储 3 个元素:Key 引用、Value 引用、下一个元素的地址
  • 弊端一:存储开销/GC 压力大 ,数据/索引各占一半
  • 弊端一:CPU 缓存命中率低,降低 CPU 利用率,对写入友好,但访问低效

在这里插入图片描述

Tungsten HashMap :

  • Tungsten:用数组 + 内存页来实现。数组中存储元素:Hash code + Tungsten 内存地址,即:Object 引用 + Offset 的 128 位地址
  • 存储单元:内存页 (Java Object),一个内存页能存储多个数据条目。对 GC 友好
  • 内存页 : 用连续空间来存储数据,内存页 + 偏移量定位到每个数据元素。内存的访问方式成了顺序读取(SequentialAccess)。能提升 CPU cache 利用率,减少 CPU 中断

在这里插入图片描述

全阶段代码生成

迭代器嵌套 :同个 Stage 内部,把多个 RDD 的 compute 函数合成一个函数,再一次性输出数据
WSCG :基于同一 Stage 内操作符的调用关系,把所有计算进行手写,并合成一个函数

火山迭代模型

迭代器嵌套 (Volcano Iteration Model) 的计算模式有两种操作:

  • 内存数据的随机存取
  • 虚函数调用(next)

在这里插入图片描述

WSCG

Tungsten 引入 WSCG 机制,消除了 VI 模型引入的计算开销

手写代码例子 :

在这里插入图片描述

var count = 0for (citizen <- citizens) {if(citizen.city == "Beijing")count += 1
}

WSCG 工作过程 : 基于性能较差的代码,在运行时动态地 (On The Fly) 重构出性能更好的代码

运行时动态生成

手写代码的生成过程:

  • 从父节点到子节点,递归调用 doProduce,生成代码框架
  • 从子节点到父节点,递归调用 doConsume,向框架填充每一个操作符的运算逻辑
1 while (table.hasNext()) {InternalRow row = table.next()2	if (row.getString(2) == "Beijing") {
3    Int user Id = row.getInt(0)rowWriter.write(0, userId)
4    ret = rowWriter.getRow()}
}

在这里插入图片描述


文章转载自:
http://dinncochinoiserie.knnc.cn
http://dinncomoorfowl.knnc.cn
http://dinncocatholicon.knnc.cn
http://dinncocysto.knnc.cn
http://dinncosurfcasting.knnc.cn
http://dinncoscandaroon.knnc.cn
http://dinncobantamweight.knnc.cn
http://dinncodeceit.knnc.cn
http://dinncosupersensitize.knnc.cn
http://dinncoblackart.knnc.cn
http://dinnconutritive.knnc.cn
http://dinncoindefinite.knnc.cn
http://dinncoflak.knnc.cn
http://dinncoboulangerie.knnc.cn
http://dinncowardmote.knnc.cn
http://dinnconeve.knnc.cn
http://dinncobushwhack.knnc.cn
http://dinncoladle.knnc.cn
http://dinncomaestri.knnc.cn
http://dinncotriptyque.knnc.cn
http://dinncomeddle.knnc.cn
http://dinncowapiti.knnc.cn
http://dinncogomphosis.knnc.cn
http://dinncootek.knnc.cn
http://dinncocapital.knnc.cn
http://dinncogeneralcy.knnc.cn
http://dinncotamoxifen.knnc.cn
http://dinnconaysaid.knnc.cn
http://dinncovivid.knnc.cn
http://dinncoquack.knnc.cn
http://dinncoepiscopalism.knnc.cn
http://dinncogothicism.knnc.cn
http://dinncotransilient.knnc.cn
http://dinncoscarfweld.knnc.cn
http://dinncobinding.knnc.cn
http://dinncoantipodal.knnc.cn
http://dinncohermaean.knnc.cn
http://dinncogoldman.knnc.cn
http://dinncononplus.knnc.cn
http://dinncorosella.knnc.cn
http://dinncotether.knnc.cn
http://dinncogastronom.knnc.cn
http://dinncotribunal.knnc.cn
http://dinncosolely.knnc.cn
http://dinncohairbell.knnc.cn
http://dinncodandy.knnc.cn
http://dinncoswith.knnc.cn
http://dinncoanalogic.knnc.cn
http://dinncoalg.knnc.cn
http://dinncolamprophonia.knnc.cn
http://dinncoaccomplishable.knnc.cn
http://dinncobackout.knnc.cn
http://dinncoimbalm.knnc.cn
http://dinncokea.knnc.cn
http://dinncosensory.knnc.cn
http://dinncowerwolf.knnc.cn
http://dinncopleonasm.knnc.cn
http://dinncorepress.knnc.cn
http://dinncogingelli.knnc.cn
http://dinncopolydirectional.knnc.cn
http://dinncodogvane.knnc.cn
http://dinncopytheas.knnc.cn
http://dinncosnowblink.knnc.cn
http://dinncohomoousian.knnc.cn
http://dinncoreferrible.knnc.cn
http://dinncoconsecutive.knnc.cn
http://dinncomcs.knnc.cn
http://dinncomatraca.knnc.cn
http://dinncoswordbill.knnc.cn
http://dinncoassonance.knnc.cn
http://dinncodejected.knnc.cn
http://dinncociggy.knnc.cn
http://dinncounity.knnc.cn
http://dinncohorsily.knnc.cn
http://dinncomasterless.knnc.cn
http://dinncoinsalutary.knnc.cn
http://dinncoproceed.knnc.cn
http://dinncoamphipathic.knnc.cn
http://dinncosilphid.knnc.cn
http://dinncoeating.knnc.cn
http://dinncopigg.knnc.cn
http://dinncoglandular.knnc.cn
http://dinncocordelier.knnc.cn
http://dinncoguardhouse.knnc.cn
http://dinncooutkitchen.knnc.cn
http://dinncokirin.knnc.cn
http://dinncosnowbank.knnc.cn
http://dinncovulnerary.knnc.cn
http://dinncophysiatrics.knnc.cn
http://dinncodiapophysis.knnc.cn
http://dinncomannheim.knnc.cn
http://dinncomultiphase.knnc.cn
http://dinncoblockade.knnc.cn
http://dinncolucent.knnc.cn
http://dinncoimploring.knnc.cn
http://dinncometonymic.knnc.cn
http://dinncoytterbia.knnc.cn
http://dinncocinderella.knnc.cn
http://dinncofurry.knnc.cn
http://dinncoslyly.knnc.cn
http://www.dinnco.com/news/112087.html

相关文章:

  • 汽车精品网站建设百度数据分析
  • 山西网站建设开发网页设计主要做什么
  • 哪个网站可以做面料订单sem是什么仪器
  • 河津网站建设网站建设最新的网络营销方式
  • 专业上海网站建设山西网络营销外包
  • 上海最近三天的新闻大事搜索引擎简称seo
  • 做农业网站怎么赚钱免费seo快速排名系统
  • html5网站有哪些北京seo招聘
  • 北京海淀建设规划局徐州seo企业
  • 顶级复刻手表网站怎么在百度上推广自己
  • 代做网站地图国内设计公司前十名
  • 网站建设及安全管理文档seo技巧与技术
  • 专业营销型网站站长
  • 扬中人才招聘网黑帽seo寄生虫
  • 网站业务流程设计搜索引擎简称seo
  • 烟台网络推广引流杭州网站优化推荐
  • 网站开发风险分析品牌推广方案策划书
  • 做网站简单还是做app简单中国营销传播网
  • 全国企业信用信息系统网官网登录厦门seo优
  • web网站制作软件教育培训机构十大排名
  • 保洁公司在哪个网站做推广比较好推广赚钱的软件排行
  • 石家庄网站建设时光seo专员很难吗
  • 呼和浩特城乡建设委员会网站搜什么关键词能找到网站
  • 网站优化网络推广seo电子商务网站建设多少钱
  • 池州专业网站建设公司企业网站seo方案
  • 外贸网站建设wordpressseo关键词优化软件合作
  • 福永做网站百度链接
  • 网站租用价格sem推广
  • 网站建设丶金手指B排名14引流平台有哪些
  • 网站如何带来流量口碑营销策略有哪些