viaggio al cuore del mainframe

37

Upload: mainframeitaliacom

Post on 16-Apr-2015

442 views

Category:

Documents


0 download

DESCRIPTION

Questa serie si propone di affrontare alcune tematiche dei mainframe in modo semplice e di fornire quei riferimenti utili a chi vuole continuare ad approfondire la materia. In questo primo quaderno si vuole proporre una specie di viaggio nel mainframe dal suo esterno, di cui verranno descritti l’aspetto e le sue componenti, fino ad arrivare al cuore: il processore. Durante il percorso l'aspetto visivo di dove sono collocati i differenti componenti ci guiderà fino alla descrizione delle specifiche del processore utilizzato da questi elaboratori.

TRANSCRIPT

Page 1: Viaggio al cuore del mainframe
Page 2: Viaggio al cuore del mainframe

i

Introduzione

Page 3: Viaggio al cuore del mainframe

Chi ha lavorato con i mainframe utilizza un gergo che non sempre è conosciuto da tutti i professionisti che operano nei moderni Datacenter. Questo contribuisce ad avvolgere il mainframe con una sensazione di mondo a sé, difficile da penetrare e perpetuato solo da pochi adepti.

D'altro canto i pochi adepti sono spesso persone che lavorano da molto tempo sul mainframe ed utilizzano dei termini che danno per scontati, considerati di base o talmente elementari, che non si curano di spiegarli. E’ vero, infatti se ripenso alla mia formazione, questa realtà la ritrovo già nei primi corsi degli anni '80 dove, parlando del sistema operativo, il nostro istruttore si riferiva ai control block come se per noi fosse la cosa più naturale al mondo. scontata del mondo sapere che cosa sono (e immagino che i lettori ora già si dividano tra chi sta pensando "e che sono i control block???" e chi sta sorridendo).

Queste riflessioni mi sono tornate in mente ultimamente leggendo un articolo nel quale si parlava di possibili nuovi chip, più potenti, per i mainframe IBM zEnterprise.

Allora ho avuto l'idea, forse alquanto presuntuosa, di raccontare in modo semplice come è fatto un mainframe e spiegare, man mano che vengono introdotti, tutti i termini che vengono utilizzati non lasciando nulla per scontato. Ho pensato che si sarebbe potuto scrivere un libro dove raccogliere tutto l'ABC del mainframe; in modo accessibile per tutti; ossia che permettesse a tutti di capire e padroneggiarne la terminologia, i suoi elementi e le basi di questa tecnologia.

Ho provato prima a fare una ricerca, per vedere se già erano disponibili delle pubblicazioni simili, ma quelle che più si avvicinavano alla mia idea erano sempre poco fruibili, e si indirizzavano ad una platea di lettori molto motivati. Non ho trovato nessun libro o withepaper che raccontasse il mainframe senza per forza volerlo insegnare. Quindi l'idea mi sembrava essere buona ed andare a riempire un vuoto esistente.

Però più pensavo a come strutturare una simile realizzazione e più capivo che questa idea era troppo ambiziosa: mi avrebbe impegnato in un lavoro enorme e i risultati si sarebbero potuti vedere e condividere solo dopo molti mesi. Insomma buona l’idea ma eccessiva per una persona sola. Più ci riflettevo e più mi rendevo conto che era questo il motivo di tale vuoto e mi dispiaceva che, solo per motivi di tempo, non sarei riuscito a portarla a termine.

Allora mi è venuta in mente la soluzione, che in fondo è l'uovo di Colombo: non un un libro, ma una serie di quaderni che di volta in volta affrontano un aspetto di questo mondo raccontandolo come fatto isolato e descrivendo un percorso non esaustivo della materia, ma soddisfacentemente coerente sull’aspetto trattato .

Questo quindi è il primo quaderno che vuole proporre una specie di viaggio nel mainframe dal suo esterno, di cui verranno descritti l’aspetto e le sue componenti, fino ad arrivare al cuore: il processore. Per semplicità verrà preso come riferimento lo zEnterprise z196.

ii

Page 4: Viaggio al cuore del mainframe

E’ ovvio che tale approccio sfiora e non tratta allo stesso modo tutti gli elementi del mainframe, ad esempio l’I/O, ma non è nello spirito del quaderno che vuole seguire una traccia specifica. D’altronde queste mancanze potranno essere spunto per altri quaderni.

P.S. appena finita l’ultima revisione del quaderno, il 28 Agosto 2012, è stato annunciato un nuovo sistema: lo zEnterprise EC12. Non sapevo se mandare tutto all’aria e iniziare nuovamente o se far finta di nulla e condividere questo quaderno.

Ho preso, per ora, una decisione intermedia lasciando il “percorso” descritto con lo z196 ed aggiungendo un capitolo solo sulle differenze del processore.

Dico per ora perché prima o poi (o se qualche volontario si offre...) farò una nuova edizione tutta sullo zEnterprise EC12.

iii

Page 5: Viaggio al cuore del mainframe

4

Come si presenta un mainframe zEnterprise

Page 6: Viaggio al cuore del mainframe

