Python SCOOP (software) - Python SCOOP (software)
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
Původní autoři | Marc Parizeau a Yannick Hold |
---|---|
Vývojáři | Yannick Hold a Olivier Gagnon |
Stabilní uvolnění | 0.7.1 / 17. března 2014 |
Úložiště | ![]() |
Napsáno | Krajta |
Operační systém | POSIX -v souladu |
Plošina | Cross-platform |
Typ | Distribuované výpočty rámec |
Licence | LGPL |
webová stránka | www |
LOPATKA (Škálovatelné souběžné operace v Pythonu) je softwarový modul Pythonu pro distribuci souběžných úkolů v různých prostředích, od heterogenních sítí pracovních stanic až po superpočítače.
Využívá to ØMQ a Greenlet balíček jako stavební bloky pro zapouzdření a distribuci úkolů (pojmenované a Budoucnost ) mezi procesy a / nebo systémy. Jeho rozhraní je inspirováno z PEP-3148 návrh.
SCOOP je zaměřen na vědecké aplikace, které vyžadují provádění mnoha volně spojených úkolů pomocí všech dostupných hardwarových prostředků. Tyto zdroje musí být přístupné prostřednictvím SSH.
Dějiny
SCOOP iniciovali Yannick Hold a Marc Parizeau v Laboratoři počítačového vidění a systémů v Université Laval. Jedná se o iterativní krok přes nyní zastaralý modul DTM rámce DEAP pro vývoj evoluční algoritmus. Při použití DTM MPI pro svou komunikaci používá SCOOP místo ØMQ.
Topologie sítě
SCOOP používá Broker Architecture[1] distribuovat své budoucnosti. Je založen na ústředním prvku zvaném Broker, který odesílá práci svým pracovníkům. Hlavní rozdíl mezi tímto vzorem a a Otrokář topologie spočívá v budoucím původu. V architektuře Broker vycházejí Futures z pracovníka, který je umístěn na periferii topologie, namísto hlavního v architektuře Master / slave. To umožňuje vyšší spolehlivost s ohledem na chyby pracovníků a obecně lepší výkon díky generické funkci Broker. Vzhledem k tomu, že nepotřebuje serializovat ani deserializovat žádnou budoucnost, aby je směroval po mřížce, jeho pracovní zátěž se skládá ze sítě nebo meziprocesového I / O a téměř žádné doby zpracování CPU. To snižuje úzké místo topologie Broker.
Broker architektura nebude zdůrazňovat síťovou strukturu a prvky stejně jako úplně distribuovaná topologie, protože u každého pracovníka je vyžadováno pouze jedno připojení.
Příklad
Úvodní paralela „Ahoj, světe!“ příklad je implementován tímto způsobem:
z lopatka import futuresdef Ahoj světe(hodnota) -> str: vrátit se „Hello World from Future #{}".formát(hodnota)-li __název__ == "__hlavní__": návratové_hodnoty = futures.mapa(Ahoj světe, rozsah(16)) tisk(" n".připojit se(návratové_hodnoty))
Reference
- ^ „ZeroMQ - Průvodce, Pieter Hintjens“. iMatix Corporation. Citováno 4. října 2012.