A Map-Reduce-Like System For Programming And Optimizing Data-Intensive Computations On Emerging Parallel Architectures