Code generation for energy-efficient execution of dynamic streaming task graphs on parallel and heterogeneous platforms

CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE(2022)

引用 4|浏览2
暂无评分
摘要
Streaming task graphs are high-level specifications for parallel applications operating on streams of data. For a static task graph structure, static schedulers can be used to map the tasks onto a parallel platform to minimize energy consumption for given throughput. We introduce dynamic elements into the task graph structure, thus specifying applications which adapt behavior at runtime, for example, switching from check-only to active mode. This in turn necessitates a runtime system that can remap tasks and potentially adapt their degree of parallelism in case of a dynamic change of the task structure. We provide a toolchain and evaluate our prototype with streaming task graphs both synthetic and from a real application. We find that we meet throughput requirements with <3.5% energy overhead on average compared with an optimal static scheduler based on integer linear programming. Runtime overhead for remapping is negligible and application runtime and energy are accurately predicted. We also outline how to extend our system to a heterogeneous platform.
更多
查看译文
关键词
dynamic task structure, energy&#8208, efficient code generation, parallel platform, streaming task graph
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要