The problem with timeslicing is that when one job is pre-empted, it's state needs to be stored somewhere so the next job can run. Since many HPC jobs are memory intensive, using RAM for this is not usually an option. Which leaves writing the state to disk. Since disk is many orders of magnitude slower than RAM, writing state to disk for timeslicing would ultimately reduce the throughput of the cluster. It's much more efficient to have one job "own" the nodes until it completes.

Yes, jobs do checkpointing, but I'm assuming the checkpointing isn't happening as frequently as your proposed timeslicing, and that checkpointing isn't writing the entire state to disk.

Prentice

On 1/17/20 12:35 AM, Lux, Jim (US 337K) via Beowulf wrote:

And I suppose there’s no equivalent of “timeslicing” where the cores run job A for 99% of the time and job B, C, D, E, F, for 1% of the time.

*From: *Alex Chekholko <a...@calicolabs.com>
*Date: *Thursday, January 16, 2020 at 3:50 PM
*To: *Jim Lux <james.p....@jpl.nasa.gov>
*Cc: *"beowulf@beowulf.org" <beowulf@beowulf.org>
*Subject: *[EXTERNAL] Re: [Beowulf] Interactive vs batch, and schedulers

Hey Jim,

There is an inverse relationship between latency and throughput.  Most supercomputing centers aim to keep their overall utilization high, so the queue always needs to be full of jobs.

If you can have 1000 nodes always idle and available, then your 1000 node jobs will usually take 10 seconds.  But your overall utilization will be in the low single digit percent or worse.

Regards,

Alex

On Thu, Jan 16, 2020 at 3:25 PM Lux, Jim (US 337K) via Beowulf <beowulf@beowulf.org <mailto:beowulf@beowulf.org>> wrote:

    Are there any references out there that discuss the tradeoffs
    between interactive and batch scheduling (perhaps some from the
    60s and 70s?) –

    Most big HPC systems have a mix of giant jobs and smaller ones
    managed by some process like PBS or SLURM, with queues of various
    sized jobs.

    What I’m interested in is the idea of jobs that, if spread across
    many nodes (dozens) can complete in seconds (<1 minute) providing
    essentially “interactive” access, in the context of large jobs
    taking days to complete.   It’s not clear to me that the current
    schedulers can actually do this – rather, they allocate M of N
    nodes to a particular job pulled out of a series of queues, and
    that job “owns” the nodes until it completes.  Smaller jobs get
    run on (M-1) of the N nodes, and presumably complete faster, so it
    works down through the queue quicker, but ultimately, if you have
    a job that would take, say, 10 seconds on 1000 nodes, it’s going
    to take 20 minutes on 10 nodes.

    Jim

--
    _______________________________________________
    Beowulf mailing list, Beowulf@beowulf.org
    <mailto:Beowulf@beowulf.org> sponsored by Penguin Computing
    To change your subscription (digest mode or unsubscribe) visit
    https://beowulf.org/cgi-bin/mailman/listinfo/beowulf
    <https://beowulf.org/cgi-bin/mailman/listinfo/beowulf>


_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org sponsored by Penguin Computing
To change your subscription (digest mode or unsubscribe) visit 
https://beowulf.org/cgi-bin/mailman/listinfo/beowulf
_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org sponsored by Penguin Computing
To change your subscription (digest mode or unsubscribe) visit 
https://beowulf.org/cgi-bin/mailman/listinfo/beowulf

Reply via email to