Feeds:
Posts
Comentários

O que é performance, speedup e eficiência

Todos estes termos são comuns no contexto de computação paralela. Utilizamos eles freqüentemente para descrever o quão bom são nossos algoritmos e aplicações paralelas. Neste post vou dar a definição do que cada um significa.

Performance (Desempenho) é um termo utilizado para se referir a o tempo total de execução de um programa. Quando menor for o tempo de execução, maior é o desempenho.

Speedup é uma medida para a performance (Desempenho). Para ser calculada deve ser ter o tempo de execução do programa paralelo e do programa serial (performance). O speedup pode então ser calculado usando esta equação:

Speedup = Desempenho seqüencial / Desempenho paralelo

Eficiencia está medida proporciona uma indicação da utilização efetiva dos processadores. Quando mais próximo de um for o seu valor melhor será. Se o valor for abaixo de 1, indica que cada processador esta sendo sub-utilizado e se for acima de um indica que o problema talvez possa ser decomposto de uma forma mais eficiente utilizando mais processadores.

Escalabilidade” é um atributo que se refere ao speedup de um algoritmo dado um número diferente de elementos de processamento. A eficiência é um bom atributo para se medir a escalabilidade, se a eficiencia permanecer constante a medida que o número de processadores muda, temos uma escala linear de eficiência. Ou seja quanto mais processadores usarmos, maior será a eficiência.

Adaptado de: http://blogs.msdn.com/pfxteam/archive/2010/01/19/9950541.aspx

Em outras palavras: porquê o speedup que obtive paralelizando a aplicação não foi proporcional a quantidade de elementos de processamento?

Eu vou estar regularmente traduzindo/adaptando alguns textos que acho interessante compartilhar com o pessoal, o texto que estou postando hoje é relativo a uma dúvida que muitos novatos na área de computação paralela tem, e como eu também sou novato tive que ir atrás de algumas respostas…

Porquê meu código paralelo roda mais lento que o serial?

Isso tipicamente é causado por duas coisas:

1. Custo sequencial. É frequente que parte do algoritmo que foi implementado é por natureza sequêncial, como consequência o código em execução possui partes sequenciais. Neste caso, quanto mais rápido for as partes paralelas do código, mais o efeito da parte sequêncial será percebida, está é a lei de Amdahl.

2. Sobrecargas diversas. Outros custos de performance incluem o processamento gasto em dividir/reunir os dados, agendar as tarefas, sincronização, comunicação.

O primeiro caso pode ser tratado utilizando um algoritmo que tenha uma natureza mais paralela. O segundo caso pode ser em parte atenuado reduzindo a comunicação entre tarefas, atacando o problema de uma forma diferente, etc.

Este post é uma adaptação de um texto deste site: http://blogs.msdn.com/pfxteam/archive/2010/01/05/9944172.aspx

A new approach to China

Like many other well-known organizations, we face cyber attacks of varying degrees on a regular basis. In mid-December, we detected a highly sophisticated and targeted attack on our corporate infrastructure originating from China that resulted in the theft of intellectual property from Google. However, it soon became clear that what at first appeared to be solely a security incident–albeit a significant one–was something quite different.

First, this attack was not just on Google. As part of our investigation we have discovered that at least twenty other large companies from a wide range of businesses–including the Internet, finance, technology, media and chemical sectors–have been similarly targeted. We are currently in the process of notifying those companies, and we are also working with the relevant U.S. authorities.

Second, we have evidence to suggest that a primary goal of the attackers was accessing the Gmail accounts of Chinese human rights activists. Based on our investigation to date we believe their attack did not achieve that objective. Only two Gmail accounts appear to have been accessed, and that activity was limited to account information (such as the date the account was created) and subject line, rather than the content of emails themselves.

Third, as part of this investigation but independent of the attack on Google, we have discovered that the accounts of dozens of U.S.-, China- and Europe-based Gmail users who are advocates of human rights in China appear to have been routinely accessed by third parties. These accounts have not been accessed through any security breach at Google, but most likely via phishing scams or malware placed on the users’ computers.

We have already used information gained from this attack to make infrastructure and architectural improvements that enhance security for Google and for our users. In terms of individual users, we would advise people to deploy reputable anti-virus and anti-spyware programs on their computers, to install patches for their operating systems and to update their web browsers. Always be cautious when clicking on links appearing in instant messages and emails, or when asked to share personal information like passwords online. You can read more here about our cyber-security recommendations. People wanting to learn more about these kinds of attacks can read this U.S. government report (PDF), Nart Villeneuve’s blog and this presentation on the GhostNet spying incident.

We have taken the unusual step of sharing information about these attacks with a broad audience not just because of the security and human rights implications of what we have unearthed, but also because this information goes to the heart of a much bigger global debate about freedom of speech. In the last two decades, China’s economic reform programs and its citizens’ entrepreneurial flair have lifted hundreds of millions of Chinese people out of poverty. Indeed, this great nation is at the heart of much economic progress and development in the world today.

