A computer program product for providing a user interface supporting user decision making and readjusting of computer job execution allocations, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions readable by a device to cause the device to perform a method comprising:
- receiving a list of computer executable jobs for execution on a computing environment;
- receiving one or more user preferences and a plurality of constraints associated with the list of computer executable jobs, wherein the plurality of constraints comprises pricing and turnaround time;
- generating a plurality of execution scheduling options for the list of computer executable jobs;
- providing a visualization comprising at least the plurality of execution scheduling options with corresponding time and cost estimates;
- providing a sandbox environment for editing one or more of the plurality of execution scheduling options, wherein a user may use the sandbox to explore variations in time and cost by reconfiguring the scheduling options;
- wherein the device is further caused to perform:
- receiving a user selection of an execution scheduling option from the plurality of execution scheduling options;
- and
- iteratively perform:
- monitoring execution of the computer executable jobs allocated in the execution scheduling option selected by the user;
- monitoring a current resource status of the computing environment while the computer executable jobs are executing;
- determining estimation of time and cost of running one or more of the computer executable jobs based on the monitoring of the execution and the current resource status;
- determining uncertainty associated with the estimation of time and cost of incomplete jobs at least based on analyzing internal computing structures associated with historical jobs, wherein incomplete jobs comprises running and queued jobs;
- checking the constraints against the current resource status, each constraint may be applied to the current resource status to generate a warning to the user responsive to at least one of the constraints being compromised;
- and
- allowing updating, during the execution, of the visualization associated with the generated plurality of execution scheduling options and scheduling options stored by the user using the sandbox environment with updates to the plurality of execution scheduling options based on the estimation of time and cost and the uncertainty of remaining incomplete jobs.