Red za cekanje
(1 korsinik/a gleda/ju temu) (1) Gost

Red za cekanje


03.04.2010 | 04:38
Pozdrav svima,

I opet imam zgodno pitanjce...

Kako pokrenuti queueing system (ilitiga red za cekanje) command line aplikacije na jednostavan i bezbolan nacin?
Pokusao sam sa xgridom, ali mi bas ne uspjeva (pri cemu mi je kontroler i agent isti komp). Tu foru sam pokusao prilagoditi sa ove adrese: www.macresearch.org/the_xgrid_tutorials_part_i_xgrid_basics, ali kako imam snow lea, bojim se da nisam uspjesno postavio sandbox direktorij, jer sam sve pokusao vrtiti iz klasicnog home foldera...

jel netko radio sa sun gridom na mac-u?

Hvala unaprijed na svim idejama!

Veliki pozdrav!
07.04.2010 | 23:11
Nisam uopće shvatio što želiš napraviti. Daj probaj dati primjer.
08.04.2010 | 21:33
imam jedan dovan program koji se zove orca www.thch.uni-bonn.de/tc/orca/ i sluzi za kvantna kemijska istrazivanja. Instalacija jednostavna, pokrece se u terminalu ./orca input.inp > output.out.
I sve je to divno krasno, ali meni taj program mora obradjivati malo brdo racuna.Tzv. queuing sustav. Podesavanje Torque/PBS i kombinacije s MPI je preteska za moje znanje o programiranju. A za racune koristio bi bijeli intel iMac i MacBook Pro. Ono sto bi htio je da kada ja pokrenem racune, da mi se ne odvijaju svi paralelno, nego jedan po jedan, tj. kada jedan zavrsi, novi se otvara. Pokusao sam napraviti nekakvu skripticu koja bi pronasla sve .inp fajlove i stavljala u format koji treba, ali mi treba komanda koja bi ogranicila pokretanje istodobno. Mislio sam sa wait komandom, ali nije mi uspjelo (zapravo jedanput mi je uspjelo, ali onda sam nesto zafrknuo i izgubio sam ponovno).

Ikakvih ideja?

HVALA NA POMOCI!
08.04.2010 | 21:58
Ne kužim zašto to zoveš "queuing" sustav? Queuing bi bio da imaš npr. neki folder koji bi bio u tom slučaju "queue" i čim u taj folder "padne" (odnekud, preko FTP, AFP ili bilo kako, ručnim kopiranjem ili da ga kreira neka druga aplikacija) neki novi .inp file, Orca aplikacija odmah uzima taj file (FIFO redoslijedom) i generira njegov izlaz, u neki izlazni queue.

Dakle, da li to trebaš?

Jer, ovo što si opisao meni ne zvuči kao queue sustav. Meni to zvuči kao da imaš hrpu .inp fileova negdje i trebaš nahraniti Orcu jednim po jednim, da on za svaki .inp kreira odgovarajući .out, jedan po jedan.

Ako to trebaš, mislim da problema nema jer obična shell skripta se izvodi sekvencijalno (osim ako izričito ne guraš neke procese u background komandom bg ili ih ne umnažaš funkcijom fork).

Ne kužim što u cijeloj priči trebaju raditi 2 Maca? Svaki svoj dio posla (svoj dio .inp-ova)? Oba isto (radi neke kontrole)? Oba iste .inp-ove, ali s različitim parametrima? Jedan drugom dodaje (jedan generira .inp, a drugi ih koristi za .out)?

???
08.04.2010 | 22:58
Da mogu samo ubaciti u folder bio bi cisti ideal!
ZATO PLIZ POMOC (Isabella cluster na Srcu jos ne podrzava taj program)
Jer sada kada ga pokrenem (vrti se po 4-5 sati) i odmah pokrenem drugi, oba se natjecu za resurse. Bas ne kuzim kako se sekvencijalno pokrecu, putem skripte.
A dva mac-a bi trebali moci raditi i svaki svoj i svaki sa istim inputima, ali drugacijim parametrima i da jedan kaze drugome sto da radi.
Puno trazim, znam, ali kada znam da se moze, nesto mi ne da mira...
Pozdrav
09.04.2010 | 00:10
Nije stvar u tome da puno tražiš, nego da ne znaš objasniti što želiš.

