Re: [Gems-users] A question for implement the fault tolerance architecture


Date: Wed, 09 Feb 2011 01:51:44 -0600
From: Philip Garcia <pcgarcia@xxxxxxxx>
Subject: Re: [Gems-users] A question for implement the fault tolerance architecture
It would also likely be possible to create hardware modifications entirely in opal/ruby that implement something similar where the same code attempts to execute at the same time on a different core automatically when one thread executes.  You'd basically have to figure out how opal simulates the processor (system/pseq.C), and chow how the processor mapping is done.  Basically, you'd want to create sequencer objects that don't correspond to a real thread.  To further do this, you'd have to create some mechanism from which the real sequencer executing passes information back to the "fake" sequencer telling it what to execute.  I imagine you could basically create a trace that attempts to start executing at the same instruction as the first one a set number of cycles later.  Let it run normally, except that at retire time, you don't inform simics that the instruction should execute (simics isn't simulating the fake simulator), but rather you stay in that state until the first thread informs you that this instruction has completed.  Obviously you'd also want to change store requests as well.  You'd likely do something where every "store" on the fake processor really performs a load, and compares it against the value it was going to store.  Of course, even there you'll have issues as opal doesn't simulate the execution of a processor, so you wouldn't know what the value would be, but rather just that there would be a store there and you'd want to do something with it.

 I don't know all the details of what you want to do, but it's probably possible to do within GEMS, but will likely require extensive modifications to the processor model.  Considering Opal wasn't designed to simulate a very accurate out of order processor, you might be spending a lot of time figuring out how to modify a simulator that really doesn't do what you want.  

Hopefully this helps some...

Phil
On Feb 9, 2011, at 1:27 AM, yjxhit wrote:

Hello all!
 
I am new for GEMS. I am working on fault tolerance architecture.
 
I have installed the GEMS + simics3.0 and can run several SPALSH2 benchmarks using ruby + opal.
 
Now I want to implement a architecture that can run the same program on the different core at the same time or delay for a number 
of instructions.
 
But I don't know how to begin it and implement it.
 
If anyone can give me some clues, advice, or answers, I will be very grateful.
 
Thank you very much!
 
 
2011-02-09

yjxhit

发件人: gems-users-request
发送时间: 2011-02-04  00:02:42
收件人: gems-users
抄送:
主题: Gems-users Digest, Vol 260, Issue 3
_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.


[← Prev in Thread] Current Thread [Next in Thread→]