Re: [gem5-dev] Review Request: GARNET: adding a fault model for resilient on-chip network research.

2011-09-14 Thread Brad Beckmann

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/776/#review1545
---

Ship it!


Thanks for you hard work.  This looks good to me.

- Brad


On 2011-08-18 14:58:55, Konstantinos Aisopos wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/776/
 ---
 
 (Updated 2011-08-18 14:58:55)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, Nathan 
 Binkert, Brad Beckmann, and Tushar Krishna.
 
 
 Summary
 ---
 
 GARNET: adding a fault model for resilient on-chip network research.
 
 This patch adds a fault model, which provides the probability of a number of
 architectural faults in the interconnection network (e.g., data corruption,
 misrouting). These probabilities can be used to realistically inject faults
 in GARNET and faithfully evaluate the effectiveness of novel resilient NoC
 architectures.
 
 
 Diffs
 -
 
   configs/ruby/Ruby.py 889818c58eff 
   src/mem/ruby/network/fault_model/FaultModel.hh PRE-CREATION 
   src/mem/ruby/network/fault_model/FaultModel.cc PRE-CREATION 
   src/mem/ruby/network/fault_model/FaultModel.py PRE-CREATION 
   src/mem/ruby/network/fault_model/SConscript PRE-CREATION 
   src/mem/ruby/network/garnet/BaseGarnetNetwork.hh 889818c58eff 
   src/mem/ruby/network/garnet/BaseGarnetNetwork.cc 889818c58eff 
   src/mem/ruby/network/garnet/BaseGarnetNetwork.py 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/Router_d.hh 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc 889818c58eff 
 
 Diff: http://reviews.m5sim.org/r/776/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Konstantinos
 


___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request: GARNET: adding a fault model for resilient on-chip network research.

2011-08-18 Thread Brad Beckmann

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/776/#review1466
---


It looks like you fixed some of the hardcoded numbers, but not all of them.  
Some places still hardcode values to 2 or 12.  


src/mem/ruby/network/fault_model/FaultModel.cc
http://reviews.m5sim.org/r/776/#comment1888

Still using a hardcoded 12 here.


- Brad


On 2011-08-17 18:09:03, Konstantinos Aisopos wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/776/
 ---
 
 (Updated 2011-08-17 18:09:03)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, Nathan 
 Binkert, Brad Beckmann, and Tushar Krishna.
 
 
 Summary
 ---
 
 GARNET: adding a fault model for resilient on-chip network research.
 
 This patch adds a fault model, which provides the probability of a number of
 architectural faults in the interconnection network (e.g., data corruption,
 misrouting). These probabilities can be used to realistically inject faults
 in GARNET and faithfully evaluate the effectiveness of novel resilient NoC
 architectures.
 
 
 Diffs
 -
 
   configs/ruby/Ruby.py 889818c58eff 
   src/mem/ruby/network/fault_model/FaultModel.hh PRE-CREATION 
   src/mem/ruby/network/fault_model/FaultModel.cc PRE-CREATION 
   src/mem/ruby/network/fault_model/FaultModel.py PRE-CREATION 
   src/mem/ruby/network/fault_model/SConscript PRE-CREATION 
   src/mem/ruby/network/garnet/BaseGarnetNetwork.hh 889818c58eff 
   src/mem/ruby/network/garnet/BaseGarnetNetwork.cc 889818c58eff 
   src/mem/ruby/network/garnet/BaseGarnetNetwork.py 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/Router_d.hh 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc 889818c58eff 
 
 Diff: http://reviews.m5sim.org/r/776/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Konstantinos
 


___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request: GARNET: adding a fault model for resilient on-chip network research.

2011-08-17 Thread Konstantinos Aisopos

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/776/
---

(Updated 2011-08-17 16:12:19.025554)


Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, Nathan 
Binkert, Brad Beckmann, and Tushar Krishna.


Summary
---

GARNET: adding a fault model for resilient on-chip network research.

This patch adds a fault model, which provides the probability of a number of
architectural faults in the interconnection network (e.g., data corruption,
misrouting). These probabilities can be used to realistically inject faults
in GARNET and faithfully evaluate the effectiveness of novel resilient NoC
architectures.


