Linux estaria pronto para processadores de até 48 núcleos
Enviado por Avelino de Almeida Bego (avelino·begoΘgmail·com):
(…) Muitos especialistas defenderam que, para aproveitar a geração multicore seria necessário reinventar a computação, incluindo reescrever as linguagens de programação e os sistemas operacionais para permitir tirar proveito dos múltiplos núcleos em um único processador.
Mas um grupo de pesquisadores do MIT, nos Estados Unidos, acaba de demonstrar que pode não ser necessária tal revolução, pelo menos a curto prazo. Especificamente no caso do sistema operacional Linux, os pesquisadores demonstraram que a arquitetura de software atual poderá sobreviver muito bem a um aumento crescente de núcleos dentro de um mesmo processador – pelo menos até 48 núcleos por processador.
Para ter uma noção de como o Linux poderá rodar nos chips do futuro, os pesquisadores do MIT desenvolveram um sistema no qual oito processadores de seis núcleos simulam o funcionamento e o desempenho de um processador de 48 núcleos.
Usando esta plataforma, eles testaram uma bateria de aplicativos e testes de benchmarking que demandam fortemente o sistema operacional.
Em seguida, eles foram ativando os 48 núcleos, um por um, e observaram as consequências sobre o funcionamento do sistema operacional e sobre o seu desempenho. Num determinado ponto, a adição de mais núcleos começou a tornar o sistema operacional mais lento.
Mas, segundo os pesquisadores, o problema teve uma explicação surpreendentemente simples e pôde ser resolvido igualmente sem complicações.
Em um sistema multicore, os múltiplos núcleos muitas vezes executam cálculos que envolvem os mesmos dados. Enquanto os dados são necessários para algum núcleo, eles não podem ser apagados da memória. Assim, quando um núcleo começa a trabalhar com os dados, ele incrementa um contador central; quando ele termina a sua tarefa, ele decrementa o contador.
O contador, portanto, mantém uma contagem do número total de núcleos usando os dados. Quando a contagem chega a zero, o sistema operacional fica sabendo que pode apagar os dados, liberando memória para outros processos.
Conforme aumenta o número de núcleos, contudo, tarefas que dependem dos mesmos dados são divididas em pedaços cada vez menores. Os pesquisadores do MIT descobriram que, a partir daí, os núcleos começam a gastar tempo demais incrementando e decrementando o contador e acabam tendo menos tempo para realizar seu trabalho.
Depois de fazer uma alteração simples no código do Linux, para que cada núcleo mantivesse um contador local, que apenas ocasionalmente era sincronizado com o contador dos outros núcleos, o desempenho geral do sistema melhorou muito, e o acréscimo de núcleos voltou a melhorar o rendimento total do sistema.(…)” [referência: inovacaotecnologica.com.br]
É surpreendente o poder do Linux, funciona desde dispositivos com pouquíssimos recursos até supercomputadores.
Interessante, este não seria um gargalo também para multiprocessadores, em mainframes isto deve se mostrar
multiprocessadores != multicore
Hmmm agora posso comprar meu novo notebook sem medo
kkk,brincadeira não é, não tem suporte nem para os ultimos de junho da Ati, Intel imagine isso!!
O kernel tem ser atualizados com mais frenquencia o Linux hoje, ou melhor, INFELIZmente se comportar melhor em computador velho de 1 ano!! kkk
http://www.h-online.com/open/features/What-s-new-in-Linux-2-6-35-1047707.html
OpenSUSE KDE4.5 – Brasilia!!
hauahau, legal. Mas me lembrei esta tirinha;
http://xkcd.com/619/
Sorte que hoje não tenho e nem preciso de Flash :-)
Apenas o contador dizendo que dá pra apagar os dados não é suficiente.
Chega uma hora que o overhead de ficar gerenciando vários núcleos/processadores não compensa mesmo. É um dos princípios básicos da computação distribuída.
A notícia é interessante e reflete o fato de o Linux ser um SO de alta qualidade e versatilidade. Além disso, vale ressaltar que esta descoberta feita pelo MIT só foi possível porque o Linux é um software livre.
Mudando o enfoque, eu costumo ver as coisas sempre pelo lado bom, mas vou abrir uma exceção agora: o fato de não ser necessária uma revolução na área de softwares, pelo menos a curto/médio prazo, pode gerar um certo comodismo, fazendo com que as coisas demorem um pouco para engrenar quando for necessário revolucionar.
Tem hora que me pergunto isso realmente é necessario?
Ao ver pelo amigaOS que tem um desempenho excelente em Amiga/ppc, da pra fazer mais que o basico nele; tá bom nao é opensouce e blablabla, ai tem o AROS indo para o mesmo caminho e open.
Ta bom, a maioria comenta sem ter algo a dizer, mas linux domina no top 500 dos maiores supercomputadores(procurem, não postarei o link).
Pelos coments da para ver que o linux esta popular, flw nobzada.
Legal como censuraram o meu comentário. Só acho chato estas inovações constantes desnecessárias e que não pensam em nada no aspecto global,mas sim somente no retorno que pode trazer.
E como consequencia toda inovação produz efeitos .Agora temos que descartar as linguagens de programação e escrever tudo de novo.
Acho que uma sociedade decente aproveita ao máximo as tecnologias antes de ficar inovando toda hora.
@Illidan:
Eu não penso que irei usar 48 núcleos no meu desktop tão cedo (ou talvez nunca use), mas certamente deve existir demandas em aplicações científicas ou comerciais que poderiam se beneficiar com isso.
O importante desta notícia é que o Linux permite tal escalabilidade e até mais, pelo que entendi. Será que há outros SO que conseguem o mesmo, ou até melhor? Esta é uma pergunta de leigo.
PS: sou muito fã do Amiga OS mas, como um SO mainstream, creio que ele infelizmente naufragou junto com a Commodore.
Oxi!! e eu ainda estou na epoca do processador uni-core!!
Vamos supor que daqui a 20 anos os computadores pessoais já estejam usando 48 núcleos,isso quer dizer que seria necessário criar outro sistema do zero e já preparado para mais de 48 núcleos ou o linux seria facilmente adaptado para mais de 48 núcleos???
@Fellype, o problema é que a indústria é um pouco “desconfiada” e “conservadora” quando o assunto é inovação. Nem sempre o custo do desenvolvimento garante o retorno financeiro. A adoção de uma tecnologia depende muito do mercado, mesmo em nichos(como aplicações críticas). O caso que retrata isto muito bem é o da Intel: lançou o uP Itanium(acho que 2001/2002) com uma proposta inovadora(incompatível com a família i386) mas que, para ser aproveitada, necessitava de novos SO’s com novos programas. A adesão do mercado foi baixa(ninguém quiz assumuir o custo de “reescrever” as rodas), o custo do uP ficou alto e, com os programas “convencionais” o desempenho era inferior a um uP da AMD menos inovador e mais barato. Não sei nem se esta plataforma evoluiu e se ainda é comercializada… deve ter sido substituida pelas evoluções do Xeon…
André
Até onde eu saiba a plataforma Itanium agoniza em seus respiros finais na UTI. E a não ser que algo radical aconteça muito em breve seu fim é certo.
Tanto a Microsoft tanto a Red Hat anunciaram o fim do suporte e esta plataforma. Windows 2008 Server e Red Hat 6 estão fora, respectivamente.
Só resta agora a HP, principal interessada na tecnologia sentar no meio-fio e chorar, já que sua linha “PA-RISC” foi substituída pelo Itanium. Rumos incertos para o bom e velho HP-UX.
Linux faz tempo roda em até 2048 processadores. A diferença aqui é que identificaram alguns bottlenecks e otimizaram especificamente para uma máquina multicore.
Uma aplicação fantástica para processamento paralelo é renderização gráfica 3D com técnicas de raytracing. Mas como a realidade multicore vem lentamente, muitos tem preferido tomar a rota GPGPU, já que em GPUs multiprocessamento na casa das centenas já é uma realidade…