| | 64 | |
| | 65 | == Setting Up Your Own Tests == |
| | 66 | |
| | 67 | A quick word: You might want to override the defaults, which you can do by |
| | 68 | modifying {{{nightly-tests.cfg}}} (also in the 'nightly' directory). |
| | 69 | |
| | 70 | === System Interface Tests === |
| | 71 | The easiest tests to run are the system interface tests (the ones in |
| | 72 | sysint.d). These tests are also the ones that will run "out of the box" if |
| | 73 | you just run {{{test/automated/nightly/testscrpt.sh}}}. |
| | 74 | |
| | 75 | |
| | 76 | === VFS Tests === |
| | 77 | Next up in difficulty: the VFS tests. These tests require two things. |
| | 78 | |
| | 79 | First, root access. The test scripts assume passwordless sudo, which isn't a |
| | 80 | problem on our dedicated test machines (no sensitive items there) but might be |
| | 81 | a concern on production machines. Edit testscrpt.sh and add your machine to |
| | 82 | the list of {{{VFS_HOSTS}}}. |
| | 83 | |
| | 84 | Second, some external benchmarks. Several of the VFS tests compile and run |
| | 85 | some common I/O benchmarks (IOzone, bonnie++, dbench). I have put a tarball |
| | 86 | of the tests we run in |
| | 87 | [[http://www.mcs.anl.gov/~robl/pvfs2/benchmarks-20060512.tar.gz]] |
| | 88 | |
| | 89 | You will have to update your dbench for modern compilers. I haven't updated |
| | 90 | the benchmarks tarball with this newer version yet. |
| | 91 | |
| | 92 | But once you have all that, then I think this too should work without too much |
| | 93 | mucking around inside the test scripts. |
| | 94 | |
| | 95 | === MPI-IO Tests === |
| | 96 | |
| | 97 | These tests are less complicated in some ways -- they do not require root |
| | 98 | access -- but are still more complicated. I've made no end of assumptions to |
| | 99 | get these tests to work on our Jazz cluster. These scripts as written pretty |
| | 100 | much require PBS. |
| | 101 | |
| | 102 | Here's the general idea: Allocate some nodes (the scripts allocate 8 nodes |
| | 103 | from Jazz's shared queue, because that's the most nodes with the fastest |
| | 104 | turnaround). We use PAV (pvfs auto-volume) to partition the allocated nodes |
| | 105 | into I/O nodes (those running pvfs servers) and clients (the ones |
| | 106 | participating in the MPI job). |
| | 107 | |
| | 108 | The specifics include: queue name, executing an MPI job on a subset of PBS |
| | 109 | nodes, configuring PAV for our system. I can and should write a lot more |
| | 110 | about this part... |