On Fri, 24 Jul 2015, Brad Beckmann wrote:


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2988/#review6821
-----------------------------------------------------------


I'm surprised you moved forward on this patch. I thought I had communicated over email a few weeks ago that we should not go down this path before a lot of careful thought and debate on whether this is a

The patch has been posted to initiate a wider debate, to quantify the performance gains and the required changes.

good thing to do. Personally I think this patch removes many of the benefits of having a SLICC ast and goes against many of the main design principles of SLICC. SLICC is designed to avoid having the programmer worry about memory management. SLICC is a layered development approach

ruby uses shared pointers for Message objects. But messages are not shared by multiple objects. At a given time, only one object holds the pointer to a message object. So there should not be any need for messages to be shared pointers. They can be deleted as soon as the current owner realizes that the message is no longer required. In my opinion, the question memory management does not arise at all.

where the sm file is only meant to considering the protocol logic. I believe that is why SLICC has been so successful over the past 16+ years. It allows one to create differnet protocols without requiring one to write C++ and handle complicated memory management. This patch removes those benefits.

I don't know how to measure the success of a language, more so when it is allowed to undergo changes. Comparing the ISA description language and SLICC, I find that SLICC has was change 33% times more even though it has been around for only half the time. To me this means that SLICC is not as stable as it can be. And I think the major reason is that it attempts to do things that are better done in plain C++.



Please do not check this in. We need to come to a consensus on whether this is even a good direction to go in first.


I'll reiterate the two points that I have made before for this patch.

a. shared_pointers have a cost. I think the savings made is substantial enough to justify the required changes to current protocols. My back of the envelope calculations tell me that for a research group like AMD Research, it makes economic sense as well.

b. We will be unifying the memory systems some time in future. I think we would end writing a coherence protocol for the classic memory system. Instead of redoing all the work in SLICC, we would copy the current code C++ directly. This would require actions to have C++ code blocks.


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

Reply via email to