Il mainframe è stato da sempre associato a un'immagine di qualcosa di grosso, mastodontico e ingombrante, ma anche di potente e robusto. Quest’associazione se l'è guadagnata fin dall'inizio poiché il dispositivo che consideriamo mainframe occupava svariati metri quadrati, appariva come un insieme si scatoloni metallici di colore girgiastro, collegati fra loro, che si

snodava all'interno dei data center concedendosi al contatto umano solo attraverso un pannello di luci e interruttori nei

primi modelli e, in seguito, tramite un paio di terminali di solito sistemati su fredde scrivanie discoste come per allontanare ancora di più l'essere umano da questo concentrato di tecnologia. Quest’aspetto conferiva al posto chiamato Centro di Calcolo prima o Sala Macchine poi, un aspetto misterioso e inaccessibile per gli occhi dei non addetti ai lavori.

Ma dalla metà degli anni 90 le dimensioni dei mainframe si sono notevolmente ridotte e, a dispetto dell'aumentare della potenza, la loro presenza non è stata più così prepotente ed invadente; questo cambiamento, dovuto essenzialmente a motivazioni tecnologiche, ha portato delle novità anche sul piano estetico. Quello che prima si presentava come un labirinto di lamiere grigie interrotto da qualche sportello

5

Figura 1.1 Datacenter degli anni ’80

Figura 1.2 IBM z9

Page 7: Viaggio al cuore del mainframe

colorato (di solito azzurro) ora appariva come un unico armadio tutto nero.

Una modifica estetica di questo tipo a me ha sempre ricordato il monolite del film 2001 Odissea nello spazio di Stanley Kubrick del 1968. Anche oggi vedendo un modernissimo zEnterprise è

difficile che non ritornino alla mente le immagini di quel film. Dalla Fig. 2 si vede che è un po' meno liscio, ma con un aspetto simile: tra il misterioso ed il futuristico.

Questo blocco di solito è chiamato zCPC anche se il nome esatto è Central Processing Complex (CPC); come si può

vedere dalla sua pianta in Figura 1.3, occupa meno di 3.5 metriquadri.

Quello che si distingue immediatamente è che lo zEnterprise è formato da due “blocchi” simili: questi blocchi somiglianti ad armadi si chiamano frame; a sinistra c’è la frame Z ed a destra la frame A.

Le frame sono di fatto le strutture metalliche all’interno delle quali vengono montate tutte le componenti del sistema e sulle quali vengono fissati i coperchi neri che chiudono l’elaboratore e contribuiscono, con le apposite feritoie, a realizzare il percorso dell’aria utilizzata per il raffreddamento. Queste strutture metalliche sono realizzate seguendo lo standard EIA (Electronic Industries Association) che definisce le regole per la realizzazione meccanica.

Gli elementi che costituiscono l’elaboratore possono essere montati fissandoli direttamente sulle frame oppure all’interno di altre strutture metalliche fissate alle frame che formano una specie di gabbia all’interno della quali vengono montati i componenti; queste strutture vengono chiamate cage (appunto gabbie…).

Istintivamente lo zCPC viene da paragonarlo all’unità centrale di un PC, ossia la scatola che di solito abbiamo sotto la scrivania e da cui si accende e spegne il PC. Peró è una

6

Figura 1.3 Dimensioni dell z196

Page 8: Viaggio al cuore del mainframe

similitudine non proprio esatta perché nel PC c'è qualcosa di più: ci sono anche i dischi, mentre nello zCPC lo storage è esterno. Il paragone più adeguato allora forse è con la scheda madre di un PC, ma questa ha qualcosa di meno: l'alimentatore, nello zCPC i componenti per fornire l'energia elettrica sono inclusi. Insomma, qualcosa di più, qualcosa di meno a grandi linee abbiamo inquadrato cosa è lo zCPC, e nel prossimo capitolo andremo a descrivere nel dettaglio cosa contiene.

7

Page 9: Viaggio al cuore del mainframe

8

L'unità centrale del mainframe: il Central Processing Complex

Page 10: Viaggio al cuore del mainframe

Iniziamo le nostre scoperte in senso stretto, ossia partendo dal vedere, senza i vari sportelli, i dettagli che di solito sono nascosti all’interno di questo mainframe. Per questa analisi prendiamo in considerazione il modello di zEnterprise z196 raffreddato ad aria; per i più curiosi tutte le differerenze tra il modello ad aria e quello ad acqua si possono trovare nel libro z196 System Overview – SA22-1086 e, a meno che non vogliate smontarlo, non sono fondamentali per acquisire una conoscenza di base.

Dunque il nostro zEnterprise, spogliato dai coperchi appare come si vede nella Figura 2.1. Iniziamo ora il nostro viaggio per vedere quali sono le componenti nel suo interno.

Partendo dall’alto in entrambe le frame si vedono due rettangoli orizzontali: sono le batterie interne, sono un optional

o, come è più corretto dire, una optional feature e servono in caso di interruzione della corrente a mantenere alimentato il mainframe per un tempo, variabile in funzione della

