Page tree
Skip to end of metadata
Go to start of metadata

WORK IN PROGRESS !

When you have only one query with one source, scheduling is not a thing to think about, in other cases some options can be done by configuring the scheduler.

Scheduling in Odysseus has two parts:

  1. Choose the query to schedule. This is done with the scheduler
  2. Scheduler the plan of the query. This is done with the scheduling strategy

In ODYSSEUS_HOME a file called scheduling.conf defines the basic scheduling mechanisms:

defaultScheduler=<SCHEDULER>

defaultStrat=<SCHEDULING STRATEGY>

 

List of currently available Schedulers:

  • ST Scheduler RR MS Limit Thread: This scheduler schedules different sources in multiple thread. You can configure how many sources should be scheduled by one thread. If more sources need to be scheduled a new thread is spawned
  • Single Thread Scheduler RR Multi Source: This scheduler schedules different sources in multiple thread. Here you can define how many threads should be used to schedule all sources, independed of the number of sources
  • Single Thread Scheduler RR: This scheduler schedules each sources in a different thread.

  • Simple Dynamic Priority Scheduler: TBD
  • Static Priority Plan Scheduler: TBD
  • SLA Scheduler: TBD

 

List of currently available Scheduling Strategies (Availablity depends on contained bundles):

  • Aurora Min Latency
  • Aurora Min Cost
  • Chain
  • Chain (Iter)
  • Biggest Queue
  • Round Robin
  • Round Robin (Iter)

 

Further configurations can be done in the Odysseus.conf:

  • scheduler_simpleThreadScheduler_executorThreadsCount: How many schedulers should be used in parallel. If set to -1 (or not set) the number of processor cores is used. Save value = 1
  • Scheduler.Simplethreaded.SourceThreadCount: How many threads should be used for all sources, independed of the number of sources
  • Scheduler.Simplethreaded.SourcesPerThread (for ST Scheduler RR MS Limit Thread): How many sources should be access by one thread, if there are more sources, then a new scheduler is used

 

 

  • No labels