PaTraCo: a framework enabling the transparent and efficient programming of heterogeneous compute networks

  • Authors:
  • S. Frey;T. Ertl

  • Affiliations:
  • Visualisierungsinstitut der Universität Stuttgart, Germany;Visualisierungsinstitut der Universität Stuttgart, Germany

  • Venue:
  • EG PGV'10 Proceedings of the 10th Eurographics conference on Parallel Graphics and Visualization
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

We propose PaTraCo (Parallel Transparent Computation), a framework for developing parallel applications for single host or ad-hoc compute network environments incorporating a multitude of different kinds of compute devices including graphics cards. It supports both task parallelism and data parallelism, and is designed for algorithms that can be decomposed into passes. The provided API supports the user in structuring the program accordingly. Only application-specific parts need to be implemented using a set of base classes. Multiple compute kernel implementations can be provided per pass, one for each device class (e.g. CPU, GPU, CELL). The scheduler which is based on the critical path method determines prior to the actual computation which implementation to execute on which device to minimize the overall runtime by considering device speed, availability and transfer cost. This procedure has the additional advantage that data can already be transferred to a compute device before the actual need for it arises and thus network transfers can often be executed parallel to computation. Overall, this results in reduced device idling times (if any) and more efficient device utilization. Thread setup and communication, network data transfers and scheduling are handled transparently to the user. PaTraCo monitors the execution in order to update the cost estimates that are used by the scheduler and to provide the user with visual analysis. We evaluate the framework by means of an interactive distributed volume renderer.