paexec is een hulpprogramma dat bepaalde taken (stdin) tussen verschillende CPU's of machines distribueert in een netwerk.
paexec heeft geen beperkte interne buffers meer. Het enige wat ze worden automatisch aangepast als dat nodig is. PAEXEC_BUFSIZE omgevingsvariabele stelt een * eerste * buffer grootte, niet * maximale * één.
README: aantekeningen over niet-standaard functie getopt_long, en advies hoe te paexec bouwen op platformen zonder getopt_long ondersteuning (JP-UX, Solaris, etc.).
Installatie:
0) BSD make vereist. Ik noem het 'BLet' maar haar echte naam kan
variëren. pmake of gewoon zijn mogelijke varianten.
Als u nodig hebt om de standaard gebouw opties te wijzigen
run BLet als deze
env [YOUR_ASSIGNMENTS] BLet
Zie voorbeeld hieronder
1) "libmaa" library is vereist om paexec bouwen. Het is een deel van
"Dict" project http://sourceforge.net/projects/dict
Snel steekproef van het gebouw:
gzip -dc /home/cheusov/downloads/dictd-XYZtar.gz | tar -xf-
cd dictd-X-Y-Z / libmaa
./configure
gmake
gmake installeren
OPMERKING: gmake wordt GNU maken hier! Onder de meeste Linux-distributies
het wordt genoemd make.
2) Uncompress paexec tarball die je hebt gedownload als dit
gzip -dc paexec-X-Y-Z.tar.gz | tar -xf-
3) cd paexec-X-Y-Z
4) BLet
5) (optioneel!) BLet-dirs installeren
6) BLet installeren
Er zijn veel Makefile variabelen die bij kunnen wijzigen
bouwen en installeren.
eigen variabelen paexec's (Alle zijn ze aan het begin van de Makefile):
PREFIX - waar paexec is geïnstalleerd om
LIBMAA - linker optie voor het koppelen van "maa" bibliotheek
Variabelen BSD make's (meest gebruikt,
voor alle anderen - zie documentatie en .mk bestanden)
BINDIR - waar paexec uitvoerbaar zelf is geïnstalleerd om
MANDIR - waar manual pagina's worden geïnstalleerd om
BINOWN - paexec uitvoerbare eigenaar
BINGRP - paexec uitvoerbare groep
MANOWN - man pagina eigenaar
MANGRP - man pagina groep
Voorbeelden van bouwen en installeren:
1) BLet alle install-dirs installeren
2) env CC = icc
Prefix = / home / cheusov / local
CPPFLAGS = '- I / usr / pkg / include'
LDFLAGS = '- L / usr / pkg / lib -Wl, -rpath -Wl, / usr / pkg / lib'
LDADD = -lextralib
CFLAGS = '- Werror -Wall'
BINOWN = cheusov
BINGRP = users
MANOWN = cheusov
MANGRP = users
MKCATPAGES = geen
BLet -s alle install-dirs installeren
3) paexec de niet-draagbare getopt_long (3) aanwezig in behoefte
* BSD en Linux besturingssystemen. Als het aanwezig in OS,
u kunt paexec bouwen als het volgende.
echo '#include'> ./config.h
env
CPPFLAGS = '- DNO_PORTABHACKS_H = 1 -DHAVE_CONFIG_H = 1'
LDFLAGS = '- lnbcompat'
BLet -s alle install-dirs installeren
waar libnbcompat is draagbaarheid bibliotheek een NetBSD's
Natuurlijk kunt u ook gebruik maken van een andere uitvoering van getopt_long.
OPMERKING: Nee, ik zal geen gebruik maken van autotools
Wat is nieuw in deze release:
- libmaa is niet meer nodig om bouwen en uitvoeren paexec.
- Presentatie paexec.pdf werd toegevoegd.
- Milieu variabele PAEXEC_EOT werd geïntroduceerd.
- Optie -y werd toegevoegd aan paexec (1) en paexec_reorder (1) voor het instellen van een end-of-taak marker om de & quot; magie & quot; string.
- Optie-C werd toegevoegd aan paexec (1) voor het instellen van & quot; rekenmachine & quot; gemakkelijker.
- Optie -x werd toegevoegd aan paexec_reorder (1).
- Aanvullingen en verbeteringen aan regressietesten en documentatie werden gemaakt.
Wat is nieuw in versie 0.18.0:
- NULL dereference (SIGSEGV) is vastgesteld in paexec (1).
- Het gebeurde toen de eerste regel gegeven op de input was leeg.
- Een hele opdracht doorgegeven aan ssh-achtige vervoer is nu shquoted.
- In het bijzonder lost dit -x, die niet samen werkte met -t. & Quot; paexec -g & quot; accepteert nu een lege string als een taak.
- Een kleine correctie heeft plaatsgevonden in de paexec_reorder man pagina.
- Meer regressietesten zijn toegevoegd.
Wat is nieuw in versie 0.17.0:
- De optie -x instrueert paexec (1) tot run één opdracht per taak.
- Verbeteringen voor de optie -n.
- De optie '-mt =' stelt een alternatief einde van de taak marker.
- De optie -MD = zet een scheidingsteken tussen de taken in de grafische modus (-g).
- Een uitgang lijn die niet ten laste bevat niet langer eindigt met een onnodige scheidingsteken.
- Lange opties werden volledig verwijderd.
- & quot; paexec_reorder -g & quot; Nu uitgang correct afhandelt mislukte taken '.
- De optie -m werd toegevoegd aan paexec_reorder (1), die vergelijkbaar is -m paexec's.
- Meer voorbeelden en regressietesten.
- Documentatie updates en verbeteringen.
Wat is nieuw in versie 0.16.0:
- Deze versie heeft een fix voor compilatie mislukkingen op oude OpenBSD, HP-UX, en misschien anderen.
- Nieuwe modi voor herordening taken werden toegevoegd; zie -W0 en -W2 opties.
- Lange opties worden nog steeds ondersteund, maar beschouwd als deprecated.
- & quot; mkcmake-test & quot; heeft nu een kans om te slagen op HP-UX, Solaris, en andere SVR4 derivaten.
Wat is nieuw in versie 0.15.0:
- Het bouwsysteem is veranderd van mk-bestanden naar mk-configure.
- Er is een nieuwe executable paexec_resort (1) voor het normaliseren van de gesneden output van paexec (1).
- Er is een nieuwe optie -W voor nabestellen taken.
- Met deze optie, paexec (1) is in staat om de totale doorlooptijd te minimaliseren door het verdelen van taken via het netwerk of CPU's op een betere manier.
- Er is een fix voor een 1 byte buffer overflow, dat gebeurde toen de optie -d (debugging) werd toegepast.
- Documentatie updates, kleine fixes en code clean-ups.
Wat is nieuw in versie 0.13.0:
- Het algoritme voor cyclus detectie (paexec -s) werd volledig herwerkt en nu does't toewijzen tasks_count ^ 2 gehele getallen.
- Nu het werkt veel sneller.
- De -Z _timeout_ optie werd toegevoegd.
- Een poging om een opdracht opnieuw uit te voeren op een mislukte knooppunt wordt elke _timeout_ seconden gemaakt.
- Deze optie maakt het mogelijk om clusters over onbetrouwbare netwerken, hardware of software te organiseren.
Wat is nieuw in versie 0.12.0:
- Deze versie voegt een -z optie. Indien toegepast, lezen / schrijven (2) bewerkingen van / naar knooppunten worden niet-kritisch.
- In het geval paexec heeft aansluiting op het knooppunt verloren, zal het de mislukte taak toewijzen aan een ander knooppunt en, indien de optie -s wordt toegepast, zal de uitgang van de string & quot; fatale & quot; naar stdout.
- Hierdoor paexec bestand tegen de I / O-fouten, en als resultaat kan paexec clusters zelfs over een netwerk van onbetrouwbare hosts (Internet?).
- Mislukt hosts zijn als zodanig gemarkeerd, en zullen niet worden gebruikt tijdens de huidige run van paexec. Er zijn kleine fixes.
Wat is nieuw in versie 0.11.0:
- Deze versie voegt paexec -s, die controleert een grafiek ingang taak voor de cycli voor beginnende eigenlijke werk. Als het / worden ze gedetecteerd, paexec uitgangen met een fout.
- Een kleine man pagina fix is gedaan.
Wat is nieuw in versie 0.10.1:
- Een kleine correctie werd gemaakt voor & quot; paexec - s & quot; (Ruit-achtige afhankelijkheden).
- Een kleine fix is gemaakt in de man pagina.
- Clean-ups werden gedaan in testen / test.sh. getopt_long (3) valt terug naar getopt (3) op Solaris, HP-UX, Interix, etc.
Reacties niet gevonden