{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/110588"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/110588","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Hardware implementation and evaluation of the Spandex cache coherence protocol","abstract":"Emerging heterogeneous hardware systems and applications that have shared data between multiple CPU cores and computation accelerators bring the need for efficient and flexible cache coherence support. Since different devices like CPUs, GPUs and accelerators have diverse memory demands and different data-sharing patterns, Spandex was proposed to efficiently integrate devices with different cache coherence protocols. The flexibility, simplicity and scalability of Spandex make it suitable for maintaining cache coherence in complicated SoCs. In addition, the introduction of Flexible Coherence Specialization (FCS) in Spandex further improves the granularity of flexibility from device granularity to address and request granularity. However, even though benchmark evaluations of Spandex in simulation have shown significant benefits, it has not been proven that Spandex will perform as well in real hardware, due to the lack of real-world RTL implementation of the protocol itself. In this work, we implement the Spandex cache coherence protocol in real hardware and evaluate its performance on real system-on-chip architectures running on FPGAs. By implementing and integrating Spandex on a real-world FPGA SoC, we advance the Spandex protocol from software simulation to a real hardware implementation. We prove its efficiency and flexibility, which are the key benefits of Spandex already proven in simulation, but on the next level down to the hardware. On the Xilinx VCU118 FPGA evaluation platform, we evaluated Spandex by running hardware-accelerated micro-benchmarks on heterogeneous SoCs with the Spandex protocol compared to the MESI protocol. On these micro-benchmarks, we see a performance improvement of up to 1.77X, and also up to 3.55X and 5.30X network traffic improvement in terms of flit count and flip-hop count respectively. We also propose the Spandex RISC-V instruction set extension, as a new interface for Spandex-aware and FCS-aware applications to convey flexible coherence performance information down to the hardware. We also provide a configuration register based interface for easily managing coherence specializations for fixed-function accelerators that are not capable of executing dynamic code. The RTL implementation, along with the accompanying RISC-V ISA support, greatly reduces the obstacles to the adoption of Spandex in the research community, and allows more system designers to consider Spandex as their coherence solution to further boost performance.","abstract_html":"Emerging heterogeneous hardware systems and applications that have shared data between multiple CPU cores and computation accelerators bring the need for efficient and flexible cache coherence support. Since different devices like CPUs, GPUs and accelerators have diverse memory demands and different data-sharing patterns, Spandex was proposed to efficiently integrate devices with different cache coherence protocols. The flexibility, simplicity and scalability of Spandex make it suitable for maintaining cache coherence in complicated SoCs. In addition, the introduction of Flexible Coherence Specialization (FCS) in Spandex further improves the granularity of flexibility from device granularity to address and request granularity. However, even though benchmark evaluations of Spandex in simulation have shown significant benefits, it has not been proven that Spandex will perform as well in real hardware, due to the lack of real-world RTL implementation of the protocol itself. In this work, we implement the Spandex cache coherence protocol in real hardware and evaluate its performance on real system-on-chip architectures running on FPGAs. By implementing and integrating Spandex on a real-world FPGA SoC, we advance the Spandex protocol from software simulation to a real hardware implementation. We prove its efficiency and flexibility, which are the key benefits of Spandex already proven in simulation, but on the next level down to the hardware. On the Xilinx VCU118 FPGA evaluation platform, we evaluated Spandex by running hardware-accelerated micro-benchmarks on heterogeneous SoCs with the Spandex protocol compared to the MESI protocol. On these micro-benchmarks, we see a performance improvement of up to 1.77X, and also up to 3.55X and 5.30X network traffic improvement in terms of flit count and flip-hop count respectively. We also propose the Spandex RISC-V instruction set extension, as a new interface for Spandex-aware and FCS-aware applications to convey flexible coherence performance information down to the hardware. We also provide a configuration register based interface for easily managing coherence specializations for fixed-function accelerators that are not capable of executing dynamic code. The RTL implementation, along with the accompanying RISC-V ISA support, greatly reduces the obstacles to the adoption of Spandex in the research community, and allows more system designers to consider Spandex as their coherence solution to further boost performance.","abstract_has_math":false,"creators":["Zhu, Zeran"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"M.S.","degree_level":"Thesis","degree_discipline":"Electrical & Computer Engr","degree_department":null,"school":null,"contributors":["Adve, Sarita"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2021,"date_issued":"2021-09-17T01:13:31Z","date_published":"2021-09-17T01:13:31Z","updated_at":"2026-07-22T22:24:52Z","subjects":["Cache Coherence Protocol","Hardware Architecture","Heterogeneous System-on-Chip","High-Level Synthesis"],"languages":["en"],"rights":["Copyright 2021 Zeran Zhu"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/2142/110588","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Adve, Sarita"]},{"key":"dc:creator","label":"Author","values":["Zhu, Zeran"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2021-09-17T01:13:31Z","2021-04-28","2021-05"]},{"key":"dc:type","label":"Dc Type","values":["text","Thesis"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Electrical & Computer Engr"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Thesis"]},{"key":"thesis:degree_name","label":"Degree Name","values":["M.S."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Cache Coherence Protocol","Hardware Architecture","Heterogeneous System-on-Chip","High-Level Synthesis"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 2021 Zeran Zhu"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/110588"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Emerging heterogeneous hardware systems and applications that have shared data between multiple CPU cores and computation accelerators bring the need for efficient and flexible cache coherence support. Since different devices like CPUs, GPUs and accelerators have diverse memory demands and different data-sharing patterns, Spandex was proposed to efficiently integrate devices with different cache coherence protocols. The flexibility, simplicity and scalability of Spandex make it suitable for maintaining cache coherence in complicated SoCs. In addition, the introduction of Flexible Coherence Specialization (FCS) in Spandex further improves the granularity of flexibility from device granularity to address and request granularity. However, even though benchmark evaluations of Spandex in simulation have shown significant benefits, it has not been proven that Spandex will perform as well in real hardware, due to the lack of real-world RTL implementation of the protocol itself. In this work, we implement the Spandex cache coherence protocol in real hardware and evaluate its performance on real system-on-chip architectures running on FPGAs. By implementing and integrating Spandex on a real-world FPGA SoC, we advance the Spandex protocol from software simulation to a real hardware implementation. We prove its efficiency and flexibility, which are the key benefits of Spandex already proven in simulation, but on the next level down to the hardware. On the Xilinx VCU118 FPGA evaluation platform, we evaluated Spandex by running hardware-accelerated micro-benchmarks on heterogeneous SoCs with the Spandex protocol compared to the MESI protocol. On these micro-benchmarks, we see a performance improvement of up to 1.77X, and also up to 3.55X and 5.30X network traffic improvement in terms of flit count and flip-hop count respectively. We also propose the Spandex RISC-V instruction set extension, as a new interface for Spandex-aware and FCS-aware applications to convey flexible coherence performance information down to the hardware. We also provide a configuration register based interface for easily managing coherence specializations for fixed-function accelerators that are not capable of executing dynamic code. The RTL implementation, along with the accompanying RISC-V ISA support, greatly reduces the obstacles to the adoption of Spandex in the research community, and allows more system designers to consider Spandex as their coherence solution to further boost performance.","Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2021-09-16 without embargo terms","The student, Zeran Zhu, accepted the attached license on 2021-04-27 at 14:19.","The student, Zeran Zhu, submitted this Thesis for approval on 2021-04-27 at 14:41.","This Thesis was approved for publication on 2021-04-28 at 09:54.","DSpace SAF Submission Ingestion Package generated from Vireo submission #16589 on 2021-09-16 at 16:48:59","Made available in DSpace on 2021-09-17T01:13:31Z (GMT). No. of bitstreams: 3 ZHU-THESIS-2021.pdf: 1695973 bytes, checksum: 180d94504285cd091d17fbad72e1fefd (MD5) spandex-caches-main.zip: 47574 bytes, checksum: ee6831637726ed18536104663149967f (MD5) LICENSE.txt: 4206 bytes, checksum: 505e5529a033329a12b2c91dfac23f2a (MD5) Previous issue date: 2021-04-28"]},{"key":"dc:format","label":"Dc Format","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["Hardware implementation and evaluation of the Spandex cache coherence protocol"]}]}],"canonical_facts":{"dc:contributor":["Adve, Sarita"],"dc:creator":["Zhu, Zeran"],"dc:date":["2021-09-17T01:13:31Z","2021-04-28","2021-05"],"dc:description":["Emerging heterogeneous hardware systems and applications that have shared data between multiple CPU cores and computation accelerators bring the need for efficient and flexible cache coherence support. Since different devices like CPUs, GPUs and accelerators have diverse memory demands and different data-sharing patterns, Spandex was proposed to efficiently integrate devices with different cache coherence protocols. The flexibility, simplicity and scalability of Spandex make it suitable for maintaining cache coherence in complicated SoCs. In addition, the introduction of Flexible Coherence Specialization (FCS) in Spandex further improves the granularity of flexibility from device granularity to address and request granularity. However, even though benchmark evaluations of Spandex in simulation have shown significant benefits, it has not been proven that Spandex will perform as well in real hardware, due to the lack of real-world RTL implementation of the protocol itself. In this work, we implement the Spandex cache coherence protocol in real hardware and evaluate its performance on real system-on-chip architectures running on FPGAs. By implementing and integrating Spandex on a real-world FPGA SoC, we advance the Spandex protocol from software simulation to a real hardware implementation. We prove its efficiency and flexibility, which are the key benefits of Spandex already proven in simulation, but on the next level down to the hardware. On the Xilinx VCU118 FPGA evaluation platform, we evaluated Spandex by running hardware-accelerated micro-benchmarks on heterogeneous SoCs with the Spandex protocol compared to the MESI protocol. On these micro-benchmarks, we see a performance improvement of up to 1.77X, and also up to 3.55X and 5.30X network traffic improvement in terms of flit count and flip-hop count respectively. We also propose the Spandex RISC-V instruction set extension, as a new interface for Spandex-aware and FCS-aware applications to convey flexible coherence performance information down to the hardware. We also provide a configuration register based interface for easily managing coherence specializations for fixed-function accelerators that are not capable of executing dynamic code. The RTL implementation, along with the accompanying RISC-V ISA support, greatly reduces the obstacles to the adoption of Spandex in the research community, and allows more system designers to consider Spandex as their coherence solution to further boost performance.","Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2021-09-16 without embargo terms","The student, Zeran Zhu, accepted the attached license on 2021-04-27 at 14:19.","The student, Zeran Zhu, submitted this Thesis for approval on 2021-04-27 at 14:41.","This Thesis was approved for publication on 2021-04-28 at 09:54.","DSpace SAF Submission Ingestion Package generated from Vireo submission #16589 on 2021-09-16 at 16:48:59","Made available in DSpace on 2021-09-17T01:13:31Z (GMT). No. of bitstreams: 3 ZHU-THESIS-2021.pdf: 1695973 bytes, checksum: 180d94504285cd091d17fbad72e1fefd (MD5) spandex-caches-main.zip: 47574 bytes, checksum: ee6831637726ed18536104663149967f (MD5) LICENSE.txt: 4206 bytes, checksum: 505e5529a033329a12b2c91dfac23f2a (MD5) Previous issue date: 2021-04-28"],"dc:format":["application/pdf"],"dc:identifier":["http://hdl.handle.net/2142/110588"],"dc:language":["en"],"dc:rights":["Copyright 2021 Zeran Zhu"],"dc:subject":["Cache Coherence Protocol","Hardware Architecture","Heterogeneous System-on-Chip","High-Level Synthesis"],"dc:title":["Hardware implementation and evaluation of the Spandex cache coherence protocol"],"dc:type":["text","Thesis"],"thesis:degree_discipline":["Electrical & Computer Engr"],"thesis:degree_level":["Thesis"],"thesis:degree_name":["M.S."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:24:52Z"}