# Revisiting the High-Performance Reconfigurable Computing for Future Datacenters
## 4 Revisiting the FPGA Virtualization  
Resources are time multiplexed in a cloud services provider datacenter, referred as Infrastructure as a Service (IaaS). The sharing of resources is achieved through virtualization, an abstraction layer for hiding the physical resources from users. The process of virtualization raises issues like ease-of-use, privacy and performance but yet IaaS provide individual users and small organizations with an economic choice of renting over spending on infrastructure. Other than an academic example, such as SAVI testbed [39], industry offers plenty of solutions that are equally popular among designers. Amazon Web Services EC2 [40], IBM Zurich [41], and Intel are important competitors. Alveo on the Nimbix Cloud [42] is suitable for the designers working on Xilinx tools. Maxeler Technologies, \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline
**Year** & **Network Type** & **Traffic Type** & **No. of Routers** & **Target FPGA** & **Freq. (M.Hz.)** & **Work** \\ \hline
2010 & Multiple FPGA & Real: App. Cores & 16 & Virtex \(5\times 5\) & - & [26] \\
2010 & Direct Mapping & Real: Traces based & 64 & Virtex 2 & 45 & [27] \\
2010 & Fast Prototyping & Synthetic & 49 & Virtex 6 & 50 & [28] \\
2011 & Direct Mapping & Real: Traces based & 25 & Virtex 5 & - & [29] \\
2011 & Virtualization & Real: Traces based & 256 & Virtex 6 & 152 & [30] \\
2011 & Fast Prototyping & Synthetic & 576 & Virtex 6 & 300 & [31] \\
2011 & Virtualization & Real: App. Cores & 64 & Virtex 2 & - & [32] \\
2011 & Virtualization & Real: App. Cores & 16 & Virtex 5 & \(3,15\) & [33] \\
2011 & Direct Mapping & Synthetic & 36 & Virtex 5 & - & [34] \\
2012 & Direct Mapping & Real: App. Cores & 9 & Virtex 5 & - & [35] \\
2013 & Multiple FPGA & Synthetic & 18 & Virtex \(5\times 2\) & - & [36] \\
2014 & Virtualization & Synthetic & 1024 & Virtex 7 & 42 & [37] \\
2015 & Direct Mapping & Synthetic & 64 & Virtex 6 & 50 & [38] \\
2016 & Direct Mapping & Synthetic & 16 & Virtex 6 & 250 & [13] \\
2017 & Direct Mapping & Synthetic & 16 & Virtex 6 & 250 & [24] \\
2018 & Direct Mapping & Synthetic & 16 & Virtex 6 & 250 & [25] \\ \hline \hline \end{tabular}
\end{table} 
Table 2: NoC Evaluation Tools based on FPGA(s). however, offers specific solutions, like an algorithmic contribution for memory mapping [43] and an area optimization technique [44]. Virtualization plays a relatable role to an operating system in a computer, but the term is being used in different meanings in this area, due to non-uniform nomenclature discussed earlier. Yet, the universal concept of an abstraction layer remains unchanged, a layer for the user to hide the underlying complexity of the computing machine, where the computing machine is not a traditional one, but FPGA. Many virtualization architectures have been proposed as per the requirements of the diverse applications. In 2004, a survey in this regard categorized the virtualization architectures into three broad categories, temporal partitioning, virtualized execution, and overlays [5]. Since then, no serious effort has been recorded on the classification of virtualization, until [PERSON] et al. [6] in 2018 classified the virtualization architectures based on abstraction levels. This much-needed classification contributed by [PERSON] et al. has been adopted as is, to discuss the works in this survey. We reiterated them with some of the representative work examples in Table 3. The works have been discussed under the same abstract classification. Although there are many features of virtualization like management, scheduling, adoptability, segregation, scalability, performance-overhead, availability, programmability, time-to-market, security, but the most important feature in the context of scope of this research is the multi-tenancy because it is essential for a sustainable and economically viable deployment in datacenters. FPGA has two types of fabric: reconfigurable and non-reconfigurable.