Diffs (updated)
-

  configs/ruby/Ruby.py 889818c58eff 
  src/mem/ruby/network/fault_model/FaultModel.hh PRE-CREATION 
  src/mem/ruby/network/fault_model/FaultModel.cc PRE-CREATION 
  src/mem/ruby/network/fault_model/FaultModel.py PRE-CREATION 
  src/mem/ruby/network/fault_model/SConscript PRE-CREATION 
  src/mem/ruby/network/garnet/BaseGarnetNetwork.hh 889818c58eff 
  src/mem/ruby/network/garnet/BaseGarnetNetwork.cc 889818c58eff 
  src/mem/ruby/network/garnet/BaseGarnetNetwork.py 889818c58eff 
  src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh 889818c58eff 
  src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 889818c58eff 
  src/mem/ruby/network/garnet/fixed-pipeline/Router_d.hh 889818c58eff 
  src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc 889818c58eff 

Diff: http://reviews.m5sim.org/r/776/diff


Testing
---


Thanks,

Konstantinos

___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request: GARNET: adding a fault model for resilient on-chip network research.

2011-08-17 Thread Konstantinos Aisopos


 On 2011-08-16 22:18:07, Brad Beckmann wrote:
  src/mem/ruby/network/garnet/BaseGarnetNetwork.py, line 39
  http://reviews.m5sim.org/r/776/diff/2/?file=14649#file14649line39
 
  If the fault model only works with the fixed network, shouldn't these 
  parameters be moved to the fixed network python class and not the base 
  network class?

It's debatable if the fault model makes sense for the flexible network, so I 
wanted to leave that option open. 
If the user-defined pipeline is similar to the fixed network, then the fault 
model should be moderately accurate, while for major pipeline changes the fault 
model's vector may be way off.
In any case, I would like to enable a user to call the fault model from the 
flexible network, consequently I defined fault_model as a module inside the 
base network to make that possible, if the user is willing to put some effort 
and adapt the model to its specific flexible network.


 On 2011-08-16 22:18:07, Brad Beckmann wrote:
  src/mem/ruby/network/fault_model/FaultModel.cc, line 57
  http://reviews.m5sim.org/r/776/diff/2/?file=14644#file14644line57
 
  Why 12?  If this is a constant, please use a const int or define a 
  macro.
  
  Also please add a space between math operators and operands:
  
  ex int i = 0;

took care of this: modified my spacing consistently with guidelines (throughout 
my files) and added an enum reference instead of 12


- Konstantinos


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/776/#review1460
---


On 2011-08-17 16:12:19, Konstantinos Aisopos wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/776/
 ---
 
 (Updated 2011-08-17 16:12:19)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, Nathan 
 Binkert, Brad Beckmann, and Tushar Krishna.
 
 
 Summary
 ---
 
 GARNET: adding a fault model for resilient on-chip network research.
 
 This patch adds a fault model, which provides the probability of a number of
 architectural faults in the interconnection network (e.g., data corruption,
 misrouting). These probabilities can be used to realistically inject faults
 in GARNET and faithfully evaluate the effectiveness of novel resilient NoC
 architectures.
 
 
 Diffs
 -
 
   configs/ruby/Ruby.py 889818c58eff 
   src/mem/ruby/network/fault_model/FaultModel.hh PRE-CREATION 
   src/mem/ruby/network/fault_model/FaultModel.cc PRE-CREATION 
   src/mem/ruby/network/fault_model/FaultModel.py PRE-CREATION 
   src/mem/ruby/network/fault_model/SConscript PRE-CREATION 
   src/mem/ruby/network/garnet/BaseGarnetNetwork.hh 889818c58eff 
   src/mem/ruby/network/garnet/BaseGarnetNetwork.cc 889818c58eff 
   src/mem/ruby/network/garnet/BaseGarnetNetwork.py 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/Router_d.hh 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc 889818c58eff 
 
 Diff: http://reviews.m5sim.org/r/776/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Konstantinos
 


___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request: GARNET: adding a fault model for resilient on-chip network research.

2011-08-17 Thread Ali Saidi

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/776/#review1464
---



src/mem/ruby/network/fault_model/FaultModel.cc
http://reviews.m5sim.org/r/776/#comment1886

