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 条
  • [1] Compositional programming abstractions for mobile computing
    McCann, PJ
    Roman, GC
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1998, 24 (02) : 97 - 110
  • [2] A Programming Model for Reconfigurable Computing Based in Functional Concurrency
    Harrison, William L.
    Graves, Ian
    Procter, Adam
    Becchi, Michela
    Allwein, Gerard
    2016 11TH INTERNATIONAL SYMPOSIUM ON RECONFIGURABLE COMMUNICATION-CENTRIC SYSTEMS-ON-CHIP (RECOSOC), 2016,
  • [3] Programming paradigms for reconfigurable computing
    Lee, G
    Milne, G
    MICROPROCESSORS AND MICROSYSTEMS, 2005, 29 (10) : 435 - 450
  • [4] ZRLMPI: A Unified Programming Model for Reconfigurable Heterogeneous Computing Clusters
    Ringlein, Burkhard
    Abel, Francois
    Ditter, Alexander
    Weiss, Beat
    Hagleitner, Christoph
    Fey, Dietmar
    28TH IEEE INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES (FCCM), 2020, : 220 - 220
  • [5] Data-driven uniform programming model for reconfigurable computing
    Department of Computer Science and Technology, University of Science and Technology of China, Hefei 230027, China
    Tien Tzu Hsueh Pao, 2007, 11 (2123-2128):
  • [6] Programming Abstractions for Data Intensive Computing on Clouds and Grids
    Miceli, Chris
    Miceli, Michael
    Jha, Shantenu
    Kaiser, Hartmut
    Merzky, Andre
    CCGRID: 2009 9TH IEEE INTERNATIONAL SYMPOSIUM ON CLUSTER COMPUTING AND THE GRID, 2009, : 478 - 483
  • [7] Programming Abstractions for Orchestration of HPC Scientific Computing (Keynote)
    Dubey, Anshu
    CHIUW'19: PROCEEDINGS OF THE ACM SIGPLAN 6TH CHAPEL IMPLEMENTERS AND USERS WORKSHOP, 2019, : 1 - 1
  • [8] Linguistic Abstractions for Programming and Policing Autonomic Computing Systems
    Margheri, Andrea
    Pugliese, Rosario
    Tiezzi, Francesco
    2013 IEEE 10TH INTERNATIONAL CONFERENCE ON AND 10TH INTERNATIONAL CONFERENCE ON AUTONOMIC AND TRUSTED COMPUTING (UIC/ATC) UBIQUITOUS INTELLIGENCE AND COMPUTING, 2013, : 404 - 409
  • [9] A structural object programming model, architecture, chip and tools for reconfigurable computing
    Butts, Michael
    Jones, Anthony Mark
    Wasson, Paul
    FCCM 2007: 15TH ANNUAL IEEE SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES, PROCEEDINGS, 2007, : 55 - +
  • [10] Block-Based Programming Abstractions for Explicit Parallel Computing
    Feng, Annette
    Tilevich, Eli
    Feng, Wu-chun
    2015 IEEE BLOCKS AND BEYOND WORKSHOP (BLOCKS AND BEYOND), 2015, : 71 - 75