Mam problem z podjęciem decyzji co do używania wieloprocesorowego pytona lub selera lub pp dla mojej aplikacji.Czy Seler jest równie wydajny w systemie lokalnym, jak w przypadku wieloprocesorowania Pythona?
Moja aplikacja jest bardzo obciążająca procesor, ale obecnie używa tylko jednego procesora, więc muszę rozłożyć go na wszystkie dostępne cpusy (co spowodowało, że zajrzałem do biblioteki wieloprocesorowej Pythona), ale przeczytałem, że ta biblioteka nie jest skalowalna do innych maszyny w razie potrzeby. W tej chwili nie jestem pewien, czy będę potrzebować więcej niż jednego serwera do uruchomienia mojego kodu, ale myślę o lokalnie uruchomieniu selera, a następnie skalowanie wymagałoby jedynie dodania nowych serwerów zamiast refaktoryzacji kodu (tak jak wtedy, gdybym użył multiprocessing).
Moje pytanie: czy ta logika jest poprawna? i czy jest jakaś negatywna (wydajność) lokalnie używanie selera (jeśli się okaże, że jeden serwer z wieloma rdzeniami może wykonać moje zadanie)? lub czy lepiej jest używać przetwarzania wieloprocesowego i wyrastać z niego w coś innego później?
Dzięki!
p.s. to jest dla osobistego projektu edukacyjnego, ale może pewnego dnia chciałbym pracować jako programista w firmie i chcę dowiedzieć się, jak robią to profesjonaliści.
Co sprawia, że wiele procesorów może pomóc w zastosowaniach IO-heavy? Jeśli twoja aplikacja jest związana z IO, potrzebujesz wielu kanałów IO, a nie procesorów. –
Przeciwko błędnemu słowu ... jest to bardzo obciążające procesor. Zasadniczo jest to po prostu matematyka w dużej rekursji z dużą ilością danych wejściowych. Wydaje się, że jest to dobry proces do dystrybucji – Lostsoul
Ah - w takim przypadku, kontynuuj :) Czy potrzebujesz odporności na uszkodzenia - np. Próbując używać komputerów ochotniczych rozproszonych w całym miejscu - czy też po prostu chcesz używać komputerów w laboratorium lub grupa? –