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 5 sati, 17 minuta
  • dpasaric: Magic Mouse - lijep, ali rubno upotrebljiv! :)
  • superstric: ako netko treba, apple magic mouse 63,01 euro na amazon prime day
  • dpasaric: :)
  • smayoo: Čestitam svima Dan antifašističke borbe!
  • drlovric: Za nekih tjedan dana moj Macbook Pro M1 Pro 16" ide na prodaju. Ako nekoga zanima takvo racunalo (us layout, 16gb ram) neka se javi za dogovor.
  • dpasaric: Možda je to bio Belonguzije - androdi kojeg je predstavio LET 3 u Pikiju jednom davno... istina, imao je dosta ograničen rječnik... :)
  • accom: Evo, čitam o zidiću i gledam Baltazara... jel to bila prva AI mašina na svijetu?
  • dpasaric: To se i meni dogodilo par puta, uvijek prije objave napravim barem copy u buffer, a često ako je nešto kompleksnije, samo paste u TextEdit, just in case.
  • Yonkis: I pretraga je beskorisna, zato sam pisao novu temu jer mi je trebalo manje vremena da ju natipkam i dodam screenshotove nego da češljam rezultate pretrage.
  • Yonkis: Jedem ti jabucnjak, napišem novu temu i nisam odabrao Forum i sve mi izbriše kad sam kliknuo PROVJERI. Odsutajem, 20 min tipkanja otišlo u vjetar. Nikakav alert ili nešto da iskoči da me upozori.
  • ZeljkoB: Zaba na dev beti radi bez greske
  • dpasaric: Vidio sam neke na Twitteru da su stavili dev betu, ali nisu ovdje.
  • mbp2009: ne vidim neke konkretne info na netu za to
  • mbp2009: Ne znam odakle ove diskusije poticu, ali da vidim, ima li koga na dev beti ios? Pogotovo ovaj dio me zanima za PBZ i poslovnu PBZ, ako radi
  • dpasaric: Čekam da mi dođe jedan zanimljiv komad hardvera, pa ću finalizirati velik pregled monitora koji će mnogima biti koristan!
  • dpasaric: "Your request has been processed"
  • Ender: takodje i ja molim admina da obrise i moj korisnicki nalog. ostavljam mogucnost da se kasnije opet prijavim kad i ako se neke stvari promene. pozzz i svako dobro.
  • dpasaric: @Air U redu, razumio sam. Hvala ti na svemu onom pozitivnom, ono drugo će srediti vrijeme.
  • jura22: Vrijeđaj partizane i Tita pa da vidiš.
  • Air: Ako si razumio onda napravi to, a ne da moram pisali litanije za jednostavan zahtjev.
  • dpasaric: Air, naravno da je dovoljno, ako to želiš mogu i ja odmah, ali hej, jutro je pametnije od večeri, prespavaj, pa javi, najmanji je problem kliknuti na delete.
  • Air: Zanimljiv vam je latinski. Uživajte. Između vaših upisa napišite što je potrebno da zatvorim račun na Jabučnjaku ako nije očigledno dovoljno razumljivo ovo što sam napisao na vikalici.
  • smayoo: Canis mater studiorum. Stara studentska. :D
  • dpasaric: @Gjuroo: Per aspera ad astra!
  • Gjuroo: @Air: Illegitimi non carborundum.
  • dpasaric: Chill out i vidjet ćeš kako će ovo sada biti ugodnije, korisnije i pozitivnije mjesto za sve korisnike.
  • dpasaric: Joj ne drami.
  • Air: Molim odgovornu osobu da obriše Air račun.
  • Air: U ovim novim okolnostima transparentnog licemjerstva pojedinca podvlačim crtu. Ja nemam želudac za trpiti to da mi jedan licemjer briše čiste postove samo zato što on ima problem u svojoj glavi. Kako je tino1 rekao bilo mi je zadovoljstvo dolaziti na Jabučnjak radi ljudi. Ovim putem pozdravljam sve dobre ljude Jabučnjaka i HVALA vam! Nakon ovog upisa brišem svoj račun.
  • dpasaric: Sve što je sada obrisano u "kafanskim laprdanjima" je bilo u dogovoru s Djurom, počistili samo za sobom i tko hoće može tamo dalje s "lakim temama".
  • drlovric: @Rusty: Slazem se 100%. Svako bira za sebe. Jedna tema u sekciji Razno, nije smetala nikome ko je dosao da konzumira nesto drugo. Ako sam dosao u ducan da kupim povrce, zasto bi mi smetalo sto prodaju i hranu za bebe? :)
  • rusty: Evo kao dugogodišnji član foruma, moram priznati da niti jednom nisam otvorio političke teme niti sudjelovao u njima na forumu. Dolazim vidjeti non političke, non automobili teme. I jedna i druga su mi kao nogomet, besmislene i ne interesantne. Da li će mi faliti, ne. Da li ću manje dolaziti na forum, ne.
  • dpasaric: To je tvoje viđenje.
  • dpasaric: Obećajem da ćemo je izreklamirati na forumu, pa tko voli…
  • Air: Znam tvoje ovlasti. Nije u tome problem. Problem je što se Jabučnjak predstavlja kao pozitivan, a ovo što ti radiš je negativno!
  • dpasaric: Evo, pokreni i ti moderiraj Signal grupu za vaše političke rasprave.
  • dpasaric: I probaj biti koristan. Pokreni nešto pametno i svima korisno.
  • dpasaric: Pročitaj kućni red još jednom.
  • Air: @dpasaric Otvorio si javni komunikacijski kanal. Tko si ti da brišeš postove iste tematike o kojoj sam pišeš, ako ti postovi nisu uvredljivi i ne krše nikakav zakon?
  • dpasaric: Poanta je da je besmisleno dalje širiti raspravu.
  • Air: Fakat imaš teških osobnih problema
  • Air: Protiv "cara" se ne smije ništa pisati?
  • Air: Smetati osobno?
  • Air: i zašto si obrisao ovaj moj tekst is te teme?
  • Air: u temi kafanska laprdanja
  • Air: @dpasaric Samostalno, ničim izazvan optužio si Djuru za nešto. Djuro ti je odgovorio. Budi čovjek, pa kada si "zagrizao" odgovori čovjeku na njegovu cijelu obranu. - stavku po stavku.
  • Air: Skrećeš TEMUsa svojih LOŠIH djela na svoja DOBRA djela (koja nitko ne spori).;)
  • dpasaric: Propast su lijenost i jalovo lamentiranje. Tko je vrijedan i radi neće propasti.
  • dpasaric: Jabučnjak je do svoje punoljetnosti davao odličnu pomoć svakome tko je došao i bez vaših političkih prepucavanja.
  • dpasaric: Vaša hipoteze su potpuno promašene! :) Ono kao "super je imati stalno aktivnu crnu kroniku jer će onda puno ljudi to čitati, pa će ti koji to čitaju pomagati drugima." Bez brige, tko treba pomoć dobit će je i bez crne kronike.

Za vikanje moraš biti prijavljen.

Prijava

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Anketa

Koji Mac koristite?

Page Speed 0.55 Seconds

Provided by iJoomla SEO