August 23, 2006

hthreads: A hardware/software co-designed run time system and development environment for creating custom multithreaded multiprocessor systems on programmable chip

David Andrews, Department of Electrical Engineering and Computer Science, University of Kansas, Lawrence, KS - USA

Abstract: In this talk I will discuss hthreads, the University of Kansas Hybrid Threads Project. Hthreads extends the familiar multithreaded programming model across a hybrid architecture (CPU and FPGA) to allow programmers to drive the creation of a custom SMP architecture for Systems on Programmable Chip (SoPC) hybrid devices. Hthreads contains a new hardware/software partitioned set of system services that seamlessly implement pthreads APIs for both software and hardware resident threads. We will discuss key components of our co-designed set of system services, including our hardware/software co-designed thread manager, scheduler, and semaphores for threads running on across a hybrid CPU/FPGA SoC. Our system services provide low latency system calls and a unified multithreaded OS kernel for all threads. An integral part of our HW/SW co-designed system services is our hardware thread abstraction layer and interface for hardware threads that adhere to the basic multi threads policy. From a programmers perspective, this enables control and communication between hardware and software threads within a common multithreaded programming model. From an architecture perspective, this enables the creation of an SMP system on chip architecture with custom lightweight "thread" PE's automatically synthesized from the high level description of each thread. Finally, we will discuss our end to end tool flow that allows a programmer to work in C and pthreads, and drive the automatic generation of hybrid threads.

About the speaker: David Andrews received the BSEE and MSEE from the University of Missouri-Columbia, and the PhD in Computer Science from Syracuse University. Dr. Andrews performed research and development for General Electric's Electronics Laboratory and Advanced Technology Laboratory, and was a Senior Systems Engineer in the Underwater Systems Division. While at General Electric, Dr. Andrews research focused on architectures for parallel and distributed systems for ground and space based systems, and lead the development of the operating system for the Seawolf submarine. Dr. Andrews has held academic positions at the University of Arkansas and is currently on the faculty at the University of Kansas and the Information Technology and Telecommunications Center (ITTC). David's current research focus is on embedded systems architectures and reconfigurable computing. David is a senior member of IEEE.