[R-br] R utilizando apenas 1 processador para rodar

Paulo Nogueira paulons em gmail.com
Quarta Julho 6 18:01:37 BRT 2011


Bem, dado que eu uso Ubuntu e não sou expert, sou apenas usuário e ainda por
cima estou com o RStudio, as coisas podem estar meio enroladas mesmo...

abraços
Paulo


2011/7/6 Gustavo Carvalho <gustavo.bio em gmail.com>

> Engraçado que aqui em casa os tempos estão dentro do esperado:
>
> > system.time(mclapply(1:32, function(x) sum(rnorm(1e7)), mc.cores=1))
>    user  system elapsed
>  24.698   0.080  24.864
> > system.time(mclapply(1:32, function(x) sum(rnorm(1e7)), mc.cores=2))
>    user  system elapsed
>  0.004   0.033  12.847
> > system.time(mclapply(1:32, function(x) sum(rnorm(1e7)), mc.cores=3))
>    user  system elapsed
>  41.941   0.783   9.085
> > system.time(mclapply(1:32, function(x) sum(rnorm(1e7)), mc.cores=4))
>   user  system elapsed
>  27.741   0.680   6.650
>
> 2011/7/6 Paulo Nogueira <paulons em gmail.com>:
> > Benilton,
> > já estou conseguindo utilizar paralelização.
> > Fiz um dos testes que está no help da função mclappy e percebí que a
> partir
> > de 2 núcleos não faz mais tanta diferença, nesse caso.
> >
> > system.time(mclapply(1:32, function(x) sum(rnorm(1e7)), mc.cores=1))
> > system.time(mclapply(1:32, function(x) sum(rnorm(1e7)), mc.cores=2))
> > system.time(mclapply(1:32, function(x) sum(rnorm(1e7)), mc.cores=3))
> >
> > system.time(mclapply(1:32, function(x) sum(rnorm(1e7)), mc.cores=4))
> >    user  system elapsed
> >  51.459   1.260  52.857
> > select: Chamada de sistema interrompida
> >
> >    user  system elapsed
> >  26.234   0.720  27.590
> > select: Chamada de sistema interrompida
> > select: Chamada de sistema interrompida
> >
> >    user  system elapsed
> >  42.355   1.120  25.719
> > select: Chamada de sistema interrompida
> > select: Chamada de sistema interrompida
> >
> > select: Chamada de sistema interrompida
> >    user  system elapsed
> >  59.735   1.460  22.140
> >
> > O que significa esse aviso?
> >
> > select: Chamada de sistema interrompida
> >
> > Outra coisa é que não consegui utilizar mclapply com uma função de mais
> de
> > um argumento, tipo f(x,y), apenas com funções f(x).
> > Isso é devido a ela ser uma versão da lapply e portanto o que eu quero é
> > impossível? Nesse caso, existiria uma versão da mapply para processamento
> > paralelo?
> >
> > abraços
> > Paulo Nogueira Starzynski
> >
> >
> >
> > 2011/7/6 Benilton Carvalho <beniltoncarvalho em gmail.com>
> >>
> >> e se vc estiver usando o multicore sozinho
> >>
> >> options(cores=2)
> >>
> >> ou
> >>
> >> mclapply(.... , mc.cores=2)
> >>
> >> se vc estiver usando o pacote snow, vc passa as configuracoes
> >> apropriadas para o makeCluster().
> >>
> >> b
> >>
> >> 2011/7/6 Gustavo Carvalho <gustavo.bio em gmail.com>:
> >> > Sim. Usando os pacotes foreach, doMC e multicore você pode escolher
> >> > quantos núcleos quer usar na hora de registrar:
> >> >
> >> > registerDoMC(cores = 2)
> >> >
> >> > 2011/7/6 jonas bodini alonso <jonasbal em ig.com.br>:
> >> >>    Queria aproveitar o assunto pra postar mais uma dúvida:
> >> >>    Por acaso essas funções citadas anteriormente permitem escolher o
> >> >> número
> >> >> de núcleos a serem usados?
> >> >>    Por exemplo, eu quero usar somente 2 em vez dos 4 existentes.
> >> >>    Jonas
> >> >>
> >> >> Em 6 de julho de 2011 13:02, Fernando Henrique Toledo
> >> >> <fernandohtoledo em gmail.com> escreveu:
> >> >>>
> >> >>> Queria deixar minha impressão:
> >> >>>
> >> >>> Também achava que paralelização "deveira" ser um pensamento
> >> >>> imediato...
> >> >>> Mas lendo e consultando outros colegas percebi que essa abordagem
> vai
> >> >>> mostrar sua real vantagem em problemas muito complexos e que antes
> >> >>> disso tem
> >> >>> muitas outras coisas mais imediatas a se fazer para melhorar o
> >> >>> desempenho de
> >> >>> alguma tarefa! Sem falar que para paralelizar é preciso um
> >> >>> conhecimento
> >> >>> muito mais profundo do processo da tarefa!
> >> >>>
> >> >>> abraços,
> >> >>> FH
> >> >>>
> >> >>> 2011/7/6 Gustavo Carvalho <gustavo.bio em gmail.com>
> >> >>>>
> >> >>>> https://listas.inf.ufpr.br/pipermail/r-br/2011-June/001618.html
> >> >>>>
> >> >>>> 2011/7/6 Gustavo Carvalho <gustavo.bio em gmail.com>:
> >> >>>> > Assim como paralelizar nem sempre é vantajoso uma vez que a
> >> >>>> > comunicação entre os processos pode ser demorada, nem sempre usar
> >> >>>> > for
> >> >>>> > e while é lento. Essas funções da família *apply tem loops em
> suas
> >> >>>> > definições. Tem um post do Benilton em que ele mostra as
> situações
> >> >>>> > mais comuns e compara o tempo de execução delas. Dê uma
> procurada.
> >> >>>> >
> >> >>>> > 2011/7/6 Paulo Nogueira <paulons em gmail.com>:
> >> >>>> >> Obrigado pelas respostas de todos. Essa lista é de um nível
> >> >>>> >> incrível!
> >> >>>> >>
> >> >>>> >> Junior Beleti,
> >> >>>> >> não é que eu realmente precise de alto desempenho, mas como
> tenho
> >> >>>> >> disponíveis 4 processadores pensei: "porque não usar todos
> eles?"
> >> >>>> >>
> >> >>>> >> Parte da resposta para a minha pergunta eu obtive indo atrás do
> >> >>>> >> material
> >> >>>> >> recomendado pelo pessoal nas mensagens anteriores: não é muito
> >> >>>> >> simples
> >> >>>> >> esse
> >> >>>> >> negócio de paralelização no R. Ao menos eu não achei simples.
> >> >>>> >> Pensava
> >> >>>> >> que
> >> >>>> >> fosse algo mais automático, como abilitar um opção e pronto.
> >> >>>> >>
> >> >>>> >> Por outro lado, me deparei com material sobre vetorização e
> alguns
> >> >>>> >> testes de
> >> >>>> >> performance mostrando o quanto é vantajoso substituir loopings
> por
> >> >>>> >> outras
> >> >>>> >> coisas no R. Como eu aprendi a programar em C tenho essa mania
> de
> >> >>>> >> usar
> >> >>>> >> for e
> >> >>>> >> while para resolver tudo e no R isso não é a melhor solução.
> >> >>>> >> Estou indo nesse caminho também.
> >> >>>> >>
> >> >>>> >> abraços
> >> >>>> >> Paulo Nogueira Starzynski
> >> >>>> >>
> >> >>>> >> 2011/7/6 Junior Beleti <beleti.junior em gmail.com>
> >> >>>> >>>
> >> >>>> >>> Olá Paulo Nogueira,
> >> >>>> >>>
> >> >>>> >>> como já foi mencionado, o pacote multicore possui funções de
> >> >>>> >>> "alto
> >> >>>> >>> nivel" para utilizar o paralelismo.
> >> >>>> >>>
> >> >>>> >>> A sua aplicação necessita de alto desempenho?
> >> >>>> >>>
> >> >>>> >>> É que estou trabalhando com processamento paralelo e talvez
> possa
> >> >>>> >>> ajudar.
> >> >>>> >>>
> >> >>>> >>> Abraço
> >> >>>> >>>
> >> >>>> >>> --
> >> >>>> >>> Carlos Roberto Beleti Junior
> >> >>>> >>> Mestrado em Ciência da Computação
> >> >>>> >>> Departamento de Informática
> >> >>>> >>> Universidade Estadual de Maringá
> >> >>>> >>> _______________________________________________
> >> >>>> >>> R-br mailing list
> >> >>>> >>> R-br em listas.c3sl.ufpr.br
> >> >>>> >>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> >> >>>> >>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e
> >> >>>> >>> forneça
> >> >>>> >>> código mínimo reproduzível.
> >> >>>> >>
> >> >>>> >>
> >> >>>> >> _______________________________________________
> >> >>>> >> R-br mailing list
> >> >>>> >> R-br em listas.c3sl.ufpr.br
> >> >>>> >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> >> >>>> >> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e
> >> >>>> >> forneça
> >> >>>> >> código
> >> >>>> >> mínimo reproduzível.
> >> >>>> >>
> >> >>>> >
> >> >>>> _______________________________________________
> >> >>>> R-br mailing list
> >> >>>> R-br em listas.c3sl.ufpr.br
> >> >>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> >> >>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e
> forneça
> >> >>>> código mínimo reproduzível.
> >> >>>
> >> >>>
> >> >>> _______________________________________________
> >> >>> R-br mailing list
> >> >>> R-br em listas.c3sl.ufpr.br
> >> >>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> >> >>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e
> forneça
> >> >>> código mínimo reproduzível.
> >> >>
> >> >>
> >> >> _______________________________________________
> >> >> R-br mailing list
> >> >> R-br em listas.c3sl.ufpr.br
> >> >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> >> >> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> >> >> código
> >> >> mínimo reproduzível.
> >> >>
> >> > _______________________________________________
> >> > R-br mailing list
> >> > R-br em listas.c3sl.ufpr.br
> >> > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> >> > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> >> > código mínimo reproduzível.
> >> >
> >>
> >>
> >>
> >> --
> >> Successful people ask better questions, and as a result, they get
> >> better answers. (Tony Robbins)
> >> _______________________________________________
> >> R-br mailing list
> >> R-br em listas.c3sl.ufpr.br
> >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> >> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> >> código mínimo reproduzível.
> >
> >
> > _______________________________________________
> > R-br mailing list
> > R-br em listas.c3sl.ufpr.br
> > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código
> > mínimo reproduzível.
> >
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20110706/c1c99dec/attachment.html>


Mais detalhes sobre a lista de discussão R-br