prll.

Execute facilmente coisas em paralelo
Baixe Agora

prll. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • GPL v3
  • Preço:
  • FREE
  • Nome do editor:
  • Jure Varlec
  • Site do editor:

prll. Tag


prll. Descrição

Execute facilmente coisas em paralelo Enquanto cada concha completa fornece controle de empregos, é apenas para manipulação manual, interativa de vários trabalhos, e não muito mais. PRLL (pronunciado "paralelo") foi criado para simplificar uma tarefa comum de executar um grande número de empregos, alguns de cada vez. Consulte os recursos abaixo Resumo para uma visão rápida. Se você tiver um monte de arquivos para processar, um loop é o que você precisa. No entanto, se você tiver uma máquina multicore / multipprocessador, é muito mais eficiente executar quantos processos em paralelo como existem CPUs disponíveis. Embora uma pequena extensão para o loop possa ser adequada, não é a solução mais eficiente. Este artigo descreve como fazer a execução paralela usando um loop ou usando a noção de um trabalho da Shell e as deficiências dos dois métodos. Também descreve o predecessor de prll, que foi chamado de MAPP e em que PRLL é baseado. No final, eles fazem a mesma coisa, mas usam diferentes meios de comunicação interprocess.prll é implementado como uma função de casca, com programas auxiliares escritos em C. Embora existam outras maneiras de enfrentar o problema, como usar o utilitário Xargs, e Enquanto muitos são "SANER" em algum sentido, ter uma função de shell tem uma vantagem distinta: você não precisa escrever quaisquer scripts ou programas. Implemente sua tarefa como uma função shell e PRLL executará usando o contexto do seu shell atual. Isso torna os comandos únicos possíveis sem precisar colocá-los em arquivos de script, o que seria muito incômodo. Como exemplo, para virar todas as fotos no diretório atual, basta funcionar MYFN () {Mogrify -flipe $ 1; } prll myfn * .jpgwith versão 0.3 ou posterior, você pode até mesmo fazer apenas prll -s 'mogrificar -s $ 1' * .jpgfor comparação, aqui é a mesma coisa com um loop não paralelo: para i em * .jpg; MOGRIFIFIFIR -FLIP $ i DONEIN Versão 0.4, PRLL também ganhou a capacidade de Xargs como ler a entrada padrão, com novas novas e separadores nulos, o que permite o processamento de dados mais difíceis de citar. A diferença de Xargs é que a prll é alimentada com uma função de shell, facilitando o uso interativo. A Xargs leva um comando simples e os comandos complexos devem ser envolvidos em um script ou em 'bash -c' ou tal. Além disso, a execução paralela em Xargs deve ser especificada separadamente, enquanto o PRLL lê o número de CPUs automaticamente. Para não mencionar que a Xargs é propensa a perda de dados ao fazer a execução paralela (um exemplo aqui), enquanto o PRLL 0,5 ou mais apresenta o buffer de saída completo e o bloqueio que impede isso. Por favor, note que isso não é um discurso contra xargs. A Xargs não é uma ferramenta para execução paralela, é uma ferramenta para construir listas de argumentos para outros programas e coopera com prll.A função de shell que você escreve pode ser qualquer coisa. No arquivo ReadMe fornecido no download, há um exemplo de uma função que leva mais de um argumento. Além disso, se você usar ssh, preferivelmente com autenticação baseada em teclas e ssh-agent, você poderá usar prll para lidar com a execução em várias máquinas - um cluster ad-hoc.Requirements * Bash ou ZSH * C compilador, como GCC * GNU Make * OS Suporte para filas de mensagens do sistema V e semáforos * Arquivos de dispositivo / dev / uandom ou / dev / random * O utilitário de gato * Os testes opcionais requerem utilitários TR, Grep, classificar, dividir, diff e os requisitos não legais devem ser satisfeitos pelo seu sistema Por padrão, a exceção de talvez o compilador e sua caixa de ferramentas, que não são instaladas por padrão em sistemas como o Ubuntu Linux. Consulte a documentação do seu sistema sobre como instalar programas ausentes.Optionally (no Linux), o arquivo / proc / cpuinfo pode ser usado para determinar automaticamente o número de processadores, mas não é obrigatório.Prll passa testes básicos nos seguintes sistemas operacionais. : GNU / Linux, FreeBSD, OpenBSD, MacOS X, Versões Solaris 8-10.


prll. Software Relacionado