FPGAs are increasingly being deployed in the cloud to accelerate diverse applications. They are to be shared among multiple tenants to improve the total cost of ownership. Partial reconfiguration technology enables multi-tenancy on FPGA by partitioning it into regions, each hosting a specific application's accelerator. However, the region's size can not be changed once they are defined, resulting in the underutilization of FPGA resources. This paper argues to divide the acceleration requirements of an application into multiple small computation modules. The devised FPGA shell can reconfigure the available PR regions with those modules and enable them to communicate with each other over Crossbar interconnect with the Wishbone bus interface. For each PR region being reconfigured, it updates the register file with the valid destination addresses and the bandwidth allocation of the interconnect. Any invalid communication request originating from the Wishbone master interface is masked in the corresponding master port of the crossbar. The allocated bandwidth for the PR region is ensured by the weighted round-robin arbiter in the slave port of the crossbar. Finally, the envisioned resource manager can increase or decrease the number of PR regions allocated to an application based on its acceleration requirements and PR regions' availability.
翻译:部分重组技术通过将FPGA分割成每个区域,每个区域是某个具体应用程序的加速器;然而,一旦定义后,该区域的规模无法改变,导致FPGA资源利用不足。本文件主张将应用程序的加速要求分为多个小计算模块。设计的FPGA 贝壳可以用这些模块重新配置现有的PR区域,并使他们能够通过交叉栏连接Wishbone公交界面的交叉路口相互连接,进行相互通信。对于每个正在重新配置的PRP区域,它能够以有效的目的地地址和连接的带宽分配方式更新登记册文件。来自Wishbone主界面的任何无效的通信请求在交叉栏的相应主端口被遮蔽。分配给PR区域的带宽可以通过交叉栏奴隶港的加权圆形仲裁确保。最后,设想的资源管理者可以增加或减少分配的PR区域数量,以便根据加速度的要求,将其应用到PR区域。