Could  move this (everything from Official tool to the end) into separate 
comments? We have some scripts that check and grab copyright from all files and 
I'd prefer not to have to add a special exception for this.

For all files please.


- Ali


On 2011-08-17 16:12:19, Konstantinos Aisopos wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/776/
 ---
 
 (Updated 2011-08-17 16:12:19)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, Nathan 
 Binkert, Brad Beckmann, and Tushar Krishna.
 
 
 Summary
 ---
 
 GARNET: adding a fault model for resilient on-chip network research.
 
 This patch adds a fault model, which provides the probability of a number of
 architectural faults in the interconnection network (e.g., data corruption,
 misrouting). These probabilities can be used to realistically inject faults
 in GARNET and faithfully evaluate the effectiveness of novel resilient NoC
 architectures.
 
 
 Diffs
 -
 
   configs/ruby/Ruby.py 889818c58eff 
   src/mem/ruby/network/fault_model/FaultModel.hh PRE-CREATION 
   src/mem/ruby/network/fault_model/FaultModel.cc PRE-CREATION 
   src/mem/ruby/network/fault_model/FaultModel.py PRE-CREATION 
   src/mem/ruby/network/fault_model/SConscript PRE-CREATION 
   src/mem/ruby/network/garnet/BaseGarnetNetwork.hh 889818c58eff 
   src/mem/ruby/network/garnet/BaseGarnetNetwork.cc 889818c58eff 
   src/mem/ruby/network/garnet/BaseGarnetNetwork.py 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/Router_d.hh 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc 889818c58eff 
 
 Diff: http://reviews.m5sim.org/r/776/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Konstantinos
 


___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request: GARNET: adding a fault model for resilient on-chip network research.

2011-08-17 Thread Konstantinos Aisopos

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/776/
---

(Updated 2011-08-17 18:09:03.282166)


Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, Nathan 
Binkert, Brad Beckmann, and Tushar Krishna.


Summary
---

GARNET: adding a fault model for resilient on-chip network research.

This patch adds a fault model, which provides the probability of a number of
architectural faults in the interconnection network (e.g., data corruption,
misrouting). These probabilities can be used to realistically inject faults
in GARNET and faithfully evaluate the effectiveness of novel resilient NoC
architectures.


Diffs (updated)
-

  configs/ruby/Ruby.py 889818c58eff 
  src/mem/ruby/network/fault_model/FaultModel.hh PRE-CREATION 
  src/mem/ruby/network/fault_model/FaultModel.cc PRE-CREATION 
  src/mem/ruby/network/fault_model/FaultModel.py PRE-CREATION 
  src/mem/ruby/network/fault_model/SConscript PRE-CREATION 
  src/mem/ruby/network/garnet/BaseGarnetNetwork.hh 889818c58eff 
  src/mem/ruby/network/garnet/BaseGarnetNetwork.cc 889818c58eff 
  src/mem/ruby/network/garnet/BaseGarnetNetwork.py 889818c58eff 
  src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh 889818c58eff 
  src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 889818c58eff 
  src/mem/ruby/network/garnet/fixed-pipeline/Router_d.hh 889818c58eff 
  src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc 889818c58eff 

Diff: http://reviews.m5sim.org/r/776/diff


Testing
---


Thanks,

Konstantinos

___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request: GARNET: adding a fault model for resilient on-chip network research.

2011-08-17 Thread Konstantinos Aisopos


 On 2011-08-17 17:56:01, Ali Saidi wrote:
  src/mem/ruby/network/fault_model/FaultModel.cc, line 29
  http://reviews.m5sim.org/r/776/diff/3/?file=14698#file14698line29
 
  Could  move this (everything from Official tool to the end) into 
  separate comments? We have some scripts that check and grab copyright from 
  all files and I'd prefer not to have to add a special exception for this.
  
  For all files please.

done


- Konstantinos


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/776/#review1464
---


