International Journal of Parallel Emergent and Distributed Systems · 2006 · 11 citations · 22 references
ComputingComputer EngineeringComputer ScienceFormal MethodsMessage PassingParallel ComputingCode GenerationCommunication SchedulingDistributed ComputingDistributed Memory ParallelismDistributed Memory SystemsInterprocess CommunicationDistributed MemoryDistributed Memory CommunicationDistributed-memory ArchitecturesFormal Requirement SpecificationMessage-passing AlgorithmsMessage-passing ModelsMessage-passing MultiprocessorsParallel Scheduling
In this paper, we investigate algorithms for generating communication code to run on distributed-memory systems. We modify algorithms from previously published work and prove that the algorithms produce correct code. We then extend these algorithms to incorporate the mapping of virtual to physical processors and prove the correctness of this extension. This technique can reduce the number of interprocessor messages. In the examples that we show, the total number of messages was reduced from O(N 2) to O(P 2), where N is the input size and P is the number of physical processors. The reason that it is important to revisit communication code generation and to introduce a formal specification of the incorporation of mapping in the communication code generation is so that we can make use of the many scheduling heuristics proposed in the literature. We need a generalized mapping function so that we can apply different mapping and scheduling heuristics proposed in the literature for each input program, therefore improving the average performance.
22
TreadMarks: shared memory computing on networks of workstations
Cristiana Amza, Alan L. Cox, Sandhya Dwarkadas et al. · Computer · 1996 · 834 citations · Full text
Bokhari · IEEE Transactions on Computers · 1981 · 586 citations
Scanning polyhedra with DO loops
Corinne Ancourt, François Irigoin · 1991 · 312 citations