Re: [Gems-users] Timeout implementation in caches


Date: Mon, 27 Sep 2010 15:09:04 -0500
From: Byn Choi <bynchoi1@xxxxxxxxxxxx>
Subject: Re: [Gems-users] Timeout implementation in caches
You can simply use the cycle (ruby cycles) kept by the EventQueue struct. Any Consumer object that's scheduled via g_eventQueue_ptr->schedule() will get woken up (wakeup()) after specified ruby cycles (passed in as the second argument to schedule() function). I'd imagine you'd want to implement something like a watch dog class that extends Consumer class.

You'd have to implement this as a function outside SLICC and then write declarations (look at how other non-SLICC functions are invoked from inside SLICC) in order to be able to call from within SLICC-generated components.

Byn

On Sep 27, 2010, at 3:03 PM, Mohammad Mottaghi wrote:

Hi !

I have a cache consistency protocol in which memory blocks are kept for a longer time by some cores. 
Obviously no core can hold a block forever and it needs to release the ownership of the bock.
I need a mechanism for informing my caches about time lapse.
Specifically a deadlock can happen in my protocol and to break the deadlock, caches need to have some sense of time lapse such that I can implement a time-out mechanism.

I can use incoming events to a cache as an indicator of time-lapse but the problem is that sometimes once a deadlock happens between two cores no more messages are sent from the directory to the caches and my clock stops.

So I need to connect the processor clock to my cache such that in any case I would be able to receive clock pulses (even if there is a deadlock) for implementing a timeout mechanism using a down-counter.

How can I do that with SLICC?

Thank you in advance



_______________________________________________
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.


---
Byn Choi
Ph.D. Candidate in Computer Science
University of Illinois, Urbana-Champaign

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