Abstract :
Data-parallel computing frameworks (DCF) such as MapReduce, Spark, and Dryad etc. Have tremendous applications in big data and cloud computing, and throw tons of flows into data center networks. In this paper, we design and implement FLOWPROPHET, a general framework to predict traffic flows for DCFs. To this end, we analyze and summarize the common features of popular DCFs, and gain a key insight: since application logic in DCFs is naturally expressed by directed acyclic graphs (DAG), DAG contains necessary time and data dependencies for accurate flow prediction. Based on the insight, FLOWPROPHET extracts DAGs from user applications, and uses the time and data dependencies to calculate flow information 4-tuple, (source, destination, flow_size, establish_time), ahead-of-time for all flows. We also provide generic programming interface to FLOWPROPHET, so that current and future DCFs can deploy FLOWPROPHET readily. We implement FLOWPROPHET on both Spark and Hadoop, and perform extensive evaluations on a testbed with 37 physical servers. Our implementation and experiments demonstrate that, with time in advance and minimal cost, FLOWPROPHET can achieve almost 100% accuracy in source, destination, and flow size predictions. With accurate prediction from FLOWPROPHET, the job completion time of a Hadoop TeraSort benchmark is reduced by 12.52% on our cluster with a simple network scheduler.
Keywords :
data analysis; directed graphs; parallel processing; pattern clustering; telecommunication traffic; 4-tuple; DAG; DCF; Dryad; FLOWPROPHET; Hadoop TeraSort benchmark; MapReduce; Spark; big data; cloud computing; data center networks; data dependencies; data-parallel cluster computing; destination predictions; directed acyclic graphs; establish-time; flow size predictions; generic programming interface; job completion time; network scheduler; physical servers; source predictions; time dependencies; traffic prediction; user applications; Calculators; Context; Data mining; Optimization; Parallel processing; Prediction algorithms; Sparks; Data Center Network; Data-parallel Computing; Group Communication;