A task-based distributed computing framework for C#/.NET