History | View | Annotate | Download (6.6 kB)
bench: Break large source file into smaller files
The bench-utils.c file started to have utilities that could standsemantically under a separate category. Namely, verification is now atbench-verify.c and progress report under bench-report.c.
bench: Create separate option for progress type
Progress type option is now decoupled from the progress option. Thispaves the way for silent progress reports.
bench: Ping target peer before starting timers
In some cases, the target peer may take some time before it finisheswith its initializations. Since we don't want to measure this idle time,we send a ping request first and can start start the benchmark after we...
bench: Fix minor validation issue
bench: Add --prefix option
The --prefix option allows the user to choose whatever prefix he/shewants for the object names that will be generated.
This commit also cleans code that has to do with seeding and creatingobject names. It also paves the way for the --objname option.
bench: Handle progress report better
Pave the way to include bandwidth/IOPS results during progress report
bench: Introduce new progress report and intervals
This commit renews the progress report that bench has by allowing toreport bandwidth results during benchmark.
Also, an additional functionality is that of report intervals. Reportintervals allow the user to choose exactly when progress report will be...
bench: Fix data verification
Current situation: In full verification mode, each number written acrossa data chunk has 64 bits length, yet, due to a wrong LFSRinitialization, only 31 bits are utilized.
Implement a 63/64 bits utilization.
bench: Minor correction on seed validation
bench: Improve benchmark results
Changes include:
bench: Fix target to not include null termination.
Request of the target must not be null terminated. Remove null termination fromthe requests constructed by peers.
bench: Flush stdout when printing progress results
bench: Fix issuing of read/write requests
Due to no initialization of struct bench, some "ifs" in the code wouldshow different behavior depending on the junk values they would check.Now however, there is proper initialization of struct bench.
Add progress report for bench
Progress report is turned on by default. It reports every 5% the currentrequest status.Also, we now make sure to terminate only if all peer requests are free.
bench: Change prefixes of static functions
In this repo, a static helpder function is prefixed with "__". However,some static helper functions in bench-utils.c where prefixed with asingle underscore ("_"), so we updated their names to be consistent with...
bench: Include bandwidth and IOPS in results
Style changes
Add option for read/write ops to hit unique objs
Read/write ops can now use the -to option, instead of the -ts option, tomake each read/write request touch a different object.
Fix verification full mode
Improve LFSR implementation
Also, prepare the code for the addition of verification support
Add skeleton for verification in write path
Refactor struct bench and appropriate code paths
Changes:
1. Move flag values (such as pattern, insanity, verify) in a specific bit-field.2. Create a struct req_status where the status of requests will be stored.3. Tidy up code.
Rationale:
1. For parameters that can have only a few different values, it's an...
Add partial support for verification
Adds an option to choose between verification modes:
1. meta: On this mode, we write our signature both at the start and the end of the chunk size. It should be very fast and moderately safe, due to the fact that corruptions happen it the chunk's edges....
Minor fixes
Add support for seed values given by the user
A new option has been added (--seed) which allows the user to pre-definethe seed that he/she wants. This has the following effects:
Print more useful results
Fix incorrect reading of "insanity" parameter
Fix LFSR behavior
Tweak performance of bench
Implement most semi-finished functionalities
Summary of new functionalities:
Increment completed requests of insane timers
Even if a timer is not used for a benchmark, we need to increment itscompleted requests since these are needed to calculate how many requestsare left etc.
Fix target names and chunk offsets
Fix flag handling of struct bench
Design the program's skeleton for new features
Bench peer must be able to test all xseg operations in a synchronous orasynchronous way. Also, it must have a validation mode to sanity-checkif xseg requests are issued properly. Most of the above are present in...
Add utility functions to header file