To configure any kind of fairshare scheduling, you should understand the following concepts:
User share assignments
Dynamic share priority
Job dispatch order
You can configure fairshare at either host level or queue level. If you require more control, you can implement hierarchical fairshare. You can also set some additional restrictions when you submit a job.