Distributed computing of large-scale singular value decompositions