Skip to main content
Log in

The cost of collaboration

  • Published:
Queueing Systems Aims and scope Submit manuscript

Abstract

Multi-class multi-server systems, in which each job class can be served by a subset of servers, are common in a wide variety of applications. In such systems, a key question is whether to collaborate, allowing a job to be in service on multiple servers simultaneously, or not to collaborate. For systems with redundancy and exponential service times, this question is equivalent to the question of whether to cancel copies of a job once a copy starts service or once a copy completes service. While the collaborative and noncollaborative systems have been well studied in steady state, existing results have not allowed for a comprehensive comparison of performance in the two systems. In this paper, we use a combination of steady-state analysis and sample-path arguments to study the costs and benefits of collaboration. While intuition says that collaboration should yield substantial benefits when service times are not correlated, we find that, surprisingly, this is not the case. In systems that exhibit symmetry among servers or job classes, we can construct coupled sample paths so that collaboration indeed always outperforms noncollaboration. However, in all systems the benefit of collaboration is limited: we show that on sample paths with the same arrival and service processes, there is an upper bound on this benefit, in terms of the number of jobs in system. On the other hand, collaboration can be arbitrarily worse than noncollaboration on sample paths with the same input processes. Ultimately, both in steady state and sample-path wise, the two systems typically achieve similar response times, indicating that collaboration is never a big win and that, in many real-world systems, noncollaboration may be the better choice.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

