Scott Tiger Tech Blog

Blog technologiczny firmy Scott Tiger S.A.

GNU Parallel

Autor: Piotr Karpiuk o 5. stycznia 2011

GNU parallel jest linuksowym narzędziem wiersza poleceń wykonującym zadania współbieżnie (wykorzystując dodatkowe rdzenie procesora) lokalnie i/lub przy użyciu zdalnych hostów (za pomocą SSH). Zadanie jest zwykle pojedynczym poleceniem lub małym skryptem i jest wykonywane dla każdego wiersza na wejściu (lista plików, lista hostów, itp.).

Jeśli używasz na codzień polecenia xargs shella, polecenie parallel będzie dla Ciebie proste do opanowania – z uwagi na te same opcje – i często wykorzystywane jako szybszy odpowiednik. Wyjście generowane przez współbieżne polecenia jest takie samo jak gdyby były one wykonywane kolejno – dzięki temu możesz wykorzystać wyjście jako wejście dla innych programów.

Dla każdego wiersza na standardowym wejściu GNU parallel będzie wykonywał polecenie z wierszem jako argumentem. Gdy nie ma polecenia, wiersze ze standardowego wejścia są traktowane jako polecenia do równoległego wykonania.

Polecenie

  gzip *

pakuje wszystkie pliki w bieżącym katalogu. Polecenie

  ls | parallel gzip

na dwurdzeniowym procesorze wykona to samo zadanie prawdopodobnie ok. dwukrotnie szybciej.
Czytaj więcej »

Tags:
Napisany w Bash, Linux | Brak komentarzy »