BEC :a virtual shared memory parallel programming environment.
Susan Goudy, Jonathan L. Brown, Zhaofang Wen, Michael A. Heroux, Shan Huang · 2006
We propose an abstraction, named BEC, to enable Global Address Space (GAS) capabilities for parallel programming in SPMD style .It is a portable lightweight approach for incremental acceptance of the GAS model, along an evolution path that leverages existing infrastructures and maintains backward compatibility with existing programming methods and environments .It assists migration of legacy applications thereby encouraging their expert programmers to adopt the new model.In addition, it provides for some of the unaddressed needs, such as efficient support for high-volume fine-grained and random communications, which are common in parallel graph algorithms, sparse matrix operations, and large scale simulations .The idea behind BEC is that messages are aggregated by a runtime library for bulk transport to handle such unpredictable communication patterns .Data from initial experiments with a prototype communication bundling library using the Bundle-Exchange-Compute (thus motivating the name BEC) programming style shows that this approach scales well.As examples of suitable BEC applications, we present sparse matrix kernels for multiplication and overlapping Schwarz preconditioning [5,11] .We also discuss solid mechanics material contact [1,18] with abundant irregular, fine-grained communication.BEC can be used as an enhancement to existing environments such as MPI .It can also function as an intermediate language [14] to other high level GAS languages such as PRAM C [8] and UPC [30] .Furthermore, it can serve as a bridge between programming models such as virtual shared memory and message passing.