Ottimizzazione del parallelismo Intraquery (parallelismo per ottimizzare le performance della singola query) ed Interquery (parallelismo per ottimizzare le performance del motore in presenza di query concorrenti).

Punti di intervento:
• Miglioramenti della gestione dell’Heap per ridurre gli effetti negativi della Heap Contention (frequenti richieste concorrenti di allocazione dinamica di segmenti di memoria da parte di thread).
• Nuovi algoritmi per la gestione automatica e/o guidata del parallelismo nei Nested Loop.
• Resizing dei buffer locali ad alcuni algoritmi paralleli per l’ottimizzazione dell’utilizzo della cache di primo e di secondo livello.
• Ridisegno degli algoritmi paralleli e della loro schedulazione per ridurre la frequenza degli switch context dei thread.

Risultati:
• Tempi complessivi di throughput delle query migliorati di un ordine di grandezza in presenza di numerose richieste concorrenti.
• Tempi di risposta migliorati del 50% in presenza di query con operatori di Union e riduzione del picco di utilizzo della RAM del 50%.