package schedframe.scheduling.plugin.grid; /** * This interface provides performance estimations that can be used in scheduling * * @author Ariel * */ public interface Prediction { /** * Predicts runtime of a given task at specific resource * @param td Description of a task * @param rd Description of resources * @param resourceId id of resource * @return prediction of a task runtime for a given task and resource description */ // public PredictionValue getRunTime(TaskDescription td, ResourceDescription rd, String resourceId); /** * Predicts runtime of a given task * @param td Description of a task * @return prediction of a task runtime for a given task */ // public PredictionValue getRunTime(TaskDescription td); /** * Predicts queue wait time of a given task at specific resource * @param td Description of a task * @param rd Description of resources * @param resourceId id of resource * @return prediction of a task waiting time for a given task and resource description */ // public PredictionValue getWaitTime(TaskDescription td, ResourceDescription rd, String resourceId); /** * Predicts a given parameter of a given task * @return prediction for a given parameter and task description */ // public PredictionValue getPrediction(String paramName, TaskDescription td); /** * Predicts runtimes of given tasks at specific resources * @param td Description of a task * @param rd Description of resources * @param resourceIds identifiers of resources * @return predictions for a given task; returned array contains predictions for requested resources */ // public PredictionValue[] getRunTime(TaskDescription td, ResourceDescription rd, String[] resourceIds); }