Multiprocessing – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Multiprocessing – Python – Fórum – Programujte.comMultiprocessing – Python – Fórum – Programujte.com

 

neilo0
Duch
10. 6. 2012   #1
-
0
-

Zdravim,

mám jeden dotaz. Dělám skript jako úkol, co zkouší pralelizovat hledání v souborech. Respektivě jde o porovnání sériového a paralélního přístupu. Používám modul multiprocessing. Pokud s ním má někdo zkušenosti, tak bych potřeboval pomoc.

Program vytvoří čtyři subprocesy spojené frontou z modulu multiprocessing. Ve frontě jsou cesty k souborům. Každý subproces si vždy vyzvedne jednu cestu, soubor otevře, prohledá, když najde co potřebuje, zapíše do druhé fronty a hledá dál. Takhle ty subprocesy pracují dokud je něco v té první frontě. Na konci se vše vypíše. Problém je v tom, že to není deterministické. Při prvním spuštění se to chová divně. Při druhém a dalším, jsou evidentně v OS ty soubory co se mají zpracovat už nakešované a program už běží standardně. Při prvním spuštění, kdy asi vše musí číst z disku tak to vrací různý počet nalezní nebo se třeba jeden subproces ani nepustí. Při dalším kmitaj všechny a vrací to už stejné výsledky srovnatelné s sériovým prohledáváním. Nevím jestli to nějak pohnojí to že to nestíhá číst z disku ale zámky a semafory tam mám a evidentně fungují, protože při dalším spuštění to jede normálně. Pokud by někdo tušil, tak se prosím ozvětě. Pošlu i pak zdrojáky.

Nahlásit jako SPAM
IP: 212.96.174.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

Podobná vlákna

Fork() (multiprocessing in c) — založil light_c_programator

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý