Start a Conversation

Unsolved

This post is more than 5 years old

1420

November 2nd, 2008 07:00

Expanding symchg functionality

Using symchg, it's possible to measure the amount of changed tracks on a device. This can be very useful when you want to measure the impact Thin Provisioning would have, without having to actually implement it. 5773 code isn't even required: symchg has been available for ages.

The only issue is that symchg measures single tracks, and the extent size of Virtual Provisioning is 12 tracks. This could cause the measurements to not accurately reflect the amount of actual disk space a device would use, were it a thin device.

The extreme example would be an application that writes every thirteenth track, and leaves the other tracks alone. symchg would report only that only 1/12th of all tracks were ever written, but a thin device would have allocated the maximum amount of space for that device.

If it would be possible to expand the functionality of symchg so that an optional "extent size" argument could be given, symchg could be used to accurately measure the effects that Thin Provisioning would have had. In case of an extent size of 12, symchg would group 12 tracks together, and report whether the group was ever written to or not.

Any opinions? Would it be useful to issue an enhancement request for this? Or am I overlooking something?

2 Intern

 • 

2.8K Posts

November 2nd, 2008 08:00

IMHO, with my tiny understanding of Thin volumes and symchg, I'd say a RFE will be more then welcome. :D

154 Posts

November 3rd, 2008 13:00

BH/S&MFM scratches his head...

But isn't the example you are citing an actual use of only "one" of the hypothetical 13 tracks due to V.P.?

I'm with Stefano here, and will defer to those with more knowledge on the subject but my reading of VP is that you are fronting nnn tracks to allow an allocation to proceed but the acutal usage is much lower normally. When the normal exceeded, V.P. can satisfy the extra requested storage.

We may have to poke around a bit for this one.

Stefano? I think we can give Jurjen the nod for question of the week, don't you?
;\

Dave Yates
EMC TSE3
Benevolent Host S/W & Mainframe Forum Moderator

56 Posts

November 5th, 2008 07:00

I'll expand a bit on my example... :)

Suppose I create a normal, non-thin device of 9 GiB. On current Symmetrix arrays, this device consists of 147456 tracks of 64 KiB each. (Depending on its configuration, Solutions Enabler can translate this to tracks of 32 KiB each, because older Symmetrix arrays had track sizes of 32 KiB. I'll use track sizes of 64 KiB for this example though.) When a host issues a write to this device, that write will land on one of the 147456 tracks. DeltaMark will set a flag for that lucky track, to indicate that the track has been written to. It doesn't matter how small the write was, or whether the write was in the beginning of the track, the middle, or the end. Even if just one byte was changed in a track, the flag gets set. (It is possible for one host write to land on *more* than one track. In that case, DeltaMark sets the flag for all tracks that were written to.)

Now suppose I have 5773 code, and I create a Thin Device (tdev) with a maximum size of 9GiB. Initially, this device won't take any real disk space. (Not exactly true, but good enough for this example.) This 9GiB is not divided in chunks of 64 KiB each, as the "real" device above was. Instead, it's divided in 12288 chunks of 768KiB each. (Note that 12 times 64 equals 768. A thin device is divided in chunks of 12 tracks.) When a host issues a write to the thin device, that write will land on one of the 12288 chunks (extents). Since this is a thin device, the real disk space wasn't allocated yet. However, the host issued a write, which means it's now time to dynamically allocate some real disk space to store the data the host wants to write. A thin device always allocates real disk space in chunks of 768 KiB, even if the host only wrote, say, 8 KiB. After this one write, one of the 12288 chunks of the thin device is now allocated. If another write is done to the thin device and it happens to land on the already allocated chunk, it's simple: the data can be stored in the already allocated space without allocating any more real disk space. If a write happens to land in a non-allocated chunk, 768 KiB of real disk space is first allocated for that chunk before the data can be stored. (A chunk that was once allocated is never given back during the lifetime of the thin device.)

Using DeltaMark, it's possible to gather statistics from normal, non-thin devices to see how they would behave if the device were a thin device. Just look at the total number of flags set on a device: this tells you how much tracks were actually written to, and therefore tells you how much real disk space would have been allocated were it a thin device. The problem with this is that DeltaMark uses chunks of 64 KiB, and Thin Provisioning uses chunks of 768 KiB. Suppose a host only issues writes to every thirteenth track. DeltaMark will report that of the 147456 tracks, only 147456/12 = 12288 were ever written to. This indicates that only 1/12th of the device was ever written to. However, if that same device were a thin device, each of those 12288 tracks is part of a different extent of 768 KiB. This means all 12288 extents of 768 KiB each would have been allocated, and my 9 GiB thin device would take up 9 GiB of real disk space.

If it were possible to give symchg an "extent size" argument, you could tell symchg to divide a device not in chunks of 64 KiB, but in chunk sizes of your own choosing (probably in tracks, or multiples of the track size). With an "extent size" argument of 12 tracks, you could let DeltaMark report exactly what would be allocated were a device a thin device because a DeltaMark "chunk" would exactly match a thin device "chunk."

I hope this is a better description. :)

