Improving Software Middleboxes and Datacenter Task Schedulers
Resumo
Shared systems have contributed to the popularity of many technologies. However, these systems often confront a common challenge: to ensure that resources are fairly divided without compromising utilization efficiency. In this master's thesis we look at this problem in two distinct systems - software middleboxes and datacenter task schedulers. We first present Sprayer, a system that uses packet spraying to load balance packets to cores in software middleboxes. Our design eliminates the imbalance problems of per-flow solutions and addresses the new challenges of handling shared flow states that come with packet spraying. Then, we present Stateful Dominant Resource Fairness (SDRF), a task scheduling policy for datacenters that looks at past allocations and enforces fairness in the long run. SDRF reduces users' waiting time on average and improves fairness by increasing the number of completed tasks for users with lower demands, with small impact on high-demand users.
Referências
Bonald, T. and Roberts, J. (2015). Multi-resource fairness: Objectives, algorithms and performance. In ACM SIGMETRICS.
Chiosi, M. et al. (2012). Network functions virtualisation: An introduction, benefits, enablers, challenges & call for action. Technical report, ETSI.
Friedman, E., Psomas, C.-A., and Vardi, S. (2017). Controlled dynamic fair division. In ACM EC.
Ghodsi, A., Sekar, V., Zaharia, M., and Stoica, I. (2012). Multi-resource fair queueing for packet processing. In ACM SIGCOMM.
Ghodsi, A., Zaharia, M., Hindman, B., Konwinski, A., Shenker, S., and Stoica, I. (2011). Dominant resource fairness: Fair allocation of multiple resource types. In USENIX NSDI.
Grandl, R., Chowdhury, M., Akella, A., and Ananthanarayanan, G. (2016). Altruistic scheduling in multi-resource clusters. In USENIX OSDI.
Handley, M., Raiciu, C., Agache, A., Voinescu, A., Moore, A. W., Antichi, G., and Wój-cik, M. (2017). Re-architecting datacenter networks and stacks for low latency and high performance. In ACM SIGCOMM.
Joe-Wong, C., Sen, S., Lan, T., and Chiang, M. (2013). Multiresource allocation: Fairnes-efficiency tradeoffs in a unifying framework. IEEE/ACM Trans. Netw., 21(6).
Kablan, M., Alsudais, A., Keller, E., and Le, F. (2017). Stateless network functions: Breaking the tight coupling of state and processing. In USENIX NSDI.
Kash, I., Procaccia, A. D., and Shah, N. (2014). No agent left behind: Dynamic fair division of multiple resources. J. Artif. Intell. Res., 51(1):579-603.
Kulkarni, S. G., Zhang, W., Hwang, J., Rajagopalan, S., Ramakrishnan, K. K., Wood, T., Arumaithurai, M., and Fu, X. (2017). NFVnice: Dynamic backpressure and scheduling for NFV service chains. In ACM SIGCOMM.
Parkes, D. C., Procaccia, A. D., and Shah, N. (2015). Beyond dominant resource fairness. ACM Trans. Econ. Comput., 3(1):3:1-3:22.
Reiss, C., Tumanov, A., Ganger, G. R., Katz, R. H., and Kozuch, M. A. (2012). Hetero-geneity and dynamicity of clouds at scale: Google trace analysis. In ACM SoCC.
Sadok, H., Campista, M. E. M., and Costa, L. H. M. K. (2018a). A case for spraying packets in software middleboxes. In ACM HotNets.
Sadok, H., Campista, M. E. M., and Costa, L. H. M. K. (2018b). O passado também importa: Um mecanismo de alocação justa de múltiplos tipos de recursos ao longo do tempo. In SBRC.
Sekar, V., Egi, N., Ratnasamy, S., Reiter, M. K., and Shi, G. (2012). Design and implementation of a consolidated middlebox architecture. In USENIX NSDI.
Sun, C., Bi, J., Zheng, Z., Yu, H., and Hu, H. (2017). NFP: Enabling network function parallelism in NFV. In ACM SIGCOMM.
Woo, S., Sherry, J., Han, S., Moon, S., Ratnasamy, S., and Shenker, S. (2018). Elastic scaling of stateful network functions. In USENIX NSDI.