Wednesday, November 28, 2007

Cache Allocation







Cache Allocation


In the illustration above, we are seeing again that if data is written to one Storage Processor, it is MIRRORed to the other Storage Processor.


A host that writes data to SP A, will mirror to SP B, and vice versa. So, you will be losing some Cache space to this mirroring. In this example, we are setting SP A’s Write Cache to 1 ½ GB. Which means that over on SP B, 1 ½ GB of Cache space will be taken for the Mirroring of SP A’s Write Cache. The same scenario is set for SP B. The same values are transferred across SPs for Write Cache.


SP Usage


SP Usage is pre-allocated Cache Space that is used by the Clariion for things like pointers/deltas, SnapView, MirrorView. The amount of space that is lost per Storage Processor for SP Usage depends on a couple of things. First, is the type of Clariion you have. Second, what Flare Code you are running on the Clariion. We’ll talk later where to find the Flare Code your Clariion is running.


In this example, we are using 750 MB per Storage Processor as the vaule for SP Usage. To give you some real numbers:


Type of Clariion Flare Code SP Usage:
CX3-80 26 1464 MB
CX3-80 24 1464 MB
CX700 26 884 MB
CX700 24 832 MB


After Write Cache is allocated and SP Usage is taken into account, this leaves us with 250 MB of Cache for Reads.



The nice thing about the Clariion though is that it allows you to change those cache values. Let’s say for instance, that this initial setup above works for you in the mornings when people are writing to a database, but later in the day, the database has more reads. You can take from Write Cache and give the rest to Read Cache. The other nice thing about it is that it can be scripted from the Command Line Interface. Below the chart are the three commands that you can use to change cache.


Command One


Before we can change the values of Cache, we must first disable Cache. This command is the command to disable Write Cache, Read Cache of SP A and SP B. Not only does this disable Cache, it also forces a Flush of Cache to disk. This means that the command prompt will not return immediately. There will be a delay in the command prompt returning until Cache is flushed. As I always say, I cannot give you an amount of time that this will take (two weeks). The answer is going to be….”it depends, you’ll have to test it.”



Command Two


This is the actual setting of Cache command. By default, the setting of Cache is allocated in MegaBytes. By setting Write Cache to 2048 MB (2 GB), we are telling the Clariion to take that number, and divide half of it for SP A Write Cache, and half for SP B Write Cache. We don’t calculate into this the Mirroring of Write Cache, just the actual usable space. Next, we specify the amount for the Read Cache Size of SP A of 1250 MB (1.25 GB) and the Read Cache Size of SP B of 1250 MB (1.25 GB). Read Caching is not Mirrored, so we must specify both SPs Read Cache. Notice how by simply taking ½ GB away from SP A and SP B Write Cache, we can allocate 1 GB more of Cache space to the SPs for Reads.



Command Three


Finally, we have to re-enable Cache. The ones (1) next to –wc, -rca, and –rcb stand for Enabling.



Changing the values of Cache could be done at any time, all day long if you want to, though I wouldn’t recommend it. But, it could prove to be extremely beneficial to performance of the Clariion. Acknowledgements from Writes, and Reading from Cache is going to happen in Nanoseconds as opposed to milliseconds coming from disk.


Another example of why to change Cache could be when Backups are going to occur. Since you will be reading data from Clariion Luns, you could allocate as much Cache to Reads as possible so that the Backup Host could be retrieving data from Cache rather than disk. When the Backups are complete, you could script that the Cache values go back to Production Levels.



9 comments:

Ed Adams said...

We have a new CX-4-240 on FLARE 28. What should the SP usage be? Ours is 2642, which seems extremely high to me.

san guy said...

Are you sure you are looking at the correct number? Cache per SP on the CX4-240 is 4 GB. I know that the SP Usage on the CX4-480 is 622 MB. I am not sure what number you are seeing though. Might you be thinking of the Write Cache size as SP Usage. SP Usage is the black area on the pie chart, under the Memory Tab on the Properties of the Clariion Array.

Anonymous said...

I have a new CX4-480 on FLARE 28. The SP cache usage set at 3662MB. That means I only have about 4GB to divide between write/read cache on each SP. Is there any way to change the amount of cache the SP uses?

san guy said...

Again, I have not seen a CX4-480 using anything more that 622 MB per SP for SP Usage. I am not sure where the numbers are coming from?

Ed Adams said...

No. Here is the memory allocation from the Memory tab on system Storage Properties:

Total Memory 3903
SP Usage 2642
Free Memory 0
SP A Read Cache 65
SP B Read Cache 65
Write Cache Memory 1196
RAID 3 Memory 0

san guy said...

Ed,
Can you email me a screen shot of the Memory Tab? Not that I don't believe you, it is just that I have never seen that. If you can, I will do my best to do some digging. Thanks

Anonymous said...

We just upgraded from a cx3-20 to a cx4-240 and I'm seeing the same thing:
Total Memory: 4064
SP Usage: 2803

According to something I just read on powerlink, the CX4-240 has a max cache of 1.3GB (which roughly goes along with what I'm seeing). The 120 is 600MB (yikes) - glad we didn't "upgrade" to that platform.

Anonymous said...

can you help me to know why sometimes auto registeration doesnot work fro VMware esx host to clariion

san guy said...

to anonymous regarding sp usage... i apologize, it is exactly as you say...i have no idea what i was thinking or looking at... sorry, there is no way of reclaiming any of the sp usage..and, you will typically see more sp usage everytime a new flare code release comes out...