TM1 Test Bed

Post Reply
User avatar
Steve Rowe
Site Admin
Posts: 2415
Joined: Wed May 14, 2008 4:25 pm
OLAP Product: TM1
Version: TM1 v6,v7,v8,v9,v10,v11+PAW
Excel Version: Nearly all of them

TM1 Test Bed

Post by Steve Rowe »

I've often wondered how to judge the relative performance of different techniques in TM1 and how perhaps different techniques may be better for different densities of data. I'm mainly thinking of rules and feeders here.

For example

['x'] = If (Ellisanc ('Dim', ' Big Conso', !Element)=1 , a*b, 0);

can be replaced with
['x'] = If (Attrn('Dim', !Element, 'Is a Member of Big Conso')=1 , a*b, 0);

I've done this on a few occasions and provided the numeric attribute is not itself rule based then you can get a significant performance saving on the calculation. An real world example I have been working on with Martin has produced a saving of 18%.

My question then is how would you benchmark this technique? I'd like to make a statement

"Using benchmark server A with data set "Dense" this produced a saving of 20%, with data set "Semi-Dense" this produced a saving of 15% and with the sparse data set we saved 14% of the calculation time"

or

"Using my hardware and benchmark server A, view X calculated in 10 seconds" This would enable us to compare our hardware (phnarr, phnarr!), which I think is actually very hard, since everything in TM1 is so model dependent.

Sooo getting to the point what should a bench mark server look like?
Would be interested in everyone’s thoughts...

Cheers
Technical Director
www.infocat.co.uk
User avatar
Eric
MVP
Posts: 373
Joined: Wed May 14, 2008 1:21 pm
OLAP Product: TM1
Version: 9.4
Excel Version: 2003
Location: Chicago, IL USA

Re: TM1 Test Bed

Post by Eric »

I've done this on a few occasions and provided the numeric attribute is not itself rule based then you can get a significant performance saving on the calculation. An real world example I have been working on with Martin has produced a saving of 18%.
Correct me if I am wrong, but what you save in performance you loose in maintainability because of the manual entry required to put the 1 or 0 into attribute, along with having stay on top of maintenance as rollups change.
Regards,
Eric
Blog: http://tm1-tipz.blogspot.com
Articles: http://www.google.com/reader/shared/use ... /label/TM1


Production: 32 bit 9.0 SP2, Windows 2000 Advanced Server. Web: 32 bit 9.0 SP2, Windows 2000 Server. Excel 2003
User avatar
Steve Rowe
Site Admin
Posts: 2415
Joined: Wed May 14, 2008 4:25 pm
OLAP Product: TM1
Version: TM1 v6,v7,v8,v9,v10,v11+PAW
Excel Version: Nearly all of them

Re: TM1 Test Bed

Post by Steve Rowe »

I was going to mention how I get around this but I didn't since it was a bit off the topic I wanted to cover.

I normally write a ruled attribute that calculates the value that I want so in the example

['Ruled Attr']=S:If (Ellisanc ('Dim', ' Big Conso', !Element)=1 ,'1','0');

I then have a numeric mirror attribute that is updated by TI using the ruled string attribute as it's source. The dimensions that I do this are usally maintaned by TI themselves so I just put a call to the attribute TI at the end of it. Alternatively just schedule it at whatever freqency you need just to keep everything in sync.
If you had to maintain the attribute manually then I agree you'd have to think hard about it but you can get some pretty significant savings by refining what your If statments in rules test against.

Anyone have views about a test bed?
Cheers,
Technical Director
www.infocat.co.uk
Post Reply