User:Rhicheek/sandbox

--Rhicheek 10:53, 28 June 2012 (UTC) =Project work= ''This page gives a brief idea of the effect of controlling the number of active messages that are sent during the phase 4 of dump, when the messages are sent to wafl to fill the inode cache and moooar cache. The testing and perfstats are also given for your reference.''

Description
''In phase 4 of dump, the inode cache is to be filled with inode details returned by the wafl and the moooar cache is to be filled by the data returned by wafl. To get this data from the wafl, in the dump phase-4 asynchronous messages are sent to wafl to fetch this details.''

Set and get Active messages limit and cache sizes
''The active messages limit can be set to any value between 0 and maximum value set ACTIVE_MAX_MSGS_DEFAULT in the code. Any value greater than ACTIVE_MAX_MSGS_DEFAULT will be set to ACTIVE_MAX_MSGS_DEFAULT value. Also the set value can be view by keeping the argument field empty. The same set and get process methods also have been implemented for setting the size of inode and moooar cache.''

ACTIVE_MAX_MSGS_DEFAULT=4736

DMP_INODE_CACHE_SIZE_MAX=3200

DMP_MAX_MOOOAR_BUFS_MAX=1536

Demo:
rpsim*> backup options max_dirnet_bufs: 512 max_active_msgs: 4736 max_moooar_bufs: 1536 max_cached_inodes: 3200

rpsim*> backup options max_active_msgs max_active_msgs: 4736

rpsim*> backup options max_active_msgs 4436

rpsim*> backup options max_active_msgs max_active_msgs: 4436

rpsim*> backup options max_active_msgs 4736

rpsim*> backup options max_active_msgs 5000

rpsim*> backup options max_active_msgs max_active_msgs: 4736

Controlling the number of active messages
''Also I implemented the control of active messages, when the dump thread is running then if the present number of active messages reaches the maximum limit then the dump thread waits on the condition till the number of active messages goes below the maximum limit of active messages. The signal is given using a callback function in the wafl.c code in function wafl_process_one_msg_int in the switch statement in cases DMP_SNAP_READ_IOVEC and DMP_GET_INODE_DETAILS the callback functions are called. The wafl_send_async call is wrapped around with a dump_send_async function which registers the callback function and does the increment per message sent.''

Filer and volume details
Filer: fas6280-247-158

For 4k files:


 * Vol size: 50GB


 * Dump size: 17228 MB

For 8k files:


 * Vol size: 90GB


 * Dump size: 28710 MB

For 12k files:


 * Vol size: 90GB


 * Dump size: 38635 MB

Dump Configuration:

Dump to NULL

Cache size
Default Cache Size(DCS) - Inode Cache Size = 800, MOOOAR Cache Size = 384

Twice Cache Size(TCS)- Inode Cache Size = 1600, MOOOAR Cache Size = 768

Quadrice Cache Size(QCS) - Inode Cache Size = 3200, MOOOAR Cache Size = 1536

For DCS the Maximum active messages limit is set to 6000.

For TCS, QCS the Maximum active messages limit is set to 4736.