Massively Parallel Non-negative Matrix Factorization