what is utility of 'attributes'

Hi All,

I see that attributes have many things in common with datasets, but not
all; no partial i/o, no-compression, etc.

So, given that attributes are in some way 'limited' datasets, whats
their value?

In particular what happens to attributes as far as I/O requests to
actual file go?

I've read chapter 8 of user's manual and there is nothing made very
clear there about actual I/O requests. And, as far as I can tell, if
real file I/O occurs on H5Awrite/H5Aread (as opposed to just interaction
with HDF5 metadata in memory), then I am at a total loss for
understanding what their value is over ordinary datasets except for
maybe not polluting a group's 'namespace'.

Mark

···

--
Mark C. Miller, Lawrence Livermore National Laboratory
================!!LLNL BUSINESS ONLY!!================
miller86@llnl.gov urgent: miller86@pager.llnl.gov
T:8-6 (925)-423-5901 M/W/Th:7-12,2-7 (530)-753-851

Hi Mark,

Hi All,

I see that attributes have many things in common with datasets, but not
all; no partial i/o, no-compression, etc.

So, given that attributes are in some way 'limited' datasets, whats
their value?

  Well, they are designed to serve as application-level metadata about an object, hence their [current] restrictions.

In particular what happens to attributes as far as I/O requests to
actual file go?

  Generally speaking, if you have an object open, there should be no additional I/O to access the attributes on it. [Most of the time, attributes for an object are stored in the object header for the object and are read in when the object is opened]

I've read chapter 8 of user's manual and there is nothing made very
clear there about actual I/O requests. And, as far as I can tell, if
real file I/O occurs on H5Awrite/H5Aread (as opposed to just interaction
with HDF5 metadata in memory), then I am at a total loss for
understanding what their value is over ordinary datasets except for
maybe not polluting a group's 'namespace'.

  H5Awrite/H5Aread should not perform I/O.

  Quincey

···

On Feb 8, 2010, at 5:14 PM, Mark Miller wrote:

Mark

apart from the important issues mentioned by Quincey, I would like to add a
more qualitative approach: maybe it would make sense if you considered the
analogon of attributes in XML: attributes!

HTH

-- dimitris

···

2010/2/9 Quincey Koziol <koziol@hdfgroup.org>

Hi Mark,

On Feb 8, 2010, at 5:14 PM, Mark Miller wrote:

> Hi All,
>
> I see that attributes have many things in common with datasets, but not
> all; no partial i/o, no-compression, etc.
>
> So, given that attributes are in some way 'limited' datasets, whats
> their value?

       Well, they are designed to serve as application-level metadata about
an object, hence their [current] restrictions.

> In particular what happens to attributes as far as I/O requests to
> actual file go?

       Generally speaking, if you have an object open, there should be no
additional I/O to access the attributes on it. [Most of the time,
attributes for an object are stored in the object header for the object and
are read in when the object is opened]

> I've read chapter 8 of user's manual and there is nothing made very
> clear there about actual I/O requests. And, as far as I can tell, if
> real file I/O occurs on H5Awrite/H5Aread (as opposed to just interaction
> with HDF5 metadata in memory), then I am at a total loss for
> understanding what their value is over ordinary datasets except for
> maybe not polluting a group's 'namespace'.

       H5Awrite/H5Aread should not perform I/O.

       Quincey

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

Hi Dimitris,

You mention XML and I think that only underscores my question.

I can't think of a single XML workflow where the questions of the form
"...why did you put XXX in an attribute but YYY in a 'data' segment with
some special 'tag'..."

The question of which data in an XML file should go into 'attributes'
and which should go into 'data' for a tag always arises when designing
xml workflows.

Based on Quincey's response, the lack of file I/O is what makes
attributes stand apart from datasets AFAIAC. The only other thing I
guess I can see their having value over ordinary datasets is the ability
to 'easily' associate them with another HDF5 object. At the same time,
the semantics of a 'group' allows one to put all 'associated' objects in
the same group and so the ability to associate attributes with other
HDF5 objects is not even really that unique to them.

···

On Tue, 2010-02-09 at 04:50, Dimitris Servis wrote:

Mark

apart from the important issues mentioned by Quincey, I would like to
add a more qualitative approach: maybe it would make sense if you
considered the analogon of attributes in XML: attributes!

HTH

-- dimitris

2010/2/9 Quincey Koziol <koziol@hdfgroup.org>
        Hi Mark,
        
        On Feb 8, 2010, at 5:14 PM, Mark Miller wrote:
        
        > Hi All,
        >
        > I see that attributes have many things in common with
        datasets, but not
        > all; no partial i/o, no-compression, etc.
        >
        > So, given that attributes are in some way 'limited'
        datasets, whats
        > their value?
        
               Well, they are designed to serve as application-level
        metadata about an object, hence their [current] restrictions.
        
        > In particular what happens to attributes as far as I/O
        requests to
        > actual file go?
        
               Generally speaking, if you have an object open, there
        should be no additional I/O to access the attributes on it.
        [Most of the time, attributes for an object are stored in the
        object header for the object and are read in when the object
        is opened]
        
        > I've read chapter 8 of user's manual and there is nothing
        made very
        > clear there about actual I/O requests. And, as far as I can
        tell, if
        > real file I/O occurs on H5Awrite/H5Aread (as opposed to just
        interaction
        > with HDF5 metadata in memory), then I am at a total loss for
        > understanding what their value is over ordinary datasets
        except for
        > maybe not polluting a group's 'namespace'.
        
               H5Awrite/H5Aread should not perform I/O.
        
               Quincey
        
        _______________________________________________
        Hdf-forum is for HDF software users discussion.
        Hdf-forum@hdfgroup.org
        http://*mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

______________________________________________________________________
_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://*mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

--
Mark C. Miller, Lawrence Livermore National Laboratory
================!!LLNL BUSINESS ONLY!!================
miller86@llnl.gov urgent: miller86@pager.llnl.gov
T:8-6 (925)-423-5901 M/W/Th:7-12,2-7 (530)-753-851