Full waveform inversion presents a number of algorithmic and computational challenges. Besides the bottlenecks associated with storage, communication and processing of large-scale system matrices, the key problem is that numerous local minima of the objective function make it hard to find a good solution even in the 2D case. We tackle this problem with multi-scale simulation, where the novelty of our approach follows from multiscaling coupled with dimensionality reduction. Compared to the traditional methodology based on regularization (which keeps problem dimensionality the same), the approach presented in this study is computationally more efficient yet less prone to local minimum. In this paper, we propose a solution to the inversion problem in 2D. The key issue in solving the inversion problem is how to avoid local minima in a reasonable time, given the often limited computational power. Multi-scaling appears to be the right way to tackle curse of dimensionality and numerous local minima. Our approach demonstrates novelty both in terms of algorithm design and parallel distributed implementation.