configurazione, dai 7 ai 10 minuti. Ovviamente non sono una fonte di alimentazione sufficente per far lavorare lo zCPC in assenza di corrente come se nulla fosse accaduto, ma sono essenziali per mantenerne l’operatività se le sorgenti di alimentezione di emergenza del datacencer non intervengono immediatamaente o hanno dei ritardi nei loro

meccanismi di automazione. Il nome esatto di quesa feature è Internal Battery Feature (IBF).

Proseguendo nella frame di sinistra, la frame z, verso il basso troviamo i Power Supplies che servono a fornire l’energia elettrica necessaria a tutto lo zCPC. Questi alimentatori si

9

Figura 2.1 L’interno dello z196 visto di fronte

Page 11: Viaggio al cuore del mainframe

occupano principalmente di convertire e stabilizzare l’energia elettrica esterna e distribuirla agli altri componenti o ad altri appositi convertitori che, a loro volta, trasformano la tensione ricevuta in tensioni utili ai vari dispositivi. Un esempio, di questi altri alimentatori, lo vedremo successivamente all’interno del Processor Cage.

Ancora più in basso nella frame z ci sono 2 Support Element (SE). Sono due laptop fissati allo zCPC e comunicanti, attraverso una rete dedicata interna chiamata service network, con tutte le componenti dello zCPC. Questi due sistemi servono per svolgere un insieme di compiti essenziali sia per il funzionamento che per la gestione dell’hadware:

• comunicano con l’Hardware Management Console (HMC) ricevendo da questa i comandi e smistandoli ai vari dispositivi. Fin’ora non abbiamo mensionato mai l’HMC: è un terminale che deve essere smpre collegato allo zCPC per poter effettuare le attività di configurazione e di controllo dell’hardware.

• mantengono una copia della configurazione dello zCPC in modo da poterla riattivare correttamente in caso di PowerON.

• mantengono una copia dell’Input/Output Configuration Data Set (IOCDS) che è un file contenente le informazioni sulla configurazione dell’I/O

• controllano lo stato dello zCPC e inviano gli eventi ed i messaggi ricevuti alla consolle HMC.

• comunicano con tutti i dispositivi dello zCPC per ricevere informazioni sul loro stato e per inviare i comandi ricevuti dall’HMC od inviati da un operatore direttamente dall’SE.

Ovviamente gli SE sono due per un motivo di affidabilità, ma solo uno alla volta può essere operativo.

Dietro ai due SE e anche in fondo ad entrambe le frame ci sono 3 I/O Cage contenenti gli elementi necessari alla connettività verso lo storage e la rete.

Risalendo verso l’alto nella frame A (quella a destra) troviamo il sistema di raffreddamento composto, nel caso preso in esame da due Modular Refrigeration Unit (MRU) che provvedono, con flussi di aria forzata, al raffreddamento dei processori sovrastanti. Nel caso di raffreddamento ad acqua la disposizione dell’I/O Cage nella frame A è differente ed è messa al posto delle MRU; il raffreddamento è demandato a due unità chiamate Modular Water Unit (MWU) poste in basso per facilitare il collegamenti con il circuito idraulico.

10

Page 12: Viaggio al cuore del mainframe

In questa breve scansione dello zCPC a nudo manca solo la parte dei processori che vedremo a fondo nei prossimi capitoli.

11

Page 13: Viaggio al cuore del mainframe

12

Il contenuto del Processor Cage: i Book come “confezione” per i chip

Page 14: Viaggio al cuore del mainframe

Eccoci dunque al cuore del mainframe, quello contenete i processori: il Processor Cage. In realtà questa è una struttura

che serve ad ospitare, inseriti su apposite slitte, i Book che possiamo considerare come le scatole con cui vengono confezionati i processori dello z196 assieme alla componentistica più affine come le memorie, le cache, i clock, etc.

Nella foto di Figura 3.1 si vede il cage con un book estratto e, nella foto di il book visto di fianco. Come è riportato nelle varie brochure e withepaper dell’IBM, ma come anche è chiaro

dalla foto il Processor Cage può ospitare fino a 4 Book; ciascun book è collegato con gli altri attraveso una rete point-to-point in modo che ciascuno sia sempre connesso, se installati, verso gli altri 3 (vedi Figura 3.2).

Le connessioni tra i book sono realizzate tramite delle porte chiamate Fabric Book Connectivity (FBC). E’ sottointeso che le linee utilizzate per i collegamenti nello schema logico di Figura 3.2, rappresentano in realtà due collegamenti paralleli tra i book. Questa tipologia di connettività permette di vedere lo z196 come un Symmetric Multi-Processor (SMP) e di far accedere la memoria di un book anche dai processori fisicamente installati sugli altri book.

I componenti interni sono visibili in Figura 3.3. In particolare si può distinguere:

• un Multi Chip Module (MCM) che è il cuore del mainframe costituito da un circuto integrato delle dimensioni di 96mm x 96mm, contenente 6

13

Figura 3.1 Processor Cage e BookFigura 3.2 Collegamento point-to-point tra i book

