Почетак › Форуми › Линукс › Опште Линукс дискусије › 2 procesora???????
- This topic has 19 одговора, 7 гласова, and was last updated 18 years, 1 months раније by DeeMon.
-
АуторЧланци
-
5. септембар 2006. у 7:35 pm #47344DeeMonУчесник
Ti imaš single core procesor, odnosno fizički imaš jedan procesor ali je na matičnoj ploči uključena podrška za HyperThreading tehnologiju koju tvoj procesor poseduje i koja operativnom sistemu tvoj procesor predstavlja kao 2 (tačnije kao jedan fizički i jedan virtuelni procesor).Jednostavno linux je prepoznao vrstu procesora i automatski izabrao kernel sa smp podrškom (i trebalo bi da ima dobitka u radu, mada veoma malih jer još uvek ne postoji veliki broj optimizovanih aplikacija).
5. септембар 2006. у 9:07 pm #47345civanУчесникNema potrebe da aplikacije budu “optimizovane” – visenitne u ovom slucaju. (ovo pisem i za proc sa vise jezgara) Savremeni korisnici retko kad imaju pokrenut samo jedan program sa jednom niti pa da im jedan od procesora nista ne radi.
6. септембар 2006. у 8:06 am #47346DeeMonУчесникSad ću ući malo u raspravu, ali nisi u pravu.Da bi višejezgarni, ili bar procesor sa hyperthreading tehnologijom, bio maksimalno iskorišten, aplikacije i operativni sistem moraju biti svesni njegovih mogućnosti.Ono o čemu ti pričaš je multitasking, a on nema veze sa optimizovanošću aplikacija za procesore sa više jezgara.Najsvežiji primer optimizacija jesu patch-evi za Quake IV, F.E.A.R i još neke igrice, gde je poboljšan rad sa procesorima sa više jezgara.Pokušaj da pokreneš više zahtevnijih aplikacija (neoptimizovanih) i videćeš na šta mislim.Kada je aplikacija optimizovana za višejezgarne procesore ona svoje resurse i resurse procesora pravilno raspoređuje na svako od jezgara, za razliku od neoptimizovanih gde će aplikacija maksimalno opteretiti jedno jezgro dok će drugo biti apsolutno neiskorišteno.
6. септембар 2006. у 10:59 am #47347civanУчесник“za razliku od neoptimizovanih gde će aplikacija maksimalno opteretiti jedno jezgro dok će drugo biti apsolutno neiskorišteno.”
Tacno je da ce aplikacija koja nije visenitna koristiti samo jedan procesor, ali tu dolazi operativni sistem koji ostalim aplikacijama daje drugi procesor. Ako pokrenes samo jednu zahtevnu aplikaciju (koja nije visenitna) – onda neces dobiti mnogo efekta sto imas vise procesora/jezgara. Pokreni u isto vreme procesiranje neke fotografije i kompajliranje nekog programa – na jednoprocesorskoj i dvoprocesorskoj masini pa ces videti o cemu pricam.Niti su u linux sistemu realizovani kao posebni procesi sa minimalnim footprintom – mnogo manje podataka se cuva o njima nego o pravim procesima.
Tako da ova nasa diskusija ima dosta dobru analogiju – imamo dve kutije (procesori) i granitno kamenje (aplikacije). Ako imamo samo jedan veliki kamen, jedna kutija ce biti prazna, a druga puna. Ako imamo dva kamena iste velicine, obe kutije ce biti pune i iskoriscene. Ako zelimo da iskoristimo obe kutije, a imamo samo jedan kamen – isitnimo ga (napravimo visenitni program) i obe kutije ce biti podjednako zauzete.
U prevodu, sta zelim da kazem 🙂 :
Za zahtevnu aplikaciju koja prakticno sama radi na racunaru povecanje performansi nece biti znacajno – moze se povecati obavestavanjem OS-a da joj da najveci prioritet i da je vrti na jednom od procesora bez ometanja, ali povecanje performansi nece biti znacajno (oko 30-40% za programe koji ne traze nikakav I/O – koji su samo procesor-zahtevni). A ostali programi ce zauzeti 2% drugog procesora. Kad bi se ta aplikacija napravila visenitnom, performanse bi skocile za oko 90%. (opet za samo procesor-zahtevne)
Sa druge strane ako imamo dve takve aplikacije koje vrtimo u isto vreme, performanse pojedinacno se nece menjati, ali ce ukupna prolaznost skociti za oko 90%.
Multithreading je samo evolutivni korak Multitaskinga i oba imaju velike veze sa poboljsanjima performansi na viseprocesorskim sistemima.
6. септембар 2006. у 7:39 pm #47348DeeMonУчесник“Multithreading je samo evolutivni korak Multitaskinga i oba imaju velike veze sa poboljsanjima performansi na viseprocesorskim sistemima.”
Multitasking je nastao mnogo pre pojave komercijalnih višejezgarnih procesora (i njihovih preteča) i nema veze sa višejezgarnim, već jednojezgarnim procesorima koji su tokom razvoja stekli dovoljno snage da mogu pokretati više aplikacija paralelno.Multitasking je bio glavna reklamna caka u vreme pojave unix, windows i mac operativnih sistema, tek je vremenom i razvojem operativnih sistema postao koristan.Što se multithreading-a tiče tu se slažem sa tobom apsolutno.Ali…..
I dalje tvrdim da aplikacije trebaju biti optimizovane za višejezgarne procesore da bi što bolje iskoristile njihove mogućnosti (što se u jednom delu poklapa sa onim što si ti napisao), ali po tebi aplikacije ne moraju biti optimizovane (što je u slučaju linuxa u velikom delu tačno, pošto tu kernel obavlja posao), ali u slučaju windows operativnih sistema optimizovanost aplikacija je i te kako bitna, pošto je, jeli, kao što svi znamo windows takav kakav je.Tvoja analogija je dobra, ali šta činiti u slučaju da u 2 kutije želimo stavii 3 ili 4 kamena?Tada je potrebno da ih razbijamo da budu što sitniji kako bi stali u te 2 kutije.Tu do izražaja dolazi ono o čemu sam pisao, optimizovanost aplikacija i operativnog sistema da pravilno rasporedi “kamenje” tako da ih 2 “kutije” mogu primiti.6. септембар 2006. у 8:09 pm #47349civanУчесникMultitasking je nastao mnogo pre pojave komercijalnih višejezgarnih procesora (i njihovih
Nisam ni rekao da nije. Ali vreme i svrha nastanka ne moraju da imaju veze sa sadasnjom svrhom… Pogledaj kako je samo nastala virtuelna memorija…
I dalje tvrdim da aplikacije trebaju biti optimizovane za višejezgarne procesore da bi što bolje iskoristile njihove mogućnosti
…
što je u slučaju linuxa u velikom delu tačno, pošto tu kernel obavlja posao
…
pošto je, jeli, kao što svi znamo windows takav kakav je.Tvoja analogija je dobra, ali šta činiti u slučaju da u 2 kutije želimo stavii 3 ili 4 kamena?Tada je potrebno da ih razbijamo da budu što sitniji kako bi stali u te 2 kutije.“Da bi sto bolje iskoristile” – tu se slazem. Samo se ne slazem da je dobitak veoma mali kad to nije slucaj. (to si napisao u prvom postu)
Sto se window$a tice, necu ni da komentarisem… 🙂
Stavis dva manja kamena u jednu, a treci u drugu 🙂 Kod G/L-a je lepo to sto postoji desetine sitnih kamencica koji su uvek pokrenuti… ali da ne duzimo… kao da smo se slozili 🙂
6. септембар 2006. у 8:26 pm #47350velialУчесникmeni sistem monitor u fedori pokazuje da oba procesora rade u proseku isto opterecena. Ako nije neka iluzija mislim da linux deli resurse.
7. септембар 2006. у 7:06 am #47351DeeMonУчесник7. септембар 2006. у 8:34 am #47352velialУчесникOvo sto cu reci bas i nema veze sa dva procesora, ali mislim da je malo nezahvalno uporedjivati linux i win. Razni testovi pokazuju sta pokazuju, ali u praksi su sami linux programi pisani bez puno filozofije i primetio sam da su mnogo brzi nego win ekvivalenti vec sami po sebi, a i linux kao sistem mi deluje brzi nego win. (ne proverava sve i svasta i ne drlja mi non-stop po disku kao win.). Pa mi je u praksi malo nelogicna prica ko je kako optimizovan i za sta kad je linux vec u startu brzi od win.
7. септембар 2006. у 10:52 am #47353DeeMonУчесникFilozofije Linuxa i Windowsa su dijametralno različite, tako da je bespredmetno raspravljati na tu temu. 🙂
A što se programa na windowsu i njihovih “ekvivalenata” na linuxu tiče, tu bi već zašli u raspravu koja definitivno ne spada u ovu temu.
U svakom slučaju, mislim da je na temu 2 procesora dovoljno rečeno i da smo došli do zajedničkog zaključka izrečenog u prethodnim postovima.
Pozdrav! -
АуторЧланци
Мораш бити пријављен да би поставио коментар у овој теми.