1 / 18

BORPH

BORPH. Presented by Brandon Hamilton. Reconfigurable Computing. BEE2 Compute Module. ROACH. Introduction. Operating system support for reconfigurable computers Isolation of low level details of FPGA design Remove need for device driver concerns during application development

kolton
Download Presentation

BORPH

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BORPH Presented by Brandon Hamilton

  2. Reconfigurable Computing BEE2 Compute Module ROACH

  3. Introduction • Operating system support for reconfigurable computers • Isolation of low level details of FPGA design • Remove need for device driver concerns during application development • Balance between flexibility and genericity, and high performance.

  4. BORPH • Berkeley Operating system for ReProgrammable Hardware (BORPH) • PhD Thesis Fall 2007 University of California, Berkeley • Hayden Kwok-Hay So and Robert W. Brodersen • Running on BEE2 at Berkeley Wireless Research Center

  5. BORPH overview • Extension of Linux kernel • Implements UNIX kernel semantics • Implementation of “Hardware processes” • Runtime general filesystem support • Interprocess communication (IPC) between software and hardware processes • Manages Reconfigurable resources

  6. Hardware Processes • Logical separation of reconfigurable fabric and underlying hardware support platform • Reconfigurable Hardware region (HWR) is smallest unit of reconfigurable fabric. (e.g. an FPGA) • A hardware process is an executing instance of a gateware program • Independent execution (not under control of software) • Eliminates the need to write software to control gateware programs • Views reconfigurable fabrics as computing resources

  7. Extension of Linux kernel • BOF (BORPH Object file) - executable binary file format contains information such as configuration of reconfigurable fabrics. • Able to be executed by any normal UNIX process creation techniques (fork, exec). • Hardware process has own logical virtual memory space.

  8. Implements UNIX kernel semantics • Preserves UNIX process creation semantics (parent-child relationships, process group info) as well as signals (SIGTERM, SIGKILL etc.) • Process is run in 'Interruptable sleep' state so that it does not get scheduled to run on the processor.

  9. Hardware Processes

  10. BORPH Kernel

  11. Interprocess Communication • Currently no shared memory between hardware process and other processes. • Message passing OR data streaming modes. • Kernel creates connection to gateware via 2 unidirectional IO connection points (analogous to file descriptors)

  12. IO Connection Points

  13. System calls • In standard software kernels, system calls (API into the kernel) are synchronous (blocking) • BORPH hardware system call interface -asynchronous and parallel • User programs use request-acknowledge protocol for hardware system calls.

  14. Access to reconfigurable resources • IOREG interface used to access hardware registers, FIFO's, on/off-chip memories from software • Creates virtual files corresponding to hardware constructs in gateware design - /proc/<pid>/hw

  15. Tested Performance • Bottleneck is communication performance between control and user FPGAs • Use of DMA greatly improved performance. Process Creation File Streaming

  16. Conclusions • Allows gateware designs to play active role – p2p • Abstraction model / interface • Future considerations • Semantics (blocking, swapping, parallel I/O) • Gateware debugging capabilities • Scalability • Optimization

  17. Reference • Hayden Kwok-Hay So and Robert W. Brodersen, “BORPH: An Operating System for FPGA-Based Reconfigurable Computers”, EECS Department, University of California, Berkeley, July 2007

More Related