Zero-Change Object Transmission for Distributed Big Data Analytics——论文泛读

ATC 2022 Paper

问题

分布式大数据分析在很大程度上依赖于Java和Scala等高级语言的可靠性和多功能性。然而,这些高级语言也为数据传输制造了障碍。要在Java虚拟机(JVM)之间传输数据,发送方应将对象转换为字节数组(序列化),接收方应将其转换回对象(反序列化),对象序列化和反序列化(OSD)阶段引入了相当大的性能开销。

现有方法局限性

先前的工作主要集中在优化OSD中的某些阶段,因此对象转换仍然是不可避免的。其中许多方法都需要额外的编程工作来注释序列化点,或更改原始的JVM间通信模。而且他们将传输的数据视为单片字节数组,而不是单个对象,这使得识别重复传输变得困难,并错过了优化机会。

本文方法

本文提出了零变化对象传输(ZCOT),使对象在JVM之间直接复制,而不需要任何转换。ZCOT可以在现有应用程序中使用,只需少量修改,其基于对象的传输可以用于重复数据消除。

  • 引入了名为交换空间的全局共享抽象,它是Java堆空间的一部分,可供分布式环境中的多个JVM访问。进一步采用了分布式类数据共享(DCDS)机制,该机制提供了统一的对象格式,使交换空间中的对象对所有JVM都是可解释的。为了与传统的基于操作系统的应用程序保持兼容,提出了两级传输机制,以弥合基于对象的复制和传统的基于字节的传输之间的差距。

  • 引入元数据服务器,可以存储对象的位置,并在JVM之间建立数据传输通道。支持基于组的对象管理,它将对象分组,大大减少元数据服务器和JVM之间的流量。还与单个JVM中触发的垃圾回收(GC)集成,并减少了GC暂停时间。

  • 提出了重复数据消除机制,以进一步优化数据传输。去重模块利用交换空间抽象来存储哪些对象已经被发送,并避免了将来不必要的对象传输。然而,重复数据消除可能会在不同的数据集之间引入引用(或依赖关系)。为此,扩展了分布式内存管理模块,以考虑组间依赖关系。

本工作在OpenJDK的长期支持版本OpenJDK 11的HotSpot JVM中实现了ZCOT。ZCOT与OpenJDK中的现有功能(如APPCDS[30])集成良好,对Java开发人员保持友好。

测试的结果表明,ZCOT优于其他OSD库,与最先进的OSD优化Naos[39]相比,速度提高了4.35倍。ZCOT在Spark和Flink中都优于默认OSD库,因此应用时间分别提高了23.6%和22.2%。

实验

实验环境:具有四个节点的集群,这些节点由100 Gbit/s的Mellanox ConnectX-5 NIC连,每个节点包含双Xeon E5-2650 CPU和128GB DRAM。

数据集:微基准测试、Spark、Flink(TPC-H)

实验对比:执行时间

实验参数:堆大小、块大小、数据集

总结

针对JVM虚拟机间数据传输的对象序列化和反序列化(OSD)开销。本文提出零变化对象传输(ZCOT),包括三个创新点:(1)引入名为交换空间的全局共享抽象。采用了分布式类数据共享(DCDS)机制,使交换空间中的对象对所有JVM都是可解释的。(2)引入元数据服务器,用于存储对象的位置,并在JVM之间建立数据传输通道。支持基于组的对象管理,减少元数据服务器和JVM之间的流量。与单个JVM中触发的垃圾回收(GC)集成,并减少了GC暂停时间。(3)提出了重复数据消除机制,利用交换空间抽象来存储已发送对象,并避免不必要的对象传输。扩展了分布式内存管理模块,以考虑组间依赖关系,避免重复数据消除在不同的数据集之间引入依赖关系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/482502.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

校验注解@Length提示Length.class 类文件具有错误的版本 55.0, 应为 52.0

你们好,我是金金金。 场景 我正在学习参数校验,启动项目时报错如下 实体类 依赖版本 报错信息 排查 看报错信息提示类文件具有错误的版本 55.0, 应为 52.0,猜测可能是版本的问题。 可以确实就是版本的关系了,8.0版本的只能在jd…

2024年基于springboot+vue的10个最新选题推荐

前言 💗博主介绍:✌专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 2024年Java精品实战案例《100套》 🍅文末获取源码联系🍅 &#x1f31f…

VMware Fusion Pro 13:一站式虚拟化解决方案,满足多样化需求

VMware Fusion Pro 13是一款功能强大的虚拟机软件,专为Mac操作系统设计。它支持在Mac电脑上创建和管理多个虚拟计算机,允许用户在不同操作系统中进行软件测试、开发和部署,如Windows、Linux等。该软件采用了最新的虚拟化技术,能够…

逻辑 | 逻辑先修营

学习到更新日期逻辑先修营-3常见逻辑连词及逻辑表达2024-3-23 1.形式逻辑基础1 2.形式逻辑基础2 3.常见逻辑连词及逻辑表述 4.OR相关考点 5.AND相关考点 6.逻辑箭头基本考点1 7.逻辑箭头基本考点2 8.代入逻辑推理事实真1 9.代入逻辑推理事实真2 10.形式逻辑四大基本考点…

