Wieloprocesorowa aplikacja konsolowa

0

Witam.
Jak ustawić by aplikacja konsolowa korzystała z większej liczby rdzeni niż jeden, tzn jak mamy procka 2 rdzeniowego to korzysta z 2 rdzeni.

0

Nie trzeba nic zmieniać, system operacyjny sam rozdzieli wątki na odpowiednie rdzenie oraz procesory. Natomiast nie ma magicznego sposobu, który sprawi, że jednowątkowa aplikacja będzie korzystała z wielu rdzeni / procesorów. Musisz tą wielowątkowość sam zaimplementować (być może z mniejszą czy większą pomocą innych narzędzi, np. OpenMP dla C/C++).

0

Rdzenie to nie procesory. Nie mieszaj tych pojęć.

Jeśli chcesz zrobić aplikację wielowątkową, to po prostu utwórz w niej wiele wątków :]

Edit:
6 sekund.

0

@Wibowit
weź ty mi powiedz gdzie ja pisze o kilku prockach, ja cały czas mówię o rdzeniach...

aplikacja nie potrzebuje wątków a kiedyś widziałem taką deklaracje by konsolówka korzystała z wielu rdzeni.

1

Każdy proces potrzebuje chociaż jeden wątek by działać (no, w praktyce proces w Windows nie musi mieć żadnego wątku, ale pomińmy ten czysto naukowy wariant ;)).

Natomiast nie da się przyśpieszyć programu, który korzysta tylko z jednego wątku nawet na wielordzeniowym czy wieloprocesorowym systemie. Wyobraź sobie, że masz jeden samochód i trzy osoby, które musisz zawieźć do innego punktu. Zajmuje ci to 5 godzin. Posiadanie dwóch samochodów nie sprawi tego, że podróż zajmie 2.5 godziny. Natomiast możesz użyć dwóch samochodów jednocześnie, jeżeli podzielisz grupę potencjalnych 6 osób na dwie. I o to samo chodzi w aplikacjach wielowątkowych - by dzielić niezależną od siebie pracę na kilka wątków pracujących jednocześnie.

1

Tytuł wątku to: "Wieloprocesorowa aplikacja konsolowa". Jeśli to jest po polsku, to znaczy, że chodzi o wiele procesorów.

Żeby aplikacja obciążała wiele rdzeni, to musi być wielowątkowa (pomijając sytuacje, kiedy drugi rdzeń jest obciążony przez równolegle działający odśmiecacz czy podobne usługi). Nie słyszałem o żadnym procesorze, w którym jeden wątek byłby wykonywany naraz przez kilka rdzeni. Zawsze jest tak, że dany w danym momencie osobne rdzenie wykonują osobne wątki.

PS:
I nie ma zupełnie żadnego znaczenia, czy aplikacja jest konsolowa czy nie, jeśli chodzi o zrównoleglanie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1