MTCubeLoad

Enables multi-threaded loading of individual cubes.

Note: To enable multi-threaded loading of individual cubes, you must have IBM® Planning Analytics version 2.0.5 or later installed.

Parameter type: optional, dynamic

Default value: F (disabled)

MTCubeLoad uses the MTQ multi-threaded framework to achieve improved speeds when compared to the previous approach using MaximumCubeLoadThreads. Configuration settings MTCubeLoad.MinFileSize, MTCubeLoad.Weight, MTCubeLoad.UseBookmarkFiles, and IndexStoreDirectory are used to optimize performance.

MTCubeLoad also eliminates the risk of changing feeder generation sequences. When MTCubeLoad is enabled, the MaximumCubeLoadThreads configuration option is ignored. Since MTCubeLoad leverages the MTQ framework, it still relies on the MTQ configuration to set the number of concurrent threads.

Note: Setting MTCubeLoad=T does not work in all cases. When issues are detected, you must disable the multi-threaded loading of individual cubes.

TM1 server administrators can use the PreallocatedMemory.Size, PreallocatedMemory.ThreadNumber, and PreallocatedMemory.BeforeLoad settings to configure preallocation memory and optimize scale-up and performance results. Allocating memory for a TM1 server can help avoid contention effects related to varying operating system memory allocation. For best results, consider the amount of RAM consumed by TM1 server to configure the preallocation memory settings.

CAUTION:
Setting MTCubeLoad=T increases memory usage significantly.

Example

The following Planning Analytics database configuration illustrates the configuration of multi-threaded cube loading:


MTCubeLoad=T
MTQ=All
MTCubeLoad.UseBookmarkFiles=T
IndexStoreDirectory=c:\Cubes\CubeFolder\indexStore 

# 30GB of RAM to preallocate
PreallocatedMemory.Size=30000
# Run preallocation in parallel to cube cell/feeder loading
PreallocatedMemory.BeforeLoad=F
# Window 2012 patches as of Dec 2016 worked most efficiently with a single thread
PreallocatedMemory.ThreadNumber=1 

# Disable TM1 performance counters to speed up MTQ.
PerfMonIsActive=F 

Logging

To enable logging for multi-threaded loading of individual cubes, enter the following lines in the tm1s-log.properties file:

log4j.logger.TM1.Server.Loading=DEBUG
Captures individual timing of TM1® Server loading stages: DeSerializeDimensions, DeSerializeAttributeCubes, DeSerializeRegularCubes, GenerateServerSecurity.
log4j.logger.TM1.Cube.Loading=DEBUG
Captures cube loading time, separately for .cub and .feeder files.