References

  1. Adan, I.J.B.F., Kleiner, I., Righter, R., Weiss, G.: FCFS parallel service systems and matching models. Perform. Eval. 127, 253–272 (2018)

    Article  Google Scholar 

  2. Adan, I., Weiss, G.: A skill based parallel service system under FCFS-ALIS-steady state, overloads, and abandonments. Stoch. Syst. 4(1), 250–299 (2014)

    Article  Google Scholar 

  3. Akgun, O., Righter, R., Wolff, R.: Partial flexibility in routeing and scheduling. Adv. Appl. Prob. 45, 637–691 (2013)

    Article  Google Scholar 

  4. Andradottir, S., Ayhan, H., Down, D.G.: Queueing system with synergistic servers. Oper. Res. 59, 772–780 (2011)

    Article  Google Scholar 

  5. Andradottir, S., Ayhan, H., Down, D.G.: Optimal assignment of servers to tasks when collaboration is inefficient. Queueing Syst. 75, 79–110 (2013)

    Article  Google Scholar 

  6. Anton, E., Ayesta, U., Jonckheere, M., Verloop, I.M.: On the stability of redundancy models. Oper. Res., Forthcoming (2020)

  7. Anton, E., Ayesta, U., Jonckheere, M., Verloop, I.M.: Redundancy with processor sharing servers. Perform. Eval. Rev. 47, 15–17 (2019)

    Article  Google Scholar 

  8. Anton, E., Ayesta, U., Jonckheere, M., Verloop, I.M.: Improving the performance of heterogeneous data centers through redundancy. Proc. ACM Meas. Anal. Comput. Syst. 4, 1–29 (2020)

    Article  Google Scholar 

  9. Ayesta, U., Bodas, T., Verloop, I.M.: On a unifying product form framework for redundancy models, Perform. Eval. 127, 93–119 (2018)

  10. Ayesta, U., Bodas, T., Verloop, I.M.: On redundancy-d with cancel-on-start a.k.a Join-shortest-work (d), MAMA Workshop, SIGMETRICS (2018)

  11. Bonald, T., Comte, C., Mathieu, F.: Performance of balanced fairness in resource pools: a recursive approach. ACM SIGMETRICS Perform. Eval. Rev. 46, 125–127 (2019)

    Article  Google Scholar 

  12. Cadas, A., Doncel, J., Fourneau, J.-M., Bušić, A.: Flexibility can hurt dynamic matching system performance, Preprint. https://arxiv.org/pdf/2009.10009.pdf

  13. Gardner, K., Zbarsky, S., Doroudi, S., Harchol-Balter, M., Hyytia, E., Scheller-Wolf, A.: Queueing with redundant requests: exact analysis. Queueing Syst. 83, 227–259 (2016)

    Article  Google Scholar 

  14. Gardner, K., Harchol-Balter, M., Scheller-Wolf, A., Velednitsky, M., Zbarsky, S.: Redundancy-d: the power of d choices for redundancy. Oper. Res. 65(4), 1078–1094 (2017)

    Article  Google Scholar 

  15. Gardner, K., Harchol-Balter, M., Hyytia, E., Righter, R.: Scheduling for efficiency and fairness in systems with redundancy. Perform. Eval. 116, 1–25 (2017)

    Article  Google Scholar 

  16. Gardner, K., Harchol-Balter, M., Scheller-Wolf, A., van Houdt, B.: A better model for job redundancy: decoupling server slowdown and job size. IEEE/ACM Trans. Netw. 25, 3353–3367 (2017)

    Article  Google Scholar 

  17. Gardner, K., Righter, R.: Product forms for FCFS queueing models with arbitrary server-job compatibilities: an overview. Queueing Syst. 96, 3–51 (2020)

    Article  Google Scholar 

  18. Hopp, W.J., van Oyen, M.P.: Agile workforce evaluation: a framework for crosstraining and coordination. IIE Trans. 36, 919–940 (2004)

    Article  Google Scholar 

  19. Isik, T., Andradottir, S., Ayhan, H.: Optimal control of queueing systems with non-collaborating servers. Queueing Syst. 84, 79–110 (2016)

    Article  Google Scholar 

  20. Joshi, G., Soljanin, E., Wornell, G.: Queues with redundancy: latency-cost analysis. ACM SIGMETRICS Perform. Eval. Rev. 43, 54–56 (2015)

    Article  Google Scholar 

  21. Joshi, G., Soljanin, E., Wornell, G.: Efficient redundancy techniques for latency reduction in cloud systems. ACM Trans. Model. Perform. Eval. Comput. Syst. (2017). https://doi.org/10.1145/3055281

    Article  Google Scholar 

  22. Kim, Y., Righter, R., Wolff, R.: Grid scheduling with NBU service times. Oper. Res. Lett. 38, 502–504 (2010)

    Article  Google Scholar 

  23. Koole, G., Righter, R.: Resource allocation in grid computing. J. Sched. 11, 163–174 (2008)

    Article  Google Scholar 

  24. Mitzenmacher, M.: The power of two choices in randomized load balancing. IEEE Trans. Parallel Distrib. Syst. 12(10), 1094–1104 (2001)

    Article  Google Scholar 

  25. Raaijmakers, Y., Borst, S., Boxma, O.: Redundancy scheduling with scaled Bernoulli service requirements. Queueing Syst. 93, 67–82 (2019)

    Article  Google Scholar 

  26. Raaijmakers, Y., Borst, S., Boxma, O.: Stability of redundancy systems with processor sharing. In: VALUETOOLS ’20: Proceedings of the 13th EAI International Conference on Performance Evaluation Methodologies and Tools, pp. 120–127 (2020)

  27. Van Oyen, M.P., Gel, E.G.S., Hopp, W.J.: Performance opportunity for workforce agility in collaborative and noncollaborative work systems. IIE Trans. 33, 761–777 (2001)

    Article  Google Scholar 

  28. Visschers, J., Adan, I.J.B.F., Weiss, G.: A product form solution to a system with multi-type customers and multi-type servers. Queueing Syst. 70, 269–298 (2012)

    Article  Google Scholar 

  29. Wang, X., Andradottir, S., Ayhan, H.: Dynamic server assignment with task dependent server synergy. IEEE Trans. Autom. Control 60, 570–575 (2015)

    Article  Google Scholar 

Download references

Acknowledgements

We thank the anonymous reviewers for their valuable feedback.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kristen Gardner.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Proof of Lemma 1

Lemma 1

[1, 17] Suppose all the servers are busy at time 0 in NC, and let \(\gamma ^{C}(0)=_{st}\gamma _{Q}^{NC}(0)\). Let \(\tau \) be the first time after time 0 at which any server becomes idle in NC. Then \(\{\gamma ^{C}(t)\}_{t=0}^{\tau }=_{st}\{ \gamma _{Q}^{NC}(t)\}_{t=0}^{\tau }\).

Proof

Let \(\gamma ^{C}(0)=\gamma _{Q}^{{NC}}(0)\). We will couple the arrival sequences and potential service completions for the C and NC systems after time 0; with this coupling we will show by induction that \(\{\gamma ^{C}(t)\}_{t=0}^{\tau }=\{ \gamma _{Q}^{{NC}}(t)\}_{t=0}^{\tau }\) wp 1.

