Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3106989.3106998acmotherconferencesArticle/Chapter ViewAbstractPublication PagescommConference Proceedingsconference-collections
research-article

AppSwitch: Application-layer Load Balancing within a Software Switch

Published: 03 August 2017 Publication History

Abstract

With the increase in adoption of SDN, programmable switches are becoming an attractive mechanism for enabling network operators to configure protocols without replacing networking hardware. This paper argues that the functionality of programmable switches can be extended beyond network operations to the application layer, in order to achieve significant end-to-end application performance improvements. To illustrate the potential of this new concept, we develop AppSwitch, a packet switch that also performs load balancing for key-value storage systems. Unlike existing key-value load balancers, which require each request to send an extra message to a proxy server, AppSwitch requires only a single message from the key-value client to the server. This results in a 2x reduction in end-to-end average latency and 2x throughput improvement. We implemented AppSwitch on PISCES, a P4 programmable version of Open vSwitch. Finally, we demonstrate that AppSwitch can be deployed transparently, without any changes to the key-value clients and servers.

References

[1]
LevelDB. leveldb.org.
[2]
Memcached. memcached.org.
[3]
Memcached binary protocol. https://github.com/memcached/memcached/wiki/BinaryProtocolRevamped.
[4]
Memcached message protocol. https://github.com/memcached/memcached/blob/master/doc/protocol.txt.
[5]
Opennfp. http://open-nfp.org/.
[6]
Redis. redis.io.
[7]
RocksDB. rocksdb.org.
[8]
Ryu sdn framework. https://osrg.github.io/ryu/.
[9]
Simple p4 nat. http://p4.org/p4/lets-get-started/.
[10]
The p4 language specification. 2016. Version 1.1.0.
[11]
B. Atikoglu, Y. Xu, E. Frachtenberg, S. Jiang, and M. Paleczny. Workload analysis of a large-scale key-value store. In ACM SIGMETRICS Performance Evaluation Review, volume 40, pages 53--64. ACM, 2012.
[12]
P. Bosshart, D. Daly, G. Gibb, M. Izzard, N. McKeown, J. Rexford, C. Schlesinger, D. Talayco, A. Vahdat, G. Varghese, and D. Walker. P4: Programming protocol-independent packet processors. SIGCOMM CCR, 44(3):87--95, July 2014.
[13]
P. Bosshart, G. Gibb, H.-S. Kim, G. Varghese, N. McKeown, M. Izzard, F. Mujica, and M. Horowitz. Forwarding metamorphosis: Fast programmable match-action processing in hardware for sdn. In Proceedings of the ACM SIGCOMM 2013 Conference on SIGCOMM, SIGCOMM '13, pages 99--110, New York, NY, USA, 2013. ACM.
[14]
H. T. Dang, M. Canini, F. Pedone, and R. Soulé. Paxos made switch-y. SIGCOMM Comput. Commun. Rev., 46(2):18--24, May 2016.
[15]
X. Jin, H. H. Liu, R. Gandhi, S. Kandula, R. Mahajan, M. Zhang, J. Rexford, and R. Wattenhofer. Dynamic scheduling of network updates. In Proceedings of the 2014 ACM Conference on SIGCOMM, SIGCOMM '14, pages 539--550, New York, NY, USA, 2014. ACM.
[16]
N. P. Katta, J. Rexford, and D. Walker. Incremental consistent updates. In Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking, pages 49--54. ACM, 2013.
[17]
H. Kim, J. Reich, A. Gupta, M. Shahbaz, N. Feamster, and R. J. Clark. Kinetic: Verifiable dynamic network control. In NSDI, pages 59--72, 2015.
[18]
E. Kohler, R. Morris, B. Chen, J. Jannotti, and M. F. Kaashoek. The click modular router. ACM Trans. Comput. Syst., 18(3):263--297, Aug. 2000.
[19]
X. Li, R. Sethi, M. Kaminsky, D. G. Andersen, and M. J. Freedman. Be fast, cheap and in control with switchkv. In 13th USENIX NSDI, pages 31--44, Santa Clara, CA, Mar. 2016. USENIX Association.
[20]
A. Likhtarov, R. Nishtala, R. McElroy, H. Fugal, A. Grynenko, and V. Venkataramani. Introducing mcrouter: A memcached protocol router for scaling memcached deployments. https://code.facebook.com/posts/296442737213493/introducing-mcrouter-a-memcached-protocol-router-for-scaling-memcached-deployments.
[21]
Z. Liu, A. Manousis, G. Vorsanger, V. Sekar, and V. Braverman. One sketch to rule them all: Rethinking network flow monitoring with univmon. In Proceedings of the 2016 Conference on ACM SIGCOMM 2016 Conference, SIGCOMM '16, pages 101--114, New York, NY, USA, 2016. ACM.
[22]
J. McClurg, H. Hojjat, P. Černy, and N. Foster. Efficient synthesis of network updates. In ACM SIGPLAN Notices, volume 50, pages 196--207. ACM, 2015.
[23]
T. Mizrahi, E. Saat, and Y. Moses. Timed consistent network updates. In Proceedings of the 1st ACM SIGCOMM Symposium on Software Defined Networking Research, SOSR '15, pages 21:1--21:14, New York, NY, USA, 2015. ACM.
[24]
R. Nishtala, H. Fugal, S. Grimm, M. Kwiatkowski, H. Lee, H. C. Li, R. McElroy, M. Paleczny, D. Peek, P. Saab, D. Stafford, T. Tung, and V. Venkataramani. Scaling Memcache at Facebook. In Presented as part of the 10th USENIX NSDI, pages 385--398, Lombard, IL, 2013. USENIX.
[25]
B. Pfaff, J. Pettit, T. Koponen, E. Jackson, A. Zhou, J. Rajahalme, J. Gross, A. Wang, J. Stringer, P. Shelar, K. Amidon, and M. Casado. The design and implementation of open vswitch. In 12th USENIX NSDI, pages 117--130, Oakland, CA, May 2015. USENIX Association.
[26]
M. Reitblatt, N. Foster, J. Rexford, C. Schlesinger, and D. Walker. Abstractions for network update. SIGCOMM CCR, 42(4):323--334, Aug. 2012.
[27]
M. Shahbaz, S. Choi, B. Pfaff, C. Kim, N. Feamster, N. McKeown, and J. Rexford. Pisces: A programmable, protocol-independent software switch. In Proceedings of the 2016 Conference on ACM SIGCOMM 2016 Conference, SIGCOMM '16, pages 525--538, New York, NY, USA, 2016. ACM.
[28]
Z. Wu and H. V. Madhyastha. Rethinking cloud service marketplaces. In Proceedings of the 15th ACM Workshop on Hot Topics in Networks, HotNets '16, pages 134--140, New York, NY, USA, 2016. ACM.
[29]
W. Zhang, J. Hwang, T. Wood, K. Ramakrishnan, and H. Huang. Load balancing of heterogeneous workloads in memcached clusters. In 9th International Workshop on Feedback Computing (Feedback Computing 14), Philadelphia, PA, June 2014. USENIX Association.
[30]
W. Zhou, D. K. Jin, J. Croft, M. Caesar, and P. B. Godfrey. Enforcing customizable consistency properties in software-defined networks. In NSDI, pages 73--85, 2015.

