|
|||||||||||||||||||||||||||
Et helt andet forslag:
I skulle vel ikke tilfældigvis have installeret det kommercielle program
LSF, vel?
Det kan nemlig blandt meget andet (load sharing) også sådan noget som du
efterlyser.
Jeg har selv brugt det til at køre SETIathome på en række SUN maskiner,
der (engang) ikke var brugt om natten....
Carsten Mathiasen
Claus Ekstrøm wrote:
>
> Hejsa.
>
> Jeg har adgang til nogle computere på universitetet, hvor jeg skal til at
> køre en række simulationer, der hver består af 1000 kørsler af et program,
> der tager ca. 10 minutter at udføre.
> I dagtimerne er der temmelig meget "run" på maskinerne, og det ville derfor
> være rart, hvis man kunne bede programmet lukke ned i en periode eller hvis
> der fx. er hård kørsel på maskinen (som har 4 processorer).
>
> Jeg har selv overvejet to muligheder for at styre afviklen af mine
> simulationer:
>
> 1) Mit script, der kører simulationerne er skrevet som en løkke i perl, og
> det vil derfor være nemt at indsætte et check for tidspunkt i løkken. Hvis
> man fx. er i tidsrummet 8.30 - 16.30 skal den ikke starte næste iteration,
> men blot vente til efter 16.30, hvorefter den fortsætter.
>
> 2) Et script (en slags dæmon), som stop'er og continue'r
> simulations-scriptet afhængigt af tidspunktet og computerbelastningen.
>
> Hvilken indfaldsvinkel er smartest. Metode 1 lader til at være lettest at
> få lavet, da man bare skal indsætte en simpelt check i løkken og så ellers
> sleep'e, indtil man må lave noget. Metode 2 gør det dog let muligt, at
> programmet starter op i dagtimerne, hvis der er en processor ledig.
> Og er der nogen der har nogle kommentarer til at checke belastningen på
> computeren. I øjeblikket har jeg følgende funktion, der udregner
> belasningen i procent vha. ps, men måske er der en smartere metode.
>
> sub read_top {
> my @toplist;
> my $total = 0;
> @toplist = `ps -eo pcpu,user,time`;
>
> while(@toplist) {
> $_=shift(@toplist);
> if (/([\d\.]+)\s+(\w+)\s+([\d\.\-:])/) {
> $total += $1;
> }
>
> }
> return($total);
> }
>
> Desuden er det ikke helt trivielt at overskue, om en proces er ved at
> starte op - hvis belastningen fx er 60% jf. ovenstående - skal man så runde
> op til nærmeste hele 25% eller skal man vente og checke om belastninge
> ændrer sig?
>
> Nogen forslag/kommentarer?
>
> Mvh,
>
> Claus
--
_ _ _____ ____ Carsten Mathiasen Mailto:sslug@sslug
|\ /| | |____)(____ MIPS Denmark Direct: +45 44 86 55 04
| \/ | | | ____) Lautrupvang 4B Switch: +45 44 86 55 55
T E C H N O L O G I E S DK-2750 Ballerup Fax...: +45 44 86 55 56
Denmark http://www.mips.com/
|
||||||||||||||
|
||||||||||||||