gladilov.org.ru gladilov.org.ua

20 лет проекту GNU Parallel

GNU parallel — утилита командной строки, за авторством  Оле Танге (Ole Tange), позволяющая выполнять задачи на одном или нескольких компьютерах параллельно. Ссылка на GIT-репозиторий — https://git.savannah.gnu.org/cgit/parallel.git.

Показать

В прошлом году я нашел старую резервную копию с самой первой версией Parallel. В архиве не было исполняемого сценария, тем не менее остался временный файл от emacs (~parallel). Это обстоятельство позволило установить дату создания первой версии проекта: 6 января 2002г. На тот момент программа представляла из себя ~15 строк кода на Perl и она до сих пор запускается:

#!/usr/bin/perl

$processes=shift;

chomp(@jobs=<>);
for (@jobs) {
    $jobnr++;
    push @makefile,
    (".PHONY : job$jobnr\n",
     "job$jobnr :\n",
     "\t$_\n");
}
unshift @makefile, "all : ",(map { "job$_ " } 1 .. $jobnr),"\n";

open (MAKE, "| make -k -f - -j $processes") || die;
print MAKE @makefile;
close MAKE;

Эта версия Parallel не являлась частью GNU, принятие в проект случилось только в апреле 2011 года.

Похоже Parallel сохраняет актуальность по сей день. Утилита упомянается в 1000 научных статьях и число цитирований растёт из года в год. Статьи охватывают широкий спектр вопросов, начиная с обрезки фруктовых деревьев, заканчивая проверкой программ марсохдов или исследованиям COVID-19.

Больше всего споров за минувшие 20 лет вызвала необходимость уведомления о цитировании. Подробнее можно узнать из описания параметра

--citation

в документации.

Источник — https://www.gnu.org/software/parallel/20th-birthday.html

Популярное
Наверх