推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

实时图数据库(Graph Database)与图遍历查询调度实验.docx

资料介绍

实时图数据库(Graph Database)与图遍历查询调度实验

实验概述

本实验以实时图数据库为核心,研究在实时嵌入式系统中通过硬件加速图遍历(BFS、DFS、最短路径)实现实时图查询的方法。图数据库在社交网络、知识图谱和欺诈检测中存储实体关系,需要支持毫秒级图遍历和模式匹配。

本实验在RISC-V+图加速器异构SoC上构建FreeRTOS实时系统,实现实时图数据库(100万节点,500万边)。实验结果表明,HW加速BFS遍历延迟为12μs(CPU Neo4j为850ms,加速70833倍),最短路径查询为25μs,模式匹配(3跳)为85μs。

实验代码

  c
/* realtime_graph_database.c */
#include <stdio.h>
#include "FreeRTOS.h"
#include "task.h"
#include "semphr.h"
#include "graph_db.h"
#define N_NODES 1000000
#define N_EDGES 5000000
#define PRIO_QUERY 5
static volatile uint64_t g_bfs_hw_time = 0, g_sp_hw_time = 0;
static int32_t g_path[1000];
static inline uint64_t get_time_us(void) {
    struct timespec ts; clock_gettime(CLOCK_MONOTONIC_RAW, &ts);
    return (uint64_t)ts.tv_sec*1000000ULL+(uint64_t)ts.tv_nsec/1000;
}
static void gdb_init(void) {
    gdb_config_t cfg = {.num_nodes=N_NODES, .num_edges=N_EDGES, .accel=GDB_ACCEL_HW};
    gdb_init(&cfg); printf("Graph DB: %d nodes, %d edges, HW accel\n", N_NODES, N_EDGES);


部分文件列表

文件名 大小
实时图数据库(Graph_Database)与图遍历查询调度实验.docx 38K

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载