Elsevier

Computer Networks

Volume 31, Issues 1–2, 14 January 1999, Pages 141-150
Computer Networks

Scheduling support for multicasting sessions in broadband communication networks

https://doi.org/10.1016/S0169-7552(98)00236-0Get rights and content

Abstract

Multimedia applications require support from the underlying broadband network at the end-to-end communication level. Multicasting is an important paradigm of end-to-end communication. The root node of a multicasting session is responsible for controlling the session including monitoring, maintenance, and the implementation of the multicasting protocol. The job that controls the multicasting session executes as a group of tasks at the root node of a multicasting tree. The scheduling scheme at the root node should give support to a multicasting session by improving the completion time of the jobs controlling the multicasting session, hence increasing throughput and the probability of admitting new multicast sessions into the system. In this paper, we model the tasks that carry out the multicasting session monitoring and maintenance as a fork-join job executing on a multiprocessor system. We assume that an executing task blocks for device I/O as a part of the activities associated with sending and receiving data packets. We develop two analytic models for scheduling a session control job on a multiprocessor system. The first model allows incoming job tasks to multiplex processors with existing tasks of another multicasting session, while the other model schedules a task of the incoming job to an idle processor. We assume that the overhead of rescheduling a task to another processor is large. We compare the performance of both models and show the range of conditions under which a model outperforms the other. We point out how the results can be used in the design of an adaptive scheduler that uses both models to improve throughput and consequently the probability of admitting new multicast sessions.

Introduction

Various multimedia applications present new challenges to broadband ISDN networks. The underlying network should provide support to such applications at all levels including end-to-end communication. A session characterizing an end-to-end communication can take the form of point-to-point or point-to-multipoint. The later is known as a multicast session in which an originating node broadcasts data packets to a set of nodes. The set of nodes receiving the packets are called the multicast group. This group comprises of the leaf nodes of a multicast tree that spans other intermediate nodes and is rooted at the originating node.

Multicasting of data packets from the originating (root) node to the leaf nodes follows a predefined protocol. Such protocols 1, 6, 9are designed to ensure end-to-end packet delivery by using schemes such as acknowledging the reception of packets and the retransmission of unacknowledged or lost packets. The root node of a multicasting session is responsible for controlling the session including monitoring, maintenance and the implementation of the multicasting protocol. The job that controls the multicasting session executes as a group of tasks. Each task executes at the root node to assemble or parse data packets to be sent or received to/from one member of the multicast group. It also executes to handle potential negotiations and rate adjustment which may be needed to adapt to network traffic fluctuation. A task blocks for device I/O to wait for data packets to be sent or received or to read data blocks from a disk.

Since tasks of a multicast session control job are either executing or blocking, minimizing the time during which they execute will consequently minimizes the control job completion time. The faster a multicast control job completes at the root node, the better the throughput and hence more incoming multicast sessions can be admitted. As network devices become faster, the time tasks block for device I/O decreases and hence minimizing the task execution time contributes more to the reduction of the control job completion time. In this chapter we address the problem of scheduling of multicast session control jobs at the root node of a multicast tree. We assume that the multicast session is controlled by a job comprising of a set of tasks that are forked at the time the session is created. A task terminates when the member of the multicast group drops from the multicast connection. The control job terminates when the last task terminate at the end of the multicast session. Hence, each session is controlled by a fork-join configuration (job). In a typical multicast session, a participating member of the multicast group can leave the session at an arbitrary point in time independently from other group members. For example in a video on demand multicast, a viewer elects to drop the connection, or in a conference broadcast, group members may elect to drop the connection when they lose interest. Fig. 1 shows a multicast session over a broadband ATM network. The session has n members comprising the multicast group with n tasks at the root node comprising the session control job.