On 2011-08-17 18:09:03, Konstantinos Aisopos wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/776/
 ---
 
 (Updated 2011-08-17 18:09:03)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, Nathan 
 Binkert, Brad Beckmann, and Tushar Krishna.
 
 
 Summary
 ---
 
 GARNET: adding a fault model for resilient on-chip network research.
 
 This patch adds a fault model, which provides the probability of a number of
 architectural faults in the interconnection network (e.g., data corruption,
 misrouting). These probabilities can be used to realistically inject faults
 in GARNET and faithfully evaluate the effectiveness of novel resilient NoC
 architectures.
 
 
 Diffs
 -
 
   configs/ruby/Ruby.py 889818c58eff 
   src/mem/ruby/network/fault_model/FaultModel.hh PRE-CREATION 
   src/mem/ruby/network/fault_model/FaultModel.cc PRE-CREATION 
   src/mem/ruby/network/fault_model/FaultModel.py PRE-CREATION 
   src/mem/ruby/network/fault_model/SConscript PRE-CREATION 
   src/mem/ruby/network/garnet/BaseGarnetNetwork.hh 889818c58eff 
   src/mem/ruby/network/garnet/BaseGarnetNetwork.cc 889818c58eff 
   src/mem/ruby/network/garnet/BaseGarnetNetwork.py 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/Router_d.hh 889818c58eff 
   src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc 889818c58eff 
 
 Diff: http://reviews.m5sim.org/r/776/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Konstantinos
 


___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request: GARNET: adding a fault model for resilient on-chip network research.

2011-08-17 Thread Ali Saidi
Hi Konstantinos,


It might also be nice to create some pages on the wiki about your tool and 
perhaps even move the content you've got on the current page to it. 

Thanks,

Ali

On Aug 17, 2011, at 8:10 PM, Konstantinos Aisopos wrote:

 This is an automatically generated e-mail. To reply, visit: 
 http://reviews.m5sim.org/r/776/
 
 On August 17th, 2011, 5:56 p.m., Ali Saidi wrote:
 
 src/mem/ruby/network/fault_model/FaultModel.cc (Diff revision 3)
 29
  * Official Tool Website: www.mit.edu/~kaisopos/FaultModel
 Could  move this (everything from Official tool to the end) into separate 
 comments? We have some scripts that check and grab copyright from all files 
 and I'd prefer not to have to add a special exception for this.
 
 For all files please.
 done
 
 - Konstantinos
 
 
 On August 17th, 2011, 6:09 p.m., Konstantinos Aisopos wrote:
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, Nathan 
 Binkert, Brad Beckmann, and Tushar Krishna.
 By Konstantinos Aisopos.
 Updated 2011-08-17 18:09:03
 
 Description
 
 GARNET: adding a fault model for resilient on-chip network research.
 
 This patch adds a fault model, which provides the probability of a number of
 architectural faults in the interconnection network (e.g., data corruption,
 misrouting). These probabilities can be used to realistically inject faults
 in GARNET and faithfully evaluate the effectiveness of novel resilient NoC
 architectures.
 Diffs
 
 configs/ruby/Ruby.py (889818c58eff)
 src/mem/ruby/network/fault_model/FaultModel.hh (PRE-CREATION)
 src/mem/ruby/network/fault_model/FaultModel.cc (PRE-CREATION)
 src/mem/ruby/network/fault_model/FaultModel.py (PRE-CREATION)
 src/mem/ruby/network/fault_model/SConscript (PRE-CREATION)
 src/mem/ruby/network/garnet/BaseGarnetNetwork.hh (889818c58eff)
 src/mem/ruby/network/garnet/BaseGarnetNetwork.cc (889818c58eff)
 src/mem/ruby/network/garnet/BaseGarnetNetwork.py (889818c58eff)
 src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh (889818c58eff)
 src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc (889818c58eff)
 src/mem/ruby/network/garnet/fixed-pipeline/Router_d.hh (889818c58eff)
 src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc (889818c58eff)
 View Diff
 

___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request: GARNET: adding a fault model for resilient on-chip network research.

