summaryrefslogtreecommitdiffstats
path: root/doc/html/TechNotes/Basic_perform.html
blob: 9731422c5b5e3bcffd5b4a30b8f2c5b99428aab0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
  <head>
    <title>Description of the three basic performance tools</title>
  </head>

  <body>

<!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
  <!-- separator -->
  <!--
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
  * terms governing use, modification, and redistribution, is contained in    *
  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
  * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 -->
  <!-- separator -->
  <!-- #EndLibraryItem -->
 
  <h1>Description of the three basic performance tools</h1>

    <h2>iopipe</h2>
  <p>Times reads and writes to an HDF5 2-d dataset and compares that with
  reads and writes using POSIX I/O.  Reports seven measurements in
  terms of CPU user time, CPU system time, elapsed time, and
  bandwidth:


<DL>
<DD>fill raw: time it takes to memset() a buffer.</DD>
<DD> fill hdf5: time it takes to read from a dataset never written</DD>
<DD>out raw: time it takes to write using POSIX I/O</DD>
<DD>out hdf5: time it takes to write using H5Dwrite()</DD>
<DD>in raw: time it takes to read data just written using POSIX I/O</DD>
<DD>in hdf5: time it takes to H5Dread() data written with H5Dwrite()</DD>
<DD>in hdf5 partial: time it takes to H5Dread() the "center" area.</DD>
</DL>


  <p>This is a pretty stupid performance test. It accesses the same area
  of file and memory over and over and the file size is way too
  small. But it is good at showing how much overhead there is in the
  library itself.


  <h2>chunk</h2>
  <p>Determines how efficient the raw data cache is for various access
  patterns of a chunked dataset, both reading and writing.  The access
  pattern is either (a) we access the entire dataset by moving a window
  across and down a 2-d dataset in row-major order a full window
  height and width at a time, or (b) we access part of a dataset by moving
  the window diagonally from the (0,0) corner to the opposite corner
  by half the window height and width at a time. The window is
  measured in terms of the chunk size.


  <p>The result is:
    <br>A table written to stdout that contains the window size as a
    fraction of the chunk size and the efficiencey of the cache (i.e.,
    number of bytes accessed by H5Dread() or H5Dwrite() divided by the
    number of bytes of the dataset actually read or written by lower
    layers.


  <p>A gnuplot script and data files which can be displayed by running
    gnuplot and typing the command `load "x-gnuplot"'.


  <h2>overhead</h2>
  <p>Measures the overhead used by the B-tree for indexing chunked
  datasets. As data is written to a chunked dataset the B-tree
  grows and its nodes get split.  When a node splits one of three
  ratios are used to determine how many items from the original node
  go into the new left and right nodes, and these ratios affect the
  total size of the B-tree in a way that depends on the order that
  data is written to the dataset.


  <p>Invoke as `overhead usage' for more information.
  <hr>
    <address><a href="mailto:matzke@llnl.gov">Robb Matzke</a></address>
<!-- Created: Tue Mar 17 11:13:35 EST 1998 -->
<!-- hhmts start -->
Last modified: Jun 4, 2003
<!-- hhmts end -->
  </body>
</html>