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
References in zbMATH (referenced in 5 articles , 1 standard article )
Showing results 1 to 5 of 5.
- Price, Gregory W.; Lowenthal, David K.: A comparative analysis of fine-grain threads packages (2003)
- Vavalis, Emmanuel: Runtime support for collaborative air pollution models (2002)
- Lowenthal, D. K.; Freeh, V. W.: Architecture-independent parallelism for both shared- and distributed-memory machines using the Filaments package (2000)
- Lowenthal, David K.; Freeh, Vincent W.; Andrews, Gregory R.: Efficient support for fine-grain parallelism on shared-memory machines (1998)
- Mascarenhas, Edward; Rego, Vernon: Migrant threads on process farms: Parallel programming with Ariadne (1998)
Further publications can be found at: http://www.cs.arizona.edu/people/filament/papers.html