2011-08-16 Thread Konstantinos Aisopos


 On 2011-07-11 11:38:24, Brad Beckmann wrote:
  Is it necessary for the fault model to be configured using a text file?  
  Can you do this in python instead?  For instance, if you used scripts to 
  generate the files, it would be best if you implemented those scripts in 
  python and used the standard sim_object methodology.  Also is the one text 
  file just a temp file?  If so, should it be checked it?
 
 Konstantinos Aisopos wrote:
 These 2 text files are a small database generated by my infrastructure 
 (PrimeTime+SPICE), and is used to calculate the fault vector based on the 
 routers' configuration and the current environmental conditions. 
 Specifically, DB.conf.txt stores the fault vectors for a number of baseline 
 configurations, while DB.temp.txt stores weights applied to vectors (these 
 weights reflect how much higher the fault probabilities will be) while 
 temperatures increase.  
 
 Thus, these two files are a part of the fault model's code and not a 
 user input. The fault model's user is not supposed to ever change these 
 files, that's why I do not consider a good idea to put them together with 
 gem5 inputs. In practice, I (or whoever maintains this tool in the future) 
 should only edit these files. For instance, if in the future I want to 
 incorporate additional technologies (eg 32nm) or additional router 
 configurations in the fault model, I can do so by using my infrastructure to 
 generate 2 updated DB files and provide you another gem5 patch. 
 
 The actual input to my fault model is the network configuration (routers' 
 input/output ports, buffers, VCs, etc) which is read  directly from Garnet. 
 Currently, the only actual input that the user can control  is the 
 enable/disable flag (i.e., enable_fault_model in 
 src/mem/ruby/network/garnet/BaseGarnetNetwork.py)
 
 Let me know if you think my argument makes sense, or you still think the 
 database files should be a python input.
 
 Brad Beckmann wrote:
 Thanks for the explanation.  If the text files are generated by 
 PrimeTime+SPICE, then I agree, it doesn't make a lot of sense to integrate 
 the text file data directly into a python script.  However, I would suggest 
 moving the text file parsing out of C++ and into Python.  As I'm sure you 
 know, Python is much cleaner than C++ when comes to parsing text.
 
 Also I would suggest renaming the text files to more meaningful names.  
 For instance: baseline.fault-vectors.txt and baseline.temp-weights.txt.
 
 Finally, instead of including a README file in the directory, you should 
 put that information on the wiki.
 
 Konstantinos Aisopos wrote:
 OK.
 Regarding moving the text file parsing out of C++ and into Python: I am 
 not very familiar with Python, but if you consider this critical I could read 
 on Python a little bit. However, assuming the file is parsed in python, how 
 do I then make C++ read the parsed objects? Any pointers to gem5 code where 
 something similar is done?
 
 Brad Beckmann wrote:
 There are many examples where arrays created in python are then 
 translated into C++.  One such example is the Process envirnoment array (see 
 sim/process.*, sim/Process.py).
 
 I know it may seem like I'm being a stickler here, but please 
 understand that gem5's Python-based configuration process is a key component 
 of the infrastructure.  We want all configuration to go through that process 
 and not have a situation where certain components bypass the process and do 
 configuration a different way.
 
 Konstantinos Aisopos wrote:
 Tushar helped me out to create a python class in a new file 
 (FaultModel.py) and showed me how to interface it with C++. Btw, I think it 
 would be nice if you would  document this procedure into your wiki (it's hard 
 for someone who hasn't used gem5 before to figure out what's going on)
 
 But then, I looked into the files you pointed out and could not find a 
 case where an array (with data; not an empty one) is read from a file into 
 python. I decided that it might just be simpler to add my fault model's 
 database (a huge array of floats) directly into FaultModel.py (instead of 
 keeping it in a txt file), but the functionality to declare a vector with 
 data does not seem to be there in gem5, unless I used the wrong syntax (did 
 I?):
 
 --FaultModel.py---
 from m5.params import *
 from m5.SimObject import SimObject
 
 class FaultModel(SimObject):
 type = 'FaultModel'
 cxx_class = 'FaultModel'
 test = VectorParam.Int([1, 2, 3], );    this line (a test 
 vector with 3 elements) results in a seg fault
 --/FaultModel.py---
 
 this compiles fine but, at runtime, I get a seg fault because of test:
 
 Traceback (most recent call last):
   File string, line 1, in module
   File 

Re: [gem5-dev] Review Request: GARNET: adding a fault model for resilient on-chip network research.

2011-07-27 Thread Konstantinos Aisopos
hi Steve and Brad,

I updated to the latest version of the repo and the problem persists.

Specifically, I did the same experiment Steve suggested (added the
same 2 lines in src/sim/System.py and src/sim/system.cc) and I got the
same segmentation fault I get when I add an integer vector into my
fault model python file:


