Discussion:
MOESI_CMP_token
(too old to reply)
Nilay
2011-01-14 09:11:48 UTC
Permalink
I am trying to update the MOESI CMP token protocol. Line 563 in the file
for the L1 cache controller caught my eye. While processing a message
received through the response network, the transaction buffer entry for
the address is edited.
tbe.ExternalResponse := true;

Should this happen where it is happening currently? I think this change
should appear in some action.

--
Nilay
Beckmann, Brad
2011-01-14 17:10:39 UTC
Permalink
Hi Nilay,

There is often a tradeoff between doing operations in actions versus the input port. Overall, I agree with you that we should concentrate on doing most/all operations in actions, not the input ports. The input port logic is often a confusing nested conditional mess and performing other operations inside the input port logic only further confuses things. I believe the reason why the ExternalResponse is monitored at the input port for the token protocol, is because this is a critical piece of information needed for tuning the dynamic timeout latency. It is likely that Mike Marty (who I believe is the original author) just wanted to make sure he always correctly identified external responses.

My suggestion for you is not to worry about it and just keep the logic as is. There is no need to give yourself extra work. To my knowledge GEM5 has yet to be configured into multiple chips and most of the ExternalResponse logic deals with separating local cache hits vs. remote cache hits. Once we configure multiple chip systems, we can revisit the ExternalResponse logic and possibly optimize it.

Brad
-----Original Message-----
Behalf Of Nilay
Sent: Friday, January 14, 2011 1:12 AM
Subject: [m5-dev] MOESI_CMP_token
I am trying to update the MOESI CMP token protocol. Line 563 in the file
for the L1 cache controller caught my eye. While processing a message
received through the response network, the transaction buffer entry for
the address is edited.
tbe.ExternalResponse := true;
Should this happen where it is happening currently? I think this change
should appear in some action.
--
Nilay
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
Nilay Vaish
2011-01-17 18:21:11 UTC
Permalink
I just ran the regression tests for the patch (deals with SLICC and cache
coherence protocols) that I need to commit. The EIO tests fail. Should
this be a concern?

--
Nilay
Steve Reinhardt
2011-01-17 19:59:03 UTC
Permalink
Yes, it should be a concern... it should work. Did you do a pull on the
encumbered repository? There were some changes there needed to maintain
compatibility with the latest m5 dev repo.

Otherwise you'll need to provide more detail about how things failed.

Steve
Post by Nilay Vaish
I just ran the regression tests for the patch (deals with SLICC and cache
coherence protocols) that I need to commit. The EIO tests fail. Should this
be a concern?
--
Nilay
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
Nilay Vaish
2011-01-17 20:59:54 UTC
Permalink
What do you mean by the encumbered repository?
Post by Steve Reinhardt
Yes, it should be a concern... it should work. Did you do a pull on the
encumbered repository? There were some changes there needed to maintain
compatibility with the latest m5 dev repo.
Otherwise you'll need to provide more detail about how things failed.
Steve
Post by Nilay Vaish
I just ran the regression tests for the patch (deals with SLICC and cache
coherence protocols) that I need to commit. The EIO tests fail. Should this
be a concern?
--
Nilay
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
Steve Reinhardt
2011-01-17 21:47:40 UTC
Permalink
The one where the EIO code lives. That's it's name, at
http://repo.m5sim.org.
Post by Nilay Vaish
What do you mean by the encumbered repository?
Yes, it should be a concern... it should work. Did you do a pull on the
Post by Steve Reinhardt
encumbered repository? There were some changes there needed to maintain
compatibility with the latest m5 dev repo.
Otherwise you'll need to provide more detail about how things failed.
Steve
I just ran the regression tests for the patch (deals with SLICC and cache
Post by Nilay Vaish
coherence protocols) that I need to commit. The EIO tests fail. Should this
be a concern?
--
Nilay
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
Nilay Vaish
2011-01-17 21:55:29 UTC
Permalink
I figured that out, but there is no anagram directory in tests/test-progs.
I, therefore, receive the following error:

gzip: tests/test-progs/anagram/bin/alpha/eio/anagram-vshort.eio.gz: No
such file or directory

