ASOCACHECONCURRENTCONSUMINGTHREADS
The Essbase configuration setting ASOCACHECONCURRENTCONSUMINGTHREADS specifies the maximum number of heavily loaded buffers that can be defined simultaneously for a particular aggregate storage (ASO) application. A heavily loaded buffer is considered to be one that has a specified resource_usage value of 1, which is the maximum allowed.
When you load data into ASO cubes, Essbase uses the aggregate storage cache for sorting data. You can control the amount of cache a data load buffer can use by specifying the resource allocation.
Syntax
ASOCACHECONCURRENTCONSUMINGTHREADS [appname] n
where n specifies the number of heavily loaded buffers that the application can create concurrently. The value of n can be 1 to 1000, inclusive. The default value is 1.
Description
The aggregate storage cache facilitates memory usage during data loads, aggregations, and retrievals. Optionally use this setting to specify a number of threads across which to divide the cache allocation specified by ASODEFAULTCACHESIZE.
Example
The specified resource_usage and actual resource usage of the aggregate storage cache will be different, depending on how many threads you specify in ASOCACHECONCURRENTCONSUMINGTHREADS. The formula to calculate actual resource usage is:
(1/ASOCACHECONCURRENTCONSUMINGTHREADS)*resource_usage
The actual aggregate storage cache size Essbase allocates, in megabytes, is calculated as:
ASODEFAULTCACHESIZE*actual resource usage
Assume the following configurations are set for the cube:
ASOCACHECONCURRENTCONSUMINGTHREADS 5
ASODEFAULTCACHESIZE 500
With the above settings, you can initialize up to 5 ASO data load buffers, specifying, for each, the maximum resource_usage of 1.0.
Using the following MaxL statements, you initialize three load buffers:
alter database ASOSamp.Basic initialize load_buffer with buffer_id 1 resource_usage 1.0;
alter database ASOSamp.Basic initialize load_buffer with buffer_id 2 resource_usage 0.5;
alter database ASOSamp.Basic initialize load_buffer with buffer_id 3 resource_usage 0.1;
The following MaxL statement displays the actual resource usage:
query database ASOSamp.Basic list load_buffers;
buffer_id internal active resource_usage aggregation_method ignore_missings ignore_zeros
----------------------------------------------------------------------------------------+
1 FALSE FALSE 0.2 AGGREGATE_SUM FALSE FALSE
2 FALSE FALSE 0.1 AGGREGATE_SUM FALSE FALSE
3 FALSE FALSE 0.02 AGGREGATE_SUM FALSE FALSE