Assume that \(\gamma ^C(t) = \gamma _Q^NC(t)\). Suppose that the next event is an arrival. Then, the states for both C and NC are augmented by appending the class of the new arrival, and the result continues to hold. Now suppose that the next event is a potential service completion on server s. If this completion results in a departure from system C, then the first job in the state \(\gamma ^C\) of any class \(i \in C_s\) is removed. In system NC, this completion results in the corresponding job in the queue being able to start service, and thus being removed from the state \(\gamma _Q^{{NC}}\); a job also departs from the system in NC, but this is not reflected in the queue state. If, on the other hand, the potential service completion on server s does not result in a departure in system C, then server s was idle at time t in system C. This means that none of the jobs in \(\gamma _C(t)\), and hence also in \(\gamma _Q^{{NC}}(t)\), are compatible with server s, and so when the next completion occurs on server s in system NC, server s will become idle. At this point, we have reached time \(\tau \). \(\square \)

Additional steady-state results

Let \(P_{1,2}\) (respectively, \(P_{2,1}\)) be the probability that both servers are idle and that server 1 (respectively, server 2) has been idle longer.

Lemma 5

In the W model in the noncollaborative system, the probabilities \(P_{\emptyset },P_{1},P_{2},P_{1,2},P_{2,1}\) are given by

$$\begin{aligned} P_{\emptyset }&= \pi ^{ALIS}(\emptyset ,\emptyset )\left( \frac{\mu _1}{\mu _{1}-\lambda _{1}} \right) \left( \frac{\mu _2}{\mu _{2}-\lambda _{2}} \right) \left( \frac{\mu -\lambda + \lambda _3 }{\mu -\lambda }\right) , \\ P_{1}&= \pi ^{ALIS}(\emptyset ,\emptyset )\frac{\mu _{1}\mu _{2}}{(\mu _{2}-\lambda _{2})(\lambda _{1}+\lambda _{3})}, \\ P_{2}&=\pi ^{ALIS}(\emptyset ,\emptyset )\frac{\mu _{1}\mu _{2}}{(\mu _{1}-\lambda _{1})(\lambda _{2}+\lambda _{3})}, \\ P_{1,2}&=\pi ^{ALIS}(\emptyset ,\emptyset )\left( \frac{\mu _{1}}{\lambda _{1}+\lambda _{3}}\right) \left( \frac{\mu _{2}}{\lambda }\right) , \\ P_{2,1}&=\pi ^{ALIS}(\emptyset ,\emptyset )\left( \frac{\mu _{2}}{\lambda _{2}+\lambda _{3}}\right) \left( \frac{\mu _{1}}{\lambda }\right) , \end{aligned}$$

where \(P_{\emptyset }+P_{1}+P_{2}+P_{1,2}+P_{2,1}=1\).

Proof

We derive the probabilities \(P_{\emptyset },P_{1},P_{2},P_{1,2},P_{2,1}\) for the noncolloborative (ALIS) W model by relating them to probabilities for the collaborative model, as in [17]. Let \(\pi ^{ALIS}(\emptyset ,\emptyset )\) be the stationary probability that both servers are busy and no jobs are waiting in the queue under the noncollaborative ALIS policy, let \(\pi ^{C}(\emptyset )\) be the stationary probability that the system is empty for the W model under collaboration, and let \(\pi _{j}^{C}(\emptyset )\) be the probability that the collaborative system is empty when the system consists only of server j and job class j, \(j=1,2\). From Lemma 2, the latter probabilities are the same as the conditional probability that the collaborative W system is empty given that the other server (not server j) is idle. Then, by Theorem 4.5 in [17], \(\pi _{j}^{C}(\emptyset )=1-\frac{\lambda _{j}}{\mu _{j}}= \frac{\mu _{j}-\lambda _{j}}{\mu _{j}}\), \(j=1,2\), and

$$\begin{aligned} \pi ^{C}(\emptyset )=\left( \frac{\mu _{1}-\lambda _{1}}{\mu _{1}}\right) \left( \frac{\mu _{2}-\lambda _{2}}{\mu _{2}}\right) \left( \frac{\mu -\lambda }{\mu -\lambda +\lambda _{3}}\right) . \end{aligned}$$

Once we have obtained \(\pi _{j}^{C}(\emptyset )\), \(j=1,2\), and \(\pi ^{C}(\emptyset )\), the result then follows from Corollary 3.12 of [17]. \(\square \)

