OMPC++:
A Portable High Performance Implementation of DSM using OpenC++ Reflection

Background

Current solutions - problems

Solution: Reflection or gOpen Compilerh strategy

Solution: OpenJIT Project

OpenJIT general schema

This work - Open Compiler DSM Experiment in C++

Overview of OMPC++

OMPC++ components

Work flow of
OMPC++

Software DSM

Software DSM(2)

Rules for source programs written by users

Program Transformation(1)

OMPC++ metaclass sample code

Program Transformation(2)

Example: before and after the transformation

Evaluation

Evaluation - Environtent

Continuous Read/Write

Blocked Stride r/w (worst case)

CG Kernel (1) - Small Problem

CG Kernel (2) - Large Problem

SPLASH2 FFT

SPLASH2 LU

SPLASH2 LU (2)

Comparison with other  Software DSM systems

Conclusion

Future work

ƒXƒ‰ƒCƒh30

OMPC++ Components hierarchy

Cost of invalidations