Programs written in this functional style are automati- cally parallelized and executed on a large cluster of com- modity machines.The run-time system takes care of the details of partitioning the input data,scheduling the pro- gram's execution across a set of machines,handling ma- chine failures,and managing the required inter-machine communication.This allows programmers without any experience with parallel and distributed systems to eas- ily utilize the resources of a large distributed system