We now consider the special case of the symmetric W model, in which \(\mu _{1}=\mu _{2}=\mu /2\) and \(\lambda _{1}=\lambda _{2}=(\lambda -\lambda _{3})/2\). In this case, class-3 jobs are equally likely to enter service on either server, so \(P_1(3) = P_2(3) = \lambda _3 / \mu \), and the expressions for \(P_{\emptyset }\), \(P_{1}\), \(P_{2} \), \(P_{1,2}\), and \(P_{2,1}\) simplify nicely.

Corollary 10

In the symmetric W model in the noncollaborative system, we have

$$\begin{aligned} P_{\emptyset }&=\frac{\lambda }{\mu }\frac{\lambda +\lambda _{3}}{\mu +\lambda _{3}}, \\ P_{1}=P_{2}&=\frac{\lambda }{\mu }\frac{\mu -\lambda }{\mu +\lambda _{3}}, \\ P_{1,2}=P_{2,1}&=\frac{(\mu -\lambda )(\mu -\lambda +\lambda _{3})}{2\mu (\mu +\lambda _{3})}. \end{aligned}$$

Lemma 6

In the W model in the noncollaborative system, the probabilities that server j, \(j=1,2\), is working on a class-i job, \(i=1,2,3\), are given by

$$\begin{aligned} P_{j}(j)&= \lambda _{j}/\mu _{j}, \qquad j=1,2, \\ P_{1}(3)&= P_{\emptyset }+P_{2}-P_{1}(1),\\ P_{2}(3)&= P_{\emptyset }+P_{1}-P_{2}(2). \end{aligned}$$

Proof

\(P_{j}(j) = \lambda _{j}/\mu _{j}\), \(j=1,2\), follows from Little’s law. The overall probability that server 1 is busy is \(P_{\emptyset }+P_{2}\), and therefore, the probability that server 1 is busy with a class-3 job is \(P_{1}(3)=P_{\emptyset }+P_{2}-P_{1}(1)\); similarly, \(P_{2}(3)=P_{\emptyset }+P_{1}-P_{2}(2)\). \(\square \)

Proof of Theorem 3

Theorem 4

For the W model, we can couple the systems so that, with probability 1, \( \{N_{i}^{C}(t)\}_{t=0}^{\infty }\ge \{N_{i}^{NC}(t)-1\}_{t=0}^{\infty }\) for \(i=1,2,3\), \(\{N_{i}^{C}(t)+N_{3}^{C}(t)\}_{t=0}^{\infty }\ge \{N_{i}^{NC}(t)+N_{3}^{NC}(t)-1\}_{t=0}^{\infty }\) for \(i=1,2\), and \( \{N^{C}(t)\}_{t=0}^{\infty }\ge \{N^{NC}(t)-1\}_{t=0}^{\infty }\).

Proof

We use induction on t. Suppose all the inequalities hold at time t, and consider the time of the next event, \(\tau \). (The result is immediately true for \(t=0\).)

We first show that \(N_{i}^{C}(\tau )\ge N_{i}^{{NC}}(\tau )-1\) for \(i=1,2\). This also follows from Theorem 1, but we give an alternative, more direct, proof here. Without loss of generality, we consider \(i=1\). The inequality continues to hold at time \(\tau \) if (1) \(\tau \) is an arrival time, (2) \(\tau \) is a potential service completion time at server 2, or (3) \(\tau \) is a potential service completion time at server 1 and there is a class-1 job in service at server 1 in both systems; in all of these cases, the number of class-1 jobs evolves in the same way at time \(\tau \) in both systems. Now consider the case where a class-1 job is in service at time t in NC but not in C. Then, \(N_1^C(\tau ) = N_1^C(t) \ge N_1^{{NC}}(t) - 1 = N_1^{{NC}}(\tau )\), and again, the result continues to hold. Similarly, if a class-1 job is in service at time t in C but not in NC, and \(N_1^C(t) > N_1^{{NC}}(t) - 1\), then at time \(\tau \) we have \(N_1^{C}(\tau ) = N_1^C(t) - 1 \ge N_1^{{NC}}(t) - 1 = N_1^{{NC}}(\tau ) - 1\), and the result continues to hold. Finally, we consider the case where a class-1 job is in service at time t in C but not in NC, and \(N_1^{C}(t) = N_1^{{NC}}(t) - 1\). We will show by contradiction that this case cannot occur. By observation 2, all class-1 jobs present in C are also present in NC, and the “extra” class-1 job in NC arrived earlier than all other class-1 jobs in either system. By the induction hypothesis, \(N_3^C(t) \ge N_3^{{NC}}(t)\), and again by observation 2 all class-3 jobs present in system NC at time t are also present in system C. Because the extra job has departed in system C, it must have arrived earlier than all class-3 jobs present in system C at time t, and hence, it arrived earlier than all class-3 jobs present in system NC at time t. Therefore, the extra job must be in service on server 1 in system NC, contradicting the assumption that system NC does not have a class-1 job in service.