Page 15: Viaggio al cuore del mainframe

microprocessori quadcore e 2 storage control chip con 192 MB di cache di Livello 4 (L4 cache). Questi Storage Controller, come vedremo, svolgono un ruolo fondamentale nell’architettura del mainframe sia per l’accesso alla memoria che per la connettività dei book.

• 30 connettori per memory DIMMs (Dual Inline Memory Modules) che permettono di mettere a disposizione da 60 fino a 960 GB di memoria fisica per il book.

• fino a 8 schede per il trasferimento dati chiamate fanout card Host Channel Adapter (HCA) che possono essere una combinazione di:

- HCA2-C che utilizza un collegamento in rame. per la connessione interna tra il book e l’I/O Cage

- HCA2-O che utilizza un collegamento in fibra, per la connessione Infiniband tra differenti zCPC e supporta distanze fino a 10km senza altri dispositivi.

• 3 Distributed Converter Assembly (DCA) che convertono la tensione ricevuta dal Power Supply nelle tensioni necessarie all’interno del book. Sono 3 per realizzare una ridondanza del tipo 2+1 in modo che il malfunzionamenti di un DCA non influisca sulle attività del book. Inoltre è possibile effetuare interventi di manutenzione senza dover fermare e tantomeno spegnere l’elaboratore.

• 2 schede Flexible Service Processor (FSP) per collegare il book con il Support Element (SE). Anche qui vengono utilizzate due schede per motivi di ridondanza. Nelle figure non si vedono bene, ma sono posizionate sul davanti del book sopra le fanout card.

14

Figura 3.3 L’interno del book

Page 16: Viaggio al cuore del mainframe

Per riassumere, anche se non è una operazione riportata in alcun testo, possiamo tentare di classificare tutti gli elementi visti fin’ora in due tipologie: la prima che può essere chiamata quella delle componenti produttive, contiene le cose importanti per svolgere il lavoro dell’elaboratore, ossia la memoria, l’MCM e le fanout card; queste componenti sono rappresentate in blu nello schema logico di Figura 3.4. La seconda tipologia contiene le componenti ausiliarie necessarie

al funzionamento ed alla affidabilità dei componenti produttivi ed è costituita dal Flexible Service Processor (FSP) e dal DCA per l’alimentazione elettrica.

Come si può vedere dallo schema logico, i collegamenti verso l’esterno del book vanno in quattro direzioni: dall’MCM verso gli altri book e verso l’I/O Cage per le componenti produttive, mentre per le componenti ausiliarie vanno verso il Power Cage e verso i due Service Elements.

15

Figura 3.4 Schema Logico di un book

Page 17: Viaggio al cuore del mainframe

16

Il Serbatoio dei dati: la memoria

Page 18: Viaggio al cuore del mainframe

L’MCM per comunicare con la memoria utilizza 3 Memory Control Unit (MCU) ciascuno dei qual utilizza 5 canali, secondo un disegno di 4+1 che realizzano un’architettura di memoria chiamata Redundant array of independent memory (RAIM) utilizzata per aumentare l’affidabilità. A ciascun canale può essere collegata una o due slot su cui vengono

installate le DIMM che possono essere di di 4, 16 o 32 GB.

Quindi 2 DIMM x 5 canali x 3 MCU sono esattamente i 30 slot a disposizione per la memoria all’interno di un book. E’ bene ricordare che non si possono installare differenti tagli di DIMM all’interno dello stesso book; se si installano 30 DIMM da 32GB ecco che si arriva al massimo di 960GB per book.

Però l’architetture RAIM prevede che un canale, e la memoria ad esso collegata, siano riservati per aumentare l’affidabilità in caso di guasto al mantenimento di dati di parità; quindi la memoria disponibile in un book diventa al massimo di 768 GB.

In questo modo, per la memoria ci si è garantiti per i guasti di un singolo chip, di una scheda di memoria o di un canale di accesso alla memoria. E’ una tecnica molto simile ai meccanismi RAID utilizzati nei dischi.

17

Figura 4.1 Schema logico della RAIM

Page 19: Viaggio al cuore del mainframe

18

Verso il cuore delle elaborazioni

Page 20: Viaggio al cuore del mainframe

SEZIONE 1

L’altro componente di rilievo all’interno del book è l’MCM che all’aspetto è un blocco di metallo quadrato di circa 10 centimetri di lato e per aspetto e per parte del contenuto è simile alla CPU contenuta nei nostri PC. Questo paragone è valido perché in entrambi ci sono i circuiti per eseguire le istruzioni e le

cache utilizzate per mantenere i dati vicino a questi dispositivi. Però, ad un’analisi più attenta il paragone risulta troppo approssimativo.

L’MCM è concepito per alloggiare più moduli al suo interno, mentre di fatto le CPU dei nostri PC sono un modulo. E’ costituito da

Il Multi Chip Module

19

Page 21: Viaggio al cuore del mainframe

uno substrato di vetro-ceramica, delle dimensioni di 96mm x 96mm, composto da 103 strati all’interno dei quali vengono realizzate le connessioni necessarie al collegamento degli 8 chip che sono alloggiati all’interno dell’MCM (vedi Figura 5.1).

