Friday, August 7, 2015

Clearing the air around IBM Cognos TM1’s VMM setting

In case you are rolling your eyes and thinking, why we need yet another blog talking about VMM, you may want to read for some new information.  Let’s first start with what VMM is and how it is useful.
  • VMM stands for View Maximum Memory
  • It is a property that is available to be set on each cube
  • It controls the amount of RAM, which needs to be reserved on the server for purpose of storing view caches (a.k.a Stargate views)
  • If VMM threshold is reached for a given cube, then the oldest views is purged out to make room for newer ones (kind of FIFO – First In First Out)
VMM and its partner in crime VMT (View Minimum Time) together control the Stargate caching.  You can check out the Operations Guide to know more about VMT.  I felt compelled to write about VMM, given the confusion in its documentation.

What’s the default value for VMM?

That is the intent to write this post.  The default value for VMM is 128KB and it is specified in KB. For those of you raising eyebrows and to some who can swear that it is 64KB, take a look at the chronology of events that is causing this confusion:
  • 9.5 & 10.1 documentation (operations guide in particular) says the default value is 65,536 and it is specified in bytes!
  • Come 2012 Apr, an IBM KB (Ref # 7024354) is released that mentions the correct value


 (Fig 1: KB Article showing the correct values)
  • 10.2 and 10.2.2 documentation (operations guide in particular) says the default value is 65,536 and it is specified in bytes!
  • A new KB article (Ref # 1960495) on tips and technique to work with MTQ in TM1, released in 2015 Jul, states that default value is 65KB (not 64KB)!

(Fig 2: An incorrect KB article)


So what is really going on over here?  What is the default value of VMM and how is it expressed?  The correct answer is that:
  • Default value of VMM is 128
  • It is specified in Kilo Bytes.  If you enter VMM for a cube as 1024, then system will reserve a memory in RAM for 1024KB = 1MB, for storing the view caches (Stragate views)
This information is correctly mentioned in the KB Ref # 7024354.  Unfortunately this information has neither trickled down into the operations guide nor subsequent KB articles that refer to the VMM.  Consequently, IBM KB articles, blogs on VMM continue to refer that default value is 64KB or 65KB and is expressed in bytes – which is misleading.

What is the Max Value of VMM?

Ok, if default value is indeed 128KB, then what is the max value.  Per the 10.2.2 operations guide the maximum value that can be assigned to VMM is ~40GB (almost 40 GB).

 (Fig 3: Operations Guide showing max value for VMM)

Again, this is not entirely correct.  Valid range for VMM is 0 2147483647 KB (equates to 2 TB).  This is theoretical limit.  The upper limit is usually constrained by the amount of RAM available on your server; with the assumption that there is sufficient memory available to load other cubes in memory.  IBM KB (Ref # 7024354) article has mentioned in this correctly – refer the 2nd line in Fig 1 above.

An APAR (PI45248) has been raised to correct the default value as well as the upper limit of the VMM.  Hopefully in the future release of the documentation this gets corrected.  You can check the status of the APAR here.

No comments:

Post a Comment