Large Scale Scientific Computing: Experiments and Programming Paradigms on Grids, Desktop Grids and Private Clouds