VMCI Socket Performance

Similar documents
VMware vsphere 4.1 Networking Performance

Performance Evaluation of VMXNET3 Virtual Network Device VMware vsphere 4 build

VXLAN Performance Evaluation on VMware vsphere 5.1

Leveraging NIC Technology to Improve Network Performance in VMware vsphere

Oracle Database Scalability in VMware ESX VMware ESX 3.5

Configuration Maximums VMware vsphere 4.1

Performance Characteristics of VMFS and RDM VMware ESX Server 3.0.1

VMWARE WHITE PAPER 1

Configuration Maximums VMware vsphere 4.0

VMware vcenter Update Manager Performance and Best Practices VMware vcenter Update Manager 4.0

Zeus Traffic Manager VA Performance on vsphere 4

Configuration Maximums VMware Infrastructure 3

Microsoft Office SharePoint Server 2007 Performance on VMware vsphere 4.1

Improving Scalability for Citrix Presentation Server

Riverbed Stingray Traffic Manager VA Performance on vsphere 4 WHITE PAPER

Configuration Maximums

VMware Virtual SAN Backup Using VMware vsphere Data Protection Advanced SEPTEMBER 2014

Kronos Workforce Central on VMware Virtual Infrastructure

ACE Management Server Deployment Guide VMware ACE 2.0

Performance brief for IBM WebSphere Application Server 7.0 with VMware ESX 4.0 on HP ProLiant DL380 G6 server

COLO: COarse-grain LOck-stepping Virtual Machine for Non-stop Service

Linux NIC and iscsi Performance over 40GbE

Enabling NetFlow on Virtual Switches ESX Server 3.5

D1.2 Network Load Balancing

RDMA Performance in Virtual Machines using QDR InfiniBand on VMware vsphere 5 R E S E A R C H N O T E

Guest Operating System. Installation Guide

Voice over IP (VoIP) Performance Evaluation on VMware vsphere 5

Technical Paper. Moving SAS Applications from a Physical to a Virtual VMware Environment

JUNIPER NETWORKS FIREFLY HOST FIREWALL PERFORMANCE

Using esxtop to Troubleshoot Performance Problems

Esri ArcGIS Server 10 for VMware Infrastructure

VMware vsphere 5.0 Evaluation Guide

Deploying Extremely Latency-Sensitive Applications in VMware vsphere 5.5

Performance of VMware vcenter (VC) Operations in a ROBO Environment TECHNICAL WHITE PAPER

Microsoft Exchange Solutions on VMware

Getting Started with Capacity Planner

Management of VMware ESXi. on HP ProLiant Servers

Microsoft Exchange Server 2007

Microsoft SQL Server 2012 on Cisco UCS with iscsi-based Storage Access in VMware ESX Virtualization Environment: Performance Study

8Gb Fibre Channel Adapter of Choice in Microsoft Hyper-V Environments

Oracle Database Solutions on VMware High Availability. Business Continuance of SAP Solutions on Vmware vsphere

Performance of Virtualized SQL Server Based VMware vcenter Database

Enabling Technologies for Distributed Computing

Vocera Voice 4.3 and 4.4 Server Sizing Matrix

Installing and Configuring vcenter Multi-Hypervisor Manager

Ready Time Observations

Understanding Data Locality in VMware Virtual SAN

Evaluating Intel Virtualization Technology FlexMigration with Multi-generation Intel Multi-core and Intel Dual-core Xeon Processors.

Oracle Databases on VMware High Availability

Enabling Technologies for Distributed and Cloud Computing

Configuration Maximums

Microsoft Windows Server 2003 with Internet Information Services (IIS) 6.0 vs. Linux Competitive Web Server Performance Comparison

Best Practices for Monitoring Databases on VMware. Dean Richards Senior DBA, Confio Software

vsphere Networking ESXi 5.0 vcenter Server 5.0 EN

Evaluation Report: Emulex OCe GbE and OCe GbE Adapter Comparison with Intel X710 10GbE and XL710 40GbE Adapters

VMware ESX Server Q VLAN Solutions W H I T E P A P E R

Getting Started with ESXi Embedded

How to Use a LAMP Stack on vcloud for Optimal PHP Application Performance. A VMware Cloud Evaluation Reference Document

Ethernet-based Storage Configuration

VMware vshield Zones R E V I E W E R S G U I D E

Storage Protocol Comparison White Paper TECHNICAL MARKETING DOCUMENTATION

Performance of Enterprise Java Applications on VMware vsphere 4.1 and SpringSource tc Server

New!! - Higher performance for Windows and UNIX environments

