Portál AbcLinuxu, 26. dubna 2024 15:22
Řešení dotazu:
[translator fromLang="kusadla" toLang="Czech"]Pokud je tato interpretace správná, odpověď je ne. Aplikace musí být napsána tak, aby dovedla těžit z výhod víceprocesorových strojů. Tahle zřejmě není.
Zdravím. Aplikace, kterou provozuji, vytíží jedno logické CPU na 100 % a po nějaké době spadne. Je nějaká možnost, jak rozložit danou aplikaci na více logických CPU?
[/translator]
BTW je to dost zábavná otázka. Zatím jsem si nedokázal logicky představit situaci, kdy by jednovláknový program "povolával na pomoc" druhé fyzické jádro (procesor) spuštěním dalšího vlákna. Opravdové servery jsou vždycky mnohovláknové a nová vlákna vznikají prakticky s každým připojeným klientem - tady jde pouze o konfiguraci (kolik procesorových jader je možné zabrat, resp.kolik vláken lze vytvořit, po jaké době se mají ukončovat ap.)Tak možné to je, já jeden takový program napsal. V jednom vlákně může obsluhovat více klientů současně (epoll/kqueue), ale pokud uzná za vhodné, tak si může „povolávat na pomoc“ i další vlákna.
Tiskni Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.