ASOCACHECONCURRENTCONSUMINGTHREADS

This Essbase configuration setting specifies the maximum number of heavily loaded buffers that can be defined simultaneously for a particular aggregate storage 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 aggregate storage 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

n—Specifies the number of heavily loaded buffers that the application can create concurrently, where 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 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.Sample initialize load_buffer with buffer_id 1 resource_usage 1.0;
alter database AsoSamp.Sample initialize load_buffer with buffer_id 2 resource_usage 0.5;
alter database AsoSamp.Sample initialize load_buffer with buffer_id 3 resource_usage 0.1;

The following MaxL statement displays the actual resource usage:

query database AsoSamp.Sample 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