A new client-server model to implement parallel algorithms in heterogeneous distributed computing systems