Idle desktop computers are already used for high performance computing. But there is a lack of wider use for parallel computing due to the limitations of the programming models available. We have built a new communication library that facilitates execution of parallel scientific applications on virtual clusters composed of volatile ordinary PC nodes.