Skip to content

Data centric graph processing

Kyle Knoepfel edited this page May 11, 2023 · 4 revisions

Graph-based processing can be a very efficient and intuitive way to schedule tasks that must be executed given a set of constraints or dependencies. For example in the following graph (taken from here), the nodes represent tasks to be executed, and the edges (or arrows) indicate the flow of data required by each node to fulfill its preconditions for execution.

Although this view of graphs is very common, it does not represent the organization of data that are passed along the edges connecting the nodes. With Meld, we will "invert" the view and consider the data as nodes, and the tasks as edges that connect the data via mathematical mappings.

The types of operations included in the above image are higher-order functions, described here.

Clone this wiki locally