Znas kako nije to nuklearna fizika. Sve je u seduleru. Znaci znas recimo da su jezgra od 0-3 low power a da su od 4-7 high power. Znaci sve taskove koji uzimaju do nekog procenta malog procesora
izvrsavas na low power jezgrima, a cim recimo predje neki procenat selis na high power. Eto ja bih to umeo da implementiram ;)
Dakle drugi stos je ako low power jezgra ne podrzavaju neke instrukcije, onda ne smes da neke taskove selis na njih. E sad tu bez neke kooperacije nece moci,jer nekako mozras
izvuci info. Ukoliko obe grupe jezgara podrzavaju sve instrukcije onda je no brainer ;)
Ou bradr.. pa bog te mazo, lomili zube ARM, Samsung, NVIDIA, Linus.. trebalo da prodje nekoliko godina da big.LITTLE sljaka kako treba.
Intel u onoj prvoj verziji osakatio i Atom i Core...
"Sve je u seduleru" :-)) Ajde da zanemarimo sve moguce i nemoguce hardverske smicalice koje su vidjene, od nepostojecih instrukcija pa do razlicite velicine L1 kesa...
1. Tvoj scheduler ima telefonsku vezu sa buducnoscu pa ima garancije da je trenutno ponasanje niti nije tranzijent?
2. Jasno ti je da prebacivanje nije dzabe - sta ces da ucinis da sprecis nit da ode u ping-pong?
3. Ako ces da uvedes nekakve pragove, maksimume - kako si obezbedio da je scheduling i dalje fer? I kako ces da se nosis sa situacijama kada ti brojevi ne rade posao za neku nit?
4. Kako ces da meris da li ce nit biti efikasnija ako je prebacis?
5. Da li ces uzeti u obzir deljenje podataka sa drugim nitima? Ako hoces, sta ces onda da radis, prebacices ih sve? Nijedan?
6. Da li ces uzimati u obzir potrosnju i PMU od procesora, da se ne desi da prebacivanjem ne dobijes losije rezultate?
Dakle drugi stos je ako low power jezgra ne podrzavaju neke instrukcije, onda ne smes da neke taskove selis na njih. E sad tu bez neke kooperacije nece moci,jer nekako mozras
izvuci info
Tvoj OS scheduler zna sve te detalje? Kako znas da nit 1234 koristi VPCLMULQDQ?
Ko ti daje garanciju da nece ucitati izvrsni kod za 20 dana i koji zove VPCLMULQDQ.... sta ce onda da se desi?
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey