LINUX.ORG.RU

Parallel


9

0

Всего сообщений: 11

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

Группа GNU's Not Unix

GNU parallel — утилита командной строки, позволяющая выполнять задачи на одном или нескольких компьютерах параллельно.

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

( читать дальше... )

>>> Подробности

 , ,

perl5_guy
()

GNU Parallel 20190122 ('Shutdown')

Группа GNU's Not Unix

GNU Parallel — это инструмент командной оболочки, созданный Оле Танге. Написан на языке Perl, предназначен для выполнения задач параллельно на одном или нескольких компьютерах. Задача может быть однострочником или небольшим скриптом, который должен выполниться для каждой строки ввода. Примеры такого ввода — списки файлов, хостов, пользователей, ссылок или таблиц. Задачей также может быть команда, читающая из пайпа. GNU Parallel может разделять ввод и перенаправлять его выполняющимся параллельно командам.

Если вы уже пользуетесь xargs и tee — использовать GNU Parallel будет очень просто, так как он совместим с аргументами xargs. Если вы пишете циклы в командной оболочке, то обнаружите, что GNU Parallel может заменить большинство циклов и ускорить их за счёт распараллеливания. GNU Parallel может заменять даже вложенные циклы.

GNU Parallel гарантирует, что вывод команд получается таким же, каким был бы при последовательном запуске. Это позволяет использовать вывод GNU Parallel в качестве ввода для других программ.

Новое в этом выпуске:

>>> Получите книжку: GNU Parallel 2018

>>> Источник

 , , , ,

Moondancer
()

Вышел Elixir 1.8.0

Группа Разработка

Elixir — динамически типизированный функциональный язык для написания распределенных и параллельных приложений разработанный как альтернатива Erlang и работающий на Erlang VM.

Версия 1.8 содержит множество изменений на уровне инфраструктуры, времени компиляции и добавляет новые возможности интроспектирования системы.

Главные изменения:

  • Кастомизированный вывод структур.

    Теперь можно использовать протокол Inspect для указания полей, которые будут использоваться для форматирования структуры в строку, так что структура

    defmodule User do
      @derive {Inspect, only: [:id, :name, :age]}
      defstruct [:id, :name, :age, :email, :encrypted_password]
    end
    

    будет напечатана следующим образом:

    #User<id: 1, name: "Jane", age: 33, ...>
    
  • Теперь Elixir поддерживает базу часовых поясов

    В языке существуют 4 типа данных для работы со временем: Time, Date, NativeDateTime(время без часового пояса) и DateTime(с часовым поясом). Развитию последнего препятствовало отсутствие поддержки базы часовых поясов.

    Теперь появился интерфейс Calendar.TimeZoneDatabase который позволит разработчикам подключать свои собственные базы часовых поясов. Так же это позволяет добавить новые возможности, в DateTime, например DateTime.shift_zone/3.

    Также добавлены функции Date.day_of_year/1, Date.quarter_of_year/1, Date.year_of_era/1 and Date.day_of_era/1.

  • Добавлен ключ $callers для улучшения возможностей инструментария

    Одним из самых распространенных способов запуска процессов является модуль Task. При этом Elixir сохраняет идентификатор процесса родителя в словаре запущенного процесса по ключу $ancestors. Это позволяет утилитам анализировать систему и прослеживать происхождение различный событий. Однако этого недостаточно, так как часто дочерний процесс запускается не напрямую, а через посредника, например supervisor. В таком случае хоть ваш код и вызывает запуск Task, однако, родителем будет указан процесс супервизора.

    В новой версии Elixir добавлен ключ $callers который указывает на оригинальный процесс, вызвывший запуск Task.

    Например, при таком вызове:

    [your code] -- calls --> [supervisor] ---- spawns --> [task]
    

    В $callers будет сохранен идентификатор изначального процесса:

    [your code]              [supervisor] <-- ancestor -- [task]
         ^                                                  |
         |--------------------- caller ---------------------|
    

>>> Полный список изменений, улучшений и багфиксов

 beam, , , ,

loz
()

GNU Parallel 20181222 ('Jacob Sparre')

Группа GNU's Not Unix

GNU Parallel — это инструмент командной оболочки, созданный Оле Танге. Написан на языке Perl, предназначен для выполнения задач параллельно на одном или нескольких компьютерах. Задача может быть однострочником или небольшим скриптом, который должен выполниться для каждой строки ввода. Примеры такого ввода — списки файлов, хостов, пользователей, ссылок или таблиц. Задачей также может быть команда, читающая из пайпа. GNU Parallel может разделять ввод и перенаправлять его выполняющимся параллельно командам.

( читать дальше... )

>>> Источник

 , , , ,

Moondancer
()

GNU Parallel 20181022 ('Khashoggi')

Группа GNU's Not Unix

GNU Parallel — это инструмент командной оболочки для выполнения задач параллельно на одном или нескольких компьютерах. Задача может быть одной командой или небольшим скриптом, который должен выполниться для каждой строки ввода. Примеры такого ввода — списки файлов, хостов, пользователей, ссылок или таблиц. Задачей также может быть команда, читающая из пайпа. GNU Parallel может разделять ввод и перенаправлять его выполняющимся параллельно командам.

Если Вы уже пользуетесь xargs и tee — использовать GNU Parallel будет очень просто, так как он совместим с аргументами xargs. Если Вы пишете циклы в командной оболочке, то обнаружите, что GNU Parallel может заменить большинство циклов и ускорить их за счёт распараллеливания. GNU Parallel может заменять даже вложенные циклы.

GNU Parallel гарантирует, что вывод команд получается таким же, каким был бы при последовательном запуске. Это позволяет использовать вывод GNU Parallel в качестве ввода для других программ.

Новое в этом выпуске:

>>> Получите книжку: GNU Parallel 2018

>>> Источник

 , , , ,

bodqhrohro_promo
()

GNU Parallel 20180922 ('Danske')

Группа GNU's Not Unix

GNU Parallel — это инструмент командной оболочки для выполнения задач параллельно на одном или нескольких компьютерах. Задача может быть одной командой или небольшим скриптом, который должен выполниться для каждой строки ввода. Примеры такого ввода — списки файлов, хостов, пользователей, ссылок или таблиц. Задачей также может быть команда, читающая из пайпа. GNU Parallel может разделять ввод и перенаправлять его выполняющимся параллельно командам.

Если Вы уже пользуетесь xargs и tee — использовать GNU Parallel будет очень просто, так как он совместим с аргументами xargs. Если Вы пишете циклы в командной оболочке, то обнаружите, что GNU Parallel может заменить большинство циклов и ускорить их за счёт распараллеливания. GNU Parallel может заменять даже вложенные циклы.

GNU Parallel гарантирует, что вывод команд получается таким же, каким был бы при последовательном запуске. Это позволяет использовать вывод GNU Parallel в качестве ввода для других программ.

Новое в этом выпуске:

( читать дальше... )

>>> Источник

 , , , ,

bodqhrohro_promo
()

GNU Parallel 20180822 ('Genova')

Группа GNU's Not Unix

GNU Parallel — это инструмент командной оболочки для выполнения задач параллельно на одном или нескольких компьютерах. Задача может быть одной командой или небольшим скриптом, который должен выполниться для каждой строки ввода. Примеры такого ввода — списки файлов, хостов, пользователей, ссылок или таблиц. Задачей также может быть команда, читающая из пайпа. GNU Parallel может разделять ввод и перенаправлять его выполняющимся параллельно командам.

( читать дальше... )

Новое в этом выпуске:

  • parset устанавливает код выхода
  • исправления ошибок и обновления мануала

( Ссылки )

>>> Источник

 , , , ,

bodqhrohro_promo
()

GNU Parallel 20180722 ('Crimson Hexagon') [alpha]

GNU Parallel 20180722 ('Crimson Hexagon') [alpha]
Группа GNU's Not Unix

GNU Parallel — это инструмент командной оболочки для выполнения задач параллельно на одном или нескольких компьютерах. Задача может быть одной командой или небольшим скриптом, который должен выполниться для каждой строки ввода. Примеры такого ввода — списки файлов, хостов, пользователей, ссылок или таблиц. Задачей также может быть команда, читающая из пайпа. GNU Parallel может разделять ввод и перенаправлять его выполняющимся параллельно командам.

( читать дальше... )

>>> Источник

 , , , , ,

bodqhrohro_promo
()

Вышел GNU Parallel 20140815alpha

Группа GNU's Not Unix

GNU Parallel — это инструмент оболочки для параллельного выполнения задач на одном и более компьютерах. Задача может быть одной командой или маленьким скриптом, выполняющимся для каждой строки ввода. Типичным вводом являются список файлов, список хостов, список пользователей, список URL или список таблиц. Задача также может быть командой, читающей из трубы. GNU Parallel может разделить ввод и передать его через трубы распаралеленным командам.

Новое в этом выпуске:

  • GNU Parallel теперь использует ту же оболочку, из которой он был запущен, как командную оболочку для локальных задач. Таким образом, если GNU Parallel запущен из tcsh, он будет использовать в качестве оболочки tcsh даже если $SHELL содержит иное. Для удалённых задач будет использоваться заданный при входе $SHELL.
  • В bash можно полность скопировать текущее окружение с помощью обёрточной функции для оболочки (env_parallel).
  • --plus добавляет строки замены {+/} {+.} {+..} {+...} {..} {...} {/..} {/...}. Идея заключается в соответствии '+foo' противоположности 'foo' и {} = {+/}{/} = {.}.{+.} = {+/}/{/.}.{+.} = {..}.{+..} = {+/}/{/..}.{+..} = {...}.{+...} = {+/}/{/...}.{+...}
  • GNU Parallel будет освещён в web-трансляции 20 августа 2014 г.: «Наука о данных в командной строке» http://www.oreilly.com/pub/e/3115
  • GNU Parallel приведён в: «Web-сервисы для извлечения информации из больших объёмов научных данных» http://patshih.ist.psu.edu/publications/Williams-CiteSeerExtractor-ICWS14.pdf
  • «Взгляд внутрь GNU Parallel» http://blog.dataweave.in/post/94238943763/a-peek-into-gnu-parallel
  • Сборка GNU Parallel для CentOS/RHEL http://www.stableit.ru/2014/07/gnu-parallel-centosrhel.html
  • Исправления ошибок и обновления мануалов

GNU Parallel — Для людей, проживающих жизнь в параллельных полосах.

Больше информации про GNU Parallel можно найти на: http://www.gnu.org/s/parallel/

Вы можете установить GNU Parallel всего за 10 секунд: (wget -O - pi.dk/3 || curl pi.dk/3/) | bash

Посмотрите вступительное видео: http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

Пройдите через учебник (man parallel_tutorial). Ваша командная строка полюбит вас за это.

При использовании программ, использующих GNU Parallel для обработки данных для публикации, пожалуйста, процитируйте: O. Tange (2011): GNU Parallel - The Command-Line Power Tool, ;login: The USENIX Magazine, February 2011:42-47.

Ссылка на скачивание: http://alpha.gnu.org/gnu/parallel/

>>> Источник

 , ,

MiniRoboDancer
()

Опубликовано первое издание «Is Parallel Programming Hard, And If So, What Can You Do About It?»

Группа Документация

Сегодня Пол Маккенни (Paul E. McKenney) — один из разработчиков Linux, известный в частности работой над Userspace RCU — объявил о первом издании своей книги «Is Parallel Programming Hard, And If So, What Can You Do About It?». Первая её версия была опубликована в 2011 году.

Книга доступна для скачивания в формате pdf. В скором времени планируется начать выпуск бумажной версии.

>>> Подробности

 , , ,

aidan
()

Выпуск gnu parallel 20110522 («Pakistan»)

Группа GNU's Not Unix

Ole Tange извещает о выходе нового выпуска программы gnu parallel 20115022 кодовое имя «Pakistan».

gnu parallel — shell-инструмент, позволяющий запускать задания параллельно на одном или нескольких компьютерах. Задание может быть одиночной командой или небольшим скриптом, выполняющимся для каждой строки, поступающей на стандартный ввод программы. Типичный ввод — это список файлов, хостов, ссылок или таблиц. Задание также может быть и командой, читающей из стандартного ввода. gnu parallel в этом случае может разделить ввод и перенаправить его командам параллельно.

Если вы используете xargs, то очень легко сможете воспользоваться gnu parallel, так как синтаксис опций близок к используемому программой xargs.

gnu parallel написана так, чтобы вывод её был идентичен выводу тех же команд, выполненных последовательно. Поэтому вывод gnu parallel можно использовать для перенаправления в другие программы.

Для каждой строки ввода gnu parallel выполняет команду, передавая ей строку в качестве аргумента. Если команда не задана, выполняется сама строка. gnu parallel часто может служить заменой xargs или «cat | bash».

Традиционный gnu parallel работает с одним циклом for-loop, новый же релиз «Pakistan» добавляет возможность использования вложенных циклов.

есть видео, наглядно демонстрирующее эту новую возможность: ссылка 1 или ссылка 2

вступительное видео о gnu parallel: ссылка 1 или ссылка 2 часть 1 и ссылка 2 часть 2

распространяется программа под лицензией gnu gpl v3+

в состав также входят gnu sem, gnu sql и gnu niceload

домашняя страница

первоисточник

>>> первоисточник перевода новости

 , ,

sash-kan
()