Scheduler Simulator

Setting Up the Simulator

Before using ACP Scheduler for a live night, you really should enter a project and run it in simulation mode (which uses accelerated time and an internal sequencer). Before doing this, you'll need to review and change some configuration settings. Open the Configuration window (Scheduler menu) and go to the Simulator Sequencer section. Click on a value to see details in the area below the list.

The main things to change are the latitude, longitude, and elevation. Change these to match your observing site. West longitude is negative. Look over the timing parameters; if you're interested in the greatest simulation accuracy, edit them to match your real observatory's characteristics. Times are in seconds. If you want to test the Scheduler's re-queuing, increase the cloud probability to something like 0.1 (10%) which will cause 1 in 10 images (random) to fail. The timing noise is the RMS uncertainty (sec.) applied to all of the sequencer times.

Test Data

Observations for simulation are subject to local-night and constraints for your observatory's location. Therefore, you'll need to enter Observations which will satisfy their constraints at some point during local night. You can change the simulated time as needed before starting the simulation.

If you just want to play with the Scheduler, and don't need to test with your own observing workloads, use the Generate Test Project menu item (Scheduler menu). This will create requests based on the settings you supply. This is a very good way to get familiar with the Scheduler. See the Advanced Features page for info on how to tailor the generated Projects.

Running the Simulation

Once you have configured the simulator sequencer for your location and have entered some work into the Browser, start the Scheduler. Set the time (right-click on the date/time fields for shortcuts), select Debug logging level, and click Dispatcher running check box. You'll see the state change from Sleeping to Scheduling and back, and you will occasionally see Observing.

Time goes by very quickly, yet the timing of the simulation is faithful to real time (within the limits of the sequencer timing you set up). The scheduling phase is run in real time, so the impact of scheduler overhead is accurate. Bottom line: if you set up accurate timings in the sim sequencer parameters, your run will closely match what you would see on a real night with the data you entered.

After the Run

Watch the simulated time and when you see it get to a UTC that's clearly past sunrise, stop the dispatcher. Open the browser (Sequencer menu, View Browser) and look through the tree. Completed items will have a thumbs-up icon, deferred items will have a sleeping face, and failed items will have a crossed out circle. Look at the data and pay attention to the status and any messages at the bottom of the data pages.

Now look at the log file (Scheduler menu, View Log File). If you selected Debug level, you'll see the scheduler's activity in great detail. The time stamps are from the simulated clock, so the timing should be very close to what you would see for your real observatory and ACP. Take some time to study the log. You'll start to learn what's going on. It can be surprising. Note particularly the cycle and overall efficiency numbers. The latter are printed at the bottom of the log when the scheduler is shut down.

Finally use the Run Detail Analyzer to analyze the performance and behavior of the scheduler.

Re-Using Your Requests

If you want to run your workload again, use the Browser's Test menu and select Resubmit All Plans. This will change the status of everything in the Scheduler database to Pending, as if the work was never done. Or you can disable and/or resubmit individual Projects and Plans using the right-click menu in the tree.

Cleaning Up

You can delete completed request data from the tree or use the Browser's Test/Delete All Completed menu item.