prop

Voer eenvoudig spullen uit in parallel
Download nu

prop Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • GPL v3
  • Prijs:
  • FREE
  • Naam uitgever:
  • Jure Varlec
  • Uitgever website:

prop Tags


prop Beschrijving

Voer eenvoudig spullen parallel uit Hoewel elke full-featureled shell een baancontrole biedt, is het alleen bedoeld voor handmatige, interactieve afhandeling van verschillende banen, en niet veel meer. PRLL (uitgesproken "parallel") is gemaakt om een gemeenschappelijke taak om een groot aantal banen een paar tegelijk te vereenvoudigen. Zie de functies onder Samenvatting voor een snel overzicht. Als u een stel bestanden hebt om te verwerken, is een lus wat u nodig hebt. Als u echter een Multicore / Multiprocessor-machine hebt, is het echter veel efficiënter om evenveel processen parallel te gebruiken, omdat er CPU's beschikbaar zijn. Hoewel een kleine uitbreiding naar de lus voldoende is, is het niet de meest efficiënte oplossing. In dit artikel wordt beschreven hoe u parallelle uitvoering kunt uitvoeren met behulp van een lus, of met behulp van het begrip van de Shell of de tekortkomingen van beide methoden. Het beschrijft ook de predecessor van PRLL, die MAPP werd genoemd en waarop PRLL is gebaseerd. Uiteindelijk doen ze hetzelfde, maar gebruiken verschillende middel om interprocesscommunicatie te gebruiken.PRLL wordt geïmplementeerd als een schelpfunctie, met helperprogramma's geschreven in C. Hoewel er andere manieren zijn om het probleem aan te pakken, zoals het gebruik van het hulpprogramma Xargs, en Hoewel velen in zekere zin "SANDER" zijn, heeft het hebben van een shell-functie een duidelijk voordeel: u hoeft geen scripts of programma's te schrijven. Implementeer uw taak als een Shell-functie en PRLL wordt het uitgevoerd met behulp van de context van uw huidige schaal. Dit maakt eenmalige opdrachten mogelijk zonder ze in scriptbestanden te hoeven plaatsen, die te geboren zouden zijn. Als een voorbeeld, om alle foto's in de huidige map te draaien, doet u gewoon functie MYFN () {Mogrify -Flip $ 1; } PRLL MYFN * .JPGWITE Versie 0.3 of hoger, u kunt zelfs gewoon prefll -s 'mogrify -Flip $ 1' * .jpgvoor vergelijking, hier hetzelfde is met een niet-parallelle lus: voor I in * .jpg; Doe mogrify -Flip $ i donein versie 0.4, PRLL kreeg ook Xargs-achtige mogelijkheid om standaardinvoer te lezen, met zowel newline als nulscheiders, waardoor de verwerking van gegevens die moeilijker te citeren mogelijk maken. Het verschil van xargs is dat PRLL een schelpfunctie wordt gevoed, waardoor interactief gebruik gemakkelijker wordt gemaakt. XARGS neemt een eenvoudige opdracht en complexe opdrachten moeten worden ingepakt in een script of in 'bash -c' of dergelijke. Ook moet parallelle uitvoering in XARGS afzonderlijk worden opgegeven, terwijl PRLL het aantal CPU's automatisch leest. Om nog maar te zwijzingen dat Xargs vatbaar is voor gegevensverlies bij het uitvoeren van parallelle uitvoering (een voorbeeld hier), terwijl PRLL 0.5 of later volledige uitvoerbuffering en vergrendeling bevat die voorkomt dat. Houd er rekening mee dat dit geen rant is tegen xargs. XARGS is geen tool voor parallelle uitvoering, het is een hulpmiddel voor het bouwen van argumentenlijsten voor andere programma's en werkt samen met Prll.De Shell-functie die u schrijft, kan alles zijn. In het README-bestand in de download is er een voorbeeld van een functie die meer dan één argument kost. Als u SSH gebruikt, bij voorkeur met de op de sleutel gebaseerde authenticatie en SSH-agent, kunt u PRLL gebruiken om uitvoering via verschillende machines te verwerken - een ad-hoc-cluster.requirements * bash of zsh * C-compiler, zoals GCC * GNU MAAK * OS-ondersteuning voor SYSTEEM V Message-wachtrijen en semaforen * Apparaatbestanden / dev / urandom of / dev / willekeurige * De CAT-hulpprogramma * Optionele tests vereisen Utilites Tr, GreP, Sorteer, Splitsen, Diff en Unamethese vereisten moeten worden voldaan door uw systeem Standaard, behalve, misschien de compiler en de toolchain, die niet standaard worden geïnstalleerd op systemen zoals Ubuntu Linux. Raadpleeg de documentatie van uw systeem over het installeren van ontbrekende programma's.Optioneel (op Linux), kan het bestand / ProC / CPUINFO worden gebruikt om automatisch het aantal processors te bepalen, maar het is niet verplicht.PLL passeert basistests op de volgende besturingssystemen : GNU / Linux, FreeBSD, OpenBSD, MacOS X, Solaris-versies 8-10.


prop Gerelateerde software