Enabling multithreading executions on the XILINX microkernel with a hardware scheduler

Multithreading programming can improve performance of an application especially to reduce processor busy waiting. Typically, threads that have to wait for input/output responses can wait in a queue (sleep queue), allowing other threads to utilize processor, therefore improving system timeliness and throughput. As such an application can be partitioned into several threads that can be executed on either single or multiple processors. Sharing of processors among threads however requires scheduling to ensure fair sharing scheme or to meet a specific execution objective. The scheduling mechanism serves to allocate which threads get to run on a processor alternately according to the adopted sharing scheme. Processor can be relieved of executing the required scheduling task if it can be performed by a hardware entity such as field programmable gate array (FPGA). This paper describes initial design of hardware scheduler and modification of thread manager to support the migration (of thread scheduler into the hardware). The scheduler is designed as an Intellectual Property (IP) core that can be instantiated like any peripheral core. The work is intended to enable multithreading on XILINX microkernel with a hardware thread scheduler instead of Von Neumann stored instruction scheduling execution.

[1]  Bryan H. Fletcher,et al.  FPGA Embedded Processors Revealing True System Performance , 2004 .

[2]  M.N. Cirstea,et al.  FPGA implementation of a fastflex supervisory control and data acquisition (SCADA) remote telemetry unit , 2005, 31st Annual Conference of IEEE Industrial Electronics Society, 2005. IECON 2005..

[3]  Peter J. Ashenden,et al.  Programming models for hybrid CPU/FPGA chips , 2004, Computer.

[4]  Mark D. DiPasquale,et al.  Thread Time: The MultiThreaded Programming Guide , 1996 .

[5]  Yi Lin,et al.  Concurrency control in real-time databases by dynamic adjustment of serialization order , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[6]  R. Jidin,et al.  Implementing Wireless Monitoring for Substations on the Field Programmable Logic Arrays (FPGA) , 2008, 2008 6th National Conference on Telecommunication Technologies and 2008 2nd Malaysia Conference on Photonics.