Enea ha presentato un’innovativa soluzione di tool per implementazioni multicore “bare metal” sul processore multicore XLP®  di NetLogic Microsystems, denominata Enea® Bare Metal Performance Tool (Enea BMP Tools). Il termine “bare metal” fa riferimento ad applicazioni multicore in cui un dato core esegue una funzione o un’applicazione senza nessun tipo di executive multitasking, solitamente un loop di controllo semplice che opera in un ambiente senza sistema operativo con un overhead minimo e una larghezza di banda di elaborazione massima.
Come fornitore di software embedded indipendente, abbiamo il piacere di offrire tool software bare metal di ottima qualità per i famosi processori XLP di NetLogic Microsystems”, ha dichiarato Marcus Hjortsberg, Vice Presidente del Marketing di Enea. “La nostra nuova soluzione Bare Metal Performance Tools va a completare il kit di sviluppo software (SDK) del processore multicore XLP di NetLogic Microsystems con le funzioni di debugging, logging e profiling di cui le applicazioni multicore hanno bisogno, senza ridurre le prestazioni del sistema, motivo principale per utilizzare il bare metal”.
I Bare Metal Performance Tool di Enea, insieme al nostro SDK per il processore multicore XLP, consentiranno ai clienti di massimizzare le prestazioni dei nostri innovativi processori XLP nelle applicazioni data plane ad elevate prestazioni”, ha dichiarato Chris O’Reilly, Vice Presidente del Marketing di NetLogic Microsystems. “Siamo contenti di aver esteso il rapporto di collaborazione con Enea con l’obiettivo di combinare la vasta gamma dei loro prodotti software con i nostri processori multicore”. 
I Bare Metal Performance Tool di Enea sono costituiti da una suite di tool host basati su Eclipse, denominata Enea® Optima, una serie di librerie di runtime e agenti per la raccolta di dati e un meccanismo IPC, denominato Enea® LINX, per il trasporto dei dati di profiling e logging verso il tool host Optima o un file esterno per la successiva analisi. La soluzione Bare Metal Performance Tool di Enea è progettata come estensione dell’SDK di NetLogic Microsystems, il che consente di mantenere tutte le caratteristiche delle prestazioni dell’ambiente di costruzione, boot/caricamento ed esecuzione bare metal (NetOS) di tale kit.
I Bare Metal Performance Tool di Enea si concentrano sui due tipi di tool di runtime che più di tutti possono aiutare i progettisti a ottimizzare le prestazioni: a) profiling e b) logging delle prestazioni.

Profiling delle prestazioni bare metal
Il profiling aiuta i progettisti a ottimizzare un’applicazione lenta visualizzando i limiti hardware di runtime dovuti al codice sorgente non ottimizzato. I Bare Metal Performance Tool di Enea forniscono due tool di visualizzazione del profiling delle prestazioni:
Profiling del codice sorgente – identifica, a livello di codice sorgente, i punti in cui limiti quali ritardi nella pipeline, TLB miss e cache miss, causano prestazioni sub-ottimali, confrontando questi eventi/contatori hardware con il codice sorgente a qualsiasi livello dell’albero delle chiamate di funzione dell’applicazione, anche fino alle singole righe del codice in una qualsiasi funzione data. Questo include l’utilizzo della CPU generale di una funzione o di una riga di codice qualsiasi. I Bare Metal Performance Tool offrono un controllo di configurazione completo di tutti i contatori hardware del processore multicore XLP di NetLogic Microsystems.
Profiling delle applicazioni – crea ed analizza le statistiche a livello di software applicativo con l’obiettivo di delineare le prestazioni e il comportamento complessivo delle applicazioni. Tra le statistiche figurano tempo di inattività, velocità di trasmissione, eventi hardware estranei o qualsiasi altra statistica definita dall’utente che possa essere utile per l’applicazione.

Logging delle prestazioni bare metal
Il logging si riferisce alla capacità dell’utente di inserire notifiche di eventi interessanti nel software applicativo. I registri sono perfetti per trovare e correggere bug o identificare comportamenti anomali in un’applicazione anche dopo un malfunzionamento del software, con conseguente aumento della qualità del software e miglioramento dell’esperienza dell’utente finale. Nei Bare Metal Performance Tool di Enea le informazioni di testo e binarie possono essere raccolte in un buffer circolare unico da estrarre continuamente o con un comando discreto. I dati del registro possono essere trasmessi direttamente alla suite di tool host Optima per essere analizzati o a un punto finale esterno (sistema di file) per essere analizzati successivamente. Questi dati possono anche essere estratti “post mortem” dopo un malfunzionamento e usati per eliminare la relativa causa. La funzione di logging dei Bare Metal Performance Tool può essere usata sia nella fase di sviluppo che nella fase operativa per il debug e la ricerca guasti sul campo.

Il vantaggio di Optima
È facile fornire un tool host per visualizzare dati di profiling e logging. Invece è più difficile presentare le informazioni in modo accessibile senza che l’utente debba visualizzare e analizzare i dati manualmente. Gli attuali tool di profiling e logging per le applicazioni bare metal spesso presentano le informazioni sotto forma di semplici testi. Enea Optima va oltre e offre visualizzazioni del profiling delle prestazioni in 2D-3D e visualizzazioni grafiche dell’analisi dei registri con fusione temporizzata dei registri con filtraggio, visualizzazione mediante fonte o tipo di registro e perfino singole voci da core multipli in un dispositivo multicore o più dispositivi multicore. Grazie a Optima i progettisti possono visualizzare e individuare velocemente gravi problemi nel sistema.

Sviluppi futuri
I programmi futuri riguardanti lo sviluppo dei Bare Metal Performance Tool di Enea prevedono l’integrazione con l’Enea Linux Platform Builder (ELPB-NE), presentato di recente per i processori multi-threaded e multicore di NetLogic Microsystems, e con 6WINDGate™, il software di elaborazione multicore di 6WIND.
L’ELPB-NE è un ambiente di sviluppo Linux ‘full-featured’ per processori multi-threaded e multicore di NetLogic Microsystems che guida il progettista dalla fase iniziale, allo sviluppo, all’implementazione del progetto. L’ELPB-NE prevede la creazione e la configurazione dell’ambiente NetOS di NetLogic Microsystems. La prossima integrazione dell’ELPB-NE con i Bare Metal Performance Tool comprenderà i componenti target Bare Metal Performance nella struttura generale di creazione e sviluppo.
Non vediamo l’ora di aggiungere il supporto di 6WINDGate nell’ambiente di debug dei Bare Metal Performance Tool di Enea”, ha dichiarato Eric Carmès, CEO di 6WIND. “6WINDGate viene usato dagli OEM di tutto il mondo per massimizzare le prestazioni delle apparecchiature di networking, sicurezza e telecomunicazione. La disponibilità di un tool di visualizzazione e debug bare-metal come i Bare Metal Performance Tool consentirà ai nostri clienti di accelerare il time-to-market, garantendo un utilizzo ottimale delle loro piattaforme multicore”.
http://www.enea.com/