Building a Flexible and Scalable Virtual Hardware Data Plane

  • Junjie Liu
  • Yingke Xie
  • Gaogang Xie
  • Layong Luo
  • Fuxing Zhang
  • Xiaolong Wu
  • Qingsong Ning
  • Hongtao Guan
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7289)

Abstract

Network virtualization which enables the coexistence of multiple networks in shared infrastructure adds extra requirements on data plane of router. Software based virtual data plane is inferior in performance, whereas, hardware based virtual data plane is hard to achieve flexibility and scalability. In this paper, using FPGA (Field Program Gate Array) and TCAM (Ternary Content Addressable Memory), we design and implement a virtual hardware data plane achieving high performance, flexibility and scalability simultaneously. The data plane uses a 5-stage pipeline design. The procedure of packet processing is unified with TCAM based rule matching and action based packet processing. The hardware data plane can be easily configured to support multiple VDP (Virtual Data Plane) instances. And in each VDP instance, the pattern of packet processing can be flexibly configured. Also, it can achieve seamless migration of VDP instance between software and hardware. The hardware data plane also provides a 4-channel high-performance DMA engine which largely reduces packet acquisition overhead on software. So that software can be more involved in customized packet processing.

Keywords

Network Virtualization Virtual Data Plane FPGA 

References

  1. 1.
    Anderson, T., Peterson, L., Shenker, S., Turner, J.: Overcoming the Internet impasse through virtualization. Computer 38, 34–41 (2005)CrossRefGoogle Scholar
  2. 2.
    Niebert, N., Khayat, I.E., Baucke, S., Keller, R., Rembarz, R., Sachs, J.: Network virtualization: A viable path towards the future internet. Wireless Personal Communications 45, 511–520 (2008)CrossRefGoogle Scholar
  3. 3.
    Tutschku, K., Zinner, T., Nakao, A., Tran-Gia, P.: Network virtualization: Implementation steps towards the future internet. In: Proc. of KiVS-Kommunikation in Verteilten Systemen (KIVS 2009), (KiVS 2009, Kassel) (2009)Google Scholar
  4. 4.
    Rixner, S.: Network virtualization: breaking the performance barrier. Queue 6, 36 (2008)CrossRefGoogle Scholar
  5. 5.
    Chowdhury, N.M., Boutaba, R.: A survey of network virtualization. Computer Networks (2009)Google Scholar
  6. 6.
    Chao, H.J., Liu, B.: High performance switches and routers. Wiley-IEEE Press (2007)Google Scholar
  7. 7.
    Anwer, M.B., Motiwala, M., Tariq, M. bin, Feamster, N.: SwitchBlade: a platform for rapid deployment of network protocols on programmable hardware. In: Proceedings of the ACM SIGCOMM 2010 Conference on SIGCOMM, pp. 183–194. ACM, New York (2010)Google Scholar
  8. 8.
    Unnikrishnan, D., Vadlamani, R., Liao, Y., Dwaraki, A., Crenne, J., Gao, L., Tessier, R.: Scalable network virtualization using FPGAs. In: Proceedings of the 18th Annual ACM/SIGDA International Symposium on Field Programmable Gate Arrays, pp. 219–228 (2010)Google Scholar
  9. 9.
    Xie, G., He, P., Guan, H., Li, Z., Xie, Y., Luo, L., Zhang, J., Wang, Y., Salamatian, K.: PEARL: a programmable virtual router platform. IEEE Communications Magazine 49, 71–77 (2011)CrossRefGoogle Scholar
  10. 10.
    Jiang, X., Xu, D.: VIOLIN: Virtual Internetworking on Overlay Infrastructure. In: Cao, J., Yang, L.T., Guo, M., Lau, F. (eds.) ISPA 2004. LNCS, vol. 3358, pp. 937–946. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  11. 11.
    Bhatia, S., Motiwala, M., Muhlbauer, W., et al.: Trellis: a platform for building flexible, fast virtual networks on commodity hardware. In: Proceedings of the 2008 ACM CoNEXT Conference, vol. 72, pp. 1–6 (2008)Google Scholar
  12. 12.
    Anwer, M.B., Nayak, A., Feamster, N., Liu, L.: Network I/O fairness in virtual machines. In: Proceedings of the Second ACM SIGCOMM Workshop on Virtualized Infrastructure Systems and Architectures, pp. 73–80 (2010)Google Scholar
  13. 13.
  14. 14.
    Anwer, M.B., Feamster, N.: A Fast, Virtualized Data Plane for the NetFPGA. In: NetFPGA Developers Workshop, Stanford, California, pp. 90–94 (2009)Google Scholar
  15. 15.
    Liao, Y., Yin, D., Gao, L.: Network virtualization substrate with parallelized data plane. Computer Communications 34, 1549–1558 (2011)CrossRefGoogle Scholar
  16. 16.
    Egi, N., Greenhalgh, A., Handley, M., Hoerdt, M., Huici, F., Mathy, L.: Towards high performance virtual routers on commodity hardware. In: Proceedings of the 2008 ACM CoNEXT Conference, pp. 20:1–20:12. ACM, New York (2008)Google Scholar
  17. 17.
    Yin, D., Unnikrishnan, D., Liao, Y., Gao, L., Tessier, R.: Customizing virtual networks with partial FPGA reconfiguration. ACM SIGCOMM Computer Communication Review 41, 125–132 (2011)CrossRefGoogle Scholar
  18. 18.
    McKeown, N., Anderson, T., Balakrishnan, H., Parulkar, G., Peterson, L., Rexford, J., Shenker, S., Turner, J.: OpenFlow: enabling innovation in campus networks. ACM SIGCOMM Computer Communication Review 38, 69–74 (2008)CrossRefGoogle Scholar
  19. 19.
    Chowdhury, N.M.M., Boutaba, R.: Network virtualization: state of the art and research challenges. IEEE Communications Magazine 47, 20–26 (2009)CrossRefGoogle Scholar
  20. 20.
    Sherwood, R., Gibb, G., Yap, K.K., Appenzeller, G., Casado, M., McKeown, N., Parulkar, G.: FlowVisor: A Network Virtualization Layer (2009)Google Scholar
  21. 21.
    Dong, Y., Dai, J., Huang, Z., Guan, H., Tian, K., Jiang, Y.: Towards high-quality I/O virtualization. In: Proceedings of SYSTOR 2009: The Israeli Experimental Systems Conference, pp. 1–8 (2009)Google Scholar
  22. 22.
    Han, S., Jang, K., Park, K., Moon, S.: PacketShader: a GPU-accelerated software router. In: Proceedings of the ACM SIGCOMM 2010 Conference on SIGCOMM, pp. 195–206. ACM, New York (2010)CrossRefGoogle Scholar
  23. 23.
    Spirent TestCenter, http://www.spirent.com

Copyright information

© IFIP International Federation for Information Processing 2012

Authors and Affiliations

  • Junjie Liu
    • 1
    • 2
  • Yingke Xie
    • 1
  • Gaogang Xie
    • 1
  • Layong Luo
    • 1
    • 2
  • Fuxing Zhang
    • 1
    • 2
  • Xiaolong Wu
    • 1
    • 2
  • Qingsong Ning
    • 1
    • 2
  • Hongtao Guan
    • 1
  1. 1.Institute of Computing TechnologyChinese Academy of SciencesBeijingChina
  2. 2.Graduate University of Chinese Academy of SciencesBeijingChina

Personalised recommendations