Scheduling algorithms RRS feed

  • Question

  • Dear experts!
    Could you please advice where to get information about native scheduling algorithms (FCFS, FairShare, Backfill etc) implemented in Windows HPC Server scheduler
    is it possible to implement new algorithm to be introduced as main scheduling algorithm for site specific needs.
    Monday, January 25, 2010 5:58 AM


All replies

  • Arthur,
    You can learn about our policies here:

    The only extensibility points we offer at this point are Submission and Actvation filters.  We hope to provide policy plugability at some point in the future, but don't offer it in the HPC Server 2008 product (our most recent public release).

    Monday, January 25, 2010 8:29 PM
  • Josh,
    Thank you for information.

    I examined such chapters on Windows HPC Server 2008 as Understanding Job Scheduling Policies, Creating and Installing Job Submission and Activation Filters in Windows HPC Server 2008 Step-by-Step Guide and Reference information for the native HPC API as well.
    I see that it is possible to map a job to set of nodes on job creation and submit using HPC API.
    Also it is clear that using Submission filter it is possible to block a job from submitting or change its properties and
    and Activation filter may be used to block a job from starting if it shouldn't be run.

    However I don't understand if there is a way to implement scheduling policy I need.
    Maybe new feature called Service-balanced scheduling in HPC Server 2008 R2 will help but I couldn't find enough information about that feature.

    But let me show the simplified example to detalize my question.

    Say we have 2 dual-core nodes with one sequential (not parallelized) job running on each node.
    Then one new job arrives demanding one core to run. Scheduler can map new job to any of these 2 nodes.
    But I know that if new job will be maped to the second node it will be better, for example because job already running at the first node actively works with memory and utilizes almost all bandwidth of memory bus.
    So it is preferable to schedule new job on the second node for load balancing purposes.
    Usually such decisions depend on situation and cannot be done at submit time.

    So perhaps it is possible to change set of nodes for the job (RequestedNodes priority and maybe some other priorities from ISchedulerJob interface ) using API or somehow else during activation phase with the help of Activation filter?

    Thank you,

    Tuesday, January 26, 2010 9:50 PM
  • I will appreciate if you answer my last question about possibility of changing job properties during phase of running Activation Filter.
    Also it is interesting to know how policy plugability will be provided in the future?
    Saturday, January 30, 2010 9:21 AM