forked from alexispapabil/thesis
-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Nikolaos Triantafyllis edited this page Oct 3, 2022
·
3 revisions
A Python implementation of an adjustable resource manager for MPI applications on a computer cluster. It consists of:
- A scheduling module supporting two algorithms:
- FCFS: Favours old jobs.
- WFP3: Favours short/old jobs while taking into account their respective size.
- An optional backfilling module.
- A resource allocation module implementing three policies:
- Compact: Use all the cores of a node on one app.
- Spare: Use half the cores of a node on one app (unfavored).
- Strip (co-scheduling): Split the cores of a node between two apps. Can be improved with the inclusion of a heatmap, used to identify apps that match well together.
- The main module that glues all of the above.
After being submitted as a batch script, the code assigns MPI jobs across a number of bound nodes. These jobs are part of a queue consisting of applications from the Nas Parallel Benchmarks (NPB) suite.