Re: [Gems-users] error on L2 misses while multiple benchmarks running


Date: Wed, 29 Oct 2008 17:05:23 +0100
From: Pau Erola <pauerola@xxxxxxxxxx>
Subject: Re: [Gems-users] error on L2 misses while multiple benchmarks running

Yes, it is set to 8. I copy my configuration file below. Thanks for your fast response.

read-configuration /scratch/1/pauerola/checkpoints/8procs/specB_22.conf

instruction-fetch-mode instruction-fetch-trace
istc-disable
dstc-disable
cpu-switch-time 1

echo("Loading Ruby")
load-module ruby

## CONFIG
ruby0.setparam SIMICS_RUBY_MULTIPLIER 1
ruby0.setparam OPAL_RUBY_MULTIPLIER 1

## CHIP
ruby0.setparam g_NUM_PROCESSORS 8
ruby0.setparam g_PROCS_PER_CHIP 8
ruby0.setparam g_NUM_MEMORIES 8
ruby0.setparam_str g_REPLACEMENT_POLICY LRU

## NETWORK
ruby0.setparam NETWORK_LINK_LATENCY 3
ruby0.setparam g_endpoint_bandwidth 1000
ruby0.setparam_str g_NETWORK_TOPOLOGY FILE_SPECIFIED
ruby0.setparam_str g_NETWORK_TOPOLOGY PT_TO_PT
ruby0.setparam NUMBER_OF_VIRTUAL_NETWORKS 6

## L1 - 32k
ruby0.setparam L1_CACHE_ASSOC 4
ruby0.setparam L1_CACHE_NUM_SETS_BITS 7
ruby0.setparam SEQUENCER_TO_CONTROLLER_LATENCY 4
ruby0.setparam L1_RESPONSE_LATENCY 3

## L2 - 512K
ruby0.setparam g_NUM_L2_BANKS 8
ruby0.setparam L2_CACHE_ASSOC 16
ruby0.setparam L2_CACHE_NUM_SETS_BITS 12
ruby0.setparam L2_RESPONSE_LATENCY 12
ruby0.setparam L2_TAG_LATENCY 4
ruby0.setparam L2_REQUEST_LATENCY 12

## MEMORY
ruby0.setparam g_MEMORY_SIZE_BYTES 4294967296
ruby0.setparam MEMORY_RESPONSE_LATENCY_MINUS_2 278
ruby0.setparam g_NUM_MEMORIES 8
ruby0.setparam DIRECTORY_LATENCY 4

ruby0.init
ruby0.load-caches /scratch/1/pauerola/caches/8procs/specB_22.cache

ruby0.clear-stats
c   200000000
print-time cpu0
ruby0.dump-stats /scratch/1/pauerola/stats/8procs/specB_66.unic.stats

Many thanks,
Pau


Mike Marty wrote:
Is PROCS_PER_CHIP set to 8?

--Mike


On Tue, Oct 28, 2008 at 1:44 PM, Pau Erola <pauerola@xxxxxxxxxx <mailto:pauerola@xxxxxxxxxx>> wrote:


    Greetings,

    I'm working with MOESI_CMP_directory protocol on 8core single processor
    machine with PT_to_PT interconnection network. We are launching 8
    SPEC2000 benchmarcks on Solaris9 with their corresponding skip-cycles
    and warmups. With <<con0.input "prstat\n">> we can see them running

    422 root       42M   28M cpu1    59  -20   0:05:13  12% facerec_base.au
    423 root      211M  197M cpu7    59  -20   0:03:39  12% swim_base.aug16
    424 root      157M   47M cpu5    59  -20   0:01:13  12% galgel_base.aug
    425 root     3016K 2520K cpu6    59  -20   0:00:51  11% twolf_base.aug1
    426 root       28M   27M run     59  -20   0:00:38  11% equake_base.aug
    427 root     4280K 3736K cpu3    59  -20   0:00:34  10% art_base.aug16a
    428 root       72M   58M cpu2    59  -20   0:00:34  10% mgrid_base.aug1
    429 root       96M   96M cpu4    59  -20   0:00:19 7.6% mcf_base.aug16a


    After running Ruby for 200M cycles we see that only 4 first cores have
    L2 misses (512Kb, 16way assoc)

    Total_misses: 1657738
    total_misses: 1657738 [ 536341 467195 489785 145520 18157 249 286 205 ]
    user_misses: 1630461 [ 531623 466042 488376 144420 0 0 0 0 ]
    supervisor_misses: 27277 [ 4718 1153 1409 1100 18157 249 286 205 ]

    instruction_executed: 981861968 [ 26401973 46018520 35723729 79469230
    194243888 200001684 200000001 200002943 ]
    simics_cycles_executed: 1600173064 [ 200021633 200021633 200021633
    200021633 200021633 200021633 200021633 200021633 ]
    cycles_per_instruction: 1.62973 [ 7.57601 4.34655 5.59913 2.51697
    1.02974 1.0001 1.00011 1.00009 ]
    misses_per_thousand_instructions: 1.68836 [ 20.3144 10.1523 13.7104
    1.83115 0.0934753 0.00124499 0.00143 0.00102498 ]


    We have monitored with printf L2 cache misses in Profiler.C and in
    Sequencer.C and seems that only 0 to 3 cores produce user misses

    2u  0u  3u  1u  2u  0u  1u  3u  0u  2u  1u  3u  2u  1u  0u  3u  2u  1u
    0u  3u  1u  0u  2u  3u  1u  0u  2u  3u  0u  2u  3u  0u  1u  2u  3u  0u
    1u  2u  3u  0u  1u  2u  3u  0u  1u  2u  1u  0u  3u  2u  1u  0u  3u  1u
    2u  0u  3u  1u  0u  2u  3u  0u  2u  3u  0u  2u  3u  1u  0u  2u  3u  0u
    2u  1u  3u  0u  2u  1u  3u  0u  1u  2u  3u  1u  0u  2u  3u  1u  0u  2u
    1u  3u  0u  1u  3u  2u  0u  2u  3u  0u  1u  2u  3u  0u  1u  0u  3u  2u
    1u  0u  2u  3u  1u  0u  2u  1u  3u  0u  1u  3u  2u  0u  1u  3u  2u  0u
    1u  3u  0u  2u  3u  0u  2u  3u  0u  1u  2u  0u  3u  1u  2u  0u  1u  3u


    We have tried to change Solaris scheduler, priorities, launch
    applications with multiple users,... without successful. It seems that
    after loading Ruby only 4 cores work.

    Any help will be very grateful.


    Many thanks,
    Pau


    _______________________________________________
    Gems-users mailing list
    Gems-users@xxxxxxxxxxx <mailto:Gems-users@xxxxxxxxxxx>
    https://lists.cs.wisc.edu/mailman/listinfo/gems-users
    Use Google to search the GEMS Users mailing list by adding
    "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.



------------------------------------------------------------------------

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.

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