The VMware Reference Architecture for Stateless Virtual Desktops with VMware View 4.5

Doubling the I/O Performance of VMware vsphere 4.1

Uila SaaS Installation Guide

QoS & Traffic Management

Peter Senna Tschudin. Performance Overhead and Comparative Performance of 4 Virtualization Solutions. Version 1.29

What s New in VMware vsphere 4.1 Storage. VMware vsphere 4.1

vsphere Networking vsphere 6.0 ESXi 6.0 vcenter Server 6.0 EN

P E R F O R M A N C E S T U D Y. Scaling IBM DB2 9 in a VMware Infrastructure 3 Environment

Protecting Hadoop with VMware vsphere. 5 Fault Tolerance. Performance Study TECHNICAL WHITE PAPER

HP SN1000E 16 Gb Fibre Channel HBA Evaluation

vsphere Networking vsphere 5.5 ESXi 5.5 vcenter Server 5.5 EN

W H I T E P A P E R. Understanding VMware Consolidated Backup

vcloud Automation Center Support Matrix vcloud Automation Center 5.1

Best Practices Guide: Network Convergence with Emulex LP21000 CNA & VMware ESX Server

How to Create a Simple Content Management Solution with Joomla! in a vcloud Environment. A VMware Cloud Evaluation Reference Document

Top 10 Reasons to Virtualize VMware Zimbra Collaboration Server with VMware vsphere. white PAPER

Virtual Computing and VMWare. Module 4

Running VirtualCenter in a Virtual Machine

Virtual Switching Without a Hypervisor for a More Secure Cloud

Reference Architecture for Dell VIS Self-Service Creator and VMware vsphere 4

Managing Capacity Using VMware vcenter CapacityIQ TECHNICAL WHITE PAPER

Multipathing Configuration for Software iscsi Using Port Binding

Maximum vsphere. Tips, How-Tos,and Best Practices for. Working with VMware vsphere 4. Eric Siebert. Simon Seagrave. Tokyo.

MS EXCHANGE SERVER ACCELERATION IN VMWARE ENVIRONMENTS WITH SANRAD VXL

Virtualised MikroTik

VMware vsphere 4.1. Pricing, Packaging and Licensing Overview. E f f e c t i v e A u g u s t 1, W H I T E P A P E R

SAP Solutions on VMware Infrastructure 3: Customer Implementation - Technical Case Study

Setup for Failover Clustering and Microsoft Cluster Service

VirtualCenter Database Performance for Microsoft SQL Server 2005 VirtualCenter 2.5

Balancing CPU, Storage

Configuration Maximums

Host Power Management in VMware vsphere 5

WHITE PAPER. VMware vsphere 4 Pricing, Packaging and Licensing Overview

VMware vcenter Server 6.0 Cluster Performance

W H I T E P A P E R. Optimized Backup and Recovery for VMware Infrastructure with EMC Avamar

vsphere Client Hardware Health Monitoring VMware vsphere 4.1

Comparing the Network Performance of Windows File Sharing Environments

Transcription:

Performance Study VMCI Socket Performance VMware vsphere. The VMCI (Virtual Machine Communication Interface) device was first introduced in VMware Workstation.5 and VMware Server. and is now fully supported in VMware vsphere. The VMCI device is made available to application programmers through the VMCI Sockets library. The VMCI device allows fast, efficient communication between VMs running on the same host, without using the guest networking stack. This is our first paper on VMCI Socket performance. It presents VM-VM performance results using VMCI Sockets and compares these results to the VM-VM performance achieved using regular TCP/IP sockets. This paper is mainly intended for application developers. The main points of this paper are: VMCI bypasses the guest or VMkernel networking stack to allow for fast, efficient communication among VMs on the same host. VMCI offers a high-performance alternative to regular TCP/IP sockets. For most networking configurations, VMCI throughput exceeds TCP/IP throughput. The gains in networking performance are well worth the effort of porting an application to use VMCI Sockets. Introduction ESX/ESXi. incorporates the new VMCI device that facilitates high speed communication between virtual machines on the same host as well as between a virtual machine and the hypervisor. The VMCI device is independent of the guest networking stack. Since there is no protocol stack involved, in certain cases, the communication rates provided by this device approach the memory bandwidth of the system. The drivers for the VMCI device are included in VMware Tools. Both Windows and Linux operating systems are supported. In order to effectively use the VMCI device, VMware provides the VMCI Sockets API. With the help of the library, developers can port their applications to use the VMCI Socket interface, instead of regular TCP/IP sockets, with minimal code modifications. For details on how to port your application or benchmark to VMCI, refer to the VMCI Sockets Programming Guide (see "Resources, [1]"). For applications which involve a considerable amount of inter-vm communication on the same host, VMCI provides an efficient, high performance alternative to TCP/IP sockets. Application developers develop their applications using the given API or can port their existing applications to VMCI with little effort. VMCI Sockets can outperform regular sockets in a number of cases. In this paper we compare the performance of VMs communicating over VMCI with the performance of the same VMs communicating via TCP/IP while using a vmxnet3 virtual device. The results indicate that if a given application can be ported to use VMCI Sockets, it can experience a major boost in networking throughput. For the purpose of this paper, the terms vmxnet3 performance and TCP/IP performance are used interchangeably. VMware, Inc 1

