SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Forside   Tilmelding   Postarkiv   Forum   Kalender   Søg
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: [PERL] Proces-styring



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/


 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

 
 
Henvendelse vedrørende websiderne til <www_admin>. Senest ændret 2005-08-10, klokken 19:53
Denne side vedligeholdes af MHonArc .