ReconOS: Multithreaded Programming for Reconfigurable Computers

被引:97
作者
Luebbers, Enno [1 ]
Platzner, Marco [1 ]
机构
[1] Univ Paderborn, Paderborn, Germany
关键词
Design; Reconfigurable computing; operating systems; multithreading; TASKS; HARDWARE;
D O I
10.1145/1596532.1596540
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Rising logic densities together with the inclusion of dedicated processor cores push reconfigurable devices from being applied for glue logic and prototyping towards implementing complete reconfigurable systems-on-chip. The mix of fast CPU cores and fine-grained reconfigurable logic allows to map both sequential, control-dominated code and highly parallel data-centric computations onto one platform. However, traditional design techniques that view specialized hardware circuits as passive coprocessors are ill-suited for programming these reconfigurable computers. In particular, the programming models for software-running on an embedded operating system-and digital hardware-synthesized to an FPGA-lack commonalities, which hinders design space exploration and severely impairs the potential for code reuse. In this article, we present ReconOS, an execution environment based on existing embedded operating systems that extends the multithreaded programming model established in the software domain to reconfigurable hardware. Using threads and common synchronization and communication services as an abstraction layer, ReconOS allows for the creation of portable and flexible multithreaded applications targeting CPU/FPGA systems. This article discusses the ReconOS programming model and its execution environment, presents implementations based on modern platform FPGAs and the operating systems eCos and Linux, evaluates time and area overheads of the proposed mechanisms and, finally, demonstrates the feasibility of the multithreading design approach on several case studies.
引用
收藏
页数:33
相关论文
共 41 条
[1]   Run-time services for hybrid CPU/FPGA systems on chip [J].
Agron, Jason ;
Peck, Wesley ;
Anderson, Erik ;
Andrews, David ;
Komp, Ed ;
Sass, Ron ;
Baijot, Fabrice ;
Stevens, Jim .
27TH IEEE INTERNATIONAL REAL-TIME SYSTEMS SYMPOSIUM, PROCEEDINGS, 2006, :3-+
[2]   Supporting high level language semantics within hardware resident threads [J].
Anderson, Erik ;
Peck, Wesley ;
Stevens, Jim ;
Agron, Jason ;
Baijot, Fabrice ;
Warn, Seth ;
Andrews, David .
2007 INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS, PROCEEDINGS, VOLS 1 AND 2, 2007, :98-103
[3]   Fast template placement for reconfigurable computing systems [J].
Bazargan, K ;
Kastner, R ;
Sarrafzadeh, M .
IEEE DESIGN & TEST OF COMPUTERS, 2000, 17 (01) :68-83
[4]  
Bergmann N.W., 2006, ARCS Workshops, P205
[5]   The Swappable Logic Unit: a paradigm for virtual hardware [J].
Brebner, G .
5TH ANNUAL IEEE SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES, 1997, :77-86
[6]  
BREBNER G, 1996, P 6 INT WORKSH FIELD, P327
[7]   A dynamic reconfiguration run-time system [J].
Burns, J ;
Donlin, A ;
Hogg, J ;
Singh, S ;
deWit, M .
5TH ANNUAL IEEE SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES, 1997, :66-75
[8]   Configuration relocation and defragmentation for run-time reconfigurable computing [J].
Compton, K ;
Li, ZY ;
Cooley, J ;
Knol, S ;
Hauck, S .
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, 2002, 10 (03) :209-220
[9]   Server-based execution of periodic tasks on dynamically reconfigurable hardware [J].
Danne, K. ;
Muehlenbernd, R. ;
Platzner, M. .
IET COMPUTERS AND DIGITAL TECHNIQUES, 2007, 1 (04) :295-302
[10]  
DANNE K, 2006, P ACM SIGPLAN SIGBED