Performance Methodology We used a modified version of the network benchmarking tool netperf.. for all the tests. Netperf measures uni-directional performance for TCP and UDP traffic. Netperf has a client-server model which is made up of the following: Netperf, which acts as the data sender Netserver, which acts as the data receiver For measuring networking performance under different configurations, netperf allows you to specify parameters, such as socket size and message size, for the tests. For our VMCI Socket experiments, we ported netperf to use VMCI Sockets instead of regular TCP/IP sockets. The modified netperf takes one additional parameter the context ID 1 of the VM on which the netserver was running. Because the control channel of the ported netperf still uses regular TCP/IP sockets, the VMs need to be configured with a virtual NIC and should be able to ping each other. The details of the experimental configuration are presented in Table 1. All VMs used for the tests used a uniprocessor HAL or kernel and were configured with 1 CPU. All VMs had 51MB of RAM and used a vmxnet3 virtual device for communication. No kind of manual pinning was used. Table 1. Experimental setup Server Linux VMs Windows VMs Hardware HP DL 58 G5 quad-core Intel Xeon X735 @.93 GHz 1 GB RAM Red Hat Enterprise Linux 5 Update 1 AS -bit Windows Server 3 SP Enterprise Edition - bit Software ESX. 1 vcpu 51MB RAM Device: vmxnet3 For all VM-VM TCP/IP tests, the VMs were connected to the same vswitch. Since VMCI Sockets are independent of the TCP/IP sockets, the VMs need not be connected to the same vswitch to be able to communicate using VMCI. However, since our version of netperf needs both TCP/IP and VMCI connectivity, we did connect the VMs to the same vswitch for the VMCI experiments. To allow Linux to use large socket sizes, the Linux VM was configured as follows. No configuration changes were made to the Windows VM. echo 1 > /proc/sys/net/core/wmem_max echo 1 > /proc/sys/net/core/rmem_max echo 9 8738 193 > /proc/sys/net/ipv/tcp_wmem echo 9 8738 193 > /proc/sys/net/ipv/tcp_rmem The single session results are the average of three one-minute runs. For multi-session runs, 5 simultaneous netperf and netserver sessions were started in the source and destination VMs respectively. To ensure that the skew in start times of the individual sessions did not affect the final results, each iteration of the multisession tests lasted minutes. 1 The context ID is a unique identifier for a given VMCI device. When using VMCI Sockets, the context ID serves the same role as an IP address for TCP/IP sockets. VMware, Inc

Experimental Results The following sections describe the outcome of our tests. Single-Session Performance Linux VM to Linux VM Figure 1 presents the results of single session tests in which one Linux VM was sending data to a second Linux VM. The bars for the 5KB socket size are clipped in the graph since the throughput for VMCI Sockets was much higher than the throughput for regular sockets. Figure 1. Linux single-session performance 5KB vsockets greatly outscore 5KB TCP/IP for message sizes between KB and KB 1 1 1 1 8 9.1 1.9.9 15. 18 B 51 B KB 8 KB 1 KB KB 5 KB KB vsockets KB TCP/IP 5 KB vsockets 5 KB TCP/IP For KB socket sizes (shown in blue), regular TCP/IP socket performance is better than VMCI Socket performance across all message sizes except 51 byte messages. For 5KB socket sizes (shown in orange), VMCI Socket performance is far-superior to TCP/IP socket performance. Using VMCI, we observed up to 9Gbps throughput for KB socket sizes, which is more than 3 times the maximum throughput obtained using TCP/IP sockets. Message sizes between KB and KB give the best performance for VMCI Sockets. Windows VM to Windows VM Figure presents single-session results for a Windows Server 3 VM. The trend for Windows is quite different from the trend for Linux. First, the absolute throughput observed on Windows is much lower compared to Linux. The maximum throughput observed on Windows is just under Gbps, whereas on Linux the maximum throughput observed was 9Gbps. Second, the relative performance of VMCI device and vmxnet3 depends on the message size used for the tests. For small messages (8KB and under), TCP/IP throughput is higher than the VMCI Socket throughput. However, for large message sizes, the VMCI device is better than vmxnet3. VMware, Inc 3

