In a previous blog , we made the observation that the mainstream programming languages and their stack driven state machine (SDSM) runtime do not supp

Amazing Graph: introducing graph programming and graph runtime

submited by
Style Pass
2021-06-16 00:30:12

In a previous blog , we made the observation that the mainstream programming languages and their stack driven state machine (SDSM) runtime do not support predictive optimization, which is one of the main reasons why enterprise systems often become overly complex, costly and inflexible. The billion dollar follow-up question is: what is a better alternative for building enterprise systems? Our answer is graph computing.

Graph is a data structure consisting of a set of connected nodes (i.e. more formally vertices connected by edges). Graphs can represent many problems in practice, such as any types of networks (including social, communication or transportation networks) or any types of plans (such as workflow, business or project plans). 

Directed and undirected graphs are two main types of graphs. Social networks are usually undirected as connections are not directional; a workflow graph is directed because of the dependencies and ordering among tasks.

One important special case of directed graphs is directed acyclic graph (DAG), which is a directed graph without any directed cycles. DAG is an abstraction for any workflow or plan that can be completed by a single pass, where each task or step in the plan is carried out exactly once following their dependencies. Because of this single-pass property, a DAG is much easier to analyze, process, and optimize by a computer algorithm than other types of graphs.

Leave a Comment