{"title":"触发调度:异构系统上数据流网络空闲的有效检测","authors":"Mahyar Emami, E. Bezati, J. Janneck, J. Larus","doi":"10.1145/3431920.3439473","DOIUrl":null,"url":null,"abstract":"Hardware-software codesign for FPGAs requires flexible and changeable boundaries between hardware and software. Design space exploration is facilitated by expressing programs in a language that can be compiled for both CPU and FPGA execution. Such an approach requires efficient and general communication mechanisms between hardware and software. We present a practical solution to this problem for heterogeneous programs expressed in CAL, an actor based language running on a PCIe-based FPGA system where communication between a processor and FPGA is relatively expensive. We show how a network of continuously executing software and hardware actors with fine-grained communication can be expressed as a coprocessor model that executes the network in discrete steps with efficient coarse-grained transfers across the PCIe bus. To this end, we present the Triggered Scheduling (TS) algorithm to detect idleness (i.e. lack of forward progress) of a dynamic actor network with unpredictable consumption/production rates. With TS, it is possible to treat a network of actors running on hardware as a coprocessor that can be called by software. We show how TS can be used to build a truly heterogeneous system on a HLS platform. Using 4 large benchmarks, we analyze the performance and resource utilization of the Triggered Scheduling algorithm.","PeriodicalId":386071,"journal":{"name":"The 2021 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays","volume":"257 ","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-02-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Triggered Scheduling: Efficient Detection of Dataflow Network Idleness on Heterogeneous Systems\",\"authors\":\"Mahyar Emami, E. Bezati, J. Janneck, J. Larus\",\"doi\":\"10.1145/3431920.3439473\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Hardware-software codesign for FPGAs requires flexible and changeable boundaries between hardware and software. Design space exploration is facilitated by expressing programs in a language that can be compiled for both CPU and FPGA execution. Such an approach requires efficient and general communication mechanisms between hardware and software. We present a practical solution to this problem for heterogeneous programs expressed in CAL, an actor based language running on a PCIe-based FPGA system where communication between a processor and FPGA is relatively expensive. We show how a network of continuously executing software and hardware actors with fine-grained communication can be expressed as a coprocessor model that executes the network in discrete steps with efficient coarse-grained transfers across the PCIe bus. To this end, we present the Triggered Scheduling (TS) algorithm to detect idleness (i.e. lack of forward progress) of a dynamic actor network with unpredictable consumption/production rates. With TS, it is possible to treat a network of actors running on hardware as a coprocessor that can be called by software. We show how TS can be used to build a truly heterogeneous system on a HLS platform. Using 4 large benchmarks, we analyze the performance and resource utilization of the Triggered Scheduling algorithm.\",\"PeriodicalId\":386071,\"journal\":{\"name\":\"The 2021 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays\",\"volume\":\"257 \",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2021-02-17\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"The 2021 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3431920.3439473\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"The 2021 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3431920.3439473","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Triggered Scheduling: Efficient Detection of Dataflow Network Idleness on Heterogeneous Systems
Hardware-software codesign for FPGAs requires flexible and changeable boundaries between hardware and software. Design space exploration is facilitated by expressing programs in a language that can be compiled for both CPU and FPGA execution. Such an approach requires efficient and general communication mechanisms between hardware and software. We present a practical solution to this problem for heterogeneous programs expressed in CAL, an actor based language running on a PCIe-based FPGA system where communication between a processor and FPGA is relatively expensive. We show how a network of continuously executing software and hardware actors with fine-grained communication can be expressed as a coprocessor model that executes the network in discrete steps with efficient coarse-grained transfers across the PCIe bus. To this end, we present the Triggered Scheduling (TS) algorithm to detect idleness (i.e. lack of forward progress) of a dynamic actor network with unpredictable consumption/production rates. With TS, it is possible to treat a network of actors running on hardware as a coprocessor that can be called by software. We show how TS can be used to build a truly heterogeneous system on a HLS platform. Using 4 large benchmarks, we analyze the performance and resource utilization of the Triggered Scheduling algorithm.