1. A method comprising steps of: generating a generic performance model for a program job, wherein the program job executes one or more map tasks in a map phase and one or more reduce tasks in a reduce phase in a distributed computing system; wherein generating the generic performance model comprises modeling respective costs of the map phase and the reduce phase sequentially to generate a total cost of the program job as a sum of the map phase cost and the reduce phase cost; wherein modeling the map phase cost comprises formulating at least a portion of the map phase cost as one or more map phase multiple regression models, each of the map phase multiple regression models comprising two or more inputs associated with data input to at least one of the one or more map tasks; wherein modeling the reduce phase cost comprises formulating at least a portion of the reduce phase cost as one or more reduce phase multiple regression models, each of the reduce phase multiple regression models comprising two or more inputs associated with data input to at least one of the one or more reduce tasks; instantiating a set of one or more program job-specific parameters using historical performance data of the program job, wherein the set of one or more program job-specific parameters comprises the one or more map phase multiple regression models and the one or more reduce phase multiple regression models; generating a trained performance model by training the generic performance model using the set of one or more program job-specific parameters; predicting performance of a subsequent execution of the program job based on the trained performance model; and implementing one or more scheduling strategies associated with the program job based on the predicted performance; wherein the steps of the method are performed via at least one processing device comprising a processor operatively coupled to a memory.