lartpang / RunIt

A simple program scheduler for your code on different devices.
MIT License
11 stars 1 forks source link

the logic to assigin the jobs #5

Open BitCalSaul opened 2 months ago

BitCalSaul commented 2 months ago

Hi,

I recently tried the latest version and found it to be very useful. And I noticed a potential issue that could be improved. Currently, jobs are assigned based on available memory and are allocated to the GPU with the smallest ID that meets the memory requirements. The problem is that this available GPU might already be running a less memory-intensive job with high utilization, while another available GPU with 0% utilization remains available.

One possible solution could be to reorder the available GPUs by memory each time a job is assigned, and allocate the job to the GPU with the biggest available memory that also likely has 0% utilization.

Not sure if it helps.