1. A distributed storage system comprising: memory hosts, each memory host comprising: non-transitory memory; a network interface controller in communication with the non-transitory memory and servicing remote direct memory access requests from clients, the non-transitory memory receives a data transfer rate from each client in communication with the memory host through remote direct memory access; and a data processor in communication with the non-transitory memory and the network interface controller, the data processor executing a host process that: reads each received client data transfer rate; receives an isolation configuration providing a bandwidth capacity for the memory host and a list of bandwidth reservations for the clients, each bandwidth reservation reserving a threshold data transfer rate for a client; determines a throttle data transfer rate for each client based on the isolation configuration; and writes each throttle data transfer rate to non-transitory memory accessible by the clients through remote direct memory access.