Re: [Gems-users] Error with a CMP configuration


Date: Sun, 3 Jul 2005 08:43:58 -0500 (CDT)
From: Mike Marty <mikem@xxxxxxxxxxx>
Subject: Re: [Gems-users] Error with a CMP configuration
Basically we use a watchdog timer as a deadlock detection tool.  If a
request lasts longer than a threshold set in the config, then the
Sequencer will abort.

When developing complex protocols, we commonly deal with protocol
deadlocks due to unforseen race conditions.  I highly suspect a very
subtle bug in MSI_MOSI_CMP_directory that has not occured in our
simulations (we typically simulate < 32 processors).

As a workaround, you can try using an ordered network topology such as
HIERARCHICAL_SWITCH.  This will eliminate many possible race conditions.
Or you can try a different protocol.  MOESI_CMP_directory is, in general,
a higher-performing CMP directory protocol compared to
MSI_MOSI_CMP_directory.  However it is even more complex and has not been
tested with as much rigor as the others.

--Mike


> hi
> I am sorry , I should have included this in the ealier email,
> MSI_MOSI_CMP_directory is the protocol .
> It might be a bug, I was reading throught the sequencer code, It mainly
> handles consistency stuff, could you let me know the conditiions under
> which the error might be thrown, I can then put all the pieces together
> salil
>
> Mike Marty wrote:
>
> >Which protocol?  Our CMP protocols included with the release are
> >MOESI_CMP_token, MSI_MOSI_CMP_directory, and MOESI_CMP_directory.  The
> >latter two are especially complex and you might have uncovered a bug.
> >
> >--Mike
> >
> >
> >
> >
> >>hi,
> >>    I am using ruby to setup a CMP 32 processor system (16 CMP's) along
> >>with simics. I got the following error (only while running 32 threads, a
> >>configuration with lesser threads seems to run fine )
> >>Warning: in fn virtual void Sequencer::wakeup() in
> >>system/Sequencer.C:119: Possible Deadlock detected
> >>Warning: in fn virtual void Sequencer::wakeup() in
> >>system/Sequencer.C:119: Possible Deadlock detected
> >>Warning: in fn virtual void Sequencer::wakeup() in
> >>system/Sequencer.C:120: request is [CacheMsg: Address=[0xb93ae54, line
> >>0xb93ae40] Type=ATOMIC ProgramCounter=[0xff242660, line 0xff242640]
> >>AccessMode=UserMode Size=1 Prefetch=No Version=0 Aborted=0 Time=894780000 ]
> >>Warning: in fn virtual void Sequencer::wakeup() in
> >>system/Sequencer.C:120: request is [CacheMsg: Address=[0xb93ae54, line
> >>0xb93ae40] Type=ATOMIC ProgramCounter=[0xff242660, line 0xff242640]
> >>AccessMode=UserMode Size=1 Prefetch=No Version=0 Aborted=0 Time=894780000 ]
> >>
> >>Warning: in fn virtual void Sequencer::wakeup() in
> >>system/Sequencer.C:125: keys.size() is 1
> >>Warning: in fn virtual void Sequencer::wakeup() in
> >>system/Sequencer.C:126: *m_writeRequestTable_ptr is [ [0xb93ae40, line
> >>0xb93ae40]=[CacheMsg: Address=[0xb93ae54, line 0xb93ae40] Type=ATOMIC
> >>ProgramCounter=[0xff242660, line 0xff242640] AccessMode=UserMode Size=1
> >>Prefetch=No Version=0 Aborted=0 Time=894780000 ] ]
> >>Warning: in fn virtual void Sequencer::wakeup() in
> >>system/Sequencer.C:126: *m_writeRequestTable_ptr is [ [0xb93ae40, line
> >>0xb93ae40]=[CacheMsg: Address=[0xb93ae54, line 0xb93ae40] Type=ATOMIC
> >>ProgramCounter=[0xff242660, line 0xff242640] AccessMode=UserMode Size=1
> >>Prefetch=No Version=0 Aborted=0 Time=894780000 ] ]
> >>Fatal Error: in fn virtual void Sequencer::wakeup() in
> >>system/Sequencer.C:127: Aborting
> >>Fatal Error: in fn virtual void Sequencer::wakeup() in
> >>system/Sequencer.C:127: Aborting
> >>***  Simics getting shaky, switching to 'safe' mode.
> >>***  Simics (main thread) received an abort signal, probably an assertion.
> >><Simics is running in 'safe' mode>
> >>
> >>My configuration is pretty standard , I am using PT_TO_POINT topology
> >>network. I havent made any changes in the ruby code . The program is a
> >>simple LU benchmark from the splash 2 suite.
> >>I am using simics 2.0.16 on host x86-linux.
> >>Can you give me some idea about this error so that I can try to fix it.
> >>salil
> >>_______________________________________________
> >>Gems-users mailing list
> >>Gems-users@xxxxxxxxxxx
> >>https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> >>
> >>
> >>
> >_______________________________________________
> >Gems-users mailing list
> >Gems-users@xxxxxxxxxxx
> >https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> >
> >
>
> _______________________________________________
> Gems-users mailing list
> Gems-users@xxxxxxxxxxx
> https://lists.cs.wisc.edu/mailman/listinfo/gems-users
>
[← Prev in Thread] Current Thread [Next in Thread→]