Git Product home page Git Product logo

fs_test's People

Contributors

atorrez avatar brettkettering avatar thewacokid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fs_test's Issues

Variable Open Times due to Malloc and Memset

The fs_test code does this basically:

malloc(buffer, iosize)
memset(buff, rank, iosize)
start_timer()
if barrier_before_open barrier()
open_file()
if barrier_after_open barrier()
end_timer()

For large IO sizes, the malloc and the memset can take a while AND they can be highly variable. Therefore the time difference between the slowest rank to malloc/memset and the fastest rank to malloc/memset shows up in our open time.

The fix is easy: just add a barrier before the start_timer. By the way, I figured this out because the slow open can hurt the effective write bandwidth if you're not measuring with huge amounts of data.

flatten_file does not work correctly

flatten_file should only be called on N-1 workloads and when io is "plfs". So, first check the use of the "flatten" flag for such. Then, fix flatten index to check those conditions and clean-up the code a bit in there.

Read computes bandwidth using amount written, not read

We have the following statement / question with regard to fs_test. Can you clarify for us?

Our benchmarker’s discovered what they believe is a bug while validating our benchmark results using fs_test.
Can you let us know if this is a bug and how you would want to handle this situation.

We noticed this comment at the start of fs_test.c:
TODO:
read should be affected by time limit also
pass min and max blocks when time limit used

Looking further, we noticed there is a “compute_amount_written”
function, but no corresponding function to compute the amount read.
It appears that all the bandwidth numbers printed in the read output
section are actually based on the amount of data written.

This is only accurate if all the data that was written gets read.
The command line options specified in the RFP cause fs_test to write and
read for the same amount of time. For a variety of reasons, the read test
may hit the time limit before all the data that was written gets read.
In that case, the actual read rate would be slower than the write rate,
but fs_test will report the Effective Bandwidth of the two tests to be essentially
the same since the max write and max read times will be nearly identical.

Is this the intended behavior, or should fs_test compute the actual amount of
data read during a fixed time test in order to print the accurate read bandwidth?

fs_test build error

There is an error when I build the fs_test:
mpicc -g -I. -DROMIO -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D__USE_LARGEFILE64=1 fs_test.o utilities.o print.o hashtable.o hashtable_itr.o boolean.o -o fs_test.x
/usr/bin/ld: fs_test.o: undefined reference to symbol 'floor@@GLIBC_2.2.5'
/usr/lib64/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [fs_test] Error 1
How can I fix it ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.