Entries Tagged 'OpenSource' ↓
December 20th, 2012 — ANSI C, OpenSource, Programação, Tips, Tutorials
Apenas uma dica rápida, outro dia me peguei programando em pThreads e, como qualquer coisa um pouco mais complexa, cai no famoso “race-condition”, quando uma thread tenta utilizar dados ao mesmo tempo em que outra thread tenta (por exemplo) criar os dados.
Existem várias formas de se resolver isso, porém acredito que a mais simples é a utilização de mutex (atenção, isso é exclusivo do SO, no nosso caso sistemas baseados em UNIX como Linux ou FreeBSD). A idéia do mutex é:
- Cria uma variável do tipo pthread_mutex_t
- Inicializa
- Dentro da thread, efetue um lock na área crítica da memória
- Trabalhe na memória
- Efetue um unlock da área crítica.
Vamos ao exemplo mais simples possível: Continue reading →
October 19th, 2012 — ANSI C, C++, CUDA, OpenSource, Programação, Stuffs
Como muitos sabem, uma das minhas maiores paixões justamente a programação paralela. Faz um certo tempo (desde o mestrado), que não programo para paralelismo, nem em algoritmos genéticos, nem autômatos celulares, etc. Obviamente isso muito me fazia falta e, resolvi fazer um upgrade na máquina, trocando a velha boa de guerra GeForce 8500 GT, por uma GTX 580 (pequeno upgrade
).
Para relembrar como se programa em CUDA, resolvi utilizar a versão 5.0, recém lançada, e entender como funciona a biblioteca CURAND para a geração de números aleatórios em GPU (extremamente importante ao utilizarmos AG). Os resultados que obtive foram, extremamente satisfatórios, veja dois exemplos de execução:
- Geração de 787.021.824 números aleatórios utilizando uma distribuição binomial
*********INFO********
*min:0
*max:100
*qtd:787021824
*output:binomial.csv
*distribution: BINOMIAL
*Verify? NO
********************
[*] Initializing host memory…OK (0.00000 ms)
[*] Initializing GPU memory…OK (1.76182 ms)
[*] Creating random numbers…OK (3018.16577 ms)
[*] Accumulatting…OK (1090.85291 ms)
[*] Writing accumulatted values to ‘binomial.csv’…OK
[*] Cleaning up memory…OK
Geração de 787.021.824 números aleatórios utilizando uma distribuição uniforme:
[*] Initializing host memory…OK (0.00000 ms)
[*] Initializing GPU memory…OK (1.76829 ms)
[*] Creating random numbers…OK (36.34749 ms)
[*] Accumulatting…OK (707.11194 ms)
[*] Writing accumulatted values to ‘/home/zarnick/tmp/uniform.csv’…OK
[*] Cleaning up memory…OK
Essa velocidade, convence?
Continue reading →
July 8th, 2011 — OpenSource, Stuffs, Tips
Pelo motivo que seja, volta e meia é necessário “esquecer” os pacotes da RedHat e utilizar os pacotes comunitários (CentOS). Recentemente me deparei com esse caso, a busca não foi das mais simples (o processo é fácil, mas a busca pelo processo correto não), encontrei no blog do LinuxDaemon um passo a passo que, com alguns arrumes ficou perfeito.
A idéia é simples, retire tudo que diga que é um RHEL e troque por tudo que diz que é um CentOS, bom, nem tudo precisa (ou deve) ser retirado
Continue reading →
July 5th, 2011 — OpenSource, Stuffs, Tips
Voltando a vida e voltando à antiga escola, mandei o Ubuntu praquele lugar (não que eu não tenha gostado, mas apenas não atendia mais minhas necessidades), e voltei ao bom e velho Slackware. Para quem não conhece o Slackware é a distribuição mais antiga de Linux, que ainda é mantida. Isso significa fazer as coisas na unha, na raça certo? Bem, mais ou menos. Continue reading →
November 17th, 2010 — OpenSource, Stuffs, Tips
Para quem é antigo de UNIX/Linux, sabe quão importante é saber exatamente como está se comportando o seu sistema, em windows existe o famigerado Task Manager, mas em Linux, bem, em Linux temos um maravilhoso conjunto de ferramentas chamado sysstat.
Obviamente é para linha de comando e pode mostrar dese I/O de disco (partição a partição), até utilização de RAM e CPU e muito mais. Como é uma suite, existem vários comandos, aqui vai um exemplo bem simples de um deles, o chamado vmstat: Continue reading →
August 18th, 2010 — News, OpenSource, Segurança, Stuffs
Estranho não? A última atualização do X foi feita para corrigir um exploit que na realidade é do Kernel. O Slashdot possui um resumo da notícia que na realidade o problema realmente esta na forma como o Linux trabalha com memória, esse bug provavelmente está em toda a linha do kernel 2.6, o que o torna muito perigoso.
Basicamente o bug funciona mais ou menos da seguinte maneira: um processo ocupa memória (qualquer memória, o POC trabalha com o X, enchendo a memória de pixmap) ,quando estiver perto de encher a memória é possível retornar praticamente qualquer endereço, ou seja, executar comandos arbitrários como root (como por exemplo abrir um terminal de root
).
Preciso falar na periculosidade que é isso? Um PDF pode fazer isso e você não vai nem sentir que ele fez…
Novamente, o bug NÃO é para o X, e sim do kernel, a RedHat já publicou um update do kernel que arruma esse bug, porém me faz pensar que estão tentando corrigir isso desde o dia 13 de Agosto e ainda sai patch sobre patch para corrigir isso, ou seja, estão tapando buracos até encontrar a solução final.
Mesmo assim…ATUALIZEM!
August 13th, 2010 — News, OpenSource
Não oficialmente, aparentemente a Oracle vai abandonar mesmo o OpenSolaris e vai reativar o Solaris Express. Triste.
Você pode ver a nota que vazou aqui, e a notícia que vi no Slashdot.
Apenas para deixar claro, o que é “triste” é o caminho que a Oracle está seguindo com relação ao OpenSource, depois de desligar os servidores para a validação da instalação do PostgreSQL em Solaris, sem aviso prévio, aceitar ficar sem o lead developer do Solaris, não dar informações sobre o que irá acontecer com o OpenSolaris, e adquirir várias empresas que tinham um grande trabalho OpenSource e limitar esse trabalho a poucas coisas, ao mesmo tempo que diz que apoia e ajuda os projetos OpenSource, me faz pensar um pouco mais sobre o que é a Oracle.
August 9th, 2010 — News, OpenSource, Stuffs, Tips
É, realmente a Oracle está dando o que falar, ela lançou a nova versão do sistema de virtualização que era da Sun o VirtualBox, agora em sua versão 2.8, com vários upgrades para melhorar a performance, compartilhar discos em várias máquinas virtuais, melhor suporte para 3D, USB, etc. Ainda mantendo o mesmo em OpenSource, realmente não está fácil entender qual é a da Oracle.
Leia mais aqui (The H).
August 6th, 2010 — OpenSource, Stuffs, Tips
Gosta de customizar seu Desktop?Mostrar a todos que o Linux também tem o Dock parecido com o do Mac OS? Que ele faz muito mais? Ou apenas quer um bom sistema para inicializar programas e utilizar seu teclado da melhor forma possível?
Pois bem, para quem não conhece, o Gnome-DO é tudo isso e muito mais, o LinuxInsider tem um artigo muito bom sobre o mesmo, vale a pena dar uma lida para quem não conhece, e para quem conhece, bom, continue usando
.
Veja o artigo aqui.
Dica, no KDE e em outros WM além do Gnome também funciona
July 30th, 2010 — News, OpenSource
Em mais uma “incrível” atitude da Oracle ela “apenas” desligou, sem mais nem menos, os 3 servidores Solaris utilizados para garantir a compilação do PostgreSQL (que ela ainda não comprou), deixando a comunidade PostgreSQL as escuras com o Solaris.
Ok, é apenas no Solaris que causa o impacto, porém o problema é a atitude em sí, entendo que a Oracle não deve gostar do PostgreSQL, porém ao menos deveria avisar antes não? Enfim, a matéria completa está no iTNews.