Shenghsun Cho, Mrunal Patel, Han Chen, Michael Ferdman, Peter Milder

Slides:



Advertisements
Similar presentations
Live migration of Virtual Machines Nour Stefan, SCPD.
Advertisements

Debugging operating systems with time-traveling virtual machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.
Diagnosing Performance Overheads in the Xen Virtual Machine Environment Aravind Menon Willy Zwaenepoel EPFL, Lausanne Jose Renato Santos Yoshio Turner.
Virtualization Technology
Virtual Switching Without a Hypervisor for a More Secure Cloud Xin Jin Princeton University Joint work with Eric Keller(UPenn) and Jennifer Rexford(Princeton)
1 of 24 The new way for FPGA & ASIC development © GE-Research.
Estinet open flow network simulator and emulator. IEEE Communications Magazine 51.9 (2013): Wang, Shie-Yuan, Chih-Liang Chou, and Chun-Ming Yang.
Final Presentation Part-A
XEN AND THE ART OF VIRTUALIZATION Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, lan Pratt, Andrew Warfield.
MotoHawk Training Model-Based Design of Embedded Systems.
Remus: High Availability via Asynchronous Virtual Machine Replication.
Students:Gilad Goldman Lior Kamran Supervisor:Mony Orbach Part A Presentation Network Sniffer.
Embedded Transport Acceleration Intel Xeon Processor as a Packet Processing Engine Abhishek Mitra Professor: Dr. Bhuyan.
ELEC6200, Fall 07, Oct 29 Westrom: Virtual Machines 1 Kenneth Westrom ELEC-6620.
Implementation of DSP Algorithm on SoC. Characterization presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompany engineer : Emilia Burlak.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Xen and the Art of Virtualization. Introduction  Challenges to build virtual machines Performance isolation  Scheduling priority  Memory demand  Network.
System Architecture A Reconfigurable and Programmable Gigabit Network Interface Card Jeff Shafer, Hyong-Youb Kim, Paul Willmann, Dr. Scott Rixner Rice.
Programmable Logic- How do they do that? 1/16/2015 Warren Miller Class 5: Software Tools and More 1.
Out-of-Order OpenRISC 2 semesters project Semester A: Implementation of OpenRISC on XUPV5 board Final A Presentation By: Vova Menis-Lurie Sonia Gershkovich.
Sven Ubik, Petr Žejdl CESNET TNC2008, Brugges, 19 May 2008 Passive monitoring of 10 Gb/s lines with PC hardware.
Android Introduction Platform Overview.
Networking Virtualization Using FPGAs Russell Tessier, Deepak Unnikrishnan, Dong Yin, and Lixin Gao Reconfigurable Computing Group Department of Electrical.
26/4/2001VMware - HEPix - LAL 2001 Windows/Linux Coexistence : VMware Approach HEPix – LAL Apr Michel Jouvin
Out-of-Order OpenRISC 2 semesters project Semester A: Implementation of OpenRISC on XUPV5 board Midterm Presentation By: Vova Menis-Lurie Sonia Gershkovich.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
RiceNIC: A Reconfigurable and Programmable Gigabit Network Interface Card Jeff Shafer, Dr. Scott Rixner Rice Computer Architecture:
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
Enabling Palacios PXE-Boot Chen Jin Bharath Pattabiraman Patrick Foley.
Design Verification An Overview. Powerful HDL Verification Solutions for the Industry’s Highest Density Devices  What is driving the FPGA Verification.
High-Level Interconnect Architectures for FPGAs Nick Barrow-Williams.
COMS E Cloud Computing and Data Center Networking Sambit Sahu
Functional Verification of Dynamically Reconfigurable Systems Mr. Lingkan (George) Gong, Dr. Oliver Diessel The University of New South Wales, Australia.
An Architecture and Prototype Implementation for TCP/IP Hardware Support Mirko Benz Dresden University of Technology, Germany TERENA 2001.
BridgePoint Integration John Wolfe / Robert Day Accelerated Technology.
4/19/20021 TCPSplitter: A Reconfigurable Hardware Based TCP Flow Monitor David V. Schuehler.
Infrastructure design & implementation of MIPS processors for students lab based on Bluespec HDL Students: Danny Hofshi, Shai Shachrur Supervisor: Mony.
Hot Interconnects TCP-Splitter: A Reconfigurable Hardware Based TCP/IP Flow Monitor David V. Schuehler
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
Seminar of “Virtual Machines” Course Mohammad Mahdizadeh SM. University of Science and Technology Mazandaran-Babol January 2010.
Introduction to virtualization
Simics: A Full System Simulation Platform Synopsis by Jen Miller 19 March 2004.
Full and Para Virtualization
THAWAN KOOBURAT MICHAEL SWIFT UNIVERSITY OF WISCONSIN - MADISON 1 The Best of Both Worlds with On-Demand Virtualization.
Scott Sirowy, Chen Huang, and Frank Vahid † Department of Computer Science and Engineering University of California, Riverside {ssirowy,chuang,
Creation and Utilization of a Virtual Platform for Embedded Software Optimization: An Industrial Case Study Sungpack Hong, Sungjoo Yoo, Sheayun Lee, Sangwoo.
Presenter: Yi-Ting Chung Fast and Scalable Hybrid Functional Verification and Debug with Dynamically Reconfigurable Co- simulation.
Advisor: Hung Shi-Hao Presenter: Chen Yu-Jen
Intro To Virtualization Mohammed Morsi
Writing (and testing) device drivers without hardware PJ Waskiewicz, LAN Access Division, Intel Corp. Title.
Hammoudeh S. Alamri1, Balsam A
IEEE ICC ‘16 Dynamic M2M Device Attachment and Redirection in Virtual Home Gateway Environments Apostolos Papageorgiou, NEC Labs Europe Roberto Bifulco,
Virtualization for Cloud Computing
NFV Compute Acceleration APIs and Evaluation
Fundamentals Sunny Sharma Microsoft
Current Generation Hypervisor Type 1 Type 2.
Structural Simulation Toolkit / Gem5 Integration
Xilinx ChipScope Pro Overview
Multi-PCIe socket network device
Aled Edwards, Anna Fischer, Antonio Lain HP Labs
Figure 1 PC Emulation System Display Memory [Embedded SOC Software]
Emu: Rapid FPGA Prototyping of Network Services in C#
Combining Simulators and FPGAs “An Out-of-Body Experience”
Open vSwitch HW offload over DPDK
Virtual Platforms Driving Software Quality in Pre-Silicon
Myrinet 2Gbps Networks (
Basic Dynamic Analysis VMs and Sandboxes
NetFPGA - an open network development platform
ECE 671 – Lecture 8 Network Adapters.
Presentation transcript:

Shenghsun Cho, Mrunal Patel, Han Chen, Michael Ferdman, Peter Milder A Full-System VM-HDL Co-Simulation Framework for Servers with PCIe-Connected FPGAs Shenghsun Cho, Mrunal Patel, Han Chen, Michael Ferdman, Peter Milder

FPGAs in Cloud Creates Debug Challenges FPGAs now run rapid changing server workloads Involve HW, SW, and OS at the same time Directly interact with real-world network Impossible to debug with testbenches Forces developers to debug on the target systems PCIe FPGA Network

Debugging on Target Systems is Difficult Long debug iteration time Time-consuming FPGA synthesis and P&R Poor visibility for identifying bugs Limited hardware probes OS hang and reboot without useful information

Our VM-HDL Co-Simulation Framework Run the same HW, SW, and OS as the target systems Provides network capability for HDL simulation Reduces debug iteration time Provides full visibility VM HDL Co-Simulation Target System

Outline Overview FPGA Debugging Challenges Our VM-HDL Co-Simulation Framework Case Studies Conclusions

Long Debug Iteration Time Synthesis, place and route can take many hours Not much help from multi cores/machines Timing violations force re-running the whole process Requires long time to see the effects of hardware changes

Poor Visibility for Debugging Very limited FPGA probes and waveform buffer Requires FPGA P&R to add or change probes OS reboots without providing enough information Difficult to identify the bugs

None is usable for x86 servers with PCIe connected FPGAs State Of The Art Systems are too complex for testbenches HW-SW Co-Sim cannot handle OS and network Existing full-system simulation is targeting SoC ASICs Used in early stage evaluation with high-level models None is usable for x86 servers with PCIe connected FPGAs

Outline Overview FPGA Debugging Challenges Our VM-HDL Co-Simulation Framework Case Studies Conclusions

Our VM-HDL Co-Simulation Framework Run everything in a “virtual” environment

Our VM-HDL Co-Simulation Framework Run everything in a “virtual” environment Host Virtual Machine FPGA HDL Simulator Software Hardware Design Unchanged Components Operating System Host Hardware Emulated Hardware Co-Sim Components PCIe Block FPGA PCIe Simulation Bridge FPGA Pseudo Device PCIe Link Inter-Process Queue

Our VM-HDL Co-Simulation Framework Run everything in a “virtual” environment Virtual Machine HDL Simulator Software Hardware Design Operating System Host Hardware Emulated Hardware PCIe Block FPGA PCIe Simulation Bridge FPGA Pseudo Device Inter-Process Queue PCIe Link Attach GDB Save Waveform Full visibility and no modification to HW, SW, and OS

FPGA PCIe Simulation Bridge Network Support Utilize existing VM NIC to redirect packets Virtual Machine Virtual Machine HDL Simulator HDL Simulator Software Hardware Design Operating System Emulated Hardware Emulated Hardware FPGA PCIe Simulation Bridge FPGA Pseudo Device PCIe Queue PCIe Link FPGA NIC Simulation Bridge NIC Tap NIC Queue

FPGA PCIe Simulation Bridge Network Support Utilize existing VM NIC to redirect packets Virtual Machine Virtual Machine HDL Simulator HDL Simulator Software Hardware Design Operating System Inbound Packets Emulated Hardware Emulated Hardware FPGA PCIe Simulation Bridge FPGA Pseudo Device PCIe Queue PCIe Link FPGA NIC Simulation Bridge NIC Tap NIC Queue

FPGA PCIe Simulation Bridge Network Support Utilize existing VM NIC to redirect packets Virtual Machine Virtual Machine HDL Simulator HDL Simulator Software Hardware Design Operating System Outbound Packets Emulated Hardware Emulated Hardware FPGA PCIe Simulation Bridge FPGA Pseudo Device PCIe Queue PCIe Link FPGA NIC Simulation Bridge NIC Tap NIC Queue

Outline Overview FPGA Debugging Challenges The VM-HDL Co-Simulation Framework Case Studies Conclusions

Evaluation Setup Target system Co-Simulation OS and software Dual-Socket Xeon server with Xilinx Virtex 7 XC7V690 FPGA Co-Simulation QEMU VM with KVM support VCS HDL simulator ZeroMQ inter-process communication library OS and software Ubuntu 16.04 with Kernel 4.4.0 Software and driver to utilize FPGA designs

Case Study: Sorting Offload Compare iteration time of a target system and Co-Sim 11% FPGA LUT utilization after place and route Host FPGA Software Hardware Design DMA result Sorting Engine Operating System Device Driver input Host Hardware PCIe PCIe Block

Debug Iteration Time Comparison Target System (minutes:seconds) Co-Simulation Compilation - 1m:10s Synthesis 18m:03s Place and Route 35m:40s Reboot 2m:33s 0m:25s Execution ≈0m:00s 0m:03s Total 56m:16s 1m:38s Over 30x reduction in debug iteration time

Hardware Probe Change Comparison First Time Add Probes Change Probes Synthesis 17m:48s - P&R 39m:16s 42m:22s 58m:52s Reboot 1m:26s Execution ≈0m:00s Total 58m:30s 43m:48s 60m:18s Co-Simulation Simulation 1m:33s Total 0m:00s (unit: minutes:seconds) First iteration gives all information in Co-Sim

Case Study: Network Interface Card Confirm the functionality of the NIC bridge in Co-Sim Co-Sim sustains 15KB/sec connections to public network Host FPGA Software Hardware Design Ethernet Block DMA Inbound Packet Operating System Device Driver Outbound Packet Host Hardware PCIe PCIe Block

Source/Demo can be downloaded at: Conclusions Debugging FPGAs in datacenters is difficult Long debug iteration time Poor visibility Our VM-HDL Co-Sim framework solves these problems Same HW, SW, and OS in simulation and target systems Provides network capability to HDL simulation Significantly reduces the debug iteration time Full visibility for identifying bugs Source/Demo can be downloaded at: http://compas.cs.stonybrook.edu/projects/fpgacloud/vm-hdl-cosim/ shencho@cs.stonybrook.edu