Petri-nets as an Intermediate Representation for Heterogeneous Architectures
- Cite this paper as:
- Calvert P., Mycroft A. (2011) Petri-nets as an Intermediate Representation for Heterogeneous Architectures. In: Jeannot E., Namyst R., Roman J. (eds) Euro-Par 2011 Parallel Processing. Euro-Par 2011. Lecture Notes in Computer Science, vol 6853. Springer, Berlin, Heidelberg
Many modern systems provide heterogeneous parallelism, for example NUMA multi-core processors and CPU-GPU combinations. Placement, scheduling and indeed algorithm choices affect the overall execution time and, for portable programs, must adapt to the target machine at either load-time or run-time. We see these choices as preserving I/O determinism but exposing performance non-determinism. We use Petri-nets as an intermediate representation for programs to give a unified view of all forms of performance non-determinism. This includes some scenarios which other models cannot support. Whilst NP-hard, efficient heuristics for approximating optimum executions in these nets would lead to performant portable execution across arbitrary heterogeneous architectures.
KeywordsPetri-nets parallelism heterogeneous architectures scheduling
Unable to display preview. Download preview PDF.