Uso dell'esecuzione parallela nei set di regole

In alcuni casi, l'esecuzione di regole in parallelo può ottimizzare le performance complessive in Profitability and Cost Management. Le opzioni di calcolo sono impostate a livello di set di regole e interessano tutte le regole incluse nel set di regole. L'opzione predefinita per tutti i set di regole è l'elaborazione sequenziale. ovvero ogni regola viene eseguita individualmente e tutte le regole incluse nel set di regole vengono eseguite una alla volta.

Regole ed esecuzione parallela

Le regole hanno spesso un impatto sull'esecuzione delle altre regole. Se una regola esegue l'allocazione nell'intervallo di origine di un'altra regola, la sequenza di esecuzione delle regole può essere caratterizzata da un impatto negativo sul risultato finale. Questo è il motivo per cui l'opzione di calcolo predefinita corrisponde all'esecuzione sequenziale.

Se sono presenti regole che possono essere eseguite in parallelo senza problemi, l'uso dell'opzione di esecuzione parallela del calcolo può comportare il miglioramento delle performance. Impostare l'opzione Elaborazione parallela per il set o i set di regole che si desidera abilitare. È inoltre necessario impostare l'opzione relativa al numero massimo di thread concorrenti nella schermata Proprietà applicazione.

Ottimizzazione del numero di thread

L'individuazione del numero corretto di thread concorrenti è frutto della sperimentazione. Si arriva, infatti, a un punto in cui non si rilevano più miglioramenti a livello di performance e pertanto l'uso di un maggior numero di thread per avviare regole aggiuntive diventa controproducente. La procedura consigliata per l'esecuzione parallela del calcolo è provare inizialmente a usare set di regole con quattro thread concorrenti e gradualmente aumentare il numero di thread finché non vengono più rilevati miglioramenti a livello di performance. Se le regole che non presentano combinazioni di intervalli di origine sono i candidati ideali per l'elaborazione parallela, i corrispondenti intervalli di destinazione possono continuare a condividere posizioni comuni. In questi casi, Oracle Essbase sospenderà l'esecuzione di una regola fino a quando l'altra regola non avrà completato la scrittura dei dati di destinazione. Per questo motivo, si arriverà al punto in cui l'aumento del numero di thread non avrà più alcun effetto sulle performance.