Archives


- Beowulf
- Beowulf Announce
- Scyld-users
- Beowulf on Debian

[Beowulf] scheduler policy design

Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.

Search

Tim Cutts tjrc at sanger.ac.uk
Thu Apr 19 08:05:14 PDT 2007


On 19 Apr 2007, at 3:20 pm, Toon Knapen wrote:

> Tim Cutts wrote:
>> Optimising for throughput, at least with an embarrassingly  
>> parallel workload of serial jobs like we have here, is trivial; a  
>> single first-come-first-served queue is optimal, as long as the  
>> code is well written, and doesn't block too much on shared  
>> resources like file servers or databases.
>
>
> but what if you have a bi-cpu bi-core machine to which you assign 4  
> slots. Now one slot is being used by a process which performs heavy  
> IO. Suppose another process is launched that performs heavy IO. In  
> that case the latter process should wait until the first one is  
> done to avoid slowing down the efficiency of the system. Generally  
> however, clusters take only time and memory requirements into account.

I think that varies.  LSF records the current I/O of a node as one of  
its load indices, so you can request a node which is doing less than  
a certain amount of I/O.  I imagine the same is true of SGE, but I  
wouldn't know.

> Additionally, in the case above, for optimising the efficiency of  
> the node, I might prefer to launch just 1 process which uses 4  
> threads to perform multi-threaded (BLAS) calculations.

That could certainly be requested with LSF:

bsub -n 4 -R"select[io < 10] span[hosts=1]" my_four_thread_job

selects a host currently performing less than 10 KB per second, and  
requests four job slots on a single node.

Tim



More information about the Beowulf mailing list