Ja shvaćam da je tebi točno jasno što želiš, ali, vjeruj mi, vrlo konfuzno to prenosiš.

Ako želiš pomoć, molim te da se koncentriraš na moja pitanja i odgovaraš na njih što jednostavnije.

1. Kako nastaju .inp datoteke? Kreira ih neki drugi program, ti ručno, "padaju" ti odnekud preko mreže...?

2. Ti nemaš utjecaj na to kamo "padaju" te .inp datoteke? Zašto?

3. KAKO pokreneš jedan, pa odmah pokreneš drugi? Otvoriš dva terminal prozora? Ili nekako drugačije?

4. PO-TAN-KO objasni na koji način dva Maca trebaju ZAJEDNO djelovati. To što ti možeš podijeliti posao pa pola vrtiti na jednom, a pola na drugom zapravo nije ZAJEDNIČKO djelovanje i takav se slučaj ne treba posebno razmatrati (jednostavno na drugom Macu napraviš isto što i na prvom, samo s drugim podacima).
09.04.2010 | 02:16
Da odmah pocnem odgovarati.
1. Inpute sastavljam malenom skriptom koji mi od .xyz rade .inp format spreman za koristenje. Drugi, kemijski program mi generira puno .xyz formate (koordinate atoma u prostoru).
2. (malo nisam razumio) Imam utjecaj kamo padaju datoteke, nemam utjecaj kako mi se pokrecu.
3. Pokretao sam ih
ls *.inp | while read file; do
orca $file > `basename $file .inp`.out
#tu mi nedostaje nesto za razdvajanje; najbolji kandidat mi je bila komanda wait
done
exit
4. Za dva Mac-a, htio sam da se automatski dok su umrezeni podijeli posao, tj. kada ih stavim u mod (po noci) onda da se iz zajednickog foldera pokrecu i na jednom i na drugom razliciti racuni, te da se sync-aju folderi. Nesto kao SETI projekt. Takodjer da mogu udaljeno (remote) pokretati na stolnom kompu racune s MacBook-a. I to jos preko mreze.

Jos jednom puno hvala na pomoci!
09.04.2010 | 09:29
Ad 4 ćemo na kraju.

Ad 2 - ok, ja sam krivo razumio

Ad 3 - takva skripta bi morala procese pokretati sekvencijalno, a ne istodobno. JA sam sad probao kod sebe koristeći openssl des3 za enkripciju polugigabajtnih zipova (to je najbliže procesorskom opterećenju što mogu postići da simuliram to što radi ORCA) i enkripcija uredno radi za jedan po jedan file, a ne za sve istovremeno. To bi se postiglo da se u drugom redu na početak dopiše "bg ".

Moj je zaključak da ORCA ima ugrađeno forkanje, tj da je napisan tako da po definiciji pokrene proces računanja u pozadini i vrati se natrag u shell.

Mora biti da imaš switch koji isključuje to ponašanje. Provjeri upute od programa.
09.04.2010 | 09:46
Imas pravo. Sam program ima forkanje.
Da jos malo o programu. On je modularno napravljen, odnosno kada pokrenem ./orca (stavio sam ga u $PATH) onda sam orca modul rasporedjuje module kada i koji se vrte.
Primjer modula i glavnog programa:
orca : Main input+driver program.
orca_gstep: Relaxation of the geometry based on energies and gradients.
Da li se moze nekako omoguciti da dok god orca* vidi u procesima da ne pokrece ovi proces? Nekakav loop?
Zato sam mislio da mi je queuing system najbolja opcija, a queuing na Mac-u ima naziv XGrid...
09.04.2010 | 15:38
Čuj time (xgrid) se nisam nikad bavio pa ti tu zaista ne mogu pomoći.