--
Nilay
Post by Steve Reinhardt
The one where the EIO code lives. That's it's name, at
http://repo.m5sim.org.
Post by Nilay Vaish
What do you mean by the encumbered repository?
Yes, it should be a concern... it should work. Did you do a pull on the
Post by Steve Reinhardt
encumbered repository? There were some changes there needed to maintain
compatibility with the latest m5 dev repo.
Otherwise you'll need to provide more detail about how things failed.
Steve
I just ran the regression tests for the patch (deals with SLICC and cache
Post by Nilay Vaish
coherence protocols) that I need to commit. The EIO tests fail. Should this
be a concern?
--
Nilay
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
Beckmann, Brad
2011-01-17 22:45:54 UTC
Permalink
Hi Nilay,

I understand your confusion. This is an example of where the wiki needs to be updated. I believe the wiki only mentions the encumbered tar ball and doesn't mention the encumbered hg repo on repo.m5sim.org. As far as the anagram test program goes, I remember Lisa and I encountered the same issue a while back and to resolve it I believe Lisa copied that test along with several other regression tester programs from Michigan to AMD.

I can provide you those regression tester programs, but at a higher level, I think this is a good time to ask the question on how we want to provide external users all the files necessary to run the regression tester? As Nilay points out, the encumbered repo has some, but not all of the necessary files. I believe, one also needs another set of regression tester programs which include both the anagram files, as well as the SPECCPU files for the long regression tester runs.

Thoughts?

Brad
-----Original Message-----
Behalf Of Nilay Vaish
Sent: Monday, January 17, 2011 1:55 PM
To: M5 Developer List
Subject: Re: [m5-dev] EIO Regression Tests
I figured that out, but there is no anagram directory in tests/test-
progs.
gzip: tests/test-progs/anagram/bin/alpha/eio/anagram-vshort.eio.gz: No
such file or directory
--
Nilay
Post by Steve Reinhardt
The one where the EIO code lives. That's it's name, at
http://repo.m5sim.org.
Post by Nilay Vaish
What do you mean by the encumbered repository?
Yes, it should be a concern... it should work. Did you do a pull
on the
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
encumbered repository? There were some changes there needed to
maintain
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
compatibility with the latest m5 dev repo.
Otherwise you'll need to provide more detail about how things
failed.
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
Steve
I just ran the regression tests for the patch (deals with SLICC
and cache
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
Post by Nilay Vaish
coherence protocols) that I need to commit. The EIO tests fail.
Should
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
Post by Nilay Vaish
this
be a concern?
--
Nilay
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
Gabriel Michael Black
2011-01-18 00:22:50 UTC
Permalink
I think there are two important aspects of this issue.

1. Using regression tests we can't distribute freely has some
important limitations. It would be nice to replace them with ones we
can.

2. The majority of the regression tests we have now are really
benchmarks which provide basic coverage by working/not working and not
changing behavior unexpectedly. That's an important element to have
since it's a practical reality check and probably hits things we
wouldn't think to test. They have significant limitations, though,
since they take a long time to run and tend to exercise the same
simulator functionality over and over. For instance, gcc may generate
code that always has the same type of backward branch for a for loop.
Using gzip as a test will verify that that branch works, but possibly
not the slightly different variant that may, for instance, use a large
branch displacement. Even when writing code in x86 assembly it can be
impossible to predict which of the possibly many redundant instruction
encodings the assembler might pick.

So, in everyone's infinite free time, I think we should replace our
benchmark based regressions with a smaller set of freely distributable
regressions/inputs, and augment them with shorter, targeted tests that
exercise particular mechanisms, circumstances, instructions, etc.
Instead of replacing our existing benchmarks which are useful as
actual benchmarks and are good to keep working, we could build up this
second set of tests in parallel.

Gabe
Post by Beckmann, Brad
Hi Nilay,
I understand your confusion. This is an example of where the wiki
needs to be updated. I believe the wiki only mentions the
encumbered tar ball and doesn't mention the encumbered hg repo on
repo.m5sim.org. As far as the anagram test program goes, I remember
Lisa and I encountered the same issue a while back and to resolve it
I believe Lisa copied that test along with several other regression
tester programs from Michigan to AMD.
I can provide you those regression tester programs, but at a higher
level, I think this is a good time to ask the question on how we
want to provide external users all the files necessary to run the
regression tester? As Nilay points out, the encumbered repo has
some, but not all of the necessary files. I believe, one also needs
another set of regression tester programs which include both the
anagram files, as well as the SPECCPU files for the long regression
tester runs.
Thoughts?
Brad
-----Original Message-----
Behalf Of Nilay Vaish
Sent: Monday, January 17, 2011 1:55 PM
To: M5 Developer List
Subject: Re: [m5-dev] EIO Regression Tests
I figured that out, but there is no anagram directory in tests/test-
progs.
gzip: tests/test-progs/anagram/bin/alpha/eio/anagram-vshort.eio.gz: No
such file or directory
--
Nilay
Post by Steve Reinhardt
The one where the EIO code lives. That's it's name, at
http://repo.m5sim.org.
Post by Nilay Vaish
What do you mean by the encumbered repository?
Yes, it should be a concern... it should work. Did you do a pull
on the
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
encumbered repository? There were some changes there needed to
maintain
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
compatibility with the latest m5 dev repo.
Otherwise you'll need to provide more detail about how things
failed.
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
Steve
I just ran the regression tests for the patch (deals with SLICC
and cache
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
Post by Nilay Vaish
coherence protocols) that I need to commit. The EIO tests fail.
Should
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
Post by Nilay Vaish
this
be a concern?
--
Nilay
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
Beckmann, Brad
2011-01-18 04:55:53 UTC
Permalink
Thanks Gabe.

I had completely forgotten about the fact we can freely distribute some of those tests. You're suggestion on creating a second, shorter regression tester that focuses on testing different mechanisms sounds like a great idea. Hopefully we can get that done sometime.

In the meantime, let's just make a note to update the wiki in the near future on the current procedure for running the regression tester, pointing people to the binaries that we can't distribute ourselves.

Brad
-----Original Message-----
Behalf Of Gabriel Michael Black
Sent: Monday, January 17, 2011 4:23 PM
Subject: Re: [m5-dev] EIO Regression Tests
I think there are two important aspects of this issue.
1. Using regression tests we can't distribute freely has some
important limitations. It would be nice to replace them with ones we
can.
2. The majority of the regression tests we have now are really
benchmarks which provide basic coverage by working/not working and not
changing behavior unexpectedly. That's an important element to have
since it's a practical reality check and probably hits things we
wouldn't think to test. They have significant limitations, though,
since they take a long time to run and tend to exercise the same
simulator functionality over and over. For instance, gcc may generate
code that always has the same type of backward branch for a for loop.
Using gzip as a test will verify that that branch works, but possibly
not the slightly different variant that may, for instance, use a large
branch displacement. Even when writing code in x86 assembly it can be
impossible to predict which of the possibly many redundant instruction
encodings the assembler might pick.
So, in everyone's infinite free time, I think we should replace our
benchmark based regressions with a smaller set of freely distributable
regressions/inputs, and augment them with shorter, targeted tests that
exercise particular mechanisms, circumstances, instructions, etc.
Instead of replacing our existing benchmarks which are useful as
actual benchmarks and are good to keep working, we could build up this
second set of tests in parallel.
Gabe
Post by Beckmann, Brad
Hi Nilay,
I understand your confusion. This is an example of where the wiki
needs to be updated. I believe the wiki only mentions the
encumbered tar ball and doesn't mention the encumbered hg repo on
repo.m5sim.org. As far as the anagram test program goes, I remember
Lisa and I encountered the same issue a while back and to resolve it
I believe Lisa copied that test along with several other regression
tester programs from Michigan to AMD.
I can provide you those regression tester programs, but at a higher
level, I think this is a good time to ask the question on how we
want to provide external users all the files necessary to run the
regression tester? As Nilay points out, the encumbered repo has
some, but not all of the necessary files. I believe, one also needs
another set of regression tester programs which include both the
anagram files, as well as the SPECCPU files for the long regression
tester runs.
Thoughts?
Brad
-----Original Message-----
Behalf Of Nilay Vaish
Sent: Monday, January 17, 2011 1:55 PM
To: M5 Developer List
Subject: Re: [m5-dev] EIO Regression Tests
I figured that out, but there is no anagram directory in tests/test-
progs.
No
Post by Beckmann, Brad
such file or directory
--
Nilay
Post by Steve Reinhardt
The one where the EIO code lives. That's it's name, at
http://repo.m5sim.org.
Post by Nilay Vaish
What do you mean by the encumbered repository?
Yes, it should be a concern... it should work. Did you do a
pull
Post by Beckmann, Brad
on the
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
encumbered repository? There were some changes there needed to
maintain
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
compatibility with the latest m5 dev repo.
Otherwise you'll need to provide more detail about how things
failed.
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
Steve
On Mon, Jan 17, 2011 at 10:21 AM, Nilay Vaish
I just ran the regression tests for the patch (deals with SLICC
and cache
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
Post by Nilay Vaish
coherence protocols) that I need to commit. The EIO tests fail.
Should
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
Post by Nilay Vaish
this
be a concern?
--
Nilay
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
Gabe Black
2011-01-18 05:43:15 UTC
Permalink
I think the binaries are actually fine to distribute (I think they're
all GPL), it's actually the input sets which have restrictive licenses.

