t_robert#4
Nem biztos, hogy lusták... egyszerűen sok program van, ahol alig lehet párhuzamosítani folyamatokat. Gyakorlatilag egy szálas a program és néha sikerül pár kisebb feladatot kiosztani benne egy párhuzamos szálra. Ilyenkor gyakorlatilag egy szálon(vagy magon) számolódik ki a program 90%-as és néha segít be más mag vagy száll párhuzamosan. Aztán van olyan program, ami sok fele lehet párhuzamosan számolni. Tipikusan azok a feladatok, ahol egy maghatározott mennyiségű információt kell ugyanúgy feldolgozni. Például egy kép renderelése, video tömörités, titkosítás tömörítés. stb. Egy átlagos program azért tipikusan egyszálas. szépen darálja az egymásra épülő utasításokat, ahogy lépget rajtuk végig. Mivel a későbbi utasítások az előzök eredményét használják fel nem lehet azokat párhuzamosan végre hajtani. Némileg olyan mint a ház építés. Amíg a beton alapot öntik nem lehet párhuzamosan rakni a cserepeket a nem létező tetőre. Más esetekben egyszerre rakhatóak a cserepek , miközben a már álló házban lerakják a parkettát és egy másik helyiségben meg szerelik a villanyt. persze a tökéletes program az lenne, ahol szépen arányosan párhuzamosan lehetne szétterhelni a magok és szálak közt a feladatot, de a logikai összefüggések miatt nagyon nehéz megvalósítani. Persze ha 4 magom van, akkor 4 mag közt, ha 12 akkor 12 felé. Csakhogy ilyen ideális program valójában nagyon ritka....