Hi guys,

I see how functional  accesses make sense when the system is starting or 
drained, or potentially for reads while it is running. To inject functional 
writes at runtime seems like asking for trouble though. As Steve pointed out, 
what is even the right thing to do for a real memory consistency model? The 
idea of having a sequentially consistent backing store may be convenient, but 
could also lead to having a false sense of what is actually seen by various 
masters in the system. It works for the mem tester as it does not have any 
actual sharing, only false sharing, but for an actual system it seems dodgy.

Andreas


________________________________________
From: gem5-dev [[email protected]] On Behalf Of Steve Reinhardt via 
gem5-dev [[email protected]]
Sent: Sunday, October 26, 2014 2:06 PM
To: Nilay Vaish
Cc: gem5 Developer List
Subject: Re: [gem5-dev] Review Request 2466: ruby: provide a second copy of the 
memory

On Sun, Oct 26, 2014 at 6:35 AM, Nilay Vaish <[email protected]> wrote:

>
>
>> Everything you mention is already in place.


Great, glad to hear it.  Sorry I don't keep up with the details of what's
going on inside of Ruby, and it's been quite a while since I've had an
in-depth discussion with Brad on this.


> The problem is with reads since we can hit stale data before we hit the
> actual data.


Can you elaborate?  I was a little loose in saying it's just addresses &
data, of course you need to condition that on validity too.  But other than
avoiding explicitly invalidated blocks, what do you mean by "stale data"?



> I doubt your claim that it would be easy to support functional accesses if
> we re-design.  In my opinion, every protocol necessarily needs to provide
> some functionality that reasons about the states in different controllers
> and decides which controller / buffer holds the current data.  As Joel
> mentions, it is hard to write a coherence protocol that is coherent about
> the data.  I hardly think people would be willing to write code that
> reasons about multiple controller states together.
>

I think that for functional accesses the only state distinction that
matters is valid vs. invalid.  If there are specific cases where this is
insufficient, I'd like to hear more details.  As I said, the interaction
between functional accesses and consistency models is pretty murky, and it
would be nice to deal with that issue (where it matters) outside of the
functional accesses themselves.  A specific example would be helpful, I
think.

Thanks,

Steve
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev


-- IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium.  Thank you.

ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered 
in England & Wales, Company No:  2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, 
Registered in England & Wales, Company No:  2548782

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to