changeset b10ee98aea91 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=b10ee98aea91
description:
ruby: Reduced ruby latencies
The previous slower ruby latencies created a mismatch between the
faster M5
cpu models and the much slower ruby memory system. Specifically smp
interrupts were much slower and infrequent, as well as cpus moving in
and out
of spin locks. The result was many cpus were idle for large periods of
time.
These changes fix the latency mismatch.
diffstat:
configs/common/Options.py | 2 +-
configs/example/ruby_se.py | 2 +-
configs/ruby/MOESI_CMP_token.py | 4 ++--
configs/ruby/MOESI_hammer.py | 4 ++--
src/mem/protocol/MOESI_CMP_token-L1cache.sm | 2 +-
src/mem/protocol/MOESI_CMP_token-L2cache.sm | 4 ++--
src/mem/protocol/MOESI_CMP_token-dir.sm | 4 ++--
src/mem/protocol/MOESI_hammer-cache.sm | 2 +-
src/mem/protocol/MOESI_hammer-dir.sm | 2 +-
9 files changed, 13 insertions(+), 13 deletions(-)
diffs (127 lines):
diff -r 7d97cec15818 -r b10ee98aea91 configs/common/Options.py
--- a/configs/common/Options.py Fri Aug 20 11:46:12 2010 -0700
+++ b/configs/common/Options.py Fri Aug 20 11:46:12 2010 -0700
@@ -34,7 +34,7 @@
parser.add_option("--caches", action="store_true")
parser.add_option("--l2cache", action="store_true")
parser.add_option("--fastmem", action="store_true")
-parser.add_option("--clock", action="store", type="string", default='1GHz')
+parser.add_option("--clock", action="store", type="string", default='2GHz')
parser.add_option("--num-dirs", type="int", default=1)
parser.add_option("--num-l2caches", type="int", default=1)
parser.add_option("--num-l3caches", type="int", default=1)
diff -r 7d97cec15818 -r b10ee98aea91 configs/example/ruby_se.py
--- a/configs/example/ruby_se.py Fri Aug 20 11:46:12 2010 -0700
+++ b/configs/example/ruby_se.py Fri Aug 20 11:46:12 2010 -0700
@@ -143,7 +143,7 @@
assert(test_mem_mode == 'timing')
assert(FutureClass == None)
-CPUClass.clock = '1GHz'
+CPUClass.clock = options.clock
np = options.num_cpus
diff -r 7d97cec15818 -r b10ee98aea91 configs/ruby/MOESI_CMP_token.py
--- a/configs/ruby/MOESI_CMP_token.py Fri Aug 20 11:46:12 2010 -0700
+++ b/configs/ruby/MOESI_CMP_token.py Fri Aug 20 11:46:12 2010 -0700
@@ -36,13 +36,13 @@
# Note: the L1 Cache latency is only used by the sequencer on fast path hits
#
class L1Cache(RubyCache):
- latency = 3
+ latency = 2
#
# Note: the L2 Cache latency is not currently used
#
class L2Cache(RubyCache):
- latency = 15
+ latency = 10
def define_options(parser):
parser.add_option("--l1-retries", type="int", default=1,
diff -r 7d97cec15818 -r b10ee98aea91 configs/ruby/MOESI_hammer.py
--- a/configs/ruby/MOESI_hammer.py Fri Aug 20 11:46:12 2010 -0700
+++ b/configs/ruby/MOESI_hammer.py Fri Aug 20 11:46:12 2010 -0700
@@ -35,13 +35,13 @@
# Note: the L1 Cache latency is only used by the sequencer on fast path hits
#
class L1Cache(RubyCache):
- latency = 3
+ latency = 2
#
# Note: the L2 Cache latency is not currently used
#
class L2Cache(RubyCache):
- latency = 15
+ latency = 10
def define_options(parser):
return
diff -r 7d97cec15818 -r b10ee98aea91 src/mem/protocol/MOESI_CMP_token-L1cache.sm
--- a/src/mem/protocol/MOESI_CMP_token-L1cache.sm Fri Aug 20 11:46:12
2010 -0700
+++ b/src/mem/protocol/MOESI_CMP_token-L1cache.sm Fri Aug 20 11:46:12
2010 -0700
@@ -41,7 +41,7 @@
int l1_request_latency = 2,
int l1_response_latency = 2,
int retry_threshold = 1,
- int fixed_timeout_latency = 300,
+ int fixed_timeout_latency = 100,
bool dynamic_timeout_enabled = true
{
diff -r 7d97cec15818 -r b10ee98aea91 src/mem/protocol/MOESI_CMP_token-L2cache.sm
--- a/src/mem/protocol/MOESI_CMP_token-L2cache.sm Fri Aug 20 11:46:12
2010 -0700
+++ b/src/mem/protocol/MOESI_CMP_token-L2cache.sm Fri Aug 20 11:46:12
2010 -0700
@@ -35,8 +35,8 @@
machine(L2Cache, "Token protocol")
: CacheMemory * L2cacheMemory,
int N_tokens,
- int l2_request_latency = 10,
- int l2_response_latency = 10,
+ int l2_request_latency = 5,
+ int l2_response_latency = 5,
bool filtering_enabled = true
{
diff -r 7d97cec15818 -r b10ee98aea91 src/mem/protocol/MOESI_CMP_token-dir.sm
--- a/src/mem/protocol/MOESI_CMP_token-dir.sm Fri Aug 20 11:46:12 2010 -0700
+++ b/src/mem/protocol/MOESI_CMP_token-dir.sm Fri Aug 20 11:46:12 2010 -0700
@@ -36,9 +36,9 @@
: DirectoryMemory * directory,
MemoryControl * memBuffer,
int l2_select_num_bits,
- int directory_latency = 6,
+ int directory_latency = 5,
bool distributed_persistent = true,
- int fixed_timeout_latency = 300
+ int fixed_timeout_latency = 100
{
MessageBuffer dmaResponseFromDir, network="To", virtual_network="5",
ordered="true";
diff -r 7d97cec15818 -r b10ee98aea91 src/mem/protocol/MOESI_hammer-cache.sm
--- a/src/mem/protocol/MOESI_hammer-cache.sm Fri Aug 20 11:46:12 2010 -0700
+++ b/src/mem/protocol/MOESI_hammer-cache.sm Fri Aug 20 11:46:12 2010 -0700
@@ -38,7 +38,7 @@
CacheMemory * L1IcacheMemory,
CacheMemory * L1DcacheMemory,
CacheMemory * L2cacheMemory,
- int cache_response_latency = 12,
+ int cache_response_latency = 10,
int issue_latency = 2
{
diff -r 7d97cec15818 -r b10ee98aea91 src/mem/protocol/MOESI_hammer-dir.sm
--- a/src/mem/protocol/MOESI_hammer-dir.sm Fri Aug 20 11:46:12 2010 -0700
+++ b/src/mem/protocol/MOESI_hammer-dir.sm Fri Aug 20 11:46:12 2010 -0700
@@ -36,7 +36,7 @@
machine(Directory, "AMD Hammer-like protocol")
: DirectoryMemory * directory,
MemoryControl * memBuffer,
- int memory_controller_latency = 12
+ int memory_controller_latency = 2
{
MessageBuffer forwardFromDir, network="To", virtual_network="3",
ordered="false";
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev