In a recent blog post we discussed epoll behavior causing uneven load among NGINX worker processes. We suggested a work around - the REUSEPORT socket option. It changes the queuing from "combined queue model" aka Waitrose (formally: M/M/s), to a dedicated accept queue per worker aka "the Tesco superstore model" (formally: M/M/1). With this setup the load is spread more evenly, but in certain conditions the latency distribution might suffer.
After reading that piece, a colleague of mine, John, said: "Hey Marek, don't forget that REUSEPORT has an additional advantage: it can improve packet locality! Packets can avoid being passed around CPUs!"
John had a point. Let's dig into this step by step.
In this blog post we'll explain the REUSEPORT socket option, how it can help with packet locality and its performance implications. We'll show three advanced SystemTap scripts which we used to help us understand and measure the packet locality.
The standard BSD socket API model is rather simple. In order to receive new TCP connections a program calls bind() and then listen() on a fresh socket. This will create a single accept queue. Programs can share the file descriptor - pointing Continue reading
First of all, we’re thrilled to announce that today we launched OpenStack with Cumulus in the Cloud. That means that you can now test out Cumulus Networks technology with an OpenStack environment easily and at zero cost to you.
I’ve written previously about Cumulus In The Cloud (CitC) when we first released it a month ago with Mesos as the initial release flavor. Since then, JR Rivers and his team have been diligently working on adding additional flavors to the CitC offering. I could not have been happier to hear the good news that they had integrated an OpenStack solution with the cloud testing framework.
I immediately launched my own free instance of Cumulus in the Cloud using the standard steps. I was greeted with a new option where I could pick the flavor of CitC I wanted to initiate:
Since I had already experimented with Mesos, I was eager to tinker with OpenStack to better learn this technology.
To be upfront, I am not an OpenStack expert. I have been diligently learning it over the past six months ever since a majority of my customer engagements have involved private cloud deployments leading with OpenStack. As a network engineer first, Continue reading
![]() |
Continue reading |
There are several situations where we need to write some form of policy such as QoS, routing policies used in for example redistribution, filtering and policy-based routing, dot1x and so on. Lately I had to update a policy used by the master controller (MC) in an IWAN design. What are some important things to consider when writing the policy?
The number to start with – If you start with the number one then it won’t be possible to insert anything above this line at a later time. How certain are you that you will never have to put anything before the starting line? My recommendation is to start with a higher number such as 100.
Space between each line – Don’t number your lines 100, 101, 102, 103 and so on. Leave some more space between each line in case you have to insert something later between two lines. A spacing of 10 should be fine for most situations.
Go from most granular to least granular – The policy should go from as granular as possible to the least granular at the end. If you have a statement that is too broad you may catch more than you expected even Continue reading
Comment Variable String Integer Boolean Array Object For Loop // Alternate syntax for (var i in things) // Iterate dictionary' ) }} While Loop If, Else if, Else Function Class set stuff(stuff) get stuff() showStuff() }' ) }} continue reading
It follows reports that Broadcom is planning an unsolicited bid for chipmaker Qualcomm.
Dear Internet,
I am writing some automation code in Go to create client-ssl templates on an A10 load balancer running AXAPI version 2. It’s going as swimmingly as it can with the v2 API, but one area of non-complete API coverage has led to another issue and I’m wondering if anybody has seen the same thing.
SSL access to VIPs on the A10 load balancer is controlled by means of client-ssl templates which define which certificates should be presented and the ciphers and protocols supported for the incoming connection. In this case therefore, disabling SSLv3 is accomplished in the client-ssl template (unfortunately there is no global switch to turn SSLv3 off by default). A typical template might look like this in the configuration:
slb template client-ssl mytemplate cert my_certificate key my_private_key chain-cert some_chain_cert disable-sslv3 !
As it turns out, all aspects of the client-ssl template are exposed via the API except for “disable-sslv3” which shows neither as a returned property of the template (highly annoying), nor as a property which can be set when creating a template (also annoying). Thus to replicate a template like the one above, I choose to set everything I can using the Continue reading
This follows yesterday's news that Broadcom is relocating its headquarters to the U.S.
Saddle-up and get ready to ride — the Cumulus content roundup is back to take you on a journey through the best in industry news! It’s been a great month for innovation and forward-thinking, here at Cumulus Networks and beyond. From clouds to chassis to microservices, we’ve got the latest in data center networking trends covered. Check out what’s going on, and let us know what you think!
Private vs. public cloud white paper: Trying to decide which cloud is best for your organization? This white paper weighs the costs and benefits of private, public, and hybrid clouds for you. Read more so you can pick the perfect cloud.
Cumulus Networks inducted into JPMorgan Chase Hall of Innovation: We are humbled and honored to announce that Cumulus Networks has been inducted into the JPMorgan Chase Hall of Innovation. Read this blog to see what it takes to be an innovator.
Technical video and demo: NetQ: This video is perfect for anyone searching for a technical breakdown and demonstration of NetQ’s immense capabilities. Watch here, and see the awesome power of NetQ for yourself.
Choosing your chassis: This blog post provides an up-close Continue reading
NetApp teamed up with Cisco on converged infrastructure seven years ago.
Expect more consolidation of SD-WAN and networking vendors to come.
Black Duck’s security technology automates the detection of vulnerabilities in open source software.
CenturyLink closes on Level 3 for $34B; Microsoft Azure to triple its capacity in China; Telefonica Chile virtualizes its core network with Ericsson.
The company’s revenues grew 50.8% year-over-year.