TY - GEN
T1 - Multithreaded virtual-memory-enabled reconfigurable hardware accelerators
AU - Vuletić, Miljan
AU - Ienne, Paolo
AU - Claus, Christopher
AU - Stechele, Walter
PY - 2006
Y1 - 2006
N2 - Although naturally belonging to the user process, hardware parts of codesigned reconfigurable applications execute outside of the operating system (OS) process: they have neither unified memory abstraction with software nor system services provided by the OS. This imposes limitations on hardware and software interfacing, narrows available programming paradigms, and affects application portability. Advanced programming concepts, such as multithreading, usually demand additional activities on the programmer side, to perform memory transfers and enforce memory consistency. In this paper, we introduce a system layer (an OS extension relying on a system hardware extension) that provides: (1) unified virtual memory, (2) platform-agnostic interfacing, and (3) multithreaded execution, for hardware accelerators running within the same OS process with user software. The system layer releases software programmer and hardware designer from interfacing burdens and, still, achieves significant speedups over software with only limited overheads. Virtualmemory-enabled hardware accelerators benefit from all abstractions and services already available to software. To prove our concept in practice and demonstrate the ease of programming, we execute image processing and cryptography applications on reconfigurable systems-on-chip running GNU/Linux that supports virtual memory for multithreaded hardware accelerators.
AB - Although naturally belonging to the user process, hardware parts of codesigned reconfigurable applications execute outside of the operating system (OS) process: they have neither unified memory abstraction with software nor system services provided by the OS. This imposes limitations on hardware and software interfacing, narrows available programming paradigms, and affects application portability. Advanced programming concepts, such as multithreading, usually demand additional activities on the programmer side, to perform memory transfers and enforce memory consistency. In this paper, we introduce a system layer (an OS extension relying on a system hardware extension) that provides: (1) unified virtual memory, (2) platform-agnostic interfacing, and (3) multithreaded execution, for hardware accelerators running within the same OS process with user software. The system layer releases software programmer and hardware designer from interfacing burdens and, still, achieves significant speedups over software with only limited overheads. Virtualmemory-enabled hardware accelerators benefit from all abstractions and services already available to software. To prove our concept in practice and demonstrate the ease of programming, we execute image processing and cryptography applications on reconfigurable systems-on-chip running GNU/Linux that supports virtual memory for multithreaded hardware accelerators.
UR - http://www.scopus.com/inward/record.url?scp=43749083498&partnerID=8YFLogxK
U2 - 10.1109/FPT.2006.270312
DO - 10.1109/FPT.2006.270312
M3 - Conference contribution
AN - SCOPUS:43749083498
SN - 0780397282
SN - 9780780397286
T3 - Proceedings - 2006 IEEE International Conference on Field Programmable Technology, FPT 2006
SP - 197
EP - 204
BT - Proceedings - 2006 IEEE International Conference on Field Programmable Technology, FPT 2006
T2 - 2006 IEEE International Conference on Field Programmable Technology, FPT 2006
Y2 - 13 December 2006 through 15 December 2006
ER -