2 Intern

 • 

2.8K Posts

November 5th, 2008 09:00

I'll expand a bit on my example... :)


(a lot of lines below) --S-- you can use the " tag.

I hope this is a better description. :)


OMG I can only say you did your homeworks !!!!!! :D

I'm still trying to understand everything you wrote !!! I'll have a look at other threads in the meanwhile, just to relax my mind ;-)

Catch you later, Jurjen... :-)

Message was edited by: Benevolent Host S/W & Mainframe Forum Moderator ;-)
David Yates

154 Posts

November 5th, 2008 12:00

Jurjen,

You again win the Host S/W prize for question of the day. I've done a bit of digging, and now know a bit more. Even so, I've rubbed the SE Developer genie bottle once again and let him out ;) He's looking into the root question - can we pass an argument to adjust the display/report for a V.P. device.

This is very much similar to the allocation of mainframe DASD when not allocated with release.

BTW, the expanded example was quite helpful, thank you. We're looking into it. My tentative read is that your logic is sound here and worth investigating. Let's see what we come up with.

Best regards,
Dave Yates
EMC TSE3
Benevolent Host S/W & Mainframe Forum Moderator
&
infrequent editor of Stefano's NUMEROUS posts :-)

2 Intern

 • 

2.8K Posts

November 5th, 2008 13:00

--S-- you can use the " tag.

Message was edited by: Benevolent Host S/W &
Mainframe Forum Moderator ;-)
David Yates


I prefer ----8<-----8<-----8<-----8<---- :-)



@>--'--,--'-- A rose for you, Dave ;-)

154 Posts

November 6th, 2008 06:00

:0

2 Intern

 • 

2.8K Posts

November 6th, 2008 06:00

                                                                     
                                .do-"""""'-o..                         
                             .o""            ""..                       
                           ,,''                 ``b.                   
                          d'                      ``b                   
                         d`d:                       `b.                 
                        ,,dP                         `Y.               
                       d`88                           `8.               
 ooooooooooooooooood888`88'                            `88888888888bo, 
d"""    `""""""""""""Y:d8P                              8,          `b 
8                    P,88b                             ,`8           8 
8                   ::d888,                           ,8:8.          8 
:                   dY88888                           `' ::          8 
:                   8:8888                               `b          8 
:                   Pd88P',...                     ,d888o.8          8 
:                   :88'dd888888o.                d8888`88:          8 
:                  ,:Y:d8888888888b             ,d88888:88:          8 
:                  :::b88d888888888b.          ,d888888bY8b          8 
                    b:P8;888888888888.        ,88888888888P          8 
                    8:b88888888888888:        888888888888'          8 
                    8:8.8888888888888:        Y8888888888P           8 
