NXLib — A parallel programming environment for workstation clusters