
Os actuais computadores Mac proporcionam um fantástico desempenho, com até oito núcleos de capacidade de processamento. Como tirar então o máximo de partido desta tecnologia? É simples com o Leopard. Um sistema redesenhado que contém aplicações-chave optimizadas e novas ferramentas avançadas para programadores e que fazem do Leopard o sistema operativo perfeito para o Mac com múltiplos núcleos.
A importância dos múltiplos núcleos
A história testemunha que, de cada vez que é lançado um novo processador mais rápido, obtém-se um melhor desempenho das aplicações, mas chips que produzem mais calor e utilizam mais energia, que em nada se adequam às necessidades dos computadores portáteis. Os novos processadores com múltiplos núcleos ajudam a resolver o problema da energia, mas o desempenho das aplicações poderá não melhorar automaticamente. É aqui que intervém o Leopard, proporcionando ferramentas avançadas que fazem com que seja fácil tirar partido dos processadores com múltiplos núcleos.
Múltiplos núcleos, múltiplas eficiências
A nova ferramenta de agendamento do Leopard é muito eficiente na atribuição de tarefas entre múltiplos núcleos e processadores. Assim, o Leopard passa menos tempo a gerir tarefas e mais tempo a efectuar cálculos. Um novo stack de rede multithread acelera a velocidade da rede, gerindo em paralelo o tráfego de entrada e saída da rede.
Aplicações de múltiplos núcleos no Leopard
Os engenheiros da Apple actualizaram várias aplicações no Leopard, incluindo o Mail, a Agenda e o Utilitário Tipográfico, para que estivesse preparado para múltiplos núcleos. Cada uma destas aplicações divide acções intensivas do processador numa série de passos mais simples de gerir, que são executados individualmente nos computadores com uma CPU e em paralelo nos sistemas mais recentes com múltiplos núcleos. O Cocoa utiliza a mesma tecnologia para acelerar as pesquisas do Spotlight e no Dicionário.
Funcionamento optimizado
Como é que os engenheiros da Apple alcançaram tal feito? Utilizando o NSOperation, uma nova API inovadora que optimiza as aplicações para o mundo do processamento em múltiplos núcleos. Os segmentos independentes de computação (operações) são adicionados a uma fila NSOperationQueue, que determina dinamicamente quantas operações se devem executar em paralelo, com base nas actuais arquitecturas. Assim, não existe necessidade de escrever o código manualmente para as complexidades do threading e locking. Basta descrever as operações num programa, juntamente com as respectivas dependências. O Cocoa toma conta do resto.
Passar a mensagem
Para suportar o modelo de transmissão de mensagens, popular no cálculo científico — há muito necessário para distribuir cálculos entre múltiplos processos — o Leopard inclui a popular implementação OpenMPI open source da norma MPI 2.0. O OpenMPI trabalha com o Xgrid, que suporta de forma integrada os Macs baseados em PowerPC e Intel, facilitando a adição de controladores para interligações de baixa latência. E o Xcode para o Leopard inclui vários "compiladores" MPI (pré-processadores) que dinamizam o processo de escrever programas em conformidade com a norma MPI.
