2010-10-26 39 views
26

Cos'è la piattaforma Azul "Zing"?
Visitare il sito Azul (link) si è trasformato in un orrore del marketing e, dopo aver attraversato ogni piccola parte di esso, non ne ho ancora la minima idea.Che cos'è Azul "Zing"?

Qualcuno ha qualche esperienza con esso? Quali sono i requisiti per la tua applicazione "Zing"? (Zing-able?) Se, ad esempio, ho un'applicazione che carica un grafo di oggetti in memoria e ne percorre costantemente enormi blocchi (quindi la maggior parte è "calda" - non può memorizzare parti in data store lenti) - può aiutarmi Azul? (So ​​già che Terracotta BigMemory non può ...)

Voglio chiarire - Sto cercando un riscontro da qualcuno che in realtà ha "zingificato" il suo prodotto e lo ha inserito correttamente su Azul VM (o l'ha visto non funziona).

Ran.

[Edit 1 - aggiunto il link page] [Edit 2- Esperienza voleva]

+0

Anche se la pagina è un horror di marketing, il collegamento ad essa sarebbe d'aiuto. –

+0

@ Joachim: hai ragione. fatto. –

risposta

29

Ricordare cosa Azul utilizzato per fare: creare appliance multicore Java personalizzate. Una macchina di Azul poteva avere 60 o 100 core e c'erano tutti i tipi di intelligenza per sfruttare la parallelizzazione (quello che mi ha impressionato era il blocco ottimistico: un thread che avrebbe dovuto ottenere una serratura presumeva che avesse il lucchetto e è andato avanti e se poi si è scoperto che, no, avrebbe dovuto bloccarsi, in qualche modo ha svolto tutte le sue modifiche e tornò indietro e aspettò).

Il problema è, naturalmente, che l'hardware personalizzato è un cimitero. Azul aveva passato tutto questo tempo a fare software per l'hardware che nessuno avrebbe mai comprato. Quindi, come azienda, imitavano il loro prodotto: eseguivano il backup, svolgevano i loro cambiamenti e portavano tutte le loro abilità (il blocco ottimistico, l'hypervisor, altre cose) dall'hardware personalizzato alle macchine multicore di merci, quindi invece di pagare $ 100.000 per un 80 - Macchina principale, puoi spendere $ 20.000 per 10 macchine a otto core in un cloud *.

[* Tutti i numeri sono stati estratti chirurgicamente dalla mia anatomia. ]

È una buona idea? Funziona? Non lo so, ma lo spero. Ho incontrato tutti i ragazzi Azul al JavaOne del 2003 e mi hanno davvero impressionato.

+1

ma non hai alcuna esperienza reale con il loro prodotto, giusto? –

+0

No, ma forse dovresti chiedere a Zing dei riferimenti. – Malvolio

+0

premiato - ma è (quasi) la scelta di hobson. Scusa, stavo cercando una risposta critica basata sull'esperienza. Forse avrei dovuto offrire una taglia più grande? –

12

In poche parole - si tratta di una JVM "speciale" che è molto performante. Cioè invece di usare il sole JVM, usi Zing. Senza modifiche al codice. Quindi, in teoria, tutte le applicazioni sono "zingabili". Non posso dirti se le affermazioni di miglioramento delle prestazioni sono vere, però.

+0

Speravo ancora nella risposta ... –

+0

beh, scusa, non ne ho esperienza. Solo alcune conoscenze comuni. – Bozho

+2

Non credo che * molto performante * sia la parola giusta - direi che ha una latenza * migliore * (grazie al miglioramento del sistema GC). –

20

Ero abituato a leggere documenti di ricerca su Garbage Collection, per divertimento (mi sento molto meglio ora, grazie per avermelo chiesto). Un thread comune attraverso di loro era: "Questi algoritmi sarebbero più veloci/fattibili se avessimo il supporto hardware per le barriere di scrittura".

C'è un problema di blocco lettura-scrittura con GC. Non puoi capire cosa è spazzatura se l'app continua a spostare i puntatori mentre stai cercando di fare l'inventario. Un trucco che le persone hanno provato ripetutamente sta cambiando il modo in cui i puntatori di scrittura funzionano per tenere traccia dei cambiamenti. Questa è chiamata una barriera di scrittura perché non è possibile scrivere senza fare la contabilità. Ciò consente all'app e al GC di essere eseguiti allo stesso tempo, ma in molti casi si è rivelato che l'app veniva eseguita troppo lentamente.

Intel ha dovuto risolvere un problema di barriera di scrittura simile per rendere la virtualizzazione senza problemi - come faccio a eseguire un'app che sta facendo memoria virtuale all'interno di un sistema operativo che sta già facendo memoria virtuale? Secondo quanto riferito, Zing utilizza queste funzionalità per trasformare la JVM in una vera e propria macchina virtuale e sfruttare queste funzionalità per rendere GC veloce. Più veloce è il GC, più grande è l'heap che puoi gestire.

+3

Spero che tu ti senta meglio. Ho letto i loro articoli tecnici e l'articolo di teoria. Mi interessava l'esperienza del mondo reale con la piattaforma. –

16

Attualmente stiamo eseguendo Zing sulle nostre grandi macchine RAM da 256 GB. Questo è molto nuovo per noi al momento e siamo fiduciosi che le cose andranno meglio.

Attualmente il nostro sistema è molto più lento di un tempo. MA questo è estremamente presto e già possiamo dirvi che il supporto Zing sta già dimostrando di essere eccellente. L'uso di ZVision ci sta già dando degli indizi sul nostro rallentamento.

Siamo già in grado di utilizzare la RAM extra, ma è necessario aggiornare il kernel Linux per utilizzare più di 16 core.

Abbiamo avuto la stessa lentezza iniziale durante l'esecuzione di RedHat Enterprise. Ora stiamo eseguendo la KVM con il server 10.04 di Ubuntu. Finora non vediamo alcuna differenza (che è un grande risparmio).

Man mano che acquisiremo più esperienza durante la prossima settimana, trasmetterò i risultati.

+11

puoi, per favore, aggiornare il tuo post? –

+9

+1 sperando in un aggiornamento ... – ach

+0

e la "settimana prossima" era quasi 6 anni fa ;-) –

Problemi correlati