kaisopos@hermes1:~/GEM5_Fault_Model/gem5$ build/ALPHA_SE/gem5.debug
configs/example/se.py
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 compiled Jul 27 2011 19:23:03
gem5 started Jul 27 2011 19:24:15
gem5 executing on hermes1
command line: build/ALPHA_SE/gem5.debug configs/example/se.py
Global frequency set at 1 ticks per second
Traceback (most recent call last):
  File string, line 1, in module
  File /data/lsp/kaisopos/GEM5_Fault_Model/gem5/src/python/m5/main.py,
line 356, in main
exec filecode in scope
  File configs/example/se.py, line 199, in module
Simulation.run(options, root, system, FutureClass)
  File /data/lsp/kaisopos/GEM5_Fault_Model/gem5/configs/common/Simulation.py,
line 235, in run
m5.instantiate(checkpoint_dir)
  File /data/lsp/kaisopos/GEM5_Fault_Model/gem5/src/python/m5/simulate.py,
line 78, in instantiate
for obj in root.descendants(): obj.createCCObject()
  File /data/lsp/kaisopos/GEM5_Fault_Model/gem5/src/python/m5/SimObject.py,
line 881, in createCCObject
self.getCCParams()
  File /data/lsp/kaisopos/GEM5_Fault_Model/gem5/src/python/m5/SimObject.py,
line 840, in getCCParams
assert not len(vec)
TypeError: object of type 'PySwigObject' has no len()


I am using the latest code (I did hg pull -u right before compiling)
I am using Python 2.5.2 and SWIG 1.3.36
If the same code worked for both of you, the problem has to be either
Python or SWIG, right?
or is there any other possible explanation? any other thoughts?

thanks all of you for helping out,
-Kostas