Now we show that \(N_{i}^{C}(\tau )+N_{3}^{C}(\tau )\ge N_{i}^{{NC}}(\tau )+N_{3}^{{NC}}(\tau )-1\) for \(i=1\), without loss of generality. As before, the only case that is not straightforward is the case in which (i) \(N_1^C(t) + N_3^C(t) = N_1^{{NC}}(t) + N_3^{{NC}}(t) - 1\), (ii) \(\tau \) is a potential service completion time, and (iii) the server that completes at time \(\tau \) is serving a class-1 or class-3 job in system C but not in system NC. From (i), we know that system NC has one extra class-1 or class-3 job that is not present in system C. From the inductive hypothesis and observations 1 and 2, we have that, not counting the extra job, systems C and NC have the same sets of class-1 and class-3 jobs, and system C has a superset of the class-2 jobs present in system NC. From (iii), we have that either server 1 must be idle in NC and not in C, or server 2 must be serving a class-3 job in C and not in NC. We will show by contradiction that neither of these cases is possible. If server 1 is idle in NC, then the extra job must be a class-3 job that is in service on server 2, the extra job must be the only class-1 or class-3 job in system NC, and there must be no class-1 or class-3 jobs in system C; this contradicts (iii). Now suppose that server 2 is serving a class-3 job in C but not in NC. By observation 3, this class-3 job must be the earliest arrival of all class-2 and class-3 jobs in system C. By the inductive hypothesis and observations 1 and 2, this class-3 job must also have arrived before all other class-3 and class-3 jobs in system NC, with the possible exception of the extra job (if the extra job is class-3). Thus, in system NC, either server 2 is serving the same class-3 job as in system C, or server 2 is serving the extra job. In either case, a class-3 job is in service in system NC, contradicting (iii).

Next we show \(N_{3}^{C}(\tau )\ge N_{3}^{{NC}}(\tau )-1\). Again, all cases are straightforward except for the case where \(N_{3}^{C}(t)=N_{3}^{{NC}}(t)-1\) and the event at time \(\tau \) is a service completion. In this case, the extra job in system NC is a class-3 job. By the induction hypothesis and observations 1 and 2, excluding the extra job, systems C and NC have the same sets of class-3 jobs, and system C contains a superset of the class-1 jobs and class-2 jobs present in system NC. If a class-3 job is in service on at least one of the servers in system C, then we can use a similar argument to that in the previous case to show that, in system NC, the same class-3 job and the extra job are in service. Hence, after a service completion at time \(\tau \), we still have \(N_{3}^{C}(\tau )\ge N_{3}^{{NC}}(\tau )-1\).

Finally, we show \(N^{C}(\tau )\ge N^{{NC}}(\tau )-1\). Again, all cases are straightforward except for the case where \(N^{C}(t)=N^{{NC}}(t)-1\) and the event at time \(\tau \) is a service completion. In this case, system NC has one extra job, and, from the induction hypothesis and observations 1 and 2, all the other jobs are the same in both systems. We need only show that if a server is idle in system NC, then that same server also is idle in system C; without loss of generality, we will show this for server 1. Assume server 1 is idle in system NC. Then, the extra job is not a class-1 job and there are no other class-1 jobs in either system. Moreover, if the extra job is a class-3 job, it is the only class-3 job in system NC, and therefore, there are no class 3 jobs in system C; thus, server 1 also is idle in system C. If the extra job is a class-2 job, then it must have arrived before any class-3 jobs in both systems (by observation 3), and before any other class-2 jobs in system NC, so it is in service on server 2 in system NC. Thus, server 1 being idle in system NC means that there are no class-3 or class-1 jobs in system NC, and therefore also in system C, so server 1 must also be idle in system C. \(\square \)

Proofs for Sect. 6

Corollary 1