We launched Google.cn in January 2006 in the belief that the benefits of increased access to information for people in China and a more open Internet outweighed our discomfort in agreeing to censor some results. At the time we made clear that “we will carefully monitor conditions in China, including new laws and other restrictions on our services. If we determine that we are unable to achieve the objectives outlined we will not hesitate to reconsider our approach to China.”

These attacks and the surveillance they have uncovered–combined with the attempts over the past year to further limit free speech on the web–have led us to conclude that we should review the feasibility of our business operations in China. We have decided we are no longer willing to continue censoring our results on Google.cn, and so over the next few weeks we will be discussing with the Chinese government the basis on which we could operate an unfiltered search engine within the law, if at all. We recognize that this may well mean having to shut down Google.cn, and potentially our offices in China.

The decision to review our business operations in China has been incredibly hard, and we know that it will have potentially far-reaching consequences. We want to make clear that this move was driven by our executives in the United States, without the knowledge or involvement of our employees in China who have worked incredibly hard to make Google.cn the success it is today. We are committed to working responsibly to resolve the very difficult issues raised.

From googleblog.blogspot.com

Learning Haskell

Esse último semestre foi realmente stressante… as disciplinas da graduação não estão trazendo nada de novo (ou quase nada rssr) o que salva é a iniciação cientifica e a maratona de programcão… Chegou a um ponto que eu queria aprender uma coisa realmente nova, algo que eu não sabia nada sobre… tinha que ser uma coisa fácil de aprender - eu iria estudar ”escondido” nas ”horas vagas” no meu trabalho…. lembrei que um amigo meu tinha comentado sobre uma linguagem chamada Haskell e que recentemente eu tinha lido um texto que falava que era inaceitável alguém sair de um curso de graduação em ciência da computação sem ter aprendido uma linguagem funcional… adivinha? fui aprender Haskell(!!!) e tá sendo uma maravilha!!! todo dia que leio algum material aprendo alguma coisa nova…. para aqueles que querem começar a estudar esta linguagem sugiro que comecem pelo mesmo material que eu comecei pois o texto está muito bem escrito:

Link para o livro: http://darcs.haskell.org/yaht/yaht.pdf

O que é Haskell?

“Haskell is an advanced purely functional programming language. An open source product of more than twenty years of cutting edge research, it allows rapid development of robust, concise, correct software. With strong support for integration with other languages, built-in concurrency and parallelism, debuggers, profilers, rich libraries and an active community, Haskell makes it easier to produce flexible, maintainable high-quality software.” from haskell.org

[]’s César.

Conhecimento perigoso (Dangerous Knowledge)

Segue abaixo um link para uma série de vídeos produzidos pela BBC relatando diversos acontecimentos na história da matemática e computação, é feita uma breve biográfia da vida de alguns matemáticos e da contribuição que cada um realizou, alguns destes matemáticos são: Georg Cantor e Allan Turing. É fantástico vale a pena assitir todos os episódios.

http://www.youtube.com/view_play_list?p=0EB96250BF08B6AD

[]’s César.

Admirável mundo novo

Esse é o primeiro post de uma série de posts sobre resenha de livros, são livros que eu já li ou estou lendo e gostária de compartilhar com a galera. 2009 foi o ano que eu escolhi para ler aqueles livros clássicos que eu ainda não tinha lido – felizmente consegui cumprir grande parte da tarefa, em geral são livros bem conhecidos porém eu não os tinha lido.
Lá vai a primeira:

A distopia é um gênero crítico por excelência. Elas simplesmente não são escritas sem ter como referência problemas e características do nosso próprio mundo atual. É assim com “A Laranja Mecânica”, é assim com “1984”, é assim com “V de Vingança”, “Fahrenheit 451”, “Matrix”, e outros. E é assim, também, com um dos grandes clássicos do gênero, “Admirável Mundo Novo”, de Aldous Huxley, prolífico escritor inglês, neto do biólogo Thomas Huxley, o maior defensor das idéias de Darwin. Autor de obras como “Contraponto” e “Os Demônios de Loudun”, ficou célebre com este livro assustador e maravilhoso sobre as escolhas da humanidade e suas conseqüências.

O ano é 2540 d.C., mas para os personagens do livro é 632 d.F., ou seja, depois de Ford. Para eles, Henry Ford, criador das linhas de produção, foi o messias, e eles o invocam por meio do sinal de “T”, no peito, em referência ao célebre modelo do inventor. Nessa sociedade, todos vivem sob o imperativo da felicidade. São divididos em castas: os Alfas, Betas, Gamas, Deltas e Ípsilons. As duas primeiras são compostas de indivíduos únicos, mas as restantes passam por um processo que divide seus embriões e produz cerca de oitenta pessoas iguais. Tudo isso para que, trabalhando juntos, haja um sentido de identidade entre eles.

