In this paper, we introduce Domainsgraph, an OCaml tasking framework that empowers developers to rapidly write parallel programs using task dependency graphs. By combining OCaml’s strong static typing with an expressive task graph model, Domainsgraph facilitates the construction of maintainable parallel workflows, particularly suited for applications requiring fine-grained control over dataflow, dependency tracking, and execution replay. To enable an incrementally executable interface, we designed a state–value incremental algorithm and its implementation by leveraging conditionally propagated task states. Our evaluation on a multicore OCaml runtime with a set of synthetic and real-world task graphs demonstrates notable improvements in type safety, expressiveness, and runtime performance.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Domainsgraph: a Type-Safe, Incremental Task Graph Programming Framework

  • Lingwei Yan,
  • Gang Chen,
  • Ran Wang

摘要

In this paper, we introduce Domainsgraph, an OCaml tasking framework that empowers developers to rapidly write parallel programs using task dependency graphs. By combining OCaml’s strong static typing with an expressive task graph model, Domainsgraph facilitates the construction of maintainable parallel workflows, particularly suited for applications requiring fine-grained control over dataflow, dependency tracking, and execution replay. To enable an incrementally executable interface, we designed a state–value incremental algorithm and its implementation by leveraging conditionally propagated task states. Our evaluation on a multicore OCaml runtime with a set of synthetic and real-world task graphs demonstrates notable improvements in type safety, expressiveness, and runtime performance.