Software-Hardware Disaggregation