A Data-Locality Aware Mapping And Scheduling Framework For Data-Intensive Computing