This task will investigate and develop communication hiding strategies by building up expression trees on the client side. These expression trees will represent deferred computations to be performed on distributed arrays, and the end user can send a command to ensure these computations take place. By batching these computations, the total number of communication round-trips between the client and worker processes can be reduced, improving performance without compromising ease-of-use. This approach also provides opportunities for expression analysis and optimizing transformations, although we do not propose developing these advanced capabilities under the current scope.
This task will investigate and develop communication hiding strategies by building up expression trees on the client side. These expression trees will represent deferred computations to be performed on distributed arrays, and the end user can send a command to ensure these computations take place. By batching these computations, the total number of communication round-trips between the client and worker processes can be reduced, improving performance without compromising ease-of-use. This approach also provides opportunities for expression analysis and optimizing transformations, although we do not propose developing these advanced capabilities under the current scope.