Obje ideje (wait kao prva i čekanje da u listi procesa više ne bude orca* procesa) su skriptom izvedive. Malo moram proučiti i probati. Zaintrigirao si me, pozabavit ću se time, ali daj mi malo vremena...
09.04.2010 | 16:08
Hvala na volji i trudu!
Ako treba mozes dobiti i sample same orce pa da vidis konkretno kako programcek funkcionira...
09.04.2010 | 17:03
Eh, da je vremena.

Međutoa, prije ovih drugih kompliciranijih ideja, molim te, probaj sintaksu za forsirano sekvencijalno izvođenje:

ls *.inp | while read file; do
orca $file > `basename $file .inp`.out ; done


Eventualno "done" u treći red, ali svakako točka-zarez na kraj prethodnog reda

(Ova sintaksa se nešto razlikuje od jednog do drugog shella. Defaultni Mac shell kad pokreneš Terminal je bash i ovo što sam ti napisao se odnosi na bash. Ako koristiš csh ili zsh, možda nije isto.)
09.04.2010 | 18:33
Elem, ako ovo gore ne proradi, onda bi ovo moralo:

ls *.inp | while read file; do
orca $file > `basename $file .inp`.out
cekaj=1
while (($cekaj)) ; do
cekaj=0
ps | grep -v grep | grep -q orca && cekaj=1
done
done


Prva dva retka su ti jasna. Treći je inicijalna vrijednost zastavice, a u četvrtom počinje petlja za čekanje, koja se vrti sve dok prilikom testa zastavica ne bude imala vrijednost 0.

Čim se u petlju uđe, zastavicu stavimo na 0, jer želimo da izađe ako je prethodni orca thread završio.

U šestom redu uzmemo listu svih tvojih aktivnih procesa (ps) pa onda iz nje izbacimo redak koji se odnosi na sam grep proces (grep je ugrađeni tekst-filtar) i onda drugim grepom iz onog što je od liste preostalo tražimo ima li redaka s ključnom rječju "orca". Samo ako je IŠTA pronađeno, zastavica se vraća na 1 (nastavljamo čekati). Ako nije ništa pronađeno, prethodni orca thread je završio pa nećemo napraviti ništa.

Kad se unutarnja petlja ponovno zavrti, ako nismo maloprije vratili zastavicu na 1, završit će i onda se nastavlja vanjska petlja gdje se ponovno pokreće orca s idućim inp-om.

Ja sam kod sebe testirao koristeći openssl umjesto orce, s forsiranjem u background (& na kraju retka) i sve mi je radilo pa pretpostavljam da će i tebi. Jedini problem ti može biti ako postoji neki proces koji u imenu sadrži "orca" a da nije povezan s ovom obradom, jer će ti se onda zaglaviti u beskonačnom čekanju. U tom slučaju malo variraj ključnu riječ.
09.04.2010 | 22:10
Smayoo, hvala ti puno. Jos nisam isprobao, ali cim uhvatim malo vremena (pomalo mitska pojava kod mene) i cim mi zavrsi jedan veliki racun (vec se vrti 16 sati), pokusat cu.
Veliki pozdrav i ZAKON SI!
09.04.2010 | 23:32
Nema na čemu. Probaj pa javi.
10.04.2010 | 17:25
vec samo ; poslije naredbe je upalilo.
ali jako mi se svidja ova novija skriptica.
imam samo pitanjce
da li se moze ta skripta pokretati s neke datoteke, i da se u tu datoteku mogu dopisati nove stvari, dok se vec skripta vrti? (dopisivanje je potrebno kako bi ova skripta postala queuing system i onda se system/Unix guruu moram zahvaliti na prosvjetljenju!)
13.04.2010 | 18:50
isprobao noviju skriptu, prekrasna je.
smayoo duznik sam ti.
13.04.2010 | 21:34
dsakic je napisao:
vec samo ; poslije naredbe je upalilo.
ali jako mi se svidja ova novija skriptica.


Drago mi je da radi.