Gabe
Post by Beckmann, Brad
Thanks Gabe.
I had completely forgotten about the fact we can freely distribute some of those tests. You're suggestion on creating a second, shorter regression tester that focuses on testing different mechanisms sounds like a great idea. Hopefully we can get that done sometime.
In the meantime, let's just make a note to update the wiki in the near future on the current procedure for running the regression tester, pointing people to the binaries that we can't distribute ourselves.
Brad
-----Original Message-----
Behalf Of Gabriel Michael Black
Sent: Monday, January 17, 2011 4:23 PM
Subject: Re: [m5-dev] EIO Regression Tests
I think there are two important aspects of this issue.
1. Using regression tests we can't distribute freely has some
important limitations. It would be nice to replace them with ones we
can.
2. The majority of the regression tests we have now are really
benchmarks which provide basic coverage by working/not working and not
changing behavior unexpectedly. That's an important element to have
since it's a practical reality check and probably hits things we
wouldn't think to test. They have significant limitations, though,
since they take a long time to run and tend to exercise the same
simulator functionality over and over. For instance, gcc may generate
code that always has the same type of backward branch for a for loop.
Using gzip as a test will verify that that branch works, but possibly
not the slightly different variant that may, for instance, use a large
branch displacement. Even when writing code in x86 assembly it can be
impossible to predict which of the possibly many redundant instruction
encodings the assembler might pick.
So, in everyone's infinite free time, I think we should replace our
benchmark based regressions with a smaller set of freely distributable
regressions/inputs, and augment them with shorter, targeted tests that
exercise particular mechanisms, circumstances, instructions, etc.
Instead of replacing our existing benchmarks which are useful as
actual benchmarks and are good to keep working, we could build up this
second set of tests in parallel.
Gabe
Post by Beckmann, Brad
Hi Nilay,
I understand your confusion. This is an example of where the wiki
needs to be updated. I believe the wiki only mentions the
encumbered tar ball and doesn't mention the encumbered hg repo on
repo.m5sim.org. As far as the anagram test program goes, I remember
Lisa and I encountered the same issue a while back and to resolve it
I believe Lisa copied that test along with several other regression
tester programs from Michigan to AMD.
I can provide you those regression tester programs, but at a higher
level, I think this is a good time to ask the question on how we
want to provide external users all the files necessary to run the
regression tester? As Nilay points out, the encumbered repo has
some, but not all of the necessary files. I believe, one also needs
another set of regression tester programs which include both the
anagram files, as well as the SPECCPU files for the long regression
tester runs.
Thoughts?
Brad
-----Original Message-----
Behalf Of Nilay Vaish
Sent: Monday, January 17, 2011 1:55 PM
To: M5 Developer List
Subject: Re: [m5-dev] EIO Regression Tests
I figured that out, but there is no anagram directory in tests/test-
progs.
No
Post by Beckmann, Brad
such file or directory
--
Nilay
Post by Steve Reinhardt
The one where the EIO code lives. That's it's name, at
http://repo.m5sim.org.
Post by Nilay Vaish
What do you mean by the encumbered repository?
Yes, it should be a concern... it should work. Did you do a
pull
Post by Beckmann, Brad
on the
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
encumbered repository? There were some changes there needed to
maintain
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
compatibility with the latest m5 dev repo.
Otherwise you'll need to provide more detail about how things
failed.
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
Steve
On Mon, Jan 17, 2011 at 10:21 AM, Nilay Vaish
I just ran the regression tests for the patch (deals with SLICC
and cache
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
Post by Nilay Vaish
coherence protocols) that I need to commit. The EIO tests fail.
Should
Post by Steve Reinhardt
Post by Nilay Vaish
Post by Steve Reinhardt
Post by Nilay Vaish
this
be a concern?
--
Nilay
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
_______________________________________________
m5-dev mailing list
http://m5sim.org/mailman/listinfo/m5-dev
Continue reading on narkive:
Loading...