Papy

Parallelle pijpleidingen voor Python
Download nu

Papy Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • GPL v3
  • Prijs:
  • FREE
  • Naam uitgever:
  • Marcin Cieslik
  • Uitgever website:
  • http://muralab.org/

Papy Tags


Papy Beschrijving

Parallelle pijpleidingen voor Python Papy is een Python-framework om pijpleidingen (stroomdiagrammen) van willekeurige taken in parallel te bouwen en uit te voeren, hetzij lokaal met behulp van multi-processing of multi-threading of op afstand met behulp van RPC (externe procedure-oproepen) zoals voorzien door RPYC (Remote Python Call). Pijplijn wordt weergegeven als een willekeurige gerichte acyclische grafiek. De gebruiker moet functies van de knooppunten (genaamd Pipers) en de randen (genaamd leidingen), die data-flow of afhankelijkheid vertegenwoordigen. Piper-instanties worden toegewezen aan virtuele bronnen (genaamd IMAPS) die technisch pools van lokale en / of externe processen of threads zijn. IMAPS is vergelijkbaar met Multiprocessing.pool IMAP-methode, maar ondersteunt meerdere taken, dwz (functie, ieevende) tuples, die verweven zijn in plaats van een na een ander te worden geëvalueerd. Een voorbeeld van een geldige piper-functie (het identificeert de host, het proces en zichzelf) : @Imports (], ], ]]) DEF HID (I): Return "Artikel% S is op Host:% s Met behulp van proces:% s en functie:% S "% (i , socket.gethostname (), os.getpid (), ID (HID)) Creëert een IMAP-exemplaar, die 4 processen gebruikt: lokaal_pool = IMAP ( Werknemer_num = 4) Creëert een IMAP-exemplaar, die 4 threads gebruikt: lokaal_thread_pool = IMAP (werknemer_type = 'thread', werknemer_num = 4) creëert een IMAP-exemplaar, die gebruik maakt van 8 externe processen op 2 hosts.Remote_pool = IMAP (werknemer_num = 0, WERKNEMER_REMET = , , 4]]) De werknemer_num = 0 overschrijft de wanbetaling van het maken van lokale werknemersprocessen in het aantal beschikbare CPU's. Externe hosts ('host1' en 'host2') moeten een RPYC Classic-server in de vorkmodus uitvoeren, dwz: Python Classic_Server.py -M-M 'Forking'the input op de pijplijn moet een verzameling en papieren processen zijn in de pijplijn in batches Van verstelbare grootte die een parallelle (geheugenconsumptie) vs lui (onmiddellijk resultaten) toestaat, is flexibel: * Grafiek Topologie is onbeperkt * Gebruikersfunctiescode is onbeperkt * Het aantal ingangen is onbeperkt * Het aantal IMAPS is onbeperkt * Het aantal IMAPS is onbeperkt * Het aantal gebruikte processen / thread is onbeperkt * Pipers kunnen worden toegewezen aan IMAPS Arbitrailair * IMAPS kan worden gedeeld (load-balancing) * Memory-parallelisme-luiheidswalking is instelbaar * Hosts worden hier ondersteund Kenmerken van "PAPY": · Bouw van willekeurige pijpleidingen · Flexibel lokaal en op afstand parallelisme · Gedeeld lokale en externe middelen · Robuustheid tot uitzonderingen · Ondersteuning voor time-outs · Real-time logging · OS-onafhankelijk (echt een kenmerk van multiprocessing) · Cross-platform (echt een functie van RPYC) · Getest en gedocumenteerd. Vereisten: · Python


Papy Gerelateerde software