TilePro64

Presenter Notes

Caracteristicas

Arquitectura

arquitectura

Presenter Notes

Caracteristicas

Arquitectura

arquitectura

Presenter Notes

Caracteristicas

Arquitectura

arquitectura

Presenter Notes

Tile - Processor Engine

  • Tiene 3 pipelines asimetricos en paralelo:

    • 0. para operaciones de ALU, de bits, multiplicacion, fused multiply-add)
    • 1. para ALU, acceso registros especiales, branches y jumps)
    • 2. para load/store y operaciones de mantenimiento de la cache)

  • Juego de instrucciones VLIW de obviamente 3 instrucciones de ancho (algo esperable para un bicho que quiere consumir poco)

  • 56 registros de proposito general
  • 7 registros especificos para la red Imesh
  • 1 registro de lectura 0

Presenter Notes

Tile - Processor Engine

arquitectura

Presenter Notes

Tile - Cache Engine

  • L1: 16k para instrucciones y 8k 2-ways para datos
  • L2: 64k 4-ways
  • L3: Si el dato buscado no esta en L2, lo busca en la cache L2 de los demas procesadores antes de ir a memoria, la L3 es virtual
  • Tiene unidades de manejo de memoria implementadas con TLBs

Presenter Notes

Tile - Switch Engine

  • Conecta con los tiles norte, sur, este y oeste y con los I/O ports si esta en la periferia.
  • Tiene 3 redes especiales y una para la memoria
    • UDN para mensajes entre tiles y con los dispositivos I/O (a nivel usuario)
    • IDN para mensajes entre tiles y con los dispositivos I/O (a nivel sistema)
    • STN para transporte de datos (escalares) entre tiles, operaciones atomicas

Presenter Notes

Tile - Modos de trabajo

  • Standard: Son procesadores bajo la orbita del scheduler del Linux
  • Dataplanes: No los toca el scheduler
  • Dedicated: Son usados por los drivers de los dispositivos I/O
  • BareMetal: Se programan como un micro, casi a nivel embed, quedan fuera de la red del Linux

Presenter Notes

Hypervisor

Sistema Operativo

hypervisor

Presenter Notes

Shepherd

Ejecución

monitor

Presenter Notes

Linux

monitor

Presenter Notes

Linux - Librerias

  • Estan portadas todas las de gcc y g++ como libc, libm, glibc, etc.
  • Acceso directo al hardware de redes sin pasar por el driver de Linux (NetIO)
  • Tilera Multicore Components, ayuda a dividir un algoritmo en tareas y las paraleliza automagicamente
  • Tile-PCI que le permite a la tilera comunicarse con programas en la maquina host u otras tarjetas PCI conectadas

Presenter Notes

Tilera - filosofias de paralelizacion

  • Descomposicion de datos
  • Descomposicion funcional

Presenter Notes

Tilera - Algunos numeros

  • Consumo entre 19 y 23 W
  • 700MHz de velocidad de procesadores y 800MHz para la memoria
  • 443 miles de millones de operaciones por segundo.
  • 200 Gbps de ancho de banda de la memoria con 4 controladores DDR2 de 64 bits

Presenter Notes