(there was a confusion with e-mails on and off the list, I apologize)Thanks, Reuti! I created a project and added it as a separate sub-tree:# qconf -sstreeid=0name=roottype=0shares=1childnodes=1,2id=1name=defaulttype=0shares=1childnodes=NONEid=2name=gpuprojtype=1shares=1childnodes=NONEIt is now enforced via JSV on all GPU jobs. Now, what do I need to change in my scheduler config?# qconf -ssconfalgorithm defaultschedule_interval 0:0:10maxujobs 1900queue_sort_method seqnojob_load_adjustments np_load_avg=0.50load_adjustment_decay_time 0:7:30load_formula np_load_avgschedd_job_info trueflush_submit_sec 0flush_finish_sec 0params nonereprioritize_interval 0:0:0halftime 48usage_weight_list cpu=0.333000,mem=0.333000,io=0.334000compensation_factor 5.000000weight_user 1.000000weight_project 0.250000weight_department 0.250000weight_job 0.000000weight_tickets_functional 9800weight_tickets_share 200share_override_tickets TRUEshare_functional_shares TRUEmax_functional_jobs_to_schedule 2000report_pjob_tickets TRUEmax_pending_tasks_per_job 50halflife_decay_list cpu=1440:mem=1440:io=1440policy_hierarchy FOSweight_ticket 0.500000weight_waiting_time 1.000000weight_deadline 0.000000weight_urgency 0.000000weight_priority 0.500000max_reservation 0default_duration 0:10:0Thanks! Pavel---------------------Sent from Reuti <[email protected]> on 02.05.2017 - 3:38 pm:Hi,
> Am 02.05.2017 um 15:11 schrieb [email protected]: > > we run SGE 8.1.9 in a cluster with many multi-core machines and some GPU machines. We were able to configure different queues with different complexes and the scheduling works fine in general. What I'm not yet happy with is the way the priority is calculated. > > A typical user will submit a few GPU jobs and many non-GPU jobs. The two queues are strictly separated - no GPU jobs will run on a non-GPU machine and no non-GPU jobs will run on a GPU machine. Unfortunately, the regular CPU-jobs that run on non-GPU machines seem to reduce the priority of the pending GPU jobs. This seems to penalize GPU-users even if their GPU consumption has been very low for a long time. Yes, that's understandable. > Since the GPU-per-user ratio is very low (~1.5), I would like the SGE to keep scheduling the CPU jobs as before, but do something different for GPU jobs. Ideally, I would like it to ignore all non-GPU usage when calculating priority for GPU jobs. > > What is the best mechanism to achieve this separation? I could install two instances of SGE (one for GPU, one for non-GPU queues) so that their schedulers are 100% independent, but it is difficult to maintain and I would prefer anything more "native". Are you using projects right now? Either voluntarily of forced by a JSV, the GPU jobs could be assigned to a (different) project in a share tree policy and get a different scheduling behavior this way. -- Reuti
_______________________________________________ users mailing list [email protected] https://gridengine.org/mailman/listinfo/users
