Re: [Gems-users] Ruby_cycles varying in a wide range


Date: Thu, 27 Nov 2008 16:58:59 +0100
From: Ricardo Quislant del Barrio <quislant@xxxxxxxxx>
Subject: Re: [Gems-users] Ruby_cycles varying in a wide range
Hi again,
I've just said that I got the same results with the "random_seed" set to the same value for different runs, but now I've just collected the next results for the two runs with the same parameters:

Run1 --> Ruby_cycles: 24874227
Run2 --> Ruby_cycles: 25423079

Here the parameters are (I've wrote a question at the end):

export HOST=`hostname`
export OPAL_CONFIG_FILE=
export RANDOM_SEED=
export CACHE_DATA_DUMP=
export XACT_STORE_PREDICTOR_ENTRIES=256
export XACT_LAZY_VM=0
export LOCK_TYPE=TM
export SIMICS_EXTRA_LIB=./modules
export GENERATE_TRACE=no
export RESULTS_DIR=/opt/gems-2.0/results
export XACT_ENABLE_VIRTUALIZATION_LOGTM_SE=0
export ENABLE_TOURMALINE=0
export NUM_L2_BANKS=0
export SMT_THREADS=1
export PATH=$PATH
export WARMUP_FILE=
export WORKLOAD=labyrinth-TM
export XACT_COMMIT_TOKEN_LATENCY=0
export XACT_LOG_BUFFER_SIZE=0
export ENABLE_MAGIC_WAITING=0
export BATCH_SIZE=4
export MBENCH_ARG_STRING='-t15 -i inputs/random-x32-y32-z3-n16.txt'
export BANDWIDTH=10000
export READ_SET=
export CHECKPOINT_DIR=
export CONDORPROCESS=$$
export MICROBENCH_DIR=microbenchmarks/transactional
export MAX_DEPTH=1
export XACT_FIRST_ACCESS_COST=0
export XACT_FIRST_PAGE_ACCESS_COST=0
export PROTOCOL=MESI_CMP_filter_directory
export TRANSACTIONS=16
export READ_WRITE_FILTER=H3_512_4_Regular
export XACT_STORE_PREDICTOR_THRESHOLD=4
export SUMMARY_READ_WRITE_FILTER=Perfect_
export XACT_VISUALIZER=0
export SHELL=/bin/tcsh
export XACT_CONFLICT_RES=HYBRID
export XACT_EAGER_CD=1
export CHECKPOINT_AT_END=no
export LM_LICENSE_FILE=/p/multifacet/projects/simics/licenses/license.dat
export INTERACTIVE=
export ENABLE_WATCHPOINT=0
export PROCESSORS=16
export USE_LOCAL_MIRROR=
export CHIPS=1
export MBENCH_ARG_PREFIX=-t15-irandom-x32-y32-z3-n16
export DUMP_INTERVAL=1
export BENCHMARK=labyrinth
export XACT_STORE_PREDICTOR_HISTORY=256
export CHECKPOINT=
export VIRTUAL_READ_WRITE_FILTER=Perfect_
export PROCS_PER_CHIP=16
export OPAL_CONFIG_NAME=default
export CONDORCLUSTER=`echo $HOST | tr -- '-_.' ' ' | tr '[a-zA-Z]' '[0-90-90-90-90-90-9]' | awk '{ print $1; }'`
export MACHTYPE=i386
export XACT_NO_BACKOFF=1
export NETWORK_TOPOLOGY=
export PROTOCOL_OPTION=EagerCD_EagerVM_Hybrid_Pred

When you set the protocol option to "EagerCD_EagerVM_Hybrid_Pred" the XACT_ENABLE_VIRTUALIZATION_LOGTM_SE option is set to 0, so a schedule preemption could abort a transaction, isn't it? So could it be causing the variation in the ruby cycles? Another question is: Can one choose pathology-proof protocols and maintain the virtualization?

[← Prev in Thread] Current Thread [Next in Thread→]