imam samo pitanjce
da li se moze ta skripta pokretati s neke datoteke, i da se u tu datoteku mogu dopisati nove stvari, dok se vec skripta vrti? (dopisivanje je potrebno kako bi ova skripta postala queuing system i onda se system/Unix guruu moram zahvaliti na prosvjetljenju!)



Opet nisam skužio. KAko - s neke datoteke? Misliš - da vuče imena .inp fajli iz datoteke? Može. Samo daj potvrdi da sam te dobro shvatio.
13.04.2010 | 22:53
umjesto
ls *.inp |
samo napisem
cat file_sa_inputima.nekaj |

ono sto me zanima je da li mogu u tu istu datoteku dopisivati imena dok radi ova tvoja gornja skripta? da li bi naletio na probleme da dok bi ja upisivao ime novoj fajla za pokrenuti on trazio slijedecu liniju i zapeo ili se srusio ili nesto (zbog paralenog pristupa istom fajlu sa dvije razlicite akcije..). Nisam siguran u takvu mehaniku, a sada su mi racunala dosta zauzeta racunima pa se ne bi kockal i isao bas sada igrati...
13.04.2010 | 23:51
Ne bi smjelo biti takvih problema, ali cat nije komanda koju trebaš. On pogleda u datoteku i izlista ono što tamo nađe daj čas, pukne to sve grepu kroz pipe i završi kad naiđe na kraj datoteke. On je gotov u djeliću sekunde bez obzira što će obrada poslije trajati sate i sate.

Umjesto cat koristi tail.

Dakle:

tail -f file_sa_inputima.nesto

-f switch će narediti tail komandi da ne završi kad dođe do EOF, nego ostane živa i čeka da nešto još padne u file i tako do kraja svemira.

Dakle, skripta će odraditi točno to što želiš, samo što neće znati kad želiš da bude gotova. Dvije su metode kako da to riješiš.

1. jednostavna i brutalna - kad (iz drugog terminal prozora ili findera) vidiš da si dobio gotove sve outpute iz Orce, prekini skriptu sa CTRL-C (dok je fokus na terminal prozoru)

2. fina i kulturna - treba skriptu dopuniti testom da li je naišao na tekst koji označava kraj i koji ćeš ti na neki drugi način dodati na kraj liste kad to poželiš. Za ovo trenutno nemam vremena, bit će za koji dan, ali i ovo prvo će ti raditi.
14.04.2010 | 08:52
tako jednostavno?
super.
A sto se tice ctrl+c, to mi je vec postala najdraza komanda u mojim eksperimentiranjima u programiranju...
hvala puno
14.04.2010 | 20:23


nema na čemu. Pozovi me na pivu kad doktoriraš!

BTW, prebacio sam cijeli thread u Mac OS X jer definitivno nema baš puno veze sa softverom. Čak bi možda trebao ići i u programiranje...
Moderatori: Bertone
  • Stranica:
  • 1

Vikalica™