For the symmetric extended W model, \(\{N^{C}(t)\}_{t=0}^{\infty }\le _{st}\{N^{NC}(t)\}_{t=0}^{\infty }\).

Proof

The proof is basically the same as that of Theorem 4; we just describe the differences. Assume the definitions above, with job a being a fully flexible job at the head of the queue at time s, and where policy \(\pi \) assigns job a to just one server. The argument above shows that a policy \(\pi ^{\prime }\) that assigns job a to two of the available servers can be constructed that will improve upon \(\pi \). The argument can be repeated to show that assigning job a to n servers will be better than assigning it to \(n-1\). \(\square \)

Corollary 2

For a symmetric extended W subsystem embedded in a larger system, and considering collaboration within the subsystem, \(\{N^{C}(t)\}_{t=0}^{\infty }\le _{st}\{N^{NC}(t)\}_{t=0}^{\infty }\).

Proof

Again the argument is very similar to that of the symmetric W model. Define \(\pi \), \(\pi ^{\prime }\), N(t), \(N^{\prime }(t)\), job a, times s and \(\tau \), and servers 1 and 2 as in the proof of Theorem 4.

If the event at time \(\tau \) is an arrival, we have \(\{N^{\prime }(t)\}_{t=0}^{\infty } = \{N(t)\}_{t=0}^{\infty }\) by the same argument as in the proof of Theorem 4. If the event at time \(\tau \) is a potential service completion (1) at server 1, (2) at server 2 and server 2 is idle under \(\pi \), (3) at server 2 and server 2 is serving a job of the same class as job a under \(\pi \), or (4) at server 2 and server 2 is serving a dedicated job, then, using the same argument as in the proof of Theorem 4, we have \(\{N^{\prime }(t)\}_{t=0}^{\infty }\le \{N(t)\}_{t=0}^{\infty }\).

For the extended W model, we have one additional case, in which there is a potential service completion at server 2 at time \(\tau \) and under \(\pi \) a job of class \(i>M+1\) completes service. Let us call the job that completes under \(\pi \) job d. Now the states just after time \(\tau \) under the two policies are the same except that \(\pi \) still has job a while \(\pi ^{\prime }\) still has the more flexible job d. Let \(\pi ^{\prime }\) agree with \(\pi \) from time \(\tau \) on, treating job d the same way \(\pi \) treats job a. Then \(\{N^{\prime }(t)\}_{t=0}^{\infty }=\{N(t)\}_{t=0}^{\infty }\). \(\square \)

Corollary 3

For the symmetric nearest neighbor model, \(\{N^{C}(t)\}_{t=0}^{\infty }\le _{st}\{N^{NC}(t)\}_{t=0}^{\infty }\).

Proof

Here again the argument is as in the proof of Theorem 4, with the same definitions, except that, as in the proof of Corollary 4, we have an additional case for the potential service completion at time \(\tau \): that server 2 completes service and the job it is serving under \(\pi \) (which we call job e) is flexible, but is of a different class than job a. Then, the states under \(\pi \) and \(\pi ^{\prime }\) will be the same just after time \(\tau \) except that job a is present under \(\pi \) and job e is present under \(\pi ^{\prime }\). Note that \(\pi \) has chosen to serve job a on server 1 only, so that henceforth \(\pi \) will treat a as a dedicated job on server 1. Let \(\pi ^{\prime }\) assign job e to server 2 only, so that it treats job e as a dedicated job for server 2. Then, let us swap the labels of servers 1 and 2 under \(\pi ^{\prime }\) and let \(\pi ^{\prime }\) agree with \(\pi \) from time \(\tau \) on. As in the proof of Theorem 4, we can swap the server labels without loss of generality because of the symmetry of our system and policies, and because we have not conditioned on the state of the queue beyond the first job in the queue and the total number of jobs. Again we have \(\{N^{\prime }(t)\}_{t=0}^{\infty }=\{N(t)\}_{t=0}^{\infty }\). \(\square \)

Corollary 4

For the symmetric M model, \(\{N^{C}(t)\}_{t=0}^{\infty }\le _{st}\{N^{NC}(t)\}_{t=0}^{\infty }\).

Proof

