Filaments implements fine-grain parallelism both portably and efficiently on shared- and distributed-memory machines. It currently runs on an SGI, Sequent, and a cluster of Sun IPCs. Prototypes are running on a cluster of DECstations running Mach and an Intel Paragon. DF provides a shared-memory programming model, implemented by a distributed shared memory on distributed machines. It achieves efficiency by using stateless threads, overlapping communication and computation, and automatically balancing the load in fork/join computations. Filaments strives to make languages and compilers simpler by pushing some of the complexity into a run-time system. To this end, we have validated Filaments by creating fsc, a modified a SISAL compiler to generate Filaments code. Filaments obviates the need for compilers to cluster small tasks into larger ones. Ongoing research is focusing on how to augment Filaments to automatically place data on processors (in the Adapt subsystem) and to automatically avoid thrashing. These subsystems will obviate the need for compilers to place data on the processors and to pad data to avoid thrashing, simplifying the job of the programmer and the compiler.

Keywords for this software

Anything in here will be replaced on browsers that support the canvas element