# Question re: Howison et al Lustre mdc\_config tuning recommendations

**URL:** <https://forum.hdfgroup.org/t/question-re-howison-et-al-lustre-mdc-config-tuning-recommendations/2054>\
**Category:** Hdf-forum archives\
**Created:** [February 11, 2011, 1:33am UTC](https://forum.hdfgroup.org/t/question-re-howison-et-al-lustre-mdc-config-tuning-recommendations/2054 "2011-02-11T01:33:05Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![John\_Mainzer1](https://forum.hdfgroup.org/letter_avatar_proxy/v4/letter/j/f19dbf/32.png) [@John\_Mainzer1](https://forum.hdfgroup.org/u/John_Mainzer1)\
**Post date:** [February 11, 2011, 1:33am UTC](https://forum.hdfgroup.org/t/question-re-howison-et-al-lustre-mdc-config-tuning-recommendations/2054/1 "2011-02-11T01:33:05Z")

</div>

> From hdf-forum-bounces@hdfgroup.org Thu Feb 10 16:48:04 2011  
> From: Rhys Ulerich \<rhys.ulerich@gmail.com\>  
> Date: Thu, 10 Feb 2011 16:48:22 -0600  
> To: HDF Users Discussion List \<hdf-forum@hdfgroup.org\>  
> Subject: [Hdf-forum] Question re: Howison et al Lustre mdc\_config tuning recommendations
> 
> Good day,
> 
> I decided to try some metadata caching parameters related to the  
> discussion on pages 3-4 of Howison et al  
> ([http://www.hdfgroup.org/pubs/papers/howison\_hdf5\_lustre\_iasds2010.pdf\](http://www.hdfgroup.org/pubs/papers/howison_hdf5_lustre_iasds2010.pdf%5C)).  
> The paper gives sample code as follows in Figure 5:
> 
> &nbsp;&nbsp;&nbsp;H5AC\_cache\_config\_t mdc\_config;  
> &nbsp;&nbsp;&nbsp;hid\_t file\_id;  
> &nbsp;&nbsp;&nbsp;file\_id = H5Fopen("file.h5", H5ACC\_RDWR, H5P\_DEFAULT);  
> &nbsp;&nbsp;&nbsp;mdc\_config.version = H5AC\_\_CURR\_CACHE\_CONFIG\_VERSION;  
> &nbsp;&nbsp;&nbsp;H5Pget\_mdc\_config(file\_id, &mdc\_config)  
> &nbsp;&nbsp;&nbsp;mdc\_config.evictions\_enabled = 0 /\* FALSE \*/;  
> &nbsp;&nbsp;&nbsp;mdc\_config.incr\_mode = H5C\_incr\_\_off;  
> &nbsp;&nbsp;&nbsp;mdc\_config.decr\_mode = H5C\_decr\_\_off;  
> &nbsp;&nbsp;&nbsp;H5Pset\_mdc\_config(file\_id, &mdc\_config);
> 
> Attempting to directly implement this fails. Modifying the above so  
> the H5Pget\_mdc\_config/H5Pset\_mdc\_config operates on a file access  
> property list succeeds. However, I saw runtime errors like
> 
> HDF5-DIAG: Error detected in HDF5 (1.8.5-patch1) MPI-process 2:  
> #000: H5Pfapl.c line 1354 in H5Pset\_mdc\_config(): invalid metadata  
> cache configuration  
> &nbsp;&nbsp;&nbsp;major: Invalid arguments to routine  
> &nbsp;&nbsp;&nbsp;minor: Bad value  
> #001: H5AC.c line 2665 in H5AC\_validate\_config(): Can't disable  
> evictions while auto-resize is enabled.  
> &nbsp;&nbsp;&nbsp;major: Invalid arguments to routine  
> &nbsp;&nbsp;&nbsp;minor: Bad value
> 
> which I've remedied by glancing at H5AC.c:2665 and then adding the statement
> 
> &nbsp;&nbsp;&nbsp;mdc\_config.flash\_incr\_mode = H5C\_flash\_incr\_\_off;
> 
> to the code block above. Is this modification in the spirit of what  
> Howison et al. suggests? Or is using H5C\_flash\_incr\_\_off asking for  
> trouble in ways that the paper does not discuss?
> 
> Thanks for your time,  
> Rhys
> 
> \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_  
> Hdf-forum is for HDF software users discussion.  
> Hdf-forum@hdfgroup.org  
> [http://mail.hdfgroup.org/mailman/listinfo/hdf-forum\_hdfgroup.org](http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org)

Hi Rhys,

&nbsp;&nbsp;&nbsp;You did exactly as you should have.

&nbsp;&nbsp;&nbsp;The metadata cache configuration in the paper worked due to an error  
on my part when I implemented the flash cache size increment code. I have  
since noticed and correct the error -- hence the failure you encountered  
when you tried to duplicate the code from the paper.

&nbsp;&nbsp;&nbsp;To give you some background:

&nbsp;&nbsp;&nbsp;In its default configuration, the metadata cache in HDF5 will attempt to  
automatically adapt to the current metadata working set size in real time.  
While there is no fundamental reason why this feature can't be active when  
evictions are disabled, I can't think of any circumstances in which it would  
be useful. Further, writing the test code required to verify proper behavior  
under these circumstances would require significant effort.

&nbsp;&nbsp;&nbsp;Hence the decision to require that adaptive metadata cache resizing be  
disabled when evictions are disabled. Needless to say, this decision will  
be re-visited if anyone comes up with a plausible reason to do so.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Best regards,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;John Mainzer

---

<div class="post-metadata">

**Author:** ![Quincey\_Koziol](https://forum.hdfgroup.org/letter_avatar_proxy/v4/letter/q/dbc845/32.png) [@Quincey\_Koziol](https://forum.hdfgroup.org/u/Quincey_Koziol)\
**Post date:** [February 12, 2011, 12:42am UTC](https://forum.hdfgroup.org/t/question-re-howison-et-al-lustre-mdc-config-tuning-recommendations/2054/2 "2011-02-12T00:42:30Z")

</div>

Hi John,

> > From hdf-forum-bounces@hdfgroup.org Thu Feb 10 16:48:04 2011  
> > From: Rhys Ulerich \<rhys.ulerich@gmail.com\>  
> > Date: Thu, 10 Feb 2011 16:48:22 -0600  
> > To: HDF Users Discussion List \<hdf-forum@hdfgroup.org\>  
> > Subject: [Hdf-forum] Question re: Howison et al Lustre mdc\_config tuning recommendations
> > 
> > Good day,
> > 
> > I decided to try some metadata caching parameters related to the  
> > discussion on pages 3-4 of Howison et al  
> > ([http://www.hdfgroup.org/pubs/papers/howison\_hdf5\_lustre\_iasds2010.pdf\](http://www.hdfgroup.org/pubs/papers/howison_hdf5_lustre_iasds2010.pdf%5C)).  
> > The paper gives sample code as follows in Figure 5:
> > 
> > &nbsp;&nbsp;H5AC\_cache\_config\_t mdc\_config;  
> > &nbsp;&nbsp;hid\_t file\_id;  
> > &nbsp;&nbsp;file\_id = H5Fopen("file.h5", H5ACC\_RDWR, H5P\_DEFAULT);  
> > &nbsp;&nbsp;mdc\_config.version = H5AC\_\_CURR\_CACHE\_CONFIG\_VERSION;  
> > &nbsp;&nbsp;H5Pget\_mdc\_config(file\_id, &mdc\_config)  
> > &nbsp;&nbsp;mdc\_config.evictions\_enabled = 0 /\* FALSE \*/;  
> > &nbsp;&nbsp;mdc\_config.incr\_mode = H5C\_incr\_\_off;  
> > &nbsp;&nbsp;mdc\_config.decr\_mode = H5C\_decr\_\_off;  
> > &nbsp;&nbsp;H5Pset\_mdc\_config(file\_id, &mdc\_config);
> > 
> > Attempting to directly implement this fails. Modifying the above so  
> > the H5Pget\_mdc\_config/H5Pset\_mdc\_config operates on a file access  
> > property list succeeds. However, I saw runtime errors like
> > 
> > HDF5-DIAG: Error detected in HDF5 (1.8.5-patch1) MPI-process 2:  
> > #000: H5Pfapl.c line 1354 in H5Pset\_mdc\_config(): invalid metadata  
> > cache configuration  
> > &nbsp;&nbsp;major: Invalid arguments to routine  
> > &nbsp;&nbsp;minor: Bad value  
> > #001: H5AC.c line 2665 in H5AC\_validate\_config(): Can't disable  
> > evictions while auto-resize is enabled.  
> > &nbsp;&nbsp;major: Invalid arguments to routine  
> > &nbsp;&nbsp;minor: Bad value
> > 
> > which I've remedied by glancing at H5AC.c:2665 and then adding the statement
> > 
> > &nbsp;&nbsp;mdc\_config.flash\_incr\_mode = H5C\_flash\_incr\_\_off;
> > 
> > to the code block above. Is this modification in the spirit of what  
> > Howison et al. suggests? Or is using H5C\_flash\_incr\_\_off asking for  
> > trouble in ways that the paper does not discuss?
> > 
> > Thanks for your time,  
> > Rhys
> > 
> > \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_  
> > Hdf-forum is for HDF software users discussion.  
> > Hdf-forum@hdfgroup.org  
> > [http://mail.hdfgroup.org/mailman/listinfo/hdf-forum\_hdfgroup.org](http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org)
> 
> Hi Rhys,
> 
> &nbsp;&nbsp;You did exactly as you should have.
> 
> &nbsp;&nbsp;The metadata cache configuration in the paper worked due to an error  
> on my part when I implemented the flash cache size increment code. I have  
> since noticed and correct the error -- hence the failure you encountered  
> when you tried to duplicate the code from the paper.

&nbsp;&nbsp;Is this fix included in the 1.8.6 release?

&nbsp;&nbsp;Thanks,  
&nbsp;&nbsp;&nbsp;&nbsp;Quincey

> **···**
>
> On Feb 10, 2011, at 5:33 PM, John Mainzer wrote:
> 
> > &nbsp;&nbsp;To give you some background:
> > 
> > &nbsp;&nbsp;In its default configuration, the metadata cache in HDF5 will attempt to  
> > automatically adapt to the current metadata working set size in real time.  
> > While there is no fundamental reason why this feature can't be active when  
> > evictions are disabled, I can't think of any circumstances in which it would  
> > be useful. Further, writing the test code required to verify proper behavior  
> > under these circumstances would require significant effort.
> > 
> > &nbsp;&nbsp;Hence the decision to require that adaptive metadata cache resizing be  
> > disabled when evictions are disabled. Needless to say, this decision will  
> > be re-visited if anyone comes up with a plausible reason to do so.
> > 
> > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Best regards,
> > 
> > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;John Mainzer
> > 
> > \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_  
> > Hdf-forum is for HDF software users discussion.  
> > Hdf-forum@hdfgroup.org  
> > [http://mail.hdfgroup.org/mailman/listinfo/hdf-forum\_hdfgroup.org](http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org)
