I'm guessing it's executing those few thousand instructions in the first few milliseconds of your simulation and then getting stuck for some reason. Can you turn on the InstExec trace flag and look at the output? I'm expecting either it will just stop (deadlock) or get into a repetitive pattern (livelock).

Steve

Bushra Ahsan wrote:
Hi,

Following is my run.py. When using mesa on all 4 CPUs, the number of instructions simulated by each CPU is as follows ( simulation completed in seconds for 50,000 instructions)

cpu0.num_insts                                  50000
cpu1.num_insts 49998 cpu2.num_insts 49997 cpu3.num_insts 49999


When using the mix ammp art equake mesa, the simulation did not get completed even after a whole day for the same number of instructions and after killing it, the statistics were as follows.
cpu0.num_insts                                   6500
cpu1.num_insts                                  17319
cpu2.num_insts                                   6833
cpu3.num_insts 7755 What could be the reason of the simulation getting stuck when using four different benchmarks?

Please advice,


#################################################################
import Benchmarks
from MemConfig import *
from FuncUnitConfig import *
from DetailedUniConfig import *

## Memory Configuration#################################
## L1Cache configuration ###########

class BaseL1Cache(BaseCache):
    size = '32kB'
    assoc = 1
    block_size = 32
    mshrs = 4
    tgts_per_mshr = 8

class IL1(BaseL1Cache):
    latency = Parent.clock.period
    mshrs = 8
    write_buffers = 0

class DL1(BaseL1Cache):
    latency = 1 * Parent.clock.period
    mshrs = 32
    write_buffers = 8


## L2Cache configuration ###########

class ToL2Bus(Bus):
    width = 64
    clock = Parent.clock.period
class L2(BaseCache):
    size = '4MB'
    assoc = '8'
    block_size = 64
    latency = 14 * Parent.clock.period
    mshrs = 92
    tgts_per_mshr = 16
    write_buffers = 8

class ToMemBus(Bus):
    width = 16
    clock = 1 * Parent.clock.period

class SDRAM(BaseMemory):
    latency = 100 * Parent.clock.period
    uncacheable_latency = 1 * Parent.clock.period

## CPU Configuration #################################################

class CPU(SimpleCPU):
    icache = IL1(out_bus=Parent.toL2bus)
    dcache = DL1(out_bus=Parent.toL2bus)

## system configuration ########

class Simple_CMP(Root):
    Coherence = CoherenceProtocol(protocol='msi')

    cpu0 = CPU()
    cpu1 = CPU()
    cpu2 = CPU()
    cpu3 = CPU()

    cpu0.workload = Benchmarks.ammp()
    cpu0.max_insts_any_thread = 50000
    cpu1.workload = Benchmarks.art()
    cpu1.max_insts_any_thread = 50000
  cpu2.workload = Benchmarks.equake()
    cpu2.max_insts_any_thread = 50000
    cpu3.workload = Benchmarks.mesa()
    cpu3.max_insts_any_thread = 50000

    l2 = L2(in_bus=Parent.toL2bus, out_bus=Parent.toMembus)
    toMembus = ToMemBus()
    sdram = SDRAM(in_bus=Parent.toMembus)
    toL2bus = ToL2Bus()
    hier = HierParams(do_data=False, do_events=True)

root = Simple_CMP()



Bushra Ahsan
PhD Student
Department of Electrical Engineering
City College at City University of New York

------------------------------------------------------------------------
Get your email and more, right on the new Yahoo.com <http://us.rd.yahoo.com/evt=42973/*http://www.yahoo.com/preview>


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

_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to