Figure. Windows single-session performance vsockets wins for large message sizes 5 3 1 KB vsockets KB TCP/IP 5 KB vsockets 5 KB TCP/IP 18 B 51 B KB 8 KB 1 KB KB 5KB Multi-Session Performance In this section we discuss multi-session performance to determine how applications which use multiple simultaneous streams would perform using VMCI Sockets. We present results when 5 simultaneous netperf sessions, with the same parameters but different destination ports, were used in the VMs. Linux VM to Linux VM The multi-session results for Linux VMs are shown in figure 3. Figure 3. Linux multi-session performance 5KB vsockets throughput is up to times greater than 5KB TCP/IP throughput 1 1 1 1 8 15.5 15.9 1. 17.81 18 B 51 B KB 8 KB 1 KB KB 5 KB KB vsockets KB TCP/IP 5 KB vsockets 5 KB TCP/IP As in the single session case, the performance sweet spot for VMCI Sockets is when the message size is between KB and KB. VMCI throughput is higher than vmxnet3 throughput in all cases. The difference in performance becomes more prominent as the message size is increased. With 5KB socket buffers (shown in orange), VMCI throughput is up to times more than the vmxnet3 throughput. VMware, Inc

The multi-session VMCI throughput is a bit less than single-session throughput. This is due to increased contention among the individual streams. Windows VM to Windows VM The multi-session results for Windows are shown in Figure. Figure. Windows multi-session performance vsockets outperforms TCP/IP by up to 1% 5 3 1 KB vsockets KB TCP/IP 5 KB vsockets 5 KB TCP/IP 18 B 51 B KB 8 KB 1 KB KB 5KB For small messages (<8KB), the throughput obtained using TCP/IP sockets is more than the throughput obtained using VMCI Sockets. However, for message sizes of 8KB and greater, VMCI Sockets outperform regular TCP/IP sockets by up to 1%. Conclusions In this paper, we presented detailed results of our tests for measuring VMCI Socket performance for inter- VM traffic and compared the results to the performance data for regular sockets. We showed that inter-vm throughput can exceed 9Gbps when VMCI Sockets are used. On Linux VMs, VMCI Sockets outperform regular TCP/IP sockets in nearly all socket size message size configurations. On Windows VMs, the performance of VMCI Sockets is comparable to vmxnet3 performance with regular sockets being better for small message sizes and VMCI Sockets being superior for large message sizes. The performance numbers show that the cost of inter-vm communication may be drastically reduced when a given application is ported to use VMCI. It is important to note that the absolute throughput numbers mentioned in this paper are specific to the machine architecture (CPU speeds, cores per socket, and cache configuration) on which we ran the tests. The performance trends should be similar on other architectures, while the absolute gains may vary. VMCI Sockets thus offer a high performance alternative to TCP/IP sockets for applications which involve a lot of VM to VM traffic on the same host. There is a small porting effort involved in porting an existing application from regular sockets to VMCI Sockets. However, the performance gains of using VMCI Sockets far outweigh the downsides of the additional coding effort involved. VMware, Inc 5

Resources [1] VMCI Sockets Programming Guide. VMware technical publication. Aug, 9. http://www.vmware.com/pdf/ws5_s_vmci_sockets.pdf [] Netperf Manual. Rick Jones, Hewlett-Packard. Accessed Oct 13, 9. http://www.netperf.org/svn/netperf/tags/netperf-..5/doc/netperf.html About the Author As a performance engineer at VMware, Bhavjit Walha focuses on ESX networking performance and has written previous papers on this topic. He received his master s degree in computer science from the University of California, San Diego. All information in this paper regarding future directions and intent are subject to change or withdrawal without notice and should not be relied on in making a purchasing decision concerning VMware products. The information in this paper is not a legal obligation for VMware to deliver any material, code, or functionality. The release and timing of VMware products remains at VMware's sole discretion. VMware, Inc. 31 Hillview Ave., Palo Alto, CA 93 www.vmware.com Copyright 9 VMware, Inc. All rights reserved. This product is protected by U.S. and international copyright and intellectual property laws. VMware products are covered by one or more patents listed at http://www.vmware.com/go/patents. VMware, the VMware logo and design, Virtual SMP, and VMotion are registered trademarks or trademarks of VMware, Inc. in the United States and/or other jurisdictions. All other marks and names mentioned herein may be trademarks of their respective companies. Item: EN-33- VMware, Inc