Optimizing data throughput in client/server systems by keeping queue sizes balanced
Consider a synchronous system of clients and servers whereby client requests may be satisfied by any one of the servers the clients are assigned to and where the association between clients and servers is determined by an arbitrary but predefined apportionment of the set of servers to clients and of clients to servers. A client can get the required service from any of the servers it is assigned to and at each time step all clients make a request to the servers which then provide the service according to requests. Since clients can make requests simultaneously, if there is no coordination in the "client-to-server" assignment process some clients may have to wait longer if they are assigned simultaneously to a single server when overall performance could improve had they been assigned to separate available servers. Therefore a principal approach to optimizing throughput when assigning client requests to supporting servers, is to keep the client queue sizes well balanced so as to prevent servers from having to remain idle while other servers are being overused. There are several potential examples of such systems involving data gathering and forwarding among sensors in a sensor network or when the servers are base-stations and the clients may be either rotating satellites or other wireless devices, for example. In this paper we consider the problem of finding an assignment of clients to servers that results in all clients receiving a packet while optimally balancing the sizes of remaining queues at the clients. We give a polynomial time algorithm for solving this problem which requires O((m + n)3n) arithmetic operations, where m is the number of client queues and n is the number of servers.
|Keywords||Balanced, Base-stations, Clients, Optimal, Queues, Satellites, Servers|
|Journal||Discrete Mathematics, Algorithms and Applications|
Kranakis, E, Krizanc, D. (D.), Lambadaris, I, Narayanan, L. (L.), & Opatrny, J. (J.). (2012). Optimizing data throughput in client/server systems by keeping queue sizes balanced. Discrete Mathematics, Algorithms and Applications, 4(2). doi:10.1142/S1793830912500401