Consider the task of scheduling a collection of independent computational jobs in parallel (so no possibilities of deadlocks, which keeps things easy) where each job requires an amount of memory which is not known in advance. When one job asks for (malloc) an amount of (physical) memory that is not available, the scheduler stops (suspends) the process, swaps it out to disk, allowing other jobs to complete and free up memory. It continues the job when memory is available. The job stopping could be done even later than malloc, on use, when the system has begun to swap to disk.
No comments :
Post a Comment