VUE3 Day12pinia

属性在解构时需要用到storeToRefs语法,而方法则不需要 官方文档:https://prazdevs.github.io/pinia-plugin-persistedstate/zh/ 如果不配将使用pinia的默认配置

用Kimichat学习王庆法老师关于Sora的文章

目录 一 引言:二 提示词方面:三 与Kimi的聊天记录我:假如你是一名大模型方面的专家,提取一下这篇文章的核心观点,用三列表格的形式,https://mp.weixin.qq.com/s/Y-vmxmPu4_-tHaeP35hDJg我:上述文章的一、Spacetime Latent Patches 潜变量时空碎片, 建构视觉语言系统部分…

设计模式及其在项目、框架中的应用

设计模式的作用: 1、类之间关系图,明确的角色及其关系、作用; 2、符合开闭原则,职责明确,并且开放的拓展点可以有效应对后期的变化。 (一)、责任链模式 适用场景: 在一个流程中&…

ArmSoM-Sige RK3588开发板产品简介

让我们在 5 分钟内了解 Sige7。 简介​ ArmSoM-Sige7采用Rockchip RK3588新一代旗舰级八核64位处理器,主频高达2.4GHz,6 TOPS算力NPU,最大可配32GB大内存。支持8K视频编解码,拥有丰富的接口,支持双2.5G网口、WiFi6 &…

Tomcat9.0.87闪退解决方案

运行Tomcat9.0.87闪退 报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program 原因:使用了免安装的方法,直接运行bin目录下的startup.ba…

unity学习(68)——相机/模型的旋转/位置计算

这个比想象中要难,而且需要自己写。 1.相机可以转xy两个位置,可以点头和转圈。注意这里有一个if判断(后面返回来发现了这些问题) 2.角色不能点头,只能转圈。 难得是移动方向,因为移动方向(位置)和转向是相…

无人机三维建模过程中注意事项

无人机三维建模是指利用无人机技术进行三维建模,该方法通过无人机搭载的多种传感器,如摄像头、激光扫描仪等,获取建筑物的多角度影像数据,然后利用计算机视觉技术和三维重建算法,将这些影像数据转化为高精度的三维模型…

Redis基础命令集详解

目录 1.Redis基础命令 2.Redis的经典案例 2.1 缓存 2.2 计数器 2.3 发布订阅 Redis是一个开源、内存存储的数据结构服务器,它支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等。在Redis中,使用一些基础的命令来操作这些数据结…

从零开始学习在VUE3中使用canvas(六):lineCap(线条端点样式)

一、简介 lineCap能够让我们设置线条的端点样式,例如 1. butt const ctx canvas.getContext("2d");ctx.lineCap "butt"; // 默认样式,也可以显式指定 2.round const ctx canvas.getContext("2d");//圆头ctx.lineCap …

BRAM底层原理详细解释(1)

目录 一、原语 二、端口简述 2.1 端口简介 2.2 SDP端口映射 三、端口信号含义补充说明 3.1 字节写使能(Byte-Write Enable)- WEA and WEBWE: 3.2 地址总线—ADDRARDADDR and ADDRBWRADDR 3.3 数据总线—DIADI, DIPADIP, DIBDI, and D…

SSL加密:保护数据传输的安全盾牌

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

是德科技keysight E5061B网络分析仪

181/2461/8938产品概述: Keysight(原Agilent) E5061B 是一款 ENA 系列网络分析仪,可以满足广泛的低频至高频电子元器件和电路测量需求。E5061B 现可提供新的 5 Hz 至 3 GHz 频域器件分析标准。 E5061B ENA系列网络分析仪从5Hz 至3GHz提供了广泛的频率范…

使用 ReclaiMe Pro 查找并恢复网络中的 SSH 服务器数据

天津鸿萌科贸发展有限公司是 ReclaiMe Pro 数据恢复软件的授权代理商。ReclaiMe Pro 数据恢复软件专注于恢复几乎所有文件系统及各种类型和复杂程度的 RAID 阵列。 在本文中,我们介绍 ReclaiMe Pro 对于采用 SSH 连接方式的网络服务器中数据的恢复方法。 ReclaiMe…

DataV 在HTML中使用

一:什么是DataV 介绍 | DataV (jiaminghi.com) 组件库基于Vue (React版 (opens new window)) ,主要用于构建大屏(全屏)数据展示页面即数据可视化,具有多种类型组件可供使用:…

「渗透笔记」致远OA A8 status.jsp 信息泄露POC批量验证

前言部分 在本节中,我会分两部分来说明致远OA A8 status.jsp 信息泄露的验证问题,其实就是两种验证方式吧,都一样,都是批量验证,主要如下所示: 通过Python脚本进行批量验证,但是前提是你可以收…

北航计算机软件技术基础课程作业笔记【1】

为白成刚老师的课程&#xff0c;简单做一个记录&#xff0c;内容偏基础&#xff0c;自己仅保留认为有用的部分 L1&#xff1a;算法概论 课程简单介绍了复杂度、算法的概念 1.作业 计算下列各片断程序中xx1的执行次数 (1) for (i1; i<n; i)for (j1; i<n; j)for (k1; …