Welcome to the upgraded MacSphere! We're putting the finishing touches on it; if you notice anything amiss, email macsphere@mcmaster.ca

An Open Virtualization Framework for Heterogeneous SoC-FPGA Platforms

dc.contributor.advisorHassan, Mohamed
dc.contributor.authorMumtaz, Hamza
dc.contributor.departmentElectrical and Computer Engineeringen_US
dc.date.accessioned2023-10-02T17:57:47Z
dc.date.available2024-09-21en_US
dc.date.embargo2024-09-21en_US
dc.date.issued2023
dc.description.abstractHeterogeneous SoC-FPGA platforms are suitable for a wide range of applications, from automotive systems to industrial automation, as they offer a unique combination of flexibility, reconfigurability, and high-performance computing capabilities. Moreover, due to the escalating demand for higher performance in computing systems and the need for efficient of shared resources, the adoption of Virtual Machines (VMs) on SoC-FPGAs is becoming increasingly prevalent. Although the VMs are isolated for security and fault containment, communication between them is necessary to fully utilize the system's potential and resources, especially when dealing with heterogeneous VMs. Enabling efficient communication between different processing elements in heterogeneous VMs is one of the main challenges that hinders the full potential utilization of SoC-FPGA devices. The current communication mechanisms to transfer data between different processing elements in heterogeneous SoC-FPGA platforms result in significant data transfer overhead and huge latencies. On the other hand, deploying cache coherency in a heterogeneous system presents unique difficulties due to distinct architectures, memory hierarchies, and communication protocols. Our research introduces an open and full-system stack virtualization framework designed to address these challenges and a novel approach to enable hardware cache coherent communication between heterogeneous VMs on SoC-FPGA devices. The framework supports a number of software and hardware components out of the box. The framework, being open-source, facilitates collaboration and innovation in the field of embedded systems and virtualization. It enables the seamless virtualization of heterogeneous components, including CPUs and FPGAs, within SoC-FPGA platforms, providing a foundation for resource isolation, efficient management, and enhanced communication among virtualized entities. The framework offers a ready-to-deploy specialized hardware components for cache management, firmware, hypervisor, and Operating System (OS) support, to establish seamless coherence across heterogeneous VMs. To demonstrate the effectiveness of the plug-and-play features within the proposed framework, we support three hypervisors on the Processing System (PS) and one hypervisor on the FPGA, along with two OSes and bare-metal application support. Furthermore, we offer two distinct hardware support on the FPGA. These components can be combined to create a full system capable of generating a multitude of configurations. This flexibility allows researchers to utilize and expand the framework for comprehensive evaluations of their proposals, encompassing a wide range of hardware, hypervisors, and operating systems. We evaluate the proposed coherent communication mechanism deployed on top of the proposed framework with different scenarios to measure the latencies of three ports: the Advanced Extensible Interface (AXI) Coherency Extensions (ACE), which is a two-way hardware coherency port; the High-Performance Coherency (HPC), which is a one-way hardware coherency port; and the High-Performance (HP), which is a non-coherent port. We then execute multiple benchmarks to assess the effectiveness and efficiency of our proposed solution. ACE consistently offers lower latency in various scenarios. In the best case, ACE offers 220 times less latency compared to HPC and HP, especially when data can be snooped from the PS caches. The advantage of ACE is most significant when maintaining coherency requires flushing in HPC and HP scenarios. In the memcpy benchmark, ACE consistently exhibits lower latency compared to HPC and HP ports, with a remarkable 48% lower latency in the best-case scenario. In the sparse matrix vector multiplication benchmark, ACE outperforms HPC and HP ports with a substantial 65% reduction in latency.en_US
dc.description.degreeMaster of Applied Science (MASc)en_US
dc.description.degreetypeThesisen_US
dc.identifier.urihttp://hdl.handle.net/11375/28972
dc.language.isoenen_US
dc.titleAn Open Virtualization Framework for Heterogeneous SoC-FPGA Platformsen_US
dc.typeThesisen_US

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Mumtaz_Hamza_202309_MASc.pdf
Size:
9.69 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.68 KB
Format:
Item-specific license agreed upon to submission
Description: