Implementing streams on parallel machines with distributed memory (1991)