Transactions and scheduling

From: Karsten Wutzke <kwutzke-blahblah_at_emporis.com>
Date: Fri, 28 Nov 2003 15:03:02 +0100
Message-ID: <bq7kip$pdv$01$1_at_news.t-online.com>



Hi all!

I have some problems understanding the theory within a transaction manager...

  1. What is an input schedule used for? It is an element of the shuffle product of all TA's. Any element of shuffle(TA) may be incorrect to my understanding. So, why is an potentially incorrect input schedule created at all instead of simply taking the serial schedule as input? The scheduler corrects this one as an output schedule anyway...
  2. Are there any (generic) algorithms or pseudo code available as to how an input schedule is created from a list of transactions?

This looks to me as an extremely complicated implementation issue, especially considering the permanent online state. Some instance has to know which transactions have been completed and which haven't. What happens with the actions in the old input schedule when another transaction is started? I'd bet the old schedule is retained, and only the new actions are interleaved "somewhere". If this interleaving is incorrect, it will be corrected by the scheduler. This is my bet... But: I don't know if I'm right.

3. *When* does the scheduler run? It runs all the time - ok - but when does it create new output schedules?

I'd very much appreciate if someone could help me with (parts of) these questions. I have to implement a demo software, but the resources I have found so far don't answer these "time" questions, especially my profs script.

Thanks for any help!

Karsten Received on Fri Nov 28 2003 - 15:03:02 CET

Original text of this message