Zadnja poruka: pred 6 sati, 31 minuta
  • Djuro genijalac: I ja dam napraviti od jabuka iz vrta, ali to potraje do Božića, maks, ako je dobar urod
  • smayoo: Mi od šogoricinih jabuka iz Požege :)
  • Djuro genijalac: Koji? I ja pijem sok od jabuke. U pravilu onaj iz Lidla 100% kojeg miješam s vodom pola-pola
  • smayoo: Ja ću jedan sok od jabuka, prirodni, mutni. :)
  • Djuro genijalac: Kaj pije jabučnjak? Ja plaćam rundu!
  • Djuro genijalac: Mercedes 1-2 u kvalifikacijama Melbournea!
  • Ender: ranije sam vidjao da linus koristi intel- MB Air. meni je to bilo dovoljno.
  • dpasaric: Linus voli popljuvati Apple, često i opravdano, ali kada on nešto hvali, znači da su zaista odradili dobar posao...
  • hal9000: E da sam i ovo doživio: [link]
  • Performita: Vikalica je još uvijek jednako cool kao prije! Osobito smajlići :)
  • dpasaric: Ma i to isto, ali to će valjda s novim HomePodima i s navodnim HomePadom...
  • zvone: Gdje je novi Apple TV? Nikako da stigne.
  • dpasaric: Javit ću cijene čim ih dobijemo...
  • Borisone: U Italiji Neo kreće od 699 EUR. Kod nas može biti samo više, pretpostavljlam standardnih 70-100 EUR
  • dpasaric: Osvrt na novotarije je na naslovnici, pa slobodno komentirajte!
  • Yonkis: Jeftin u USA, za studoše osnovni Neo je 500$ a koliko će biti kod nas? A tek onaj sa TouchIDom?
  • cavarovobrdo: Očekivao sam vrišteće boje iMac G3. Nekako mi je NEO uređaj za mlađariju, zato veselo. Rado se sijećam svog MacBook black plastenjaka :)
  • drlovric: Meni je Neo bas cool.....kao nekada plasticni Macbook. jeftinij je nego iPhone i odlicna ulaznica u Mac svijet.
  • invictus: Neo? Svašta oni sebi dozvole.
  • accom: ništa od boje ajvara.
  • Yonkis: [link] - Neo? Stvarno Apple, Neo?
  • Borisone: U oglasniku ako nekoga zanima MacBook Air M4 16/512
  • Air: Nadam se ne onaj kupvni crveni nego onaj domaći neodređeno narančasti :)
  • smayoo: Ja već godinama pišem u Apple i pitam kad će napraviti MBP u boji ajvara. :o)
  • cariblanco: Ja kupujem novi MacBook, samo ako ima ponuda u naranđastoj boji
  • cavarovobrdo: Hoće li novi MacBook biti od plastike u bojama sladoleda? Jedva čekam kupit jedan da mi se slaže s majicom ;)
  • drlovric: Idem na 14" sada. Vjerojatno cu zadrzati oba neko vrijeme. M1 Pro radi ko grom.
  • drlovric: Ma dobio neke pare pa moram ih namjenski utrositi na MBP.
  • invictus: Lovriću, čemu to? Jel te ne služi dobro M1 Pro?
  • drlovric: Davore uzimam 14" MBP Pro CTO. Proslijedi molim te cjenike kada dobijes. Tnx
  • invictus: Jebote led, pokidali su sa tih 512GB. :D :D :D
  • VanjusOS: sad baš gledam. Macbook air M5 kreće sa 512gb SSD, vau!
  • invictus: Ma nema eventa, samo su to sve novo ubacili na svoje stranice..
  • VanjusOS: ima li nekakvo predstavljanje, event? može link
  • invictus: A sutra ima je glavno, predstavljanje jeftinog Macbooka Neo..
  • invictus: @dpasaric - oba monitora su 27"
  • invictus: Bili su 999$, sada je 1099$.
  • invictus: Ali su i digli cijenu za 100$, sada je početni model 1099%
  • invictus: Nisu me sa ničim oduševili, jedino pohvalno koliko vidim da Air počinje sada sa 512GB SSD, ostalo samo blagi refreš..
  • dpasaric: Banana totalna, opet nude samo mali 27" model?!?!
  • ZoPaj: novi monitori, mislio sam;)
  • ZoPaj: evo ih… apple.com
  • smayoo: :D
  • drlovric: Imate valjda neki backup :)
  • Gjuroo: Jel netko zapisao kontakte prije nego je tema izbrisana?
  • smayoo: Hvala. Počišćeno. Account je hackiran, admin će ga blokirati
  • jura22: Imate reklamu za prostitutke u firumu!
  • CoffeePod: 90Hz je premalo
  • rusty: 30" na 120Hz
  • Borisone: Bit će 27-inch 5k XDR za cifru veću od 32-inch 6k. Zašto? 90Hz!

Za vikanje moraš biti prijavljen.

Prijava

Novo na Jabučnjaku

Teme

Poruke

Komentari

Anketa

Koji Mac koristite?

Page Speed 0.52 Seconds

Provided by iJoomla SEO