The Catalina scheduler was developed to serve as a maintainable, extendable external scheduler for LoadLeveler and other resource managers. Support of the GridForm Advance Reservation API was one of the goals of the development effort. Python was chosen as the development language, to encourage readability. Catalina is similar to the Maui Scheduler in many ways: - Single queue, priority-based Both Maui and Catalina consider all the jobs on a machine in a single queue, and schedule them based on a priority calculation. - Reservations Both schedulers support restriction of jobs from nodes for set time intervals, based on job characteristics. - Backfill Both schedulers effectively run low-priority jobs, as long as they don't delay higher priority jobs. - Standing Reservations Both schedulers allow specification of recurring reservations. Catalina is missing several important Maui (version 3.0.3.7) features, including: - fairshare - job statistics tracking - workload profiling. Catalina is consistent with the GridForum Advance Reservation API, although it does not support all features of the API. Supported features include: - creating a reservation - modifying a reservation - binding a reservation to a job - canceling a reservation. Unsupported features are: - two-phase commit - claiming a reservation - registering a callback function Catalina has several other distinguishing features: - shortpools. These are virtual sets of nodes guaranteed to be available after a configurable lag time. For example, Catalina can guarantee that 32 nodes will be available for the first high priority job to enter the queue, after a maximum of 8 hours queue wait time. - arbitrary Python code for filtering of jobs allowed to use a reservation. - arbitrary Python code for filtering nodes considered for use in a reservation. - user-settable reservations. This feature allows an unprivileged user to create a reservation for himself or herself, subject to site policies. This would also allow application level metaschedulers to create reservations without requiring administrative privileges on the local cluster. Performance and functionality has proven adequate in production on the SDSC Blue Horizon IBM SP.