1. A computer-implemented method comprising: receiving training data for predictive modeling; setting an ultimate time by which each of a plurality of processes executing training functions to generate respective trained predictive models is to be completed; executing the plurality of processes simultaneously in parallel to generate the trained predictive models using the training data; determining, after executing each of the plurality of processes for an initial time that is earlier than the ultimate time, a respective convergence status of each of the plurality of processes, wherein the convergence status indicates a likelihood that the process will converge, and based on the determination, identifying one or more processes that are not likely to converge, terminating processes that are not likely to converge, and allowing the remaining processes to continue executing; after the ultimate time has been reached, terminating processes that have not yet converged and generating an effectiveness score for each of a plurality of trained predictive models that were generated by the remaining processes, wherein the effectiveness score for a particular trained predictive model represents an estimation of the effectiveness of the particular trained predictive model; storing the plurality of trained predictive models in a repository of trained predictive models; receiving input data and a prediction request; selecting, for use in servicing the prediction request, a first trained predictive model from among the plurality of trained predictive models based on their respective effectiveness scores; providing the input data to the first trained predictive model; and receiving a predictive output from the first trained predictive model.
1. A computer-implemented method comprising: receiving training data for predictive modeling; setting an ultimate time by which each of a plurality of processes executing training functions to generate respective trained predictive models is to be completed; executing the plurality of processes simultaneously in parallel to generate the trained predictive models using the training data; determining, after executing each of the plurality of processes for an initial time that is earlier than the ultimate time, a respective convergence status of each of the plurality of processes, wherein the convergence status indicates a likelihood that the process will converge, and based on the determination, identifying one or more processes that are not likely to converge, terminating processes that are not likely to converge, and allowing the remaining processes to continue executing; after the ultimate time has been reached, terminating processes that have not yet converged and generating an effectiveness score for each of a plurality of trained predictive models that were generated by the remaining processes, wherein the effectiveness score for a particular trained predictive model represents an estimation of the effectiveness of the particular trained predictive model; storing the plurality of trained predictive models in a repository of trained predictive models; receiving input data and a prediction request; selecting, for use in servicing the prediction request, a first trained predictive model from among the plurality of trained predictive models based on their respective effectiveness scores; providing the input data to the first trained predictive model; and receiving a predictive output from the first trained predictive model. 6. The method of claim 1 , wherein after the ultimate time has been reached but before terminating processes that have not yet converged, the method further comprises: for each process that has not yet converged, estimating a time to convergence and allowing the process to continue executing for the estimated time.