On Wed, Jul 27, 2011 at 4:38 PM, Steve Reinhardt ste...@gmail.com wrote:
 Weird... I don't see any changes in the last three weeks that would have
 affected that.
 Thanks for figuring that out though, Brad.
 Steve

 On Wed, Jul 27, 2011 at 1:27 PM, Beckmann, Brad brad.beckm...@amd.com
 wrote:

 Hi Konstantinos,

 FYI, I was able to reproduce your error when I used a 3-week old version
 of the repo.  However, I updated to the latest version of the repo and the
 problem appears fixed.  I can now reproduce the correct behavior that Steve
 observed.

 Brad


  -Original Message-
  From: gem5-dev-boun...@gem5.org [mailto:gem5-dev-
  boun...@gem5.org] On Behalf Of Steve Reinhardt
  Sent: Wednesday, July 27, 2011 8:25 AM
  To: Konstantinos Aisopos; Default
  Subject: Re: [gem5-dev] Review Request: GARNET: adding a fault model for
  resilient on-chip network research.
 
  (Getting this off of reviewboard so it's easier to reply...)
 
  Hi Konstantinos,
 
  I just made this change at the head of the tree:
 
  diff --git a/src/sim/System.py b/src/sim/System.py
  --- a/src/sim/System.py
  +++ b/src/sim/System.py
  @@ -44,6 +44,8 @@
       def swig_objdecls(cls, code):
           code('%include python/swig/system.i')
 
  +    test = VectorParam.Int([1, 2, 3], )
  +
       physmem = Param.PhysicalMemory(Physical Memory)
       mem_mode = Param.MemoryMode('atomic', The mode the memory
  system is
  in)
       memories = VectorParam.PhysicalMemory(Self.all, All memories is
  the
  system)
  diff --git a/src/sim/system.cc b/src/sim/system.cc
  --- a/src/sim/system.cc
  +++ b/src/sim/system.cc
  @@ -83,6 +83,8 @@
       // add self to global system list
       systemList.push_back(this);
 
  +    cprintf(%s.test: len %d, %d\n, name(), p-test.size(),
  + p-test[0]);
  +
       /** Keep track of all memories we can execute code out of
        * in our system
        */
 
 
  and it worked:
 
  % build/ALPHA_SE/gem5.debug configs/example/se.py
  gem5 Simulator System.  http://gem5.org
  gem5 is copyrighted software; use the --copyright option for details.
 
  gem5 compiled Jul 27 2011 08:19:34
  gem5 started Jul 27 2011 08:19:42
  gem5 executing on phenom
  command line: build/ALPHA_SE/gem5.debug configs/example/se.py Global
  frequency set at 1 ticks per second
  system.test: len 3, 1
  0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
   REAL SIMULATION 
  info: Entering event queue @ 0.  Starting simulation...
  info: Increasing stack size by one page.
  Hello world!
  hack: be nice to actually delete the event here Exiting @ tick 3256000
  because target called exit()
 
  So it's not clear to me why it's not working for you... are you at the
  tip of the
  gem5 repository?  What versions of Python and SWIG are you using?  I
  have
  2.6.5 and 1.3.40, respectively.
 
  Steve
  ___
  gem5-dev mailing list
  gem5-dev@gem5.org
  http://m5sim.org/mailman/listinfo/gem5-dev


 

Re: [gem5-dev] Review Request: GARNET: adding a fault model for resilient on-chip network research.

2011-07-27 Thread Beckmann, Brad
Yeah, after I sent that last email I thought that it might be related to the 
fact that I did a clean build, not updating to the latest repo.  Over the past 
3-4 months I've noticed several random swig errors that are fixed by trying a 
clean build.  I hope this is just another one of those situations.

Brad


From: Steve Reinhardt [mailto:ste...@gmail.com]
Sent: Wednesday, July 27, 2011 5:35 PM
To: Konstantinos Aisopos
Cc: Beckmann, Brad; gem5 Developer List
Subject: Re: [gem5-dev] Review Request: GARNET: adding a fault model for 
resilient on-chip network research.

Can you try a clean build (rm -rf build)?  When Brad said that it broke for him 
in an older version, but worked at the head, I tried to track it down and 
couldn't reliably reproduce it in any version up to over a month old.  But I 
did see it once, which makes me wonder if it's just some stale build glitch.

Steve
On Wed, Jul 27, 2011 at 4:49 PM, Konstantinos Aisopos 
kaisopos.g...@gmail.commailto:kaisopos.g...@gmail.com wrote:
hi Steve and Brad,

I updated to the latest version of the repo and the problem persists.

Specifically, I did the same experiment Steve suggested (added the
same 2 lines in src/sim/System.py and src/sim/system.cc) and I got the
same segmentation fault I get when I add an integer vector into my
fault model python file:


kaisopos@hermes1:~/GEM5_Fault_Model/gem5$ build/ALPHA_SE/gem5.debug
configs/example/se.py
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
gem5 compiled Jul 27 2011 19:23:03
gem5 started Jul 27 2011 19:24:15
gem5 executing on hermes1
command line: build/ALPHA_SE/gem5.debug configs/example/se.py
Global frequency set at 1 ticks per second
Traceback (most recent call last):
 File string, line 1, in module
 File /data/lsp/kaisopos/GEM5_Fault_Model/gem5/src/python/m5/main.py,
line 356, in main
   exec filecode in scope
 File configs/example/se.py, line 199, in module
   Simulation.run(options, root, system, FutureClass)
 File /data/lsp/kaisopos/GEM5_Fault_Model/gem5/configs/common/Simulation.py,
line 235, in run
   m5.instantiate(checkpoint_dir)
 File /data/lsp/kaisopos/GEM5_Fault_Model/gem5/src/python/m5/simulate.py,
line 78, in instantiate
   for obj in root.descendants(): obj.createCCObject()
 File /data/lsp/kaisopos/GEM5_Fault_Model/gem5/src/python/m5/SimObject.py,
line 881, in createCCObject
   self.getCCParams()
 File /data/lsp/kaisopos/GEM5_Fault_Model/gem5/src/python/m5/SimObject.py,
line 840, in getCCParams
   assert not len(vec)
TypeError: object of type 'PySwigObject' has no len()


I am using the latest code (I did hg pull -u right before compiling)
I am using Python 2.5.2 and SWIG 1.3.36
If the same code worked for both of you, the problem has to be either
Python or SWIG, right?
or is there any other possible explanation? any other thoughts?

thanks all of you for helping out,
-Kostas

On Wed, Jul 27, 2011 at 4:38 PM, Steve Reinhardt 
ste...@gmail.commailto:ste...@gmail.com wrote:
 Weird... I don't see any changes in the last three weeks that would have
 affected that.
 Thanks for figuring that out though, Brad.
 Steve

 On Wed, Jul 27, 2011 at 1:27 PM, Beckmann, Brad 
 brad.beckm...@amd.commailto:brad.beckm...@amd.com
 wrote:

 Hi Konstantinos,

 FYI, I was able to reproduce your error when I used a 3-week old version
 of the repo.  However, I updated to the latest version of the repo and the
 problem appears fixed.  I can now reproduce the correct behavior that Steve
 observed.

 Brad


  -Original Message-
  From: gem5-dev-boun...@gem5.orgmailto:gem5-dev-boun...@gem5.org 
  [mailto:gem5-dev-mailto:gem5-dev-
  boun...@gem5.orgmailto:boun...@gem5.org] On Behalf Of Steve Reinhardt
  Sent: Wednesday, July 27, 2011 8:25 AM
  To: Konstantinos Aisopos; Default
  Subject: Re: [gem5-dev] Review Request: GARNET: adding a fault model for
  resilient on-chip network research.
 
  (Getting this off of reviewboard so it's easier to reply...)
 
  Hi Konstantinos,
 
  I just made this change at the head of the tree:
 
  diff --git a/src/sim/System.py b/src/sim/System.py
  --- a/src/sim/System.py
  +++ b/src/sim/System.py
  @@ -44,6 +44,8 @@
   def swig_objdecls(cls, code):
   code('%include python/swig/system.i')
 
  +test = VectorParam.Int([1, 2, 3], )
  +
   physmem = Param.PhysicalMemory(Physical Memory)
   mem_mode = Param.MemoryMode('atomic', The mode the memory
  system is
  in)
   memories = VectorParam.PhysicalMemory(Self.all, All memories is
  the
  system)
  diff --git a/src/sim/system.cc b/src/sim/system.cc
  --- a/src/sim/system.cc
  +++ b/src/sim/system.cc
  @@ -83,6 +83,8 @@
   // add self to global system list
   systemList.push_back(this);
 
  +cprintf(%s.test: len %d, %d\n, name(), p-test.size(),
  + p-test[0]);
  +
   /** Keep track of all memories we can execute code out of
* in our system
*/

Re: [gem5-dev] Review Request: GARNET: adding a fault model for resilient on-chip network research.

2011-07-08 Thread Tushar Krishna
Hi all,
I have already gone through the patch with Konstantinos and found it to be 
fine. We have made sure it integrates cleanly, and that gem5's style is 
followed.
I look forward to hearing your comments.

Thanks,
Tushar


On Jul 9, 2011, at 8:46 AM, Konstantinos Aisopos kaisopos.g...@gmail.com 
wrote:

 This is an automatically generated e-mail. To reply, visit: 
 http://reviews.m5sim.org/r/776/
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, Nathan 
 Binkert, Brad Beckmann, and Tushar Krishna.
 By Konstantinos Aisopos.
 Description
 
 GARNET: adding a fault model for resilient on-chip network research.
 
 This patch adds a fault model, which provides the probability for a number of
 architectural faults in the interconnection network (e.g., data corruption,
 misrouting). These probabilities can be used to realistically inject faults
 in GARNET and faithfully evaluate the effectiveness of novel resilient NoC
 architectures.
 Diffs
 
 src/mem/ruby/network/fault_model/DB.conf.txt (PRE-CREATION)
 src/mem/ruby/network/fault_model/DB.temp.txt (PRE-CREATION)
 src/mem/ruby/network/fault_model/FaultModel.hh (PRE-CREATION)
 src/mem/ruby/network/fault_model/FaultModel.cc (PRE-CREATION)
 src/mem/ruby/network/fault_model/README (PRE-CREATION)
 src/mem/ruby/network/fault_model/SConscript (PRE-CREATION)
 src/mem/ruby/network/garnet/BaseGarnetNetwork.hh (7907b19fbe80)
 src/mem/ruby/network/garnet/BaseGarnetNetwork.cc (7907b19fbe80)
 src/mem/ruby/network/garnet/BaseGarnetNetwork.py (7907b19fbe80)
 src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc (7907b19fbe80)
 src/mem/ruby/network/garnet/fixed-pipeline/Router_d.hh (7907b19fbe80)
 src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc (7907b19fbe80)
 View Diff
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev