[PARPRO] 2. laboratorijska vježba - 2021/2022
wolfs_123
Ima netko generalnu ideju kako ovo isprogramirati?
U uputama piše da se radi u obliku stabla i da broj zadataka mora biti veći od 7.
Kako definirati zadatak? Mogu li napraviti da je jedan proces = jedan zadatak?
Ako krenem sa tim da je jedan proces = jedan zadatak - što da radim ako se pokrene sa više od 7 procesa?
Npr. 16, 32 - tada će ostali pocesi biti nezaposleni
viliml
wLkR-74159 Imaš na materijalima primjer rješenja gdje se procesi koriste kao 1 master i N-1 slaveova; master ima queue zadataka koje šalje slaveovima na obradu.
Drugi način je da se procesi granaju po stablu, prvih N/7 procesa ode u prvi potez, drugih N/7 u drugi itd., na određenoj dubini ostane samo jedan proces koji odradi svoje podstablo, i na kraju kad se ude unatrag po rekurziji se porukama pozbroje.
Daeyarn
viliml jel bi pod ovaj prvi nacin spadalo da master podijeli 7 mogucih sljedecih stanja izmedu procesora i onda svaki procesor svoja stanja obraduje slijedno?
wolfs_123
Konceptualno:
1) Master - slave: master dodijeljuje zadatke slave procesima, ali sto mi je zapravo zadatak? Postoji formula po kojoj se racuna kakvoca poteza - to uzim. Radim simulaciju za prvi prolaz - stavim prvih 7 žetona (od strane računala), ali onda bi na redu trebao biti čovjek - kako da to simuliram?
2) Stablo: Kako obaviti podjelu zadataka po procesima? Sto je zadatak?
Spuk
Jel ima plag scan na labosima s obzirom da cemo ocito svi gledat taj python kod koji ima na gitu?
Bisolvon
Spuk Mislim da ima.
indythedog
Ima netko neki savjet kako izmjeriti performanse sa 8 procesora ako nemamo komp sa 8 (fizičkih) procesora? Nešto je Jakobović spominjao da pokrenemo na 2 računala, ali nisam siguran kako to napraviti, postoje negdje neke upute možda? I je li to uopće nužno, tj inzistiraju li na ispitivanju da smo testirali i taj slučaj ili im je ok 4 jezgre i 8 threadova recimo?
Lukak
indythedog Bas to i je ideja da se vidi kakva su mjerenja kada se procesi mogu fizicki razdvojiti, a kakva su kada kada se uvode novi threadovi iako nema fizicke podrske
indythedog
I još jedno pitanje, je li nekome za npr. ovaj primjer ulazne igre
gdje bi očito najbolji potez računala bio prvi stupac (jer njim odmah pobjeđuje), algoritam izbacuje da su stupci 1, 2, 3 i 5 jednako vrijedni, pa random odabere nekog od njih kao sljedeći potez? Ne znam je li to neki bug meni u kodu ili očekivano ponašanje ovog algoritma, jer čak i kad sam testirao na onoj (slijednoj) implementaciji koju su nam oni dali, dobivam basically istu stvar.
(EDIT: računalo je indeks 2 jel)
BillIK
u kojem točno file-u je definiran zadatak, postoji više njih koji se zovu 2.domaća zadaća i različit im je sadržaj?
indythedog
BillIK Ovo je zadatak koji je linkan na ferku na mjestu uploada https://www.fer.unizg.hr/_download/repository/lab2[11].pdf, pa je to valjda “točniji” od ta dva, iako mislim da su razlike minimalne
Spuk
Jel smijemo koristiti borad.cpp i borad.h i main.cpp iz onog primjera koji su nam dali sa slijednim algoritmom?
TheCrimsonChin
Spuk ovo i mene zanima, pretpostavljam da smijemo
indythedog
Lukak Jesi siguran? Ovo mi zvuči kao da očekuju da imamo 8 fizičkih jezgri:
Još su naglasili da se hyperthreading ne broji :/
Daeyarn
indythedog što ako nemamo 8 fizičkih jezgri 🤗
indythedog
Daeyarn Točno to se i ja pitam 😃
Kao u onim videima je Jakobović nešto spominjao da pokrenemo program na 2 računala u isto vrijeme, pa da to bude ukupno 8 fizičkih jezgri, ali nemam pojma kako to napraviti, niti sam našao neke upute za to
Daeyarn
indythedog mozda se moze tipa kao, pola stabla na prvom, a pola na drugom, pa uzmemo vece od ta dva vremena
ali onda opet, sto ako nemamo dva racunala, i ako imamo, ne bi li trebali procesori biti jednaki/slični da bi to imalo smisla? osim ako se ne moze distribuirano pokretati preko neke platforme na internetu ili nesto
anon00
indythedog Spomenuo je to da pokrenemo na 2 računala (bez objašnjenja kako), ali je i spomenuo da računala u labaratoriju imaju 8 jezgri pa se možemo dogovoriti.
Nezz kako je to mislio s nama koji planiramo raditi labos 3h i 20minuta prije predaje
indythedog
Daeyarn Hm to mi se čini malo nespretno ali sve je moguće
Možda mu sutra pošaljem mail u vezi toga, pa javim što kaže
Daeyarn
indythedog moze, hvala ti