,                   YP88d8888888888P'          ""888888"Y            8 
:                   :bY8888P"""""''                     :            8 
:                    8'8888'                            d            8 
:                    :bY888,                           ,P            8 
:                     Y,8888           d.  ,-         ,8'            8 
:                     `8)888:           '            ,P'             8 
:                      `88888.          ,...        ,P               8 
:                       `Y8888,       ,888888o     ,P                8 
:                         Y888b      ,88888888    ,P'                8 
:                          `888b    ,888888888   ,,'                 8 
:                           `Y88b  dPY888888OP   :'                  8 
:                             :88.,'.   `' `8P-"b.                   8 
:.                             )8P,   ,b '  -   ``b                  8 
::                            :':   d,'d`b, .  - ,db                 8 
::                            `b. dP' d8':      d88'                 8 
::                             '8P" d8P' 8 -  d88P'                  8 
::                            d,' ,d8'  ''  dd88'                    8 
::                           d'   8P'  d' dd88'8                     8 
 :                          ,:   `'   d:ddO8P' `b.                   8 
 :                  ,dooood88: ,    ,d8888""    ```b.                8 
 :               .o8"'""""""Y8.b    8 `"''    .o'  `"""ob.           8 
 :              dP'         `8:     K       dP''        "`Yo.        8 
 :             dP            88     8b.   ,d'              ``b       8 
 :             8.            8P     8""'  `"                 :.      8 
 :            :8:           :8'    ,:                        ::      8 
 :            :8:           d:    d'                         ::      8 
 :            :8:          dP   ,,'                          ::      8 
 :            `8:     :b  dP   ,,                            ::      8 
 :            ,8b     :8 dP   ,,                             d       8 
 :            :8P     :8dP    d'                       d     8       8 
 :            :8:     d8P    d'                      d88    :P       8 
 :            d8'    ,88'   ,P                     ,d888    d'       8 
 :            88     dP'   ,P                      d8888b   8        8 
 '           ,8:   ,dP'    8.                     d8''88'  :8        8 
             :8   d8P'    d88b                   d"'  88   :8        8 
             d: ,d8P'    ,8P""".                      88   :P        8 
             8 ,88P'     d'                           88   ::        8 
            ,8 d8P       8                            88   ::        8 
            d: 8P       ,:  -hrr-                    :88   ::        8 
            8',8:,d     d'                           :8:   ::        8 
           ,8,8P'8'    ,8                            :8'   ::        8 
           :8`' d'     d'                            :8    ::        8 
           `8  ,P     :8                             :8:   ::        8 
            8, `      d8.                            :8:   8:        8 
            :8       d88:                            d8:   8         8 
 ,          `8,     d8888                            88b   8         8 
 :           88   ,d::888                            888   Y:        8 
 :           YK,oo8P :888                            888.  `b        8 
 :           `8888P  :888:                          ,888:   Y,       8 
 :            ``'"   `888b                          :888:   `b       8 
 :                    8888                           888:    ::      8 
 :                    8888:                          888b     Y.     8, 
 :                    8888b                          :888     `b     8: 
 :                    88888.                         `888,     Y     8: 
 ``ob...............--"""""'----------------------`""""""""'"""`'"""""

2 Intern

 • 

2.8K Posts

November 6th, 2008 06:00

Don't cry .. maybe I have something for you too .. Let me search a little in my pocket .. :D

2 Intern

 • 

2.8K Posts

November 6th, 2008 06:00

Jurjen you deserve more then a rose !!

         ;M";::;; 
        ,':;: ""'. 
       ,M;. ;MM;;M: 
       ;MMM::MMMMM: 
      ,MMMMM'MMMMM: 
      ;MMMMM MMMMMM 
      MMMMM::MMMMMM: 
      :MM:',;MMMMMM' 
      ':: 'MMMMMMM: 
        '; :MMMMM" 
           ''"""' 
            . 
            M 
            M 
.           M           . 
'M..        M        ,;M' 
 'MM;.      M       ;MM: 
  :MMM.     M      ;MM: 
  'MMM;     M     :MMM: 
   MMMM.    M     MMMM: 
  :MMMM:    M     MMMM: 
  :MMMM:    M    :MMMM: 
  :MMMMM    M    ;MMMM: 
  'MMMMM;   M   ,MMMMM: 
   :MMMMM.  M   ;MMMMM' 
    :MMMM;  M  :MMMMM" 
     'MMMM  M  ;MMMM" 
      ':MM  M ,MMM:' 
        "": M :""' 

154 Posts

November 6th, 2008 06:00

Not only are you a forum rock star, you can do ascii art! B-)

Jurjen, I forwarded your inquiry up the SE chain of support to get some thoughts on your idea.

Stefano, I think I'll give that ascii rose to Jurjen as a prize for his "questions of the day" ! :D

Best regards,
Dave Yates
EMC TSE3
Benevolent Host S/W & Mainframe Forum Moderator

56 Posts

November 6th, 2008 11:00

Hey, this takes me back to my modem/BBS days, using 2400 bps terminals and 20 MB harddisks. :)

But back on topic: thanks for asking the SE team! I'm very curious about what they think of it. I think it would be valuable to be able to invoke symchg against a standard, non-thin non-virtual device, and be able to calculate what the disk usage would have been if it were a thin virtual device, so I hope they'll agree. :)

Regards,

Jurjen

56 Posts

November 17th, 2008 22:00

Not that I'm curious, but.... any news from the Solutions Enabler front? :)

2 Intern

 • 

2.8K Posts

November 18th, 2008 06:00

Last time I reported an issue with S.E., we had to wait 6.5.2 for a fix .. (and it was months ago) .. They take their time .. they want to be sure that the fix won't break something else... (at least I guess that's why they are so slooooow) ;-)

154 Posts

November 18th, 2008 06:00

Well, at the Halloween office luncheon he ran when he saw me coming...I'm not sure if it was because of the Jack-o-Lantern impaled by chainsaw, or he knew I was going to ask more Solutions Enabler questions. Maybe both.

:-)

I did follow up, it turns out that he - my local SE guy - is consulting with the other developers about this. I know that is a "very thin" update, but we are investigating. I'll check in again and we'll see if they have discussed this in detail yet.

Best regards,

Dave Yates
EMC TSE3
Benevolent Host S/W & Mainframe Forum Moderator
No Events found!

Top