Accelerator Job Classes vs. LSF Job Queues

E.M. Swanson_22526
E.M. Swanson_22526
Altair Employee
edited December 2021 in Altair HPCWorks

An important difference between the Altair Accelerator job scheduler and LSF is Accelerator’s implementation of job classes instead of job queues. LSF uses queues to manage jobs, where you handle policy elements such as where jobs execute, their execution priority, and how resources are allocated between teams. Accelerator uses job classes to associate each job with specific scheduling parameters. When migrating to Accelerator, job classes are typically used to mirror the behavior of LSF job queues. 

Each job class controls how scheduling and resource allocation policy is applied to jobs across the entire cluster. Each class has specific scheduling parameters that you choose. You can define job classes according to ranges of criteria; for example, memory or CPUs requested, licenses required, and submitter ID or team. You can define classes to allow team members across projects to share resources. 

While it is possible to have a one-to-one mapping between your old queues and your new job classes, you will instead probably find that you get a nice advantage from defining job classes to more directly reflect your workload. For example, you can define a job class around elements such as a team, a job type, or a tool. You can use environment variables to group jobs into job classes. 

You can also define job classes that exhibit different behavior depending on the context in which a job is submitted, by using if-then-else logic in the job class to switch between behaviors. Context is typically determined by an environment variable or directory name. 

Read more in our Knowledge Base article: Migrating from LSF to Accelerator.