brd device driver), PCM-disk introduces delays when writing a block./dev/pcm0 and /dev/pcm0-ctl must exist. To create the necessary device nodes, you may use the provided $MNEMOSYNE/kernelmode/pcmdisk/dev.sh script.
To load the PCM-disk, create an ext2 file system on it and mount the file system on /mnt/pcmfs, you may use the provided $MNEMOSYNE/kernelmode/pcmdisk/fs.sh script:
% cd $MNEMOSYNE/kernelmode/pcmdisk % ./fs.sh -c
To unmount the file system and unload PCM-disk, you may use the same script:
% cd $MNEMOSYNE/kernelmode/pcmdisk % ./fs.sh -r
pcmdiskctl user-mode application.
pcmdiskctl accepts the following command line options: 
--print-config: Prints the current PCM-disk configuration --set-pcm-bw=: Sets emulated PCM bandwidth (in MB/s) --set-dram-bw=: Sets DRAM system bandwidth (in MB/s) --reset-stat : Resets statistics --print-stat : Prints statistics--set-pcm-bw and --set-dram-bw may be used to control the available bandwidth. You may follow the following procedure to configure and calibrate the available bandwidth:
--set-dram-bw . --reset-stat. --set-pcm-bw . --print-stat.  
libmcore library 
reset_segments : Clears persistent regions upon restart. Can be used to force a clean start of the application. Default is false. segments_dir: The directory where the files backing the persistent regions are placed. Default is $CWD/.segments.libmtm library force_mode: Sets the transaction execution mode. Execution modes include pwbetl (durable w/ locking) and pwbnl (durable w/o locking). Default is pwbetl. stats : Enables statistics collection. Library must be compiled with statistics support. Default is false.
mcore: 
{
    segments_dir = "/tmp/segments";
}
mtm:
{
    force_mode = "pwbetl";
    stats = false;
}
As an extreme, you may set the following watermarks:
echo 100 > /proc/sys/vm/dirty_background_ratio echo 100 > /proc/sys/vm/dirty_ratio echo 10000 > /proc/sys/vm/dirty_expire_centisecskvdriver ($MNEMOSYNE/usermode/bench/kvstore/kvdriver) to exercise four key-value stores (persistent hashtable) implementations: kvdriver-ht : exercises Berkeley DB's hash table (bdb) running on PCM-disk and a C Hash Table (ht) by Christopher Clark extended to support multiple threads and Mnemosyne persistence. kvdriver-tc-base: exercises the base version of TokyoCabinet running on PCM-disk kvdriver-tc-mtm: exercises the Mnemosyne based version of TokyoCabinet
kvdriver accepts the following command line options: 
--ubench=: Microbenchmark to run (please see below) --runtime=: Runtime of the experiement in seconds --nthreads=: Number of threads --vsize=: Value size --nkeys=: Number of keys in the hashtablekvdriver-ht, some microbenchmarks of interest are: mtm_mix_latency_etl: measures the latency of inserting/deleting elements to a persistent hash table mtm_mix_throughput_etl: measures the throughput of inserting/deleting elements to a persistent hash table bdb_mix_latency: measures the latency of inserting/deleting elements to a BDB hash table bdb_mix_throughput: measures the throughput of inserting/deleting elements to a BDB hash tablekvdriver-tc-base, some microbenchmarks of interest are: tc_base_mix_latency: measures the latency of inserting/deleting elements to the base TC hash table tc_base_mix_throughput: measures the throughput of inserting/deleting elements to the base TC hash tablekvdriver-tc-mtm, some microbenchmarks of interest are: tc_mtm_mix_latency_etl: measures the latency of inserting/deleting elements to a Mnemosyne based TC hash table tc_mtm_mix_throughput_etl: measures the throughput of inserting/deleting elements to a Mnemosyne based TC hash table$MNEMOSYNE/usermode/bench/openldap/driver/scripts/mnemosyne may be used to config and run the Mnemosyne-based version of OpenLDAP. Please ensure that: include in $MNEMOSYNE/usermode/bench/openldap/driver/scripts/mnemosyne/slapd.conf points to the right schema file. $MNEMOSYNE/usermode/bench/openldap/driver/scripts/query may be used to test OpenLDAP with simple add/search queries.$MNEMOSYNE/usermode/bench/openldap/driver/slamd/slamd-template. 
 1.4.7