Roadmap

From Filebench
Revision as of 21:53, 1 August 2014 by Vass-vass (Talk | contribs)

Jump to: navigation, search

Filebench 1.5

Filebench 1.5 will include many new features and bug fixes. This page is created to plan upcoming and future releases and keep track of the progress.


Features

  • Custom Variables

Pool of Tasks

  • Support for floating-point (DOUBLE) constants and variables
  • Use floating point for perceents in table distribution
  • Custom Variables related
    • filesizegamma parameter is not needed as we have custom/random variables with gamma distribution
  • Update USAGE text
  • add offset parameter
  • revisit ioprio support
  • Fix compilation bugs and warning from the bug reporting systems
  • Revisit part-by-part Filebench executiong (create-fileset, create-proc, stat_snap)
  • Remove interactive support
  • Resurect test machine and keep testing running
  • Predictable random numbers (seed=) for reproducible experiments
  • FreeBSD and Solaris Testing
    • FreeBSD, analog for /proc/stat or libkstat and /proc/<pid>/stat?
    • bzero() on FreeBSD
    • Check Solaris-specific code
  • usec/cpu-op is incorrect for oltp workload. OLTP in general works weird. Figure it out, do it only after process model is enabled.
  • Check what happens if pthreads (and others, like lm) are not available
  • Should we have only process model?..
  • -D_REENTRANT, do we need it?
  • leafdirs attributes for filesets does not work correctly: entry names
 for files collide with entry names for leafdirs.
  • Multi-client support
    • rulti_client_sync.c and patches
  • Does aio_read() work?
  • Ifdefs for all header files

- Enforce configuration option:

       #ifdef HAVE_
               ....
       #elif HAVE_
       #else
               ERROR
       #fi
       but not just if else that can easily fail.
  • Non-interactive mode only
    • remove all other code
  • reuse flag make it work

- Free randdist, string, and cvar when reassigning a variable

- fs_dirwidth, fs_digamma, fs_dirdepth_rv, etc. are confusing. Simplify.

- Move shm_threadflow_lock to the procflow structure where it belongs to.

- make compilation independent from parser_gram.y (so that when we touch it...)

- Ifdefs for all header files

- print all defines, sizeofs, functions used, or something like that

- reenable fscheck command later

- reenable multi_client_sync.c later

- HAVE_CFTIME -> HAVE_STRFTIME

- Auto-completio db is outdated

- remove config.h on make distclean

- modify filebench so that it supports reuse properly (even for writes)

 (then we can use dd of pre-stored  images - but how to store them?...)

- Sometimes on white we hang right after thread creation: 927: 7.180: Starting 100 filereaderthread threads wchan shows: futex_wait_queue_meroot()


- add fb_ prefix to all function in order not to pollute namespace - rename files properly - Use __function__ constant. - move random generation from posset.c to fb_random.c - make a policy about abd_t usage. ~