L'obiettivo di questo documento è rispondere alle domande relative al nuovo AMP Engine. Il documento è destinato ad amministratori esistenti e a nuovi utenti.
Per ulteriori informazioni su AMP Engine, consulta le pagine di assistenza Alteryx AMP Engine e Engine.
Per ulteriori informazioni sui requisiti di sistema di Server, consulta la pagina di assistenza Requisiti di sistema.
Per la maggior parte dei casi di utilizzo, AMP Engine offre miglioramenti significativi in termini di prestazioni ed efficienza rispetto all'engine originale, se supportato da risorse di sistema sufficienti. Per ulteriori informazioni sui requisiti e sulle raccomandazioni delle risorse di sistema, vedere le sezioni Come gestire le risorse di sistema con AMP? e Quali sono i requisiti di sistema di AMP Engine?.
AMP è progettato per funzionare con volumi di dati più grandi a velocità più elevata e in genere esegue i flussi di lavoro più rapidamente, sfruttando in modo più completo le risorse del computer rispetto all'engine originale.
L'architettura dell'engine originale consente principalmente l'elaborazione a thread singolo, in cui i dati vengono elaborati record per record in sequenza. D'altra parte, il nuovo concetto AMP consente un'elaborazione massicciamente multi-thread. AMP elabora i record in pacchetti per migliorare i tempi di esecuzione e permette di eseguire gli strumenti in parallelo. AMP utilizza anche algoritmi più efficienti per il raggruppamento e l'ordinamento dei record, che possono influire sull'ordine dei record di output.
L'articolo AMPlificazione dei flussi di lavoro descrive alcuni dei vantaggi dell'uso di AMP Engine in termini di prestazioni:
Gli strumenti più comunemente utilizzati offrono le migliori prestazioni su AMP.
In genere, il vantaggio di AMP aumenta in proporzione alle dimensioni dei dati.
Le prestazioni variano in base alle dimensioni dei dati, all'hardware sottostante, all'infrastruttura del data center e della rete, alla configurazione di Alteryx Server e alla costruzione del flusso di lavoro.
AMP è attivo in Designer per impostazione predefinita per i nuovi flussi di lavoro. Per le nuove installazioni di Server o i nuovi worker sulle installazioni Server esistenti, l'impostazione predefinita prevede l'esecuzione di AMP Engine e dell'engine originale. Le impostazioni del flusso di lavoro determinano l'engine utilizzato.
Nota
Quando esegui l'aggiornamento alla versione 2022.1 di Server, ti consigliamo di convalidare le impostazioni dell'engine e le allocazioni delle risorse. La nuova funzionalità "Consenti a Server di gestire i flussi di lavoro eseguiti contemporaneamente" e l'abilitazione di AMP per impostazione predefinita possono causare la modifica delle impostazioni nell'ambiente.
Se desideri mantenere le impostazioni di sistema della versione Server esistente, leggi queste istruzioni prima di eseguire l'aggiornamento.
1. Controller > Generale > Abilita AMP Engine
Prima di eseguire l'aggiornamento, annota le impostazioni correnti.
Dopo l'aggiornamento, ripristina il valore desiderato della selezione.
2. Worker > Generale > Consenti a Server di gestire i flussi di lavoro eseguiti contemporaneamente
Prima di eseguire l'aggiornamento, annota il numero di "flussi di lavoro che possono essere eseguiti contemporaneamente" impostato.
Dopo l'aggiornamento, deseleziona Consenti a Server di gestire i flussi di lavoro eseguiti contemporaneamente.
Immetti il numero di "flussi di lavoro che possono essere eseguiti contemporaneamente" salvato.
3. Engine > Generale > Engine
Prima di eseguire l'aggiornamento, annota le impostazioni correnti.
Dopo l'aggiornamento, ripristina il valore desiderato della selezione.
4. Engine > Generale > Esegui engine con priorità più bassa
Prima di eseguire l'aggiornamento, annota le impostazioni correnti.
Dopo l'aggiornamento, ripristina il valore desiderato della selezione.
Consigliamo di utilizzare le nuove opzioni Consenti a Server di gestire i flussi di lavoro eseguiti contemporaneamente e Consenti a Server di gestire le risorse dell'engine. La logica aggiunta consente ad ogni istanza dell'engine di operare nei limiti di memoria e CPU logica definiti in Impostazioni di sistema. Gli amministratori devono evitare allocazioni in eccesso se impostano questi valori manualmente anziché tramite Server.
Quando attivi le opzioni Consenti a Server di gestire i flussi di lavoro eseguiti contemporaneamente e Consenti a Server di gestire le risorse dell'engine, Server calcola il numero di processi simultanei, nonché i thread (core) della CPU e la quantità di memoria da allocare per ogni processo all'avvio del servizio. Questi calcoli si basano sul totale di core della CPU disponibili e sulle risorse di memoria di sistema totali sul computer host. Sono inoltre progettati per ottimizzare le prestazioni AMP per l'hardware disponibile in base ai risultati dell'analisi comparativa. Di seguito sono riportate le formule per tali calcoli:
Formule di calcolo
Processi simultanei
numero di processi simultanei = piano (conteggio processore fisico/2)
Limite di memoria
limite di memoria = IF(MongoDB abilitato sul nodo, (((RAM fisica totale/2) - 4096) / Numero di processi simultanei) , (RAM fisica totale / (Numero di processi simultanei +2)) )
Per i computer Server che fungono sia da worker che da controller con MongoDB integrato, il Limite di memoria (MB) viene calcolato automaticamente secondo la seguente formula:
(((RAM fisica totale/2) - 4096) / Numero di processi simultanei)
Per i worker autonomi, viene allocata più memoria per eseguire flussi di lavoro in base alla seguente formula:
(RAM fisica totale / (numero di processi simultanei +2))
Se il risultato delle formule è inferiore a 2 GB, imposta il limite di memoria su un minimo di 2 GB per essere certi che l'engine venga eseguito.
Elaborazione dei thread
Numero predefinito di thread di elaborazione = [LogicalCores]
Consigliamo di seguire queste linee guida per ottenere prestazioni ottimali durante l'impostazione manuale di questi valori:
Memoria per flusso di lavoro in esecuzione: 8 GB per flusso di lavoro è il valore minimo consigliato per ottenere prestazioni ottimali con AMP.
CPU per flusso di lavoro in esecuzione: 1 flusso di lavoro in esecuzione simultanea per 2 core fisici.
Numero di core fisici per nodo: per prestazioni ottimali, si consiglia di utilizzare 8 core fisici per nodo e di scalare orizzontalmente sui nodi aggiuntivi. Generalmente, ciò significa 4 flussi di lavoro in esecuzione simultanea per nodo.
Numero massimo di AMP Engine eseguiti in parallelo: dipende interamente dall'hardware. In teoria, potresti eseguire contemporaneamente 16 processi solo su AMP oppure su AMP e sull'engine originale se disponi di un worker con 128 core logici e 160 GB di RAM. Tuttavia, in questo caso aumenterebbe la probabilità di creare colli di bottiglia a livello di I/O del disco e di larghezza di banda della rete. Le prestazioni dell'engine originale e di AMP saranno limitate dall'I/O del disco e dalla larghezza di banda della rete, a seconda delle dimensioni dei dati e della loro provenienza e destinazione.
Numero massimo di AMP Engine in esecuzione contemporaneamente a E1: Server non distingue i processi di AMP Engine e di un engine originale. Server si limita a inviare il flusso di lavoro a engine, che determina se deve essere eseguito tramite AMP o tramite l'engine originale. Pertanto, Server presuppone che tutti i processi siano AMP se AMP Engine è attivato.
Le nostre formule per calcolare le risorse tengono già conto di questi suggerimenti. Per ulteriori informazioni, consulta la sezione Engine.
Per i requisiti di sistema più recenti di Server, consulta la pagina di assistenza Requisiti di sistema di Server. Abbiamo suddiviso i nostri suggerimenti in due categorie: Requisiti hardware minimi e Hardware consigliato per carichi di lavoro a elaborazione intensiva.
I requisiti hardware minimi di Server sono definiti come i componenti hardware essenziali per un'installazione stabile di Alteryx Server. L'assenza dei requisiti minimi può causare il peggioramento delle prestazioni e l'arresto casuale del servizio su qualsiasi nodo in cui l'engine è in esecuzione.
Per il numero desiderato di flussi di lavoro simultanei sono consigliati i seguenti requisiti hardware minimi:
Numero desiderato di flussi di lavoro simultanei | Requisiti minimi di sistema | |
---|---|---|
Memoria (GB di RAM) | Core fisici | |
2 | 32 | 4 |
3 | 48 | 6 |
4 | 64 | 8 |
5 | 80 | 10 |
6 | 96 | 12 |
7 | 112 | 14 |
8 | 128 | 16 |
Le raccomandazioni hardware per server per carichi di lavoro a elaborazione intensiva sono le specifiche ideali che permettono al server di eseguire flussi di lavoro impegnativi nel modo più efficiente possibile. Ciò è fondamentale per ridurre la congestione nei sistemi caratterizzati da un'attività intensa.
Le seguenti specifiche hardware sono consigliate per i carichi di lavoro a elaborazione intensiva:
Numero desiderato di flussi di lavoro simultanei | Raccomandazioni per carichi di lavoro a elaborazione intensiva | ||
---|---|---|---|
Memoria (GB di RAM) | Core fisici | Core logici* | |
2 | 64 | 8 | 16 |
3 | 96 | 12 | 24 |
4 | 128 | 16 | 32 |
5 | 160 | 20 | 40 |
6 | 192 | 24 | 48 |
7 | 224 | 28 | 56 |
8 | 256 | 32 | 64 |
*I core logici sono vCPU o core logici all'interno di un core fisico. La standardizzazione per il riferimento ai core logici è un modo per eseguire confronti coerenti tra i server fisici locali e i server virtuali nel cloud. Intel hyperthreading, AMD SMT, rapporto 2:1 tra vCPU e core fisico.
Prima della versione 2022.1, AMP era disponibile su Server ma disattivato per impostazione predefinita.
A partire dalla release 2022.1, per le nuove installazioni di Server il controller e il worker consentono l'esecuzione di AMP Engine e dell'engine originale per impostazione predefinita. Per le installazioni di Server esistenti, le impostazioni del controller e del worker potrebbero subire delle modifiche e i nuovi worker potranno consentire l'esecuzione di AMP Engine e dell'engine originale per impostazione predefinita. Se desideri evitare che ciò accada, consulta la nostra nota su come mantenere le impostazioni correnti.
Le impostazioni per l'attivazione di AMP Engine nei nodi del controller e del worker sono disponibili nelle impostazioni di sistema di Alteryx. Ora sono presenti altre impostazioni per la gestione delle allocazioni hardware per ciascun engine. È anche presente un'impostazione consigliata per consentire a Server di gestire le risorse dell'engine.
Impostazioni di sistema per le installazioni di Server esistenti:
Controller > Generale > Abilita AMP Engine Se hai modificato questo valore, la modifica verrà mantenuta dopo l'upgrade, indipendentemente dal valore impostato. Se non hai mai modificato questa impostazione, lasciandola deselezionata per impostazione predefinita, la casella di spunta verrà selezionata e AMP sarà attivo per impostazione predefinita.
Worker > Generale > Consenti a Server di gestire i flussi di lavoro eseguiti contemporaneamente ha come impostazione predefinita True per tutti i worker. Quando questa impostazione è impostata su True, non è possibile definire il numero di flussi di lavoro che possono essere eseguiti contemporaneamente.
Il parametro Flussi di lavoro che possono essere eseguiti contemporaneamente viene calcolato automaticamente all'avvio del servizio, in base alla CPU e alla memoria totali disponibili in questo nodo.
Engine > Generale > Engine: se non hai mai modificato questo valore, il valore verrà mantenuto dopo l'aggiornamento, indipendentemente dal valore impostato. Se non hai mai modificato questa impostazione e hai sempre utilizzato l'opzione predefinita dell'engine originale, il nuovo valore predefinito sarà Entrambi gli engine.
Engine > Generale > Consenti a Server i gestire le risorse dell'engine è una nuova impostazione che ha come valore predefinito False.
La formula Engine > Generale > Limite di memoria per il calcolo del valore predefinito è stata modificata.
La formula Engine > Generale > Numero predefinito di thread di elaborazione per il calcolo del valore predefinito è stata modificata.
Engine > Generale > Esegui engine con priorità più bassa: se hai cambiato questo valore, la modifica verrà mantenuta dopo l'aggiornamento, indipendentemente dal valore impostato. Se hai sempre utilizzato il valore predefinito False, dopo l'aggiornamento il nuovo valore predefinito sarà impostato su True.
Impostazioni di sistema per le nuove installazioni di Server:
La casella di spunta Controller > Generale > Abilita AMP Engine assume come valore predefinito True.
Worker > Generale > Consenti a Server di gestire i flussi di lavoro eseguiti contemporaneamente ha come impostazione predefinita True per tutti i worker.
Il parametro Flussi di lavoro che possono essere eseguiti contemporaneamente viene calcolato automaticamente all'avvio del servizio in base alla CPU e alla memoria totali disponibili in questo nodo.
Il menu a discesa Engine > Generale > Engine ha come valore predefinito Entrambi gli engine.
Engine > Generale > Consenti a Server di gestire le risorse dell'engine ha come valore predefinito False.
La formula Engine > Generale > Limite di memoria per il calcolo del valore predefinito è stata modificata.
La formula Engine > Generale > Numero predefinito di thread di elaborazione per il calcolo del valore predefinito è stata modificata.
Engine > Generale > Esegui engine con priorità più bassa assume come valore predefinito True.
Gli utenti possono tornare alle impostazioni precedenti (ovvero disattivare AMP in Server)?
Se l'amministratore non desidera utilizzare AMP, dovrà disattivarlo manualmente. Vedi l'immagine seguente per l'impostazione dell'engine nella sezione Configurazione generale del controller delle impostazioni di sistema.
Se l'amministratore desidera disattivare AMP su alcuni nodi del worker, può farlo nella sezione Configurazione engine delle impostazioni di sistema. Di seguito è mostrata l'impostazione del menu a discesa Engine. Nell'immagine seguente il parametro è impostato su Entrambi gli engine ma è possibile selezionare l'opzione Engine originale. Entrambi gli engine è l'impostazione predefinita in un nuovo ambiente Server.
Non esiste un limite di memoria distinto. In Impostazioni di sistema, il campo Engine > Generale > Limite di memoria si applica all'engine. Si applica a Designer e a Server, indipendentemente da dove è in esecuzione l'engine.
Designer esegue solo un flusso di lavoro alla volta, pertanto le limitazioni sono diverse ed è prevista una maggiore tolleranza.
AMP è attivato automaticamente nel sistema che, per impostazione predefinita, ne configura tutte le impostazioni. Gli utenti devono apportare modifiche solo se desiderano disattivare l'opzione. Consulta le risposte in Quali modifiche sono state introdotte in Designer e Server?
Assicurati che vengano soddisfatti i requisiti hardware minimi al fine di mantenere un ambiente Server stabile.
No, i flussi di lavoro verranno eseguiti esattamente come prima.
Quando un flusso di lavoro viene salvato in Designer, nell'opzione Runtime è possibile scegliere di utilizzare o meno AMP Engine. Qualsiasi opzione salvata in Designer verrà rispettata in Server. Server non ignorerà mai l'opzione dell'engine relativa al flusso di lavoro. Pertanto, l'esecuzione di AMP e dell'engine originale su Server non causerà l'esecuzione dei flussi di lavoro salvati come engine originale con AMP Engine. Se un flusso di lavoro viene salvato con AMP Engine e AMP non è abilitato in Server, il flusso in questione NON verrà eseguito come engine originale e avrà esito negativo.
Per eseguire come AMP un flusso di lavoro precedentemente salvato come engine originale, il flusso di lavoro deve essere salvato nuovamente in Designer con l'impostazione Usa AMP Engine selezionata.
L'esecuzione dei flussi di lavoro in AMP può modificare l'ordine delle righe di output risultanti perché alcune operazioni vengono eseguite in parallelo. Tieni presente questo aspetto e verifica se i processi si basano sull'ordine dell'output. In tal caso, puoi modificare i flussi di lavoro per garantire l'ordine dell'engine originale. Per ulteriori informazioni, consulta Modalità di compatibilità dell'engine.
È probabile che vi siano variazioni nel tempo di esecuzione di ogni flusso di lavoro.
In generale, i processi dei flussi di lavoro AMP vengono eseguiti in modo molto più rapido con il numero corretto di core di elaborazione.
In alcuni casi, l'esecuzione dei processi su AMP può richiedere più tempo rispetto all'engine originale, soprattutto se i flussi di lavoro richiedono un uso intensivo della CPU e il numero di thread per flusso di lavoro è basso.
La qualità del servizio (QoS) resterà invariata.
Se le risorse sono adeguate, i flussi di lavoro di AMP e dell'engine originale dovrebbero essere prevedibili (utilizzando una nuova baseline invece di ricorrere solo ai risultati cronologici delle prestazioni dell'engine originale). Non sono prevedibili solo in caso di allocazione di un numero insufficiente di risorse hardware di un worker (engine originale e AMP si contendono le risorse).
È possibile salvare il flusso di lavoro su Server con AMP attivato e salvarne una copia con AMP disattivato ed eseguire ogni flusso di lavoro alcune volte per stabilire quale offre prestazioni migliori. Tieni inoltre presente che la velocità dei flussi di lavoro AMP è maggiore se vengono eseguiti contemporaneamente ad altri flussi dello stesso tipo.
Il limite di memoria di configurazione dell'engine si applica all'engine, originale o AMP. La differenza sta nel modo in cui ciascun engine gestisce tale limite:
L'engine originale preassegna l'intero limite.
AMP assegna la quantità necessaria fino al limite di memoria.
Si tratta di un uso più efficiente delle risorse. L'engine originale è caratterizzato da thread multipli, anche se non in numero eccessivo. AMP è molto più efficace per l'esecuzione dei processi in serie. I vantaggi sono visibili in termini di capacità di throughput totale, più alta con AMP rispetto all'engine originale.
Server ora è in grado di analizzare l'hardware e di allocare le risorse appropriate per ogni engine. Pur non essendo paragonabile alla gestione delle risorse di un sistema operativo, questa nuova funzionalità permette a Server di svolgere un'attività analoga.
Assegniamo automaticamente il numero di processi che possono essere eseguiti contemporaneamente in base alle risorse hardware totali, se l'amministratore configura tale funzione. Per ulteriori informazioni sulla configurazione dei worker, consulta la pagina di assistenza Worker.
No, le risorse vengono allocate per ogni processo dell'engine. Ogni processo avrebbe le proprie risorse a disposizione, il che significa che non ci dovrebbero essere conflitti di risorse tra i processi.
Webinar su AMP Engine (32 minuti)
Alteryx Engine e AMP: differenze principali
Utilizzo dello strumento con AMP
Accelera i processi analitici con il nuovo AMP Engine
Informazioni su Alteryx AMP Engine
Approfondimenti tecnici su AMP Engine | Parte 1 | Perché scegliere AMP?
Approfondimenti tecnici su AMP Engine | Parte 2 | Concetti chiave di AMP Engine