  In order to satisfy timing constraints, modern real-time applications require
massively parallel accelerators such as General Purpose Graphic Processing
Units (GPGPUs). Generation after generation, the number of computing clusters
made available in novel GPU architectures is steadily increasing, hence,
investigating suitable scheduling approaches is now mandatory. Such scheduling
approaches are related to mapping different and concurrent compute kernels
within the GPU computing clusters, hence grouping GPU computing clusters into
schedulable partitions. In this paper we propose novel techniques to define GPU
partitions; this allows us to define suitable task-to-partition allocation
mechanisms in which tasks are GPU compute kernels featuring different timing
requirements. Such mechanisms will take into account the interference that GPU
kernels experience when running in overlapping time windows. Hence, an
effective and simple way to quantify the magnitude of such interference is also
presented. We demonstrate the efficiency of the proposed approaches against the
classical techniques that considered the GPU as a single, non-partitionable
resource.
