Date: | Sun, 29 Nov 2009 22:32:50 -0500 |
---|---|
From: | Jiří Šimša <jiri.simsa@xxxxxxxxx> |
Subject: | [Gems-users] Collecting Ruby stats for TM |
Hello, I was able to get the deque microbenchmark to run on a 4 processor Simics checkpoint. Next, I tried collecting information about the use of transactions using Ruby as follows: I started Simics with my checkpoint that has the binary of deque_TM loaded in and everything is ready to be run. Next, I did the following in Simics: simics> instruction-fetch-mode instruction-fetch-trace; dstc-disable; istc-disable; cpu-switch-time 1; load-module ruby [cpu0 info] Note that on this cpu, instruction-fetch-trace is implemented using instruction-cache-access-trace with a suitable cache line size. [cpu1 info] Note that on this cpu, instruction-fetch-trace is implemented using instruction-cache-access-trace with a suitable cache line size. [cpu4 info] Note that on this cpu, instruction-fetch-trace is implemented using instruction-cache-access-trace with a suitable cache line size. [cpu5 info] Note that on this cpu, instruction-fetch-trace is implemented using instruction-cache-access-trace with a suitable cache line size. Turning D-STC off and flushing old data Turning I-STC off and flushing old data The switch time will change to 1 cycles (for CPU-0) once all processors have synchronized. successful installation of the ruby timing model. simics> ruby0.setparam g_NUM_PROCESSORS 4 simics> ruby0.init Then I ran the benchmark. Finally, I dumped the stats using ruby0.dump_short_stats. Producing: simics> ruby0.dump-short-stats SHORT Profiler Stats -------------- Virtual_time_in_seconds: 878.31 Virtual_time_in_minutes: 14.6385 Virtual_time_in_hours: 0.243975 Virtual_time_in_days: 0.243975 Ruby_current_time: 24374620 Ruby_start_time: 1 Ruby_cycles: 24374619 Total_misses: 160366 total_misses: 160366 [ 9456 2310 1851 146749 ] user_misses: 12822 [ 617 529 548 11128 ] supervisor_misses: 147544 [ 8839 1781 1303 135621 ] instruction_executed: 83469212 [ 24984755 25572397 25627341 7284719 ] simics_cycles_executed: 389994915 [ 97498479 97498479 97498479 97499478 ] cycles_per_instruction: 1.16808 [ 0.97558 0.953161 0.951118 3.34599 ] misses_per_thousand_instructions: 1.92126 [ 0.378471 0.0903318 0.0722275 20.1448 ] transactions_started: 0 [ 0 0 0 0 ] transactions_ended: 0 [ 0 0 0 0 ] instructions_per_transaction: 0 [ 0 0 0 0 ] cycles_per_transaction: 0 [ 0 0 0 0 ] misses_per_transaction: 0 [ 0 0 0 0 ] ... Anyone could explain to me why is the information about transactions missing? Is there a simple check that I can run to see if the transactional memory subsystem is actually used? Thanks! Best, -- Jiri Simsa Ph.D. Student Carnegie Mellon University |
[← Prev in Thread] | Current Thread | [Next in Thread→] |
---|---|---|
|
Previous by Date: | Re: [Gems-users] Finding the values of latency, Philip Garcia |
---|---|
Next by Date: | Re: [Gems-users] Collecting Ruby stats for TM, Polina Dudnik |
Previous by Thread: | [Gems-users] Can we get a randomized trace with RubyTester?, Jianchen Hu |
Next by Thread: | Re: [Gems-users] Collecting Ruby stats for TM, Polina Dudnik |
Indexes: | [Date] [Thread] |