The proof is similar to that of Theorem 4; we define \(\pi \), \(\pi ^{\prime }\), N(t), and \(N^{\prime }(t)\) in the same way. Suppose that \(\pi \) and \(\pi ^{\prime }\) have behaved identically up until some time s, and let job a be the first job of its class in the system at time s (without loss of generality, assume class-2). We will consider two cases: the case in which, at time s, \(\pi \) assigns job a to server 3 only and \(\pi ^{\prime }\) assigns job a to both servers 2 and 3, and the case in which, at time s, \(\pi \) assigns job a to server 2 only and \(\pi ^{\prime }\) assigns job a to both servers 2 and 3. In both cases, we assume that \(\pi ^{\prime }\) agrees with \(\pi \) for the assignment to server 1. Let \(\tau \) be the time of the next event after time s. If \(\tau \) is either an arrival or a potential service completion on server 1, in both of the above cases we continue to have \(\{N^{C}(t)\}_{t=0}^{\infty } =\{N^{{NC}}(t)\}_{t=0}^{\infty }\).

We now consider the case in which \(\pi \) assigns job a to server 3 and \(\pi ^{\prime }\) assigns job a to both servers 2 and 3. We have three cases for the event at time \(\tau \). First, suppose \(\tau \) is a potential service completion time on server 3. Then, job a departs under both policies, and, letting \(\pi ^{\prime }\) agree with \(\pi \) from time \(\tau \) on, we have \(\{N^{C}(t)\}_{t=0}^{\infty } =\{N^{{NC}}(t)\}_{t=0}^{\infty }\). Second, suppose \(\tau \) is a potential service completion time on server 2, and server 2 is idle under \(\pi \). Then at time \(\tau \), job a departs under \(\pi ^{\prime }\) but not under \(\pi \). Let \(\pi ^{\prime }\) idle server 3 while \(\pi \) schedules job a on server 3, and let the two policies agree otherwise. Then, \(\{N^{\prime }(t)\}_{t=0}^{\infty }\le \{N(t)\}_{t=0}^{\infty }\). Third, suppose \(\tau \) is a potential service completion time on server 2, and server 2 is serving a class-2 job under \(\pi \); call this job b. Then, just after time \(\tau \), the system state is the same under \(\pi \) and \(\pi ^{\prime }\) except that job a is the first class-2 job under \(\pi \) and job b is the first class-2 job under \(\pi ^{\prime }\). Let \(\pi ^{\prime }\) treat job b the same way \(\pi \) treats job a (assigning it to server 3 only) and otherwise agree with \(\pi \), and again \(\{N^{\prime }(t)\}_{t=0}^{\infty }=\{N(t)\}_{t=0}^{\infty }\).

We now consider the case in which \(\pi \) assigns job a to server 2 and \(\pi ^{\prime }\) assigns job a to both servers 2 and 3 (and the two policies agree on the assignment at server 1). We have three cases for the event at time \(\tau \). First, if \(\tau \) is a potential service completion time at server 2, then job a departs under both policies and \(\{N^{C}(t)\}_{t=0}^{\infty } =\{N^{{NC}}(t)\}_{t=0}^{\infty }\). Second, if \(\tau \) is a potential service completion time at server 3 and either server 3 is idle under \(\pi \) or server 3 is serving a class-2 job under \(\pi \), then we can use the argument above to obtain \(\{N^{\prime }(t)\}_{t=0}^{\infty }\le \{N(t)\}_{t=0}^{\infty }\). Third, suppose that \(\tau \) is a potential service completion time at server 3 and \(\pi \) assigns a class-1 job, which we call job b, to server 3 at time s. The argument above shows that \(\pi \) should also assign job b to server 1; hence, we can assume that \(\pi \) assigns job b to both server 1 and server 3. Hence, we know that, at time s, there is at least one job of each type under both policies, that \(\pi \) collaborates on the first class-1 job, and that \(\pi ^{\prime }\) collaborates on the first class-2 job. Because the system and policies are symmetric, and because we have not conditioned on the system state beyond the presence of jobs a and b, we can let \(\pi ^{\prime }\) swap the labels of the two job classes. Letting \(\pi ^{\prime }\) agree with \(\pi \) from time \(\tau \) on, we obtain \(\{N^{\prime }(t)\}_{t=0}^{\infty } =\{N(t)\}_{t=0}^{\infty }\). \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Gardner, K., Righter, R. The cost of collaboration. Queueing Syst 100, 7–40 (2022). https://doi.org/10.1007/s11134-021-09721-y

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11134-021-09721-y

Keywords

Mathematics Subject Classification

Navigation