giovedì 13 giugno 2013

Migrare ad architettura powerpc: come fare?

Ma come?
Apple migrò ad architettura x86 a partire dall'architettura powerpc...
Si esattamente come Intel vendette il ramo di azienda che si occupava di architettura arm , processore Xscale, per poi trovarsi qualche hanno dopo fuori dal mercato mobile che è stato invaso nel mercato mobile dall'architettura arm...

Inoltre anche Sony e Microsoft per le loro console da gioco stanno migrando da powerpc a x86 .... Ma ricordiamoci che Sony arrivava dall'architettura Mips e Microsoft Xbox dall'architettura x86, per cui non è detto che tutto il settore console e consumer debba migrare solo verso x86 definitivamente...

Infatti stiamo assistendo alla migrazione da x86 verso ARM anche nel mercato server,infatti Applied Micro ha presentato i suoi Server arm 64bit X-Gene, inoltre diversi data-center stanno migrando ad architettura powerpc, come Servergy insegna.





I personalmente ho un accesso ai server RPLE di Servergy che gira su architettura Powerpc in particolare il Freescale P4080 DS, con 8 core a 1,2 Ghz

cat /proc/cpuinfo
processor    : 0
cpu        : e500mc
clock        : 1200.000000MHz
revision    : 2.0 (pvr 8023 0020)
bogomips    : 75.00

processor    : 1
cpu        : e500mc
clock        : 1200.000000MHz
revision    : 2.0 (pvr 8023 0020)
bogomips    : 75.00

processor    : 2
cpu        : e500mc
clock        : 1200.000000MHz
revision    : 2.0 (pvr 8023 0020)
bogomips    : 75.00

processor    : 3
cpu        : e500mc
clock        : 1200.000000MHz
revision    : 2.0 (pvr 8023 0020)
bogomips    : 75.00

processor    : 4
cpu        : e500mc
clock        : 1200.000000MHz
revision    : 2.0 (pvr 8023 0020)
bogomips    : 75.00

processor    : 5
cpu        : e500mc
clock        : 1200.000000MHz
revision    : 2.0 (pvr 8023 0020)
bogomips    : 75.00

processor    : 6
cpu        : e500mc
clock        : 1200.000000MHz
revision    : 2.0 (pvr 8023 0020)
bogomips    : 75.00

processor    : 7
cpu        : e500mc
clock        : 1200.000000MHz
revision    : 2.0 (pvr 8023 0020)
bogomips    : 75.00

total bogomips    : 600.00
timebase    : 37500000
platform    : P4080 DS
model        : servergy,jade-rev3
Memory        : 16384 MB


In particolare sembra sia basato sul sistema di sviluppo Frescale P4080DS che sembrerebbe basato sul processore P4081 a 1,2 Ghz.


Aggiornamento:
Sul sito di Freescale presentava due sistemi di sviluppo basati sul P4080, uno sembrava solo scheda madre a 650 dollari, ma non credo, credo sia un accessorio.

Ho fatto un pò di ricerche ed ho trovato da Future Eletronics un sistema di sviluppo basato su P4080 a 744 euro, che si attacca alla PCI.
P4080PCI
Invece il P4080DS che trovate a 4000 dollari sul sito freescale, lo travate a quasi 3000 euro sul sito di Future Elettronics.
Freescale Quad Core 64bit P5040DS-PA

Per quella cifra sempre da Future Elettronics trovate anche il P5040DS-PA che è il 64bit quad core , oppure il T4020 che ha ben 12 core , con due tread per core , ovvero sino a 24 thread, un Powerpc a 64bit , anche se non è ancora ordinabile.



Ma torniamo al titolo e vediamo cosa ci hanno suggerito gli amici di Servergy nel meetup di Maggio per migrare a powerpc.

Cosa significa portare le applicazioni su powerpc?
  • X86 è diventata di fatto l'architettura standard
  • Molto del codice ( compreso il codice di Linux) sono sviluppati per la piattaform x86
  • Il modo corretto per scrivere applicazione è di farle independenti dall'architettura
  • Questo è semplice per le applicazioni ma applicato non spesso
  • C'è una certa necessità di dover migrare il codide su altre piattaforme
  • Essenzialmente ricompilare il codice per farlo girare su nuove architetture
Fattori da tenere presente portando applicazioni da x86 a Power
  • HW
  • Big endian vs Little endian
  • CISC vs RISC
  • grandezza delle Istruzioni
  • Chip level design
  • 32bit vs 64bit
  • Implementazione
  • Data type size (int and long difference in 32 vs 64)
  • EABI
  • Librerie
  • Il codice fatto bene è scritto in maniera trasparente dall'Architettura  
Porting Kernel/drivers contro Applicazioni Userspace
  • Vari Casi di porting, dall più semplice ricompilazione al peggior caso
     
    • Più semplice: codice indipendente che usa librerie standard
    • Leggermente più complicato: quando ci sono dipendenze speciali
    • Più difficile: quando è implicato anche l'hardware (es: kernel, drivers) Include la conversione endian, la struttura del repacking, i messaggi (tra hardware e CPU)
    • La più difficile: quando c'è del codice assembler ( si base sul set di istruzioni della cpu specifica)
Ubuntu Build
  • http://qa.ubuntuwire.org/ftbfs/
  • Log delle build
  • Tracciamento degli errori
  • Risolvere gli errori 
Debug delle Applicazioni
  • grep /web search
  • lsof
  • strace
  • gdb
  • printf
  • Kernel debug
lsof
  • fa un elenco delle informazioni dei file aperti da vari processi(che include librerie, pipes, sockets, devices….)
  • Molto utile per fare debugging
  • Ricerca per user, pid...

strace
  • Fare partire un comando e visualizzare tutte le sue chiamate di sistema, così è possibile vedere esattamente cosa il programma sta facendo sino a prima dell'uscita.
  • Può essere usato per il debugging ed il perfezionamento delle prestazioni.

Il prossimo meetup degli utenti powerlinux è questo sabato 15 Giugno alle ore 20 , ora italiana, potete iscrivervi da questo link, ricordatevi di iscrivervi per il webinar non appena sarà noto il link di iscrizione.




8 commenti :

  1. Ciao,

    volendo comprare solo la MB, il prezzo e' la seconda voce di questo listini, ovvero 600$ ?

    http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=P4080DS&tab=Buy_Parametric_Tab&nodeId=018rH325E40180&pspll=1&fromSearch=false

    Grazie mille.

    RispondiElimina
    Risposte
    1. Non credo sia la sola scheda madre, ho aggiornato il post con diverse informazioni con vari prezzi

      Elimina
  2. sul Servergy installati in chroot la nuova CRUX PPC 3.0 !!!

    RispondiElimina
    Risposte
    1. Ma sul rple trovo con schroot -l solo fedora e ubuntu...

      Elimina
    2. non so, prova a richiedere a Servergy di aggiungere CRUXPPC ad i chroot disponibili.

      Elimina
  3. A quando un articolo sulle nuove schede di a-eon? ;)

    RispondiElimina
  4. Mi piacerebbe.. averle, quali informazioni hai sulle nuove schede a-eon?
    grazie

    RispondiElimina
  5. Magari!! a parte quelle uscite su internet....che ne pensi della cpu?

    RispondiElimina