The paper presents structures and techniques aimed towards co-designing scalable asynchronous and decentralized dynamic graph processing for fine-grain memory-driven architectures. It uses asynchronous active messages, in the form of actions that send ``work to data'', with a programming and execution model that allows spawning tasks from within the data-parallelism combined with a data-structure that parallelizes vertex object across many scratchpad memory-coupled cores and yet provides a single programming abstraction to the data object. The graph is constructed by streaming new edges using novel message delivery mechanisms and language constructs that work together to pass data and control using abstraction of actions, continuations and local control objects (LCOs) such as futures. It results in very fine-grain updates to a hierarchical dynamic vertex data structure, which subsequently triggers a user application action to update the results of any previous computation without recomputing from scratch. In our experiments we use BFS to demonstrate our concept design, and document challenges and opportunities.
翻译:本文提出了一系列结构与技术,旨在为细粒度内存驱动架构协同设计可扩展的异步去中心化动态图处理方法。该方法采用异步主动消息机制,以“将工作发送至数据”的动作形式实现,其编程与执行模型允许在数据并行计算中生成任务,并结合一种数据结构——该结构将顶点对象并行分布于多个紧耦合的片上存储核心,同时为数据对象提供统一的编程抽象。通过采用新型消息传递机制与语言构件协同工作,以动作、延续及本地控制对象(如futures)等抽象形式传递数据与控制,系统以流式方式构建新边以形成图结构。这实现了对层次化动态顶点数据结构的极细粒度更新,进而触发用户应用程序动作以更新先前计算结果,而无需从头重新计算。在实验中,我们使用BFS算法验证概念设计,并记录了面临的挑战与潜在机遇。