Data Movement Optimization For High-Performance Computing