Jump to content

queuing at server1 when server2 is busy


Recommended Posts


I have a few servers and paths in my model. I am trying to queue up my entities in the input buffer of server1 when there are too many entities at server2. I am able to set server2's capacity to 3, but I can't seem to set an inputbuffer capacity to server2. I thought I can set the selection weight on my path to server1 to say math.if(server2.inputbuffer.contents>1,0,1), but that doesn't seem to work.

I can't seem to find any SimBits on this either.

Any help would be appreciated. Thanks.

Link to comment
Share on other sites

Sure. You can make tightly coupled servers by connecting them with a Connector and having Server1 output buffer capacity and Server 2 input buffer capacity set to 0.

But it sounds like you want more loosely coupled servers, so for example you could set:

-Server1 Output Buffer is 0 (nothing waits there)

-Path2 Capacity is 1 (only 1 can wait there)

-Server2 Input Buffer is 1 (only 1 waits there)

-Server1 Capacity is 1 (only 1 can be there)

So you can have a total of up to 3 entities in or on the way to Server 2. Beyond that Server1 will be blocked and and additional entities will wait in Server1 Input Buffer.

(I would have attached a model if you had posted this in an SI folder, but attachments are limited in these public folders.)

Link to comment
Share on other sites

Thank you very much. I was able to create a new model with two servers and have my entities queue up in the server1's input buffer.

Then I tried to do something similar with three servers where I want server1's input buffer to have entities queue up when server3 is busy. I have server2 in between server1 and server3. I set server2's input and output buffers to 0 and set server1 and server2 and paths as described below. Is this correct, to set the in between server's input and output buffers to 0? Everything seems to work as expected and I get a long queue at server1's input buffer. I also used a rate table with many entities going through.

An interesting thing I noticed was that if I change server1 and server2 process times to 3 and 2 seconds respectively and leave server3 process time to the default random.triangular(.1,.2,.3) minutes. I also changed a few selection weights. I barely ever get a queue at server1 input buffer, and when I do, the time in queue is very small. I would have expected a significant queue with the rate table I am using. Does this sound correct? I also ended up getting a Simio error that I ended up sending to Simio, subject [sIMIO EXCEPTION REPORT] from mmashaie. This email includes the model.

Thanks again. Your help has been great.


Link to comment
Share on other sites

  • 4 years later...


before asking my question ı want to make some explanations about the model.

1- the model is source- server 1, server2 - sink. server1 and server2 has

no connection. source connceted with this two servers and two servers

linked to the sink. each server has different processing times.

2- server1 is required 5 minutes in every 10 hours while server2 is

required 6 minutes in every 8 hours. server1 cannot give service during the

maintenance and maintenance cannot start if there are customers in queue.

3- when either server finishe serving a customer, server takes the next

customer from the server's queue, if any, and if server's queue is empty

but the other is not, server takes the first customer from the other queue.

My question is how to build this model? could you please help me???

Link to comment
Share on other sites


  • Create New...