Achieving programming model abstractions for reconfigurable computing

被引:35
|
作者
Andrews, David [1 ]
Sass, Ron [2 ]
Anderson, Erik [3 ]
Agron, Jason [4 ]
Peck, Wesley [4 ]
Stevens, Jim [4 ]
Baijot, Fabrice [4 ]
Komp, Ed [4 ]
机构
[1] Univ Kansas, Dept Elect Engn & Comp Sci, Lawrence, KS 66045 USA
[2] Univ N Carolina, Dept Elect & Comp Engn, Charlotte, NC 28223 USA
[3] Univ So Calif, Inst Informat Sci, Los Angeles, CA USA
[4] Univ Kansas, Informat & Telecommun Technol Ctr, Lawrence, KS 66045 USA
基金
美国国家科学基金会;
关键词
field-programmable gate arrays (FPGAs); operating systems; programming models; reconfigurable computing;
D O I
10.1109/TVLSI.2007.912106
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
This paper introduces hthreads, a unifying programming model for specifying application threads running within a hybrid computer processing unit (CPU)/field-programmable gate-array (FPGA) system. Presently accepted hybrid CPU/FPGA computational models-and access to these computational models via high level languages-focus on programming language extensions to increase accessibility and portability. However, this paper argues that new high-level programming models built on common software abstractions better address these goals. The hthreads system, in general, is unique within the reconfigurable computing community as it includes operating system and middleware layer abstractions that extend across the CPU/FPGA boundary. This enables all platform components to be abstracted into a unified multiprocessor architecture platform. Application programmers can then express their computations using threads specified from a single POSIX threads (pthreads) multithreaded application program and can then compile the threads to either run on the CPU or synthesize them to run within an FPGA. To enable this seamless framework, we have created the hardware thread interface (HWTI) component to provide an abstract, platform-independent compilation target for hardware-resident computations. The HWTI enables the use of standard thread communication and synchronization operations across the software/hardware boundary. Key operating system primitives have been mapped into hardware to provide threads running in both hardware and software uniform access to a set of sub-microsecond, minimal-jitter services. Migrating the operating system into hardware removes the potential bottleneck of routing all system service requests through a central CPU.
引用
收藏
页码:34 / 44
页数:11
相关论文
共 50 条
  • [31] Programming through spreadsheets and tabular abstractions
    Forster, Carlos Henrique Q.
    JOURNAL OF UNIVERSAL COMPUTER SCIENCE, 2007, 13 (06) : 806 - 816
  • [32] Abstractions for Concurrent Programming in Embedded Systems
    Sabo, Anita
    Schramm, Norbert
    2008 6TH INTERNATIONAL SYMPOSIUM ON INTELLIGENT SYSTEMS AND INFORMATICS, 2008, : 157 - +
  • [33] PROGRAMMING BY SUCCESSIVE REFINEMENT OF DATA ABSTRACTIONS
    MORRIS, JB
    SOFTWARE-PRACTICE & EXPERIENCE, 1980, 10 (04): : 249 - 263
  • [34] A universal low cost run-time and programming environment for reconfigurable computing
    Dollas, A
    Efstathiou, D
    Kyriakides, T
    14TH IEEE INTERNATIONAL WORKSHOP ON RAPID SYSTEMS PROTOTYPING, PROCEEDINGS: SHORTENING THE PATH FROM SPECIFICATION TO PROTOTYPE, 2003, : 2 - 8
  • [35] Gibber: Abstractions for Creative Multimedia Programming
    Roberts, Charles
    Wright, Matthew
    Kuchera-Morin, JoAnn
    Hollerer, Tobias
    PROCEEDINGS OF THE 2014 ACM CONFERENCE ON MULTIMEDIA (MM'14), 2014, : 67 - 76
  • [36] ABSTRACTIONS FOR CONTINUOUS-MEDIA PROGRAMMING
    STEINMETZ, R
    FRITZSCHE, JC
    LECTURE NOTES IN COMPUTER SCIENCE, 1992, 614 : 283 - 296
  • [37] Computing through scientific abstractions in SysBioPSE
    Chin, G
    Stephan, EG
    Gracio, DK
    2004 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN & CYBERNETICS, VOLS 1-7, 2004, : 70 - 75
  • [38] On the Definition of Service Abstractions for Parallel Computing
    Paulino, Herve
    PARALLEL PROCESSING AND APPLIED MATHEMATICS, PART II, 2010, 6068 : 74 - 81
  • [39] On the role of mathematical abstractions for scientific computing
    Åhlander, K
    Haveraaen, M
    Munthe-Kaas, HZ
    ARCHITECTURE OF SCIENTIFIC SOFTWARE, 2001, 60 : 145 - 158
  • [40] Abstractions and Middleware for Petascale Computing and Beyond
    Sbalzarini, Ivo F.
    INTERNATIONAL JOURNAL OF DISTRIBUTED SYSTEMS AND TECHNOLOGIES, 2010, 1 (02) : 40 - 56