Performance Analysis and Optimization of a Hybrid Distributed Reverse Time Migration Application