Cited By

View all
  • (2024)Carlo: Cross-Plane Collaboration for Multiple In-network Computing ApplicationsIEEE INFOCOM 2024 - IEEE Conference on Computer Communications10.1109/INFOCOM52122.2024.10621111(2528-2537)Online publication date: 20-May-2024
  • (2023)In-Network Aggregation with Transport Transparency for Distributed TrainingProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 310.1145/3582016.3582037(376-391)Online publication date: 25-Mar-2023
  • (2023)A Generic Service to Provide In-Network Aggregation for Key-Value StreamsProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3575693.3575708(33-47)Online publication date: 27-Jan-2023
  • Show More Cited By

Index Terms

  1. AppSwitch: Application-layer Load Balancing within a Software Switch

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    APNet '17: Proceedings of the First Asia-Pacific Workshop on Networking
    August 2017
    127 pages
    ISBN:9781450352444
    DOI:10.1145/3106989
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 03 August 2017

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Key-Value Stores
    2. Load Balancing
    3. Programmable Switches

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Conference

    APNet'17
    APNet'17: First Asia-Pacific Workshop on Networking
    August 3 - 4, 2017
    Hong Kong, China

    Acceptance Rates

    Overall Acceptance Rate 50 of 118 submissions, 42%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)24
    • Downloads (Last 6 weeks)3
    Reflects downloads up to 26 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Carlo: Cross-Plane Collaboration for Multiple In-network Computing ApplicationsIEEE INFOCOM 2024 - IEEE Conference on Computer Communications10.1109/INFOCOM52122.2024.10621111(2528-2537)Online publication date: 20-May-2024
    • (2023)In-Network Aggregation with Transport Transparency for Distributed TrainingProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 310.1145/3582016.3582037(376-391)Online publication date: 25-Mar-2023
    • (2023)A Generic Service to Provide In-Network Aggregation for Key-Value StreamsProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3575693.3575708(33-47)Online publication date: 27-Jan-2023
    • (2023)DeeP4R: Deep Packet Inspection in P4 using Packet RecirculationIEEE INFOCOM 2023 - IEEE Conference on Computer Communications10.1109/INFOCOM53939.2023.10228996(1-10)Online publication date: 17-May-2023
    • (2022)A Qualitative Evaluation of Service Mesh-based Traffic Management for Mobile Edge Cloud2022 22nd IEEE International Symposium on Cluster, Cloud and Internet Computing (CCGrid)10.1109/CCGrid54584.2022.00030(210-219)Online publication date: May-2022
    • (2022)A survey on security applications of P4 programmable switches and a STRIDE-based vulnerability assessmentComputer Networks: The International Journal of Computer and Telecommunications Networking10.1016/j.comnet.2022.108800207:COnline publication date: 16-May-2022
    • (2021)Leveraging Programmable Dataplanes for a High Performance 5G User Plane FunctionProceedings of the 5th Asia-Pacific Workshop on Networking10.1145/3469393.3469400(57-64)Online publication date: 24-Jun-2021
    • (2021)Hybrid Flow Table Installation: Optimizing Remote Placements of Flow Tables on Servers to Enhance PDP Switches for In-Network ComputingIEEE Transactions on Network and Service Management10.1109/TNSM.2020.304571118:1(429-440)Online publication date: 10-Mar-2021
    • (2021)In-Network Flow Classification With Knowledge DistillationIEEE Access10.1109/ACCESS.2021.31000579(111879-111889)Online publication date: 2021
    • (2021)An Exhaustive Survey on P4 Programmable Data Plane Switches: Taxonomy, Applications, Challenges, and Future TrendsIEEE Access10.1109/ACCESS.2021.30867049(87094-87155)Online publication date: 2021
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media