Re: [gem5-dev] Review Request: GARNET: adding a fault model for resilient on-chip network research.
--- 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.
--- 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.
--- 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.
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.
--- 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.
--- 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.
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.
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.
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.
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.
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.
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