Mas não é só. Não há pais, mães ou relacionamentos duradouros. Os embriões são “montados” em linhas de produção, de acordo com sua casta. Desde o nascimento, são condicionados, seja por hipnopedia (repetição de frases durante o sono) ou outros métodos, a aceitarem a Morte e tratarem o Sexo como algo absolutamente trivial, para ser praticado sempre e com todos. Esse condicionamento os leva também a se sentirem totalmente satisfeitos com sua condição, seja a de pesquisador ou ascensorista. E se, porventura, algo de ruim acontecer, sempre é possível (e aconselhável), recorrer ao soma, droga alucinógena que traz de volta a felicidade.

No início, vemos Bernard Marx, personagem que passou por um trauma quando ainda era um embrião e se sente incomodado em sua posição. Mas consegue que Lenina Crowne, uma donzela assaz pneumática, vá com ele até a Reserva dos Selvagens, onde tribos de índios americanos ainda vivem como nos tempos antigos. Lá, encontram uma mulher Beta, que se perdeu na Reserva há muito tempo, e seu filho crescido. Interessado na fama que isso lhe trará, Bernard o leva para a “civilização”, coisa com que o jovem sempre sonhou, e veremos então o que acontece.

O livro é perturbador por fazer uma reflexão sobre o preço das coisas, e o que nos torna humanos. Para que não nos entristeçamos ou tenhamos que pensar coisas ruins, não há Arte. De modo análogo, a Ciência é suprimida. A única verdade que interessa é a dos Administradores Mundiais. Quem me conhece sabe que eu considero essas duas coisas a grande razão da vida humana. Ver uma sociedade sem essas coisas é como ver uma colônia de robôs. E de fato, são o que os seres desse futuro são: máquinas que reagem a estímulos.

Mas todos são felizes, não? De fato, a felicidade é algo fornecido pelo Estado e irrevogável. Mas em troca de quê? Isso me faz pensar em Cuba, a cujo governo oficial Fidel Castro recentemente renunciou. Uma medicina entre as melhores do mundo. Educação invejável. Garantia de emprego pelo resto da vida. Mas, por outro lado, não há liberdade de pensamento, de expressão. Não há arte no comunismo. Só o que importa é o que acontece, é a jornada do proletariado. Pode parecer algo demasiado subjetivo, vaporoso, comparado a ter saúde e educação, coisas concretas, essenciais. Mas, se sentimos aquele estranho revolver no estômago ao olharmos para esse “Mundo Novo” do livro, é porque de fato aquilo importa.

Shakespeare, a partir do momento em que o Selvagem entra em cena, pontua o livro. Ele é uma das expressões máximas da cultura ocidental. O nosso mundo é shakesperiano. Ele de certa forma criou o ser humano atual. Vê-lo em contraste com os robôs de plástico, todo uns iguais aos outros, é muito significativo. Como disse antes, a distopia é sempre uma alegoria de nossos tempos, um alerta. Olhar para o presente e ver coisas, se não tão assustadoras, assustadoras o suficiente, é motivo de um leve arrepio, de um certo mal-estar. Tenho medo do dia em que deixarmos de ser humanos em troca de casa, comida, e roupa lavada.

Fonte da resenha: http://amortescimento.blogspot.com/2008/02/resenha-admirvel-mundo-novo.html

Sungha Jung

Esse post não é nada relacionado com computação, mas não poderia deixar de “postá-lo”.

Já a algum tempo estou interessado em aprender a tocar violão, e a alguns dias um amigo meu me mostrou alguns vídeos de um garoto sul-coreano, chamado Sungha Jung — 11 anos. Esse muleque é fantástico, vale a pena dar uma olhada, estas são as minhas preferidas:

 

US Government Using PS3s To Break Encryption

It seems that the US Immigration and Customs Enforcement Cyber Crimes Center, known as C3, has replaced its ‘$8,000 Tableau/Dell server combination’ with more efficient and much cheaper $300 PS3s. Each PS3 is capable of 4 million passwords per second, and C3 currently has 20 PS3s with plans to buy 40 more. Naturally this is only being used to break encryption on computers seized with a warrant and suspected of harboring child pornography.”

Source: Slashdot

Go: A New Programming Language from Google

Google has launched Go, a new systems programming language born with concurrency, simplicity, and performance in mind.

What about multicore programming with Go? It promotes lightweight concurrency allowing developers to create sets of lightweight communicating processes. Go calls them goroutines. This way, you can run many concurrent goroutines and you don’t need to worry about stack overflows. Go promotes sharing memory by communicating. Goroutines aren’t threads, they are functions running in parallel with other goroutines in the same address space. It is very easy to launch parallel functions using the goroutines. This is one of the most interesting features offered by the language. It really simplifies concurrency for systems programming.

If you want to test this new programming language, your starting point is Go’s main page.

 

Cheers, John.

A trigésima quarta lista dos TOP 500 supercomputadores foi lançada hoje em Porland e trás novidades no ranking.

Após duas tentativas fracassadas a Cray Inc. finalmente conseguiu tirar o primeiro lugar das mãos da IBM, agora o TOP 1 na lista dos mais potentes supercomputadores é o Jaguar.

Referências:

http://www.multicoreinfo.com/2009/11/jaguar-top500/

http://www.top500.org/

Postagens Antigas »