We concentrate on the scheduling of the fork-join jobs controlling the multicast sessions in the multiprocessor system at the root node. Many studies have dealt with scheduling concurrent computations on shared-memory multiprocessor systems 7, 5where a task execution can be transferred between processors with relatively little overhead. In this chapter, we assume that the overhead of rescheduling a task to another processor is large. This is true in many operating systems such as Unix where moving a running process (including all of its state information) to bind it with another processor incurs a high cost.

We develop analytic models to predict the expected job completion time on systems that multiplex processors and on systems that do not. In Section 2we begin by presenting our models for multiplexing and non-multiplexing systems and derive expressions for the expected job completion time for both models. In Section 3, we present numerical results comparing the two models. In Section 4, we summarize our results and present conclusions.

Section snippets

The model

As described in Section 1, a task in a multicast session control job can block for device I/O to send or receive data packets or to read data blocks from a disk. Depending on the amount of blocking of a task and its service demand, multiplexing or non-multiplexing a processor between two tasks belonging to different session controlling jobs may yield higher performance. The goal of this study is to determine whether a performance advantage can be gained by multiplexing or non-multiplexing

Numerical results

We now present the results of our study comparing the behavior of the fork-join jobs controlling multicast sessions under the MUX and NONMUX scheduling schemes. We examine the results from sets of experiments comparing the performance of the two scheduling schemes under varying system parameters. We have used the overall job completion time as the basic performance metric, and for comparative reasons we plot the overall completion time of both schemes against a different system parameter to

Conclusions

We modeled the jobs that carry out the multicasting session monitoring and maintenance as a fork-join job executing on a multiprocessor system. We analyzed two models for scheduling these fork-join jobs on a multiprocessor system where the overhead of rescheduling a running task to another processor is large. In the first model, we allowed for an arriving task of a multicast session control job to multiplex a processor with another existing task of another session control job. In the second

Khalid H. Sheta was born in Alexandria, Egypt in 1959. He received his B.Sc., M.S., in 1981–1985, from the Department of Computer Science, University of Alexandria. He received an M.Sc. degree in 1988 and his Ph.D. in 1997 from the Department of Computer & Information Science, The Ohio State University. He has been with Lucent Technologies (formerly AT&T Bell Labs.) since 1991. Mr. Khalid Sheta is a member of IEEE computer and communication societies. His research interests are in performance

References (9)

  • C. Doit, W. Dabbous, J. Crowcroft, Multipoint communication: a survey of protocols, functions and mechanisms, IEEE J....
  • K. Sheta, Design and performance evaluation of techniques for multicasting support in broadband communication networks,...
  • L. Kleinrock, Queueing Systems, Volume I: Theory, Wiley, New York,...
  • R. Nelson, D. Towsley, A. Tantawi, Performance analysis of parallel processing systems, IEEE Trans. Software...
There are more references available in the full text version of this article.

Cited by (0)

Khalid H. Sheta was born in Alexandria, Egypt in 1959. He received his B.Sc., M.S., in 1981–1985, from the Department of Computer Science, University of Alexandria. He received an M.Sc. degree in 1988 and his Ph.D. in 1997 from the Department of Computer & Information Science, The Ohio State University. He has been with Lucent Technologies (formerly AT&T Bell Labs.) since 1991. Mr. Khalid Sheta is a member of IEEE computer and communication societies. His research interests are in performance evaluation, distributed systems and computer networking.

Mukesh Singhal is an Associate Professor of Computer and Information Science at The Ohio State University, Columbus. He received a Bachelor of Engineering degree in Electronics and Communication Engineering with high distinction from University of Roorkee, Roorkee, India, in 1980 and a Ph.D. degree in Computer Science from University of Maryland, College Park, in May 1986. His current research interests include operating systems, distributed systems, mobile computing, high-speed networks, computer security, and performance modeling. He has published over 100 refereed articles in these areas. He has coauthored two books titled “Advanced Concepts in Operating System”, McGraw-Hill, New York, 1994 and “Readings in Distributed Computing Systems”, IEEE Computer Society Press, 1993.

View full text