Ciascuno dei chip è delle dimensioni di 23.7mm x 21.5mm, ed è costruito con tecnologia Complementary Metal Oxide of Silicon (CMOS) 12s. Questa tecnologia utilizza 13 strati di interconnessioni in rame e tecnologie silicon-on insulator (SOI). Il processo litografico utilizzato per la realizzazione dei chip è

di 45 nm (0.045 !m). Questa misura indica le dimensioni minime del gate di un transistor, possiamo prenderla come riferimento per le dimensioni dei transistor all’interno del circuito integrato. Per avere un’idea delle dimensioni a cui si fa riferimento basta ricordare che un capello è delle dimensioni di circa 80000nm e un globulo rosso umano di 6000-12000nm.

Comunque 45nm ad oggi non è la più piccola delle tecniche possibili, sul mercato esistono dei dispositivi realizzati con tecniche da 32nm e 22nm.

Ovviamente più si miniaturizza il processo di costruzione e maggiori sono i costi di realizzazione, ma maggiore è anche la dispersione di energia dovuta all’effetto del leakage, una dissipazione che aumenta esponenzialmente con il ridursi delle distanze costruttive.

Nei sistemi zEnterprise, a differenza dei PC e dei notebook, le dimensioni non sono un grosso vincolo, penso che quindi la scelta della tecnologia di 45nm sia stata il risultato di un bilanciamento tra costi, potenza e prestazioni.

A seconda delle configurazioni un MCM contiene 6 o 4 Processor Unit Chips (PU Chip) e 2 Storage Control (SC).

Ciascun SC contiene una cache di 96 MB eDRAM, la logica per interfacciare i core contennuti nei PU Chip e la logica per realizzare la configurazione SMP tra i book (vedi Figura 3.2). I due SC sono costruiti in modo da presentare ai core dei PU Chip una visione unica dei 192MB che vengono utilizzati come cache di livello L4.

20

Figura 5.1 L’interno del Multi Chip Module (MCM)

Page 22: Viaggio al cuore del mainframe

Inoltre nell’MCM sono alloggiati 4 chip SEEPROM(S) (2 + 2 ridondati) contenenti dati di configurazione dell’MCM stesso.

I collegamenti dall’MCM verso l’esterno sono illustrati nella Figura 4.2.

In sintesi co sono i collegamenti per le operazioni di I/O verso le fanout card tramite le linee GX0-GX7, verso la memoria del book tramite le Memory Control Unit con i collegamenti

MCU0-MCU2 e verso gli altri MCM all’interno degli altri book con i sei FCB. Inoltre co sono gli ovvi collegamenti per l’alimentazione e quelli verso l’FSP per le operazioni di configurazione e controllo; nella figura è riportato soltanto quest’ultimo il Processor Support Interface (PSI) in rosso.

21

Figura 5.2 Connessioni esterne dell‘MCM

Page 23: Viaggio al cuore del mainframe

SEZIONE 2

Ogni PU Chip e composto da 1.4 bilioni di transistors in 512.3 mm2 ed è costituito da 4 core chiamati normalmente Processor Unit (PU).

E’ bene notare un aspetto di terminologia che spesso porta a fare confusione quando si parla

di PU. Infatti, da un pundi di vista di tecnologia costruttiva con questo termine ci si riferisce al chip contenente i 4 core; normalemente da un punto di vista di utilizzo, o meglio, dal punto di vista del sistema operativo per PU si intende invece il

Il Processor Unit

22

Page 24: Viaggio al cuore del mainframe

singolo core. Questa differenza non sempre è così esplicita, un esempio lo vediamo nel IBM zEnterprise 196 Technical Introduction - SG24-7832-01 : nella fig. 3.9 al capitolo dal titolo 3.3.1 z196 MCM, sono identificati i sei chip contenenti i processori come PU0, PU1, ..., PU5. Ma successivamente, nel capitoli 3.5 e 3.6 si fa distinzione più appropriata tra Processor Chip e Processor Unit. Nello specifico riferendosi a Processor Unit si dice che:

“A PU is the generic term for the z/Architecture processor on the multi-chip module (MCM) or single chip module (SCM). A PU is imbedded in a System z chip core.”

Associando in questo modo il termine PU al core contenuto nel Chip. In questo quaderno utilizzeremo i termini PU Chip quando ci si riferisce al componente elettronico e PU solamente quando ci si riferisce ad un core.

La velocità del clock del PU Chip è di 5.2 GHz che ne ha fatto, dal momento dell’annuncio, il processore commerciale più veloce sul mercato. Altri aspetti tecnologici, che ne aumentano significativamente le prestazioni, sono:

• la possibilità di eseguire le istruzioni in modalità Out-of-Order (OOO)

• l’accesso in memoria per gli operandi delle istruzioni può non essere fatto nello stesso ordine delle istruzioni (out-of-order operand fetching).

•per ciascun ciclo si possono decodificare fino a 3 istruzioni

