> Hi,
> I've been working with SMP from the hardware side for several years
> now, but am somewhat new to the applications side. Here's my situation.
>
> I have a CPU intensive task that takes 2-3 min on a 300MHz PIII. The
> timing of each run is data dependent thus can't be predicted precisely.
> I need to run as many of these processes as possible usring my repeat
> interval, which is 30 minutes at the moment. These processes are
> launched by a shell script, which itself is called by cron.
>
> Trouble comes when the compute time for all the processes excedes the
> repeat interval. If I try to do 35 minutes of computation every 30
> minutes, the number of processes increase and the system eventually
> grinds to a halt. To counter this on a uni-processor system, I had the
> script touch a lockfile and then refuse to run if another process was
> running.
>
> I tried this on a dual CPU system and had to make 2 separate scripts
> with 2 lockfiles. It seemed ugly, for example I had to maintain 2
> separate lists of tasks, but it worked.
>
> Now I have a quad CPU system (VARserver3500 from VA Research) and I'm
> looking for a more elegant way to approach the problem. Given some
> relatively large number of tasks (50-100?) how can I make sure that
> there are always N=2,4,8, of them running?
>
> Any advice on where to look for info on this type of problem is
> appreciated,
You might consider Condor (http://www.cs.wisc.edu/condor/). It was
orriginally designed for cycle scavenging from idle CPUs on
workstation networks, but it should also work well for your problem.
Version 6.1.9 is due out this week and will support 2.2 kernels and
the new glibc.
- C
-
Linux SMP list: FIRST see FAQ at http://www.irisa.fr/prive/mentre/smp-faq/
To Unsubscribe: send "unsubscribe linux-smp" to [EMAIL PROTECTED]