Euro-Par 2011 Parallel Processing

Volume 6853 of the series Lecture Notes in Computer Science pp 226-237

Petri-nets as an Intermediate Representation for Heterogeneous Architectures

  • Peter CalvertAffiliated withComputer Laboratory, University of Cambridge
  • , Alan MycroftAffiliated withComputer Laboratory, University of Cambridge

* Final gross prices may vary according to local VAT.

Get Access


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.


Petri-nets parallelism heterogeneous architectures scheduling