[cs63201] Re: project 1 question about the queue

Mikhail Nesterenko mikhail at cs.kent.edu
Thu Sep 20 09:50:01 EDT 2007


> In the project description, you describe what sounds like one global
> message queue.  However, in the abstract distributed systems we have been
> discussing in class, it seems that every channel represents a separate
> logical queue.
> A global queue imposes a total ordering of messages, but separate queues
> means that messages are only partially ordered.
> 
> What it your intent to simplify the problem by using a global queue?

Global queue simplifies the design of the simulation engine. Global
queue makes it easier to generate a computation in interleaving
semantics - one message is being processed at a time which leads to
consequent action execution.

You are correct that the single global FIFO queue imposes a certain
order on multichannel message processing. That is, suppose a message
M1 is sent in one channel earlier than another message M2 sent in a
different channel. Due to the global queue being FIFO, M1 will always
be received before M2.

More sophisticated simulation engines account for that by either
creating separate queues or making the global queue non-FIFO.
However, for this course, we will consider this simplified case only.

thanks,
-- 
Mikhail


More information about the cs63201 mailing list