Introduzione a Fusion-io

Fusion-io sviluppa schede di memoria flash NAND basate su PCIe e software correlato che si può utilizzare per velocizzare i database MariaDB.

I prodotti ioDrive servono come blocchi di dispositivi (dischi super-veloci) o per estendere la memoria DRAM. ioDrive viene rilasciato installandolo su un server x86 e installando il driver delle schede nel sistema operativo. Tutti i principali sistemi a 64 bit e gli hypervisor sono supportati: RHEL, CentOS, SuSe, Debian, OEL, etc., oltre a VMware, Microsoft Windows/Server, etc. I driver e le loro funzionalità sono costantemente in sviluppo.

Le schede ioDrive aupportano il RAID software ed è possibile combinare due o più schede fisiche in un drive logico. Tramite l'ioMemory SDK e le sue API, è possibile integrare e abilitare una cooperazione più approfondita tra il proprio software e le schede - riducendo quindi la latenza.

Il differenziatore di chiavi tra Fusion-io e un SSD/HDD ereditario funziona in questo modo: La scheda Fusion-io è connessa direttamente nel bus del sistema (PCIe), il che permette un elevato trasferimento di dati (1.5 GB/s, 3.0 GB/s o 6GB/s) e un metodo veloce di accesso diretto alla memoria (DMA) che può essere usato per il trasferimento. Lo stack dei protocolli ATA/SATA è omesso e di conseguenza la latenza è minore. Le prestazioni di Fusion-io dipendono dalla velocità del server: più i processori sono veloci e più è recente la versione dei bus PCIe, migliori sono le performance di ioDrive. La memoria Fusion-io non è volatile: in altre parole, i dati rimangono nella scheda anche se il server viene spento.

Casi d'uso

  1. Si inizia ad usare ioDrive per i file dei database sui quali l'accesso è molto casuale.
  2. L'intero database è su ioDrive.
  3. Eliminazione del doppio buffer in scrittura di InnoDB (Fusion-io ha una patch che garantisce le modifiche atomiche, il che rende inutile il doppio buffer).
  4. Uso di ioDrive come una cache di lettura attraverso la quale si può scrivere. Questo è possibile a livello di server con il software directCache di Fusion-io o in ambienti VMware tramite il software ioTurbine o il prodotto ioCache. Le letture avvengono da ioDrive e le modifiche vanno direttamente su SAN o su disco.
  5. Storage condiviso ad alta disponibilità con ION. Si hanno due host diversi forniti di schede Fusion-io e dati condivisi/replicati con il software ION di Fusion-io.
  6. Il lussuoso setup Platinum: MariaDB Galera Cluster che gira sulle schede SLC di Fusion-io su diversi host.

Suggerimenti per lo sviluppo futuro

  • Generalizzare la patch del doppio buffer di scrittura di Fusion-io in modo che questa disabiliti automaticamente il doppio buffer di scrittura per i file che si trovano su Fusion-IO.
  • Estendere la cache del disco di InnoDB in modo che venga registrata in Fusion-io, agendo come memoria estesa.

Impostazioni per migliorare le prestazioni

La memoria Fusion-io può essere formattata impostando le dimensioni dei settori a 512 o a 4096 byte. I settori più grandi dovrebbero essere più rapidi, ma solo se l'I/O è fatto in blocchi di 4KB o multipli di questo numero. Per quanto riguarda MariaDB: se nella memoria Fusion-io vengono registrati solo i file dei dati di InnoDB, tutto l'I/O è in blocchi di 16K e perciò possono essere utilizzati settori di 4K. Se il redo log di InnoDB (blocchi di I/O: 512 byte) viene messo nella stessa memoria Fusion-io, è meglio usare i settori più piccoli.

Nota: XtraDB ha una caratteristica sperimentale che consiste nell'aumento dei blocchi dei log a 4K. Se questa funzionalità è abilitata, l'I/O del redo log e quello delle pagine di InnoDB corrispondono ai settori di 4K.

Per quanto riguarda i file system: attualmente XFS dovrebbe garantire le prestazioni migliori a MySQL. Tuttavia a seconda della versione precisa di XFS in uso, si potrebbe essere affetti da un bug che limita di molto le performance di XFS negli ambienti concorrenti.

Per la macchina "pitbull" dove sono stati eseguiti i test, ext4 è risultato più prestante di xfs con 32 o più thread:

  • fino a 8 thread xfs era leggermente più veloce (media del 10%).
  • con 16 thread c'era un pareggio (2036 tps contro 2070 tps).
  • con 32 thread ext4 era più veloce del 28% (2345 tps contro 1829 tps).
  • con 64 thread ext4 era più veloce addirittura del 47% (2362 tps contro 1601 tps).
  • con una concorrenza maggiore ext4 ha perso la sua grinta, tuttavia era costantemente migliore di xfs.

Questi numeri riguardano i dischi che girano. Si suppone che con le memorie Fusion-io le cifre di XFS siano anche peggio.

Esempio di configurazione

GE-Fusionio-MariaDB

Modelli di schede

Esistono diversi modelli di schede. ioDrive è la generazione più vecchia, ioDrive2 è più recente. SLC sostiene più operazioni di scrittura. MLC va abbastanza bene per un uso normale.

  1. ioDrive2, capacità per scheda 365GB, 785GB, 1.2TB con MLC. 400GB e 600GB con SLC, performance fino a 535000 IOPS & 1.5GB/s larghezza di banda
  2. ioDrive2 Duo, capacità per scheda 2.4TB MLC e 1.2TB SLC, performance fino a 935000 IOPS & 3.0GB/s larghezza di banda
  3. ioDrive, capacità per scheda 320GB, 640GB MLC e 160GB, 320GB SLC, performance fino a 145000 IOPS & 790MB/s larghezza di banda
  4. ioDrive Duo, capacità per scheda 640GB, 1.28TB MLC e 320GB, 640GB SLC, performance fino a 285000 IOPS & 1.5GB/s larghezza di banda
  5. ioDrive Octal, capacità per scheda 5TB e 10TB MLC, performance fino a 1350000 IOPS & 6.7GB/s larghezza di banda
  6. ioFX, un prodotto workstation con 420GB QDP MLC, 1.4GB/s larghezza di banda
  7. ioCache, una scheda con 600GB MLC venduta insieme al software ioTurbine, che può essere utilizzato per velocizzare i virtual host basati su VMware
  8. ioScale, 3.2TB card, building block to enable all-flash data center build out in hyperscale web and cloud environments. Product has been developed in co-operation with Facebook.

Software aggiuntivo

  • directCache - trasforma ioDrive perché lavori come una cache in lettura sul server. Le scritture vanno direttamente nella SAN
  • ioTurbine - software di cache in lettura per VMware
  • ION - trasforma ioDrive in uno storage che può essere condiviso
  • ioSphere - software per gestire e monitorare diversi ioDrive

Commenti

Sto caricando i commenti......
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.