Abstract: Existing operating systems can manage the execution of software
tasks efficiently, however the manipulation of hardware tasks is very limited.
In the research on the design and implementation of an embedded operating
system that manages both software and hardware tasks in the same framework, two
major issues are the dynamic scheduling and the dynamic placement of hardware
tasks into a reconfigurable logic space in an SoC. The distinguishing criteria
for good dynamic scheduling and placement methods include the total schedule
length and the amount of fragmentation incurred while tasks are dynamically
placed and replaced. Existing methods either do not take fragmentation into
consideration or postpone the consideration of fragmentation to a later stage
of space allocation. In our method, we try to reduce fragmentation during
placement itself. The advantage of such an approach is that not only the
reconfigurable space is utilized more efficiently, but the total schedule
length is also reduced, that is, hardware tasks complete faster. Experimental
results on large random tasks sets have shown that the proposed improvement is
as much as 23.3% in total fragmentation and 2.0% in total schedule time.
Keywords: Operating system for reconfigurable SoC, hardware scheduling, placement, dynamic partial reconfiguration