terça-feira, 8 de abril de 2008

Chip Industry Confronts 'Software Gap' Between Multicore, Programming

Viva,

também eu estive uns dias sem colocar pots, pelo título podem verificar que os fabricantes
de microprocessadores alertam para algo como um "gap" entre o software e que o hardware
nos proporciona.

Antes de termos os sistemas multi-core (não interessa para a discussão se são dual core, quad core, ...), o nosso sistema operativo, permitia-nos ter vários fios de execução, threads, bem como vários processos.

Aprendemos também que através de alguns mecanismos de sincronização que poderíamos garantir a coerência do nosso programa, lidando com o acesso concorrente a recursos partilhados.

Contudo, num sistema single processor, apesar de podermos lançar várias threads, só "corre" uma de cada vez, ficando a cargo do sistema operativo, saber quando e qual a próxima thread a "correr".

Verifica-se qua a maioria dos sistemas que estão actualmente em produção não tiram partido nenhum da utilização de várias threads nem estão optimizados para tal. Com estes novos CPU's, com vários cores, as threads podem ser "entregues" a um core diferente e aqui sim temos na realidade duas threads a correr em simultaneo.

Será que isto não virá fazer com que as técnicas da programação concorrente venham a ser muito mais relevantes do que o foram até aqui no mercado de trabalho ? Tipicamente era algo que recordávamos dos tempos de faculdade, mas que depois muito poucas vezes se utilizavam a nível profissional.

Outra questão, prende-se com a questão do desenho. Fazer debug e testar um sistema single thread é muito mais fácil do que testar e fazer debug um sistema multi thread.

Será que estamos preparados para desenhar os nossos sistemas e aplicações de modo a evitar dores de cabeça durante o desenvolvimento ?

Algo que fica para pensar, desvia-se um pouco do tema Microsoft, mas também aqui no mundo .Net apesar de termos muito suporte à programação concorrente poucas vezes se vê isto utilizado, contudo convém lembrar que nem sempre faz sentido este tipo de técnicas e que por vezes é melhor deixá-las de fora.

Sem comentários: