Sto avendo un po 'di problemi a decidere qualsiasi cosa usi il multiprocessing o il sedano python o pp per la mia applicazione.Celery è efficiente su un sistema locale dato che il multiprocessing di Python è?
La mia app è molto pesante per la CPU ma al momento utilizza solo una CPU, quindi ho bisogno di distribuirla su tutti i cpus disponibili (cosa che mi ha fatto guardare la libreria multiprocessing di python) ma ho letto che questa libreria non è scalabile macchine se necessario. Al momento non sono sicuro se avrò bisogno di più di un server per eseguire il mio codice, ma sto pensando di eseguire il sedano localmente e quindi il ridimensionamento richiederebbe solo l'aggiunta di nuovi server invece del refactoring del codice (come sarebbe se usassi multiprocessing).
La mia domanda: questa logica è corretta? e c'è qualche negativo (prestazioni) nell'usare il sedano localmente (se si scopre che un singolo server con più core può completare il mio compito)? o è più consigliato usare il multiprocessing e svilupparlo in qualcos'altro dopo?
Grazie!
p.s. questo è per un progetto di apprendimento personale, ma forse un giorno mi piacerebbe lavorare come sviluppatore in un'azienda e voglio imparare come fanno i professionisti.
Che cosa ti fa pensare che più CPU possano aiutare un'applicabilità da IO? Se la tua applicazione è legata all'IO, hai bisogno di più canali IO, non di CPU. –
Di fronte alla parola scusa scusa ... è molto intensivo della CPU. Fondamentalmente è solo matematica in una grande ricorsione con molti input di dati. Sembrava un buon processo per distribuire – Lostsoul
Ah - in tal caso, continua :) Hai bisogno di tolleranza di errore - ad esempio, cercando di utilizzare il calcolo volontario sparsi ovunque - o stai solo cercando di usare i computer in un laboratorio o un grappolo? –