Προτεραιότητα εργασιών
Για να ελέγξουμε την προτεραιότητα δρομολόγησης μίας εργασίας που βρίσκεται σε αναμονή (PD
state) σε κάποιο partition της συστοιχίας, μπορούμε να χρησιμοποιούμε την εντολή
# sprio
Priority Factors¶
Οι εργασίες που υποβάλλονται στην συστοιχία λαμβάνουν έναν συντελεστή προτεραιότητας (PRIORITY
) για την δρομολόγησή τους στην συστοιχία με βάση μία σειρά από παράγοντες.
AGE
: Ο συντελεστής προτεραιότητας μίας εργασίας αυξάνεται όσο περισσότερο χρόνο παραμένει σε αναμονή (queued). Ο συντελεστής παύει να αυξάνεται μετά από μία ημέρα (24h) παραμονής ενός job στην ουρά.JOBSIZE
: Ο συντελεστής προτεραιότητας μίας εργασίας αυξάνεται αναλογικά με τους πόρους που απαιτούνται από την εργασία. Επίσης, η προτεραιότητα αυξάνεται όσο πιο σύντομη είναι η εργασία.FAIRSHARE
: Για την δικαιότερη κατανομή των πόρων της συστοιχίας, ο παράγονταςfairshare
ρυθμίζει την προτεραιότητα έτσι ώστε κάθε λογαριασμός να λαμβάνει συντελεστή προτεραιότητας που αντιστοιχεί στην χρήση των πόρων που έχει κάνει μέχρι την στιγμή που υποβάλει μία νέα εργασία. Επομένως, λογαριασμοί που έχουν χρησιμοποιήσει μικρότερο μέρος των πόρων της συστοιχίας, συγκριτικά με άλλους λογαριασμούς, θα έχουν την δεδομένη στιγμή, μεγαλύτερο συντελεστήfairshare
για όλες τις εργασίες τους. Για τον υπολογισμό του συντελεστήfairshare
, χρησιμοποιείται ο αλγόριθμοςFair Tree
. Ο συντελεστής αποσβένει σε μηνιαία βάση κατά ένα παράγοντα 50% (δηλαδή έχει βάρος "1" η χρήση των τελευταίων 30 ημερών, το βάρος "0,5" η χρήση των προηγούμενων 30 ημερών κ.ο.κ.)