• No results found

Sammenlignende forhold for de fire kommunene

KAP. 3 PRESENTASJON AV LOFOTENS KOMMUNER

3.5. Sammenlignende forhold for de fire kommunene

O número de transistores existentes nos processadores vem crescendo a cada ano, de acordo com a Lei de Moore. Porém, a velocidade dos processadores não está aumentando na mesma velocidade. Isso é devido à dificuldade de dissipar grandes quantidades de calor geradas internamente no processador e os problemas elétricos que se tornam mais

significantes quando uma frequência muito alta é aplicada aos componentes, como capacitância parasitária por exemplo.

Por essas razões, a tendência atual da indústria de microeletrônica é aumentar a capacidade de cálculo de um processador através do aumento do número de núcleos dentro de um mesmo chip, em vez de focar no aumento da frequência e recursos de um único núcleo. Assim, processadores de múltiplos núcleos começaram a surgir no mercado, e atualmente a maioria dos computadores existentes no mercado possuem dois ou mais núcleos, inclusive aparelhos celulares smartphones e outros dispositivos móveis. Esta tendência de aumentar o número de núcleos nos processadores está tão forte nos últimos anos que processadores com mais de 100 núcleos já podem ser encontrados (Butts, 2007).

Outra forma de contornar as restrições físicas do aumento de frequência e conseguir aumentar a capacidade de processamento do CPU é alterar a sua arquitetura, para seja possível realizar mais cálculos por ciclo de relógio. Com isso, junto com os processadores convencionais de múltiplos núcleos, vêm surgindo processadores de arquitetura diferenciada. Um dos recursos que estão sendo incorporados é a inclusão de instruções que permitem ao processador realizar cálculos vetoriais com uma instrução e em poucos ciclos de relógio. Esse tipo de instrução se chama Single Instruction Multiple Data (SIMD).

Enquanto os processadores atuais são Single Instruction Single Data (SISD) que operam somente um dado por instrução, os processadores SIMD podem fazer uma soma de vetores, por exemplo, utilizando somente uma instrução e um ciclo de relógio. Esse conjunto de instruções é muito comum em placas gráficas, ou Graphic Processing Unit (GPUs) para efetuar cálculos de geometria analítica de maneira mais eficiente.

Ultimamente, o fabricante de GPUs nVidia desenvolveu uma linguagem baseada em C denominada CUDA, que permite desenvolver aplicativos para ser executados na GPU. Assim, foi iniciada uma linha de pesquisa e de produtos identificados por General Purpose Graphic

Processing Unit (GPGPU), em que as placas GPUs começaram a ser usadas em

supercomputação para acelerar algoritmos científicos e de computação intensiva. 2.7.1. Processador Cell BE

O manuseio de toda essa massa de dados exigido pelos programas de recomendação e outros algoritmos de mineração de dados, exige muitos recursos computacionais, e ainda

assim pode ser uma tarefa demorada, mesmo nos computadores convencionais atuais. Assim, arquiteturas novas surgiram para executar alguns tipos de tarefas com melhor desempenho.

Em 2000, foi formada uma aliança entre a Sony, Toshiba e IBM para desenvolver um processador de arquitetura diferenciada para aplicações de processamento intensivo, entretenimento e multimídia. Deste ano então foi dado o início do projeto do processador

Cell Broadband Engine, ou simplesmente Cell BE ou só Cell. No final de 2005 foi

disponibilizado um simulador para testes de funcionamento e no início de 2006 a IBM anunciou o lançamento de um servidor Blade utilizando este processador.

O Cell BE possui 241 milhões de transistores, 9 núcleos de processamento, com capacidade de execução 10 threads simultaneamente e uma frequência de relógio máxima de 4 GHz. O que diferencia o Cell BE dos processadores convencionais é a existência de uma arquitetura de múltiplos núcleos heterogêneos. Essa arquitetura contém um núcleo Power PC 64 bits, chamado de Power Processor Unit (PPU) com capacidade de execução de dois threads simultâneos, e oito núcleos sinérgicos, ou Synergistic Processor Unit (SPU) para processamento de grande intensidade de dados (PHAM; AIPPERSPACH; BOERSTLER, 2006; DAY; HOFSTEE, 2005). Esses SPUs possuem capacidade de cálculo vetorial e suportam instruções SIMD para operar vetores com até 4 variáveis de ponto flutuante.

As interconexões internas e externas utilizaram as tecnologias mais modernas na época para atingir altas velocidades. Um anel de interligação interno entre o PPU, os SPUs e a memória permite uma banda de mais de 300 GB/s, que é usada para transmissões simultâneas de dados de até três transferências Direct Memory Access (DMA) para um SPU e o PPU, e também entre distintos SPUs. Com o meio externo, o Cell BE atinge velocidades de 25,6 GB/s para se comunicar com a memória e para I/O tem-se 35 GB/s para saída e 25 GB/s para entrada.

2.7.2. Processadores Embarcados CPU+GPU

Com a popularização de dispositivos móveis como tablets e smartphones, a indústria de aplicativos embarcados começou a demandar uma maior capacidade computacional desses dispositivos. Assim, os fabricantes de CPUs e placas gráficas começaram a desenvolver linhas

de componentes voltados para esse segmento de mercado. Em 2011, diversos fabricantes anunciaram processadores multi-core para dispositivos portáteis.

Recentemente (2011), começaram a surgir processadores embarcados em dispositivos móveis com GPUs que suportam CUDA. Desta forma, esses GPUs podem ser usados para acelerar a execução de aplicativos não gráficos embarcados. Um dos GPUs disponíveis no mercado que estão sendo vendido junto com Netbooks e Nettops é o nVidia Ion (NVIDIA, 2011a). Essa placa gráfica, em sua segunda versão, possui 16 núcleos GPUs com 512 Mb de memória DDR3, com um consumo de 12 Watts. Na área de tablets e smartphones, os processadores usados nesses dispositivos são um híbrido de CPU e GPUs. A nVidia lançou uma família de chips chamada de Tegra (NVIDIA, 2011b). A ultima versão lançada em 2011 é o Tegra 3, que possui um processador quad-core ARM 1,5 GHz e 12 núcleos GPU. A próxima geração prevista para 2012, o Tegra 4 possuirá 8 CPUs ARM junto com até 64 núcleos GPUs.

Outros fabricantes de semicondutores possuem também suas famílias de processadores híbridos, como o Snapdragon da Qualcomm, o OMAP da Texas Instruments, os processadores A da Apple, entre outros. O Snapdragon a ser lançado em 2012 pode ter até quatro núcleos ARM 1,5 GHz e GPUs da família Adreno.

Esses processadores permitem que as aplicações executadas nos dispositivos embarcados utilizem as GPUs como aceleradores GPGPU. Assim, as aplicações podem ser desenvolvidas para explorar o paralelismo e as instruções SIMD, e assim serem executadas em um menor tempo.