An Efficient Parallel Multilevel Fast Multipole Algorithm for Large-scale Scattering Problems