1 Introduction
Traditional MPI programming is focused on a basically static and mostly synchronous programming model [7]. Though, many irregular applications with a more dynamic workload can still be well supported by employing load-balancing-libraries to dynamically redistribute data in semistatic phases. And a more dynamic interaction style and asynchronous execution can still be implemented by using MPI's nonblocking communication and/or polling features. The latter means that the aplication can poll for input and dispatch between activities accordingly. This closely resembles a task-oriented style but is to be implemented at application level and awkward to write and read.