Natively-Heterogeneous Design of Distributed Computing Systems