Improving Performance In Data Processing Distributed Systems By Exploiting Data Placement And Partitioning