共计 1156 个字符,预计需要花费 3 分钟才能阅读完成。
Vineyard(CNCF sandbox 我的项目)是脱胎于 GraphScope 底层存储、用于在简单工作流中不同计算引擎之间进行高效数据交换的中间件,该工作的论文被数据库畛域顶级学术会议 SIGMOD 2023 接管录用。
近日,CCF-A 类学术会议、数据库畛域最为优良的学术会议之一的 SIGMOD 2023(The 42nd ACM SIGMOD International Conference on Management of Data)Industrial Track 后果揭晓,致力于不同计算引擎之间进行高效数据交互的我的项目 Vineyard (v6d) 被胜利接管!
Vineyard: Optimizing Data Sharing in Data-Intensive Analytics. Wenyuan Yu, Tao He, Lei Wang, Ke Meng, Ye Cao, Diwen Zhu, Sanhong Li, Jingren Zhou. The 42nd ACM International Conference on Management of Data (SIGMOD), Seattle, Washington, USA, June 2023.
实在的生产环境存在着大量的简单的剖析型作业:单个作业中蕴含若干子工作,而各个子工作可能属于不同的计算类型(例如 SQL、深度学习、图计算)。为了解决这些简单的作业,往往将每个子任务分配到某个特定的计算引擎(例如将图计算任务分配到 GraphScope,将深度学习任务分配到 PyTorch)。为了在不同计算引擎之间进行两头后果的替换,目前通用的做法是将两头后果以文件的模式存储到内部存储中(例如本地磁盘、S3 和 OSS),然而这个过程会导致微小的数据序列化 / 反序列化、I/ O 等开销,从而拖慢整个作业的执行工夫。咱们发现只管不同的计算引擎往往对同一数据结构(例如 DataFrame、HashMap)有不同的实现,然而同一数据结构的接口则根本保持一致,而计算引擎的计算逻辑往往只关注数据结构提供的接口而非接口的具体实现。
基于这个察看,咱们设计了 Vineyard (v6d),它容许用户向 v6d 注册本人的数据结构,在计算引擎与 v6d 中的数据结构进行对接后,计算引擎产生的两头后果以高层的 object 分享,使得计算引擎能够通过内存映射(memory mapping)和办法共享(method sharing)高效地进行数据分享。同时,为了升高计算引擎与 v6d 的集成难度,v6d 针对跨编程语言的计算引擎进行了针对性的优化。在实在数据集和作业中,v6d 与传统的通过文件和内部存储进行数据交换的计划相比,可能获得最高 68.4 倍的减速。
Vineyard 目前曾经开源,并成为 CNCF sandbox 我的项目,点击此处即可取得 Vineyard 的进一步介绍和具体的文档以及源码。