•per ciascun ciclo possono essere eseguite (completate) fino a 5 istruzioni

Nella Figura 5.6 è illustrato un PU chip con evidenziate le differenti componenti interne:

•I 4 core numerati da 0 a 3

• 2 coprocessori per la compressione e la crittografia dei dati. In figura sono identificati con l sigla CoP e sono situati verso la metà del PU Chip

• Una Memory Control Unit (MCU) per collegare il PU chip alla memoria con due differenti bus di I/O verso la memoria (MC IOs)

23

Figura 5.3 Interno di un PU Chip

Page 25: Viaggio al cuore del mainframe

• Analogamente alla memoria, per le I/O verso lo storage c’è il GX controller ed i bus per i dati (GX IOs)

• Il resto del chip è costituito dalle cache interne ed i relativi controllers per collegare le cache alla cache esterna

1.0 Le cache e la loro gerarchia

Precedentemente (Sez. 1 di questo capitolo) abbiamo visto che all’interno dell’MCM ci sono 198 MB di cache L4 condivisa mentre gli altri livelli sono così dislocati nell’interno del PU Chip:

• all’interno di ciascun core (PU):

- una cache L1 di 64K per le istruzioni e di 128K per i dati

• per ogni PU:- una cache di L2 di 1,5MB per dati ed istruzioni

• condivisa tra ognuno dei 4 PU all’interno di un PU chip:- una cache di L3 di 24MB

Nella Figura 5.3 è evidenziata a disposizione delle cache all’interno del chip mentre in Figura 4.3 è riportato lo schema logico della gerarchia interna al PU Chip. Ciascun PU collega, tramite due cache controller (L3_0 Controller e L3_1 Controller) la propria cache interna di tipo L3 con quella esterna di tipo L4 situata dentro i due Storage Control (SC) presenti nell’MCM.

Capire la gerarchia delle cache, la loro dislocazione e la loro connettività serve da una parte a realizzare meglio come sono raggiungibili le prestazioni del mainframe e, dall’altra a comprendere come si ottiene la connettività tra i differenti book.

Infatti riprendendo lo schema di Figura 3.2 ed arricchendolo con la struttura delle cache si ottiene lo schema di Figura 5.5 dove è evidente che le cache di tipo L4 (contenute nello Storage Controller) rappresentano l’anello di connessione tra i vari book ed il meccanismo che permette ad un processore su un book di operare con i dati presenti su un’altro book.

24

Figura 5.4 Schema logico delle cache

L1#64k/128K#

L2#1.5#MB#

L1#64k/128K#

L2#1.5#MB#

L1#64k/128K#

L2#1.5#MB#

L1#64k/128K#

L2#1.5#MB#

L3#24#MB#

Page 26: Viaggio al cuore del mainframe

2.0 Le connessioni tra i PU Chip

I collegamenti dall’MCM verso l’esterno li abbiamo visti nella precedente sezione nella Figura 5.2, ma come questi si realizzano all’interno dell’MCM tra i vari PU e la cache di tipo L4 li abbiamo solamente schematizzati in Figura 5.5 con le linee rosse e blu. In realtà queste linee rappresentano le connessioni che dal L3_x Controller interno al PU Chip vanno verso gli SC. Uno schema più puntuale dei collegamenti interni all’MCM è quello di Figura 5.6.

Figura 5.5 Interconnessione dei book

25

Figura 5.6 Connessioni tra PU Chip

Page 27: Viaggio al cuore del mainframe

SEZIONE 3

Fin’ora abbiamo visto i singoli PU come motori generici in grado di eseguire le istruzioni richieste. Sul mainframe i processori invece possono essere caratterizzati, ossia possono essere configurati e dedicati allo svolgimento di funzioni

specifiche. Vediamo prima di tutto quali sono le tipologie possibili in cui si possono specializzare:

• Central processor (CP) – E’ il processore standard, quello che viene messo a disposizione del sistema operativo.

Come si Caratterizzano i processori

26

Page 28: Viaggio al cuore del mainframe

• Internal Coupling Facility (ICF) – Viene utilizato dallo z/OS per realizzare i cluster di più sistemi. I PU caraterizzati come ICF possono eseguire esclusivamente il Coupling Facility Control Code (CFCC) che è appunto il codice dedicato al clustering z/OS.

• Integrated Facility for Linux (IFL) – Viene utilizzato dai sistemi operativi Linux e z/VM quando ospita dei sistemi Linux. Non è possibile far eseguire altri sistemi operativi su un IFL.

• System Assist Processor (SAP) – E’ dedicato elle operazioni di I/O. Alcuni SAP sono standard, ma se ne possono configurare degli altri in funzione delle esigenze di I/O.

• IBM System z Application Assist Processor (zAAP) - E’ un processore sfruttato dallo z/OS per far eseguire dei workloads particolari: la IBM Java VM e le operazioni su XML. In sintesi serve per allegerire i CP dal carico Java.

