Parallel computing with P2P desktop grids