Hardware resource disaggregation is a solution that breaks full-blown, general-purpose servers into segregated, network-attached hardware resource pools, each of which can be built, managed, and scaled independently. With disaggregation, different resources can be allocated from any device in their corresponding pools, exposing vast amounts of resources to applications and at the same time improving resource utilization. Disaggregation also allows data-center providers to deploy, manage, and scale different types of resources independently.
Because of these benefits, disaggregation has gained significant traction from both academia [1]}, [2]}, [3]}, [4]}, [5]}, [6]}, [7]}, [8]}, [9]}, [10]} and industry [11]}, [12]}, [13]}, [14]}, [15]}.
Existing disaggregated systems have focused on separating three types of resources: compute [1]}, [17]}, memory (or persistent memory) [1]}, [11]}, [20]}, [21]}, [3]}, [7]}, [9]}, [10]}, [26]}, and storage [27]}, [15]}, [29]}, [30]}.