• IBM System z Integrated Information Processor (zIIP) – Anche questo viene utilizzato dallo z/OS e permette l’esecuzione di XML System Services, attività di IPSec, alcune attività della DB2 DRDA®, star schema, attività HiperSockets per messaggi di notevoli dimensioni, e l’attività scaturita dall’ IBM GBS Scalable Architecture for

Financial Reporting. In sintesi allegerisce i CP dal carichi relativi ai dati.

Sempre per quanto riguarda i PU è bene ricordare che alcuni vengono lasciati inutilizzati per poter sostituirne altri in caso di malfunzione; questi processori sono chiamati PU spare. A secona dei modelli il numero di PU spare in un book varia, ma ve ne sono sempre almeno due in un mainframe. In Figura 4.1 sono riportati i numeri di PU Spare, di SAP, di book utilizzati e di dimensioni dell’MCM a seconda dei modelli. Facciamo un esempio per capire meglio la tabella: consideriamo il modello M15, contiene un unico book (First book in tabella) con un MCM (ogni book contiene sempre e solo un MCM) che ha 20 PU (è riportato nella colonna MCM Size); di questi 2 sono Spare e 3 sono SAP come riportato nelle rispettive colonne;

quindi ne restano 15 utilizzabili.

27

Figura 5.7 PU disponibili in funzione dei modelli

Page 29: Viaggio al cuore del mainframe

28

zEnterprise EC12 rivoluzione dopo rivoluzione

Page 30: Viaggio al cuore del mainframe

Il 28 Agosto 2012 è stato annunciato da IBM il successore del sistema z196: lo zEnterprise EC12. Intanto notiamo il nome che, mentre per lo z196 significava il primo sistema con 96 processori, per quest’ultima macchina viene ripresa la numerazione delle generazioni (z9, z10 in precedenza) e quindi il nome contiene il numero della dodicesima generazione.

Se volessimo ripetere il viaggio “dai coperchi al processore” che abbiamo fatto per lo z196 il percorso ci proporrebbe molte similitudini. Ma dal punto di vista tecnologico delle prestazioni del processore ci sono significative novità.

Le frame restano sempre 2, ma l’aspetto estetico è decisamente nuovo. I book, all’interno del Processor Cage, possono essere al massimo 4 come prima.

L’MCM ha le stesse dimensioni e contiene sempre 2 SC che ora contengono ciascuno 192MB di cache e 6 PU Chip. Le maggiori novità sono relative ai PU Chip che sono con 6 core ciascuno e possono essere configurati, a seconda dei modelli, per avere 4, 5 o 6 core attivi.

La differenza iniziale che balza agli occhi è il clock del processore che, un po’ in controtendenza con le altre aziende produttrici di chip, è ancora aumentato: ora è di 5.5Ghz confermando anche l’EC12 come il sistema commerciale con il processore più veloce.

La sua tecnologia costruttiva è passata dai 45nm ai 32nm, ma senza pagare alcun pegno al consumo energetico. Gli strati di

interconnessioni in rame e tecnologie silicon-on insulator (SOI) sono diventati 15 invece che 13 ed ora un chip contiene 2.75 Bilioni di transistor.

La gerarchia di cache è stata migliorata, all’interno di ciascun core ora ci sono:

• L1 cache di 160 KB (96KB data + 64KB instructions)

• L2 cache di 2MB (prima era nel chip, ma esterna al core vedi Figura 5.3 e di 1.5MB)

29

Figura 6.1 Il PU Chip del nuovo EC12

Page 31: Viaggio al cuore del mainframe

Fuori dai core, ma sempre nel PU chip:

• L3 cache di 48MB (prima erano 24MB)

Realizzata dai due SC:

• L4 cache di 384MB

Quindi su questo fronte si hanno sia miglioramenti per la latenza in quanto ci sono più cache nei core che sull’efficacia delle cache quasi tutte raddoppiate.

Un’altra novità i più attenti l’hanno scoperta tra il confronto di Figura 6.1 con Figura 5.3, non appaiono più i coprocessori per la compressione e la crittografia. In realtà da 2 che erano sono diventati 6 e, grazie al maggior processo di miniaturizzazione, sono stati inseriti all’interno dei core stessi.

Altre novità introdotte nell’architettura sono:

• migliore meccanismo di branch prediction

• miglior del rapporto prestazioni/watt rispetto allo z196

• il design dei meccanismi di Out-of-Order execution è stato rinnovato aumentandone l’efficacia

• il DAT (Dynamic Address Tranlation) è stato modificato per supportare pagine di 2GB (prima erano di 1MB)

Le differenze descritte in questo fin qui sono quelle che maggiormente si sarebbero evidenziate in un confronto con i precedenti capitoli, ma non sono tutte quelle introdotte dal sistema EC12. Per una descrizione più dettagliata suggerisco di far riferimento ai Redbook IBM zEnterprise EC12 Technical Introduction SG24-8050-00 oppure al IBM zEnterprise EC12 Technical Guide SG24-8049-00 .

30

Page 32: Viaggio al cuore del mainframe

31

Conclusione

Page 33: Viaggio al cuore del mainframe

