libgrape-lite: 提供 GraphScope 的图分析能力

libgrape-lite on GPUs:GPU助力加速图分析任务 libgrape-lite on GPUs:GPU助力加速图分析任务背景CPU vs. GPU将 PIE 迁移到 GPU差异化的负载均衡策略平衡并行度和计算效率GPU 带来的性能提升总结与展望 在之前的文章中,我们介绍了 GraphScope 背后的图分析引擎原型 GRAPE 系统以及其开源实现 libgrape-lite。本文将介绍 libgrape-lite 的新功能:利用 GPU 来处理 PIE 模型下的图分析任务。这项新功能能够使用户无感地将图分析任务迁移到 GPU 上,利用其高并发高带宽的特性, 阅读详情

GraphScope 的图分析引擎源自于 GRAPE 系统。本文介绍 GRAPE 的开源实现:高性能并行图分析 C++ 库 libgrape-lite。该图计算库具有性能优越、易用性好、模块化设计、支持自动并行化等特点,当前也是 GraphScope 项目的一个 submodule。

背景

图数据作为一种表示数据之间关系的抽象模型,可以直观、自然地表示现实世界中各种实体对象以及它们之间的关系。在大数据场景下,社交网络、交易数据、知识图谱、交通和通信网络、供应链和物流规划等都是典型的以图建模的例子。学术界和工业界现有的引擎有如 PowerGraph、Pregel、Spark GraphX 等。这些图计算引擎虽然可以解决大规模图计算的并行化问题,但是,其往往仅支持基于点中心模型的编程方法,需要编程者对相关领域有比较深刻的了解。这就使得图计算变成了少数算法专家的专利。而另一方面,图算法的研究已经进行了几十年,积累了大量算法,只是这些算法往往是串行化的,需要算法专家将其并行化后才能执行在以上这些平台上。

如何最大程度的复用现有的图计算算法?如何提升易编程性以降低图计算的门槛?如何保证并行图计算的正确性和终止性?为了解决以上问题,樊文飞教授与 GraphScope 团队核心成员在 2017 年研发了并在 SIGMOD'2017上发表了 GRAPE[1] (GRAPh computation Engine),一个全新的大规模分布式图计算引擎。GRAPE 获得了 SIGMOD'2017 最佳论文奖、VLDB'2017 最佳演示奖和 SIGMOD 研究亮点奖等奖项。

为了检验 GRAPE 系统在实际场景中的有效性与性能,近两年来我们在阿里巴巴集团广泛实践,支持了阿里集团内各种图计算相关业务,并取得了良好的效果。我们选择将其最核心的计算库精简版 libgrape-lite[2] 开源,与社区共同探索应用范式、多样化场景的更多实践。同时,libgrape-lite作为开源一站式图计算平台GraphScope的图分析引擎,提供了图分析的底层能力支持。

libgrape-lite 的设计

libgrape-lite 是一个近乎 Header-Only 的库,主要的函数和功能都在头文件中提供了带模板参数的实现,方便用户适配各种复杂数据类型。相比于现在已有的图计算系统,libgrape-lite 继承了 GRAPE 的各项优势,例如具有坚实的理论保证、易编程、自动并行化、高性能等。

libgrape-lite 的核心构成

libgrape-lite的核心构成部分如上图所示。

  • 图数据结构 Fragment。Fragment 是图数据的一个分区,也是 libgrape-lite 中一个计算节点上的图处理对象;

  • 管理通讯策略的 MessageMessager,负责显式或隐式的管理分区之间的消息通信和状态同步等;

  • 用户编写的应用主体逻辑 Application,在 Application 中,用户通过操作本地的 Fragment 或者通过 MessageManager 收发消息。具体应用的编程模型见下文。

  • 工作节点类 Worker,它负责载图/分区,调用应用程序对本地 Fragment 进行计算,并通过 MessageManager 与其他工作节点上的 Worker 通信。

基于 PIE 的编程模型

快速开发 GraphScope 图分析应用 我们在 github 提供了一个图分析应用的模板库 (template repo),用户只需将几个 C++ 函数替换成自定义的逻辑,便可自定义图分析算法和应用并运行在 GraphScope 上。 阅读详情

相关推荐

Ingress:从静态图分析到动态图分析

本文介绍 GraphScope 团队与东北大学张岩峰教授团队的学术合作项目,可以高效处理动态大规模图数据的自动增量图分析框架 Ingress。该成果论文 Automating Incremental Graph Processing with Flexible Memoization[1] 发表于 VLDB’2021。 背景 随着图数据的迅速增长,对处理大规模图数据的需求也不断增加,也涌现了各种分布式图处理系统,如 Pregel、PowerGraph、GeminiGraph、GRAPE等。但这些分布.

graphscope的博客 949

libgrape-lite是来自阿里巴巴的C ++库,用于并行图处理。-C/C++开发

libgrape-lite是来自阿里巴巴的C ++库,用于并行图处理。 它通过遵循GRAPE的PIE编程模型,在整体上使顺序图算法并行化的能力与现有系统不同。 libgrape-lite libgrape-lite是来自阿里巴巴的C ++库,用于并行图处理。 它通过遵循GRAPE的PIE编程模型,在整体上使顺序图算法并行化的能力与现有系统不同。 只需稍作更改,就可以轻松地将顺序算法“插入” libgrape-lite并进行并行处理,以有效地处理大型图形。 除了易于编程之外,libgrape-lite还被设计为高效且灵活的,以应对

libgrape-lite::grapes:用于并行图处理的C ++库:grapes:

libgrape-lite::grapes:用于并行图处理的C ++库:grapes:

阿里巴巴组件库

阿里巴巴原型设计组件库阿里巴巴原型设计组件库阿里巴巴原型设计组件库

AWR1642+DCA1000EVM 不使用mmWave Studio软件采集原始ADC数据 Timeout问题汇总

DCA1000 EVM Timeout问题汇总

Jesy_Hsu的博客 1476

RT-Thread学习笔记(5):SPI驱动框架分析

1、两个设备模型 在spi驱框架中,一般会自己初始化一个总线设备(rt_spi_bus),当我们通过挂载后,会相应注册一个从设备(rt_spi_device)。 1、总线设备模型 struct rt_spi_bus { struct rt_device parent; rt_uint8_t mode; const struct rt_spi_ops *ops; struct rt_mutex lock; struct rt_spi_device *owner; };

BLBQ962464的博客 1万+

2025.06.17【WGS】|多样品VCF文件中每个样品SNP数统计方法详解(含代码与注释)

摘要:本文介绍了一种从合并后的VCF文件中统计每个样品SNP数目的方法。通过解析VCF文件中的GT字段,排除纯合参考(0/0)和缺失(./.)的基因型,准确计算各样本的SNP位点数。文中提供了完整的Python脚本,利用bcftools工具高效处理大规模VCF文件,并支持输出SNP统计结果。该方法适用于群体遗传学和RAD-seq等高通量测序数据分析的质控环节,还可扩展为统计杂合/纯合SNP等进阶需求。脚本使用简单,只需输入VCF文件即可生成样本-SNP数目的统计报表。

1700

结构设计3D拆件与骨架模型构建实战:基于Creo 8.0的5个高效建模技巧

本文详细解析了基于Creo 8.0的结构设计3D拆件与骨架模型构建实战技巧,涵盖5个高效建模方法,包括参数化驱动、曲面分割、多实体协同设计等。通过骨架模型的智能应用,设计效率可提升30%以上,特别适合复杂产品的结构设计。文章还提供了TWS耳机充电仓等实战案例,帮助工程师快速掌握工业设计中的核心建模技术。

weixin_30000735的博客 572

TESSY创建单元测试或集成测试工程

我们以tessy5.1为例,给大家展示单元测试和集成测试工程的创建过程。

空气中的告白专栏 1686

Dobot Magician机械臂二次开发指南:如何利用Python脚本和I/O接口实现自动化任务

本文详细介绍了Dobot Magician机械臂的二次开发方法,重点讲解如何通过Python脚本和I/O接口实现高级自动化任务。内容包括开发环境搭建、运动控制API解析、I/O接口应用以及典型场景实现,帮助开发者充分发挥Dobot Magician的潜力,适用于工业自动化、教育科研等领域。

weixin_26968079的博客 267

brpc组件bvar源码解析(一)简介、使用和类的关系

bvar是brpc中的一个重要组件,brpc内部有很多builtin监控都是bvar实现的。 brpc文档介绍bvar“几乎不会给程序增加性能开销,也快于竞争频繁的原子操作”。它的原理是:多线程累加一个计数器时,每个线程只累加私有的变量而不参与全局竞争,因此写时没有锁的竞争;在读取时累加所有线程的私有变量。虽然读比之前慢多了,但写就快多了,因此它使用写多读少的场景,例如统计、监控场景。 1.使用 // bvar::Adder<T>用于累加,下面定义了一个统计read error总数的Adder。

华秋实的专栏 1852

基于 ESP32 的智能环境监测与远程报警系统

本系统基于 ESP32 实现了环境数据的采集、远程传输、报警通知功能,硬件成本低、接线简单、代码可直接运行。用户可根据实际需求调整传感器类型(如替换为 PM2.5 传感器、土壤湿度传感器)和功能扩展,适合嵌入式 IoT 入门学习和实际场景应用。通过多轮迭代(如优化低功耗、增加 APP 控制),可进一步提升系统的实用性和稳定性。

weixin_42300449的博客 1025

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

上一篇: 从 Vertex 到 Subgraph 再到 PIE: 并行图计算编程模型概览
下一篇: Ingress:从静态图分析到动态图分析
graphscope
博客等级 码龄5年 33粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值