The management of applications for reconfigurable computing using an operating system

  • Authors:
  • Grant Wigley;David Kearney

  • Affiliations:
  • University of South Australia, Mawson Lakes SA 5095;University of South Australia, Mawson Lakes SA 5095

  • Venue:
  • CRPIT '02 Proceedings of the seventh Asia-Pacific conference on Computer systems architecture
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

As the number of system gates available on reconfigurable platforms increase beyond 10 million, the issue of the management of these resources and their sharing among many applications and users will become more of a concern. This paper identifies the fundamental services that must be provided by an operating system for reconfigurable computing and describes a prototype implementation. The paper defines a contract between the application designer and the operating system whereby the application is defined as a task graph whose nodes are pre-placed and routed modules and whose edges define the data flow dependencies between the nodes. After loading by the operating system, the task graph node modules are grouped into partitions that occupy contiguous area on the FPGA surface. The implementation features new versions of algorithms for the allocation of area to tasks, the partitioning of an application to fit selected allocated areas and the placement and routing inside partitions. All the algorithms have small deterministic and bounded run times with near linear time complexity making them suitable to run in between time slices or at the initial loading stage of applications. Tests on the prototype with benchmark examples show that it is a feasible and that fragmentation of the area of the FPGA among many users is manageable.