Termina qui il viaggio che, partendo dai coperchi del mainframe ci ha portato dritti verso il suo cuore: il processore. Si è voluto presentare con il suo nome ciascun componente incontrato e, nei limiti del possibile spiegarne brevemente il suo compito.

Ovviamente il percorso del viaggio è stato scelto da me in modo del tutto soggettivo includendo ed escludendo quello che ritenevo poco interessante. Ma come in tutte le comitive che prendono parte ai viaggi non è detto che tutti i lettori siano d’accordo. Quindi vi invito a farmi arrivare i vostri commenti e le vostre osservazioni su eventuali inesattezze in modo da poter migliorare e completare questa succinta pubblicazione.

Non posso non terminare senza ringraziare i miei familiari per aver sopportato i miei, più frequenti del solito, ritiri dietro al PC durante quest’estate per scrivere, leggere e correggere questo quaderno.

Un ringraziamento lo voglio anche fare a Ludovica Conte Marotta del Marketing IBM ed ad Alessandra Apicella delle Relazioni Esterne di IBM che mi hanno fornito preziosi suggerimenti in questa che per me è la prima esperienza di scrittura e condivisione.

32

Page 34: Viaggio al cuore del mainframe

33

APPENDICI

Page 35: Viaggio al cuore del mainframe

• IBM: z196 Specificationshttp://www-03.ibm.com/systems/z/hardware/zenterprise/z196_specs.html

• IBM: z196 System Overview – SA22-1086 http://www-304.ibm.com/support/docview.wss?uid=isg2c24bd608371def398525776100545fcb&aid=1

• IBM: IBM zEnterprise 196 Technical Introduction - SG24-7832-01 http://www.redbooks.ibm.com/redpieces/pdfs/sg247832.pdf

• IBM: IBM zEnterprise 196 Technical Guide - SG24-7833-01 http://www.redbooks.ibm.com/redpieces/pdfs/sg247833.pdf

• IBM: IBM zEnterprise System - Data Sheethttp://public.dhe.ibm.com/common/ssi/ecm/en/zsd03020usen/ZSD03020USEN.PDF

• IBM: IBM zEnterprise FAQhttp://www.ibm.com/common/ssi/cgi-bin/ssialias?infotype=SA&subtype=ST&htmlfid=ZSQ03051USEN&attachment=ZSQ03051USEN.PDF&appname=STG_ZS_USEN_FQ

• IBM: IBM System z Literature http://www-01.ibm.com/common/ssi/apilite?infotype=SA&infosubt=ST&lastdays=1825&hitlimit=200&ctvwcode=US&pubno=ZSQ*USEN&appname=STG_ZS_USEN_FQ&additional=summary&contents=keeponlit

• Slideshare.net: A closer look at the value of z enterprisehttp://www.slideshare.net/IBM_Software_Polska/session-2-a-closer-look-at-the-value-of-z-enterprise-v2

• WikipediA: Redundant array of independent memoryhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_memory

• WikipediA: Chipkill http://en.wikipedia.org/wiki/Chipkill

34

RIFERIMENTI

Page 36: Viaggio al cuore del mainframe

I contenuti di questa pubblicazione sono frutto di analisi e considerazioni dell’autore e non implicano in alcun modo il consenso IBM né alcun impegno da parte di essa.

Per inviare commenti ed osservazioni potete contattare l’autore in uno di questi siti web:

mainframeitalia: http://mainframeitalia.comFacebook: http://www.facebook.com/mainframeitaliaTwitter: http://www.twitter.com/mainframeitalia

La home page di IBM Italia è disponibile all'indirizzo http://www.ibm.com/it/it/

La lista aggiornata dei marchi registrati di IBM è disponibile sul sito http://www.ibm.com/legal/us/en/copytrade.shtml alla voce "Copyright and trademark information".

Intel, il logo Intel, Intel Inside e Intel Xeon sono marchi registrati di Intel Corporation o delle sue filiali negli Stati Uniti e/o in altri Paesi.

Linux è un marchio registrato di Linus Torvalds negli Stati Uniti e/o in altri Paesi.

UNIX è un marchio di The Open Group negli Stati Uniti e/o in altri Paesi.

Windows è un marchio registrato di Microsoft Corporation negli Stati Uniti e/o in altri Paesi.

Altre denominazioni ivi citate, prodotti e nomi di servizi possono essere marchi registrati dei rispettivi titolari.

35

COPYRIGHT

Page 37: Viaggio al cuore del mainframe

36

I riferimenti contenuti in questa pubblicazione a prodotti, programmi e servizi IBM non implicano che IBM intenda renderli disponibili in tutti i Paesi in cui opera.

Qualunque riferimento a prodotti, programmi o servizi IBM non implica l'utilizzo esclusivo di prodotti, programmi o servizi IBM. Prodotti, programmi o servizi funzionalmente equivalenti possono essere utilizzati.

Questa pubblicazione è fornita esclusivamente a titolo informativo.Le informazioni sono soggette a modifica senza preavviso.

Per informazioni aggiornate sui prodotti e sui servizi IBM visitare la home page di IBM Italia.