Roopa Prabhu

Author Archives: Roopa Prabhu

Accelerating the data center with NVIDIA, Mellanox + Cumulus

Today’s modern datacenter and cloud architectures are horizontally scalable disaggregated distributed systems. Distributed systems have many individual components that work together independently creating a powerful cohesive solution. Just like how compute is the brains behind a datacenter’s distributed system, the network is the nervous system, responsible for ensuring communication gets to all the individual components. This blog tells you why NVIDIA Mellanox gives NVIDIA a larger footprint in the datacenter. The combination of NVIDIA, Mellanox and Cumulus together can provide end-to-end acceleration technologies for the modern disaggregated data-center.

Accelerating the datacenter

All parties coming together in this acquisition are involved in acceleration technologies in the modern data center:

  • NVIDIA is at the center of Compute acceleration: Its GPU’s provide compute acceleration for High performance computing and infrastructure for neural networks that power AI assisted application features.
  • Mellanox comes to the table with its dominance in High performance interconnects, Data and network processing acceleration on the host and hardware for the network fabric
  • Cumulus Networks provides the Linux stack to accelerate the network fabric by enabling networking hardware features, and accelerating deployment, integration and monitoring of the network fabric with Automation and the Linux ecosystem. Cumulus Networks software architecture and DNA Continue reading

Open source — the great equalizer.

Technology is a great equalizer and the open source movement has played a huge role in making this true and accelerating the process. Open source levels the playing field for many. Gone are the days where you had to get a job or invest to learn a technology. Open source and Linux opened up access and opportunities to learn and innovate.

We live in an era where hardware and software architectures are powered by open source technologies. Modern system architectures (distributed, cloud native and others) are built with open source technologies and many others continue to move to open technologies (open networking, open Firmware, Linux BIOS just to name a few). Open source has been the driving force in commoditizing hardware in many markets. Open communities like OCP are taking this to the next level.

Open source platforms like github and gitlab have promoted open source development and made it easier to build open source communities and ecosystems. Existing open source communities fuel new open communities. Success stories from disaggregated and open server operating systems fueled the open networking revolution leading to the birth of open network operating systems. Investing in open source and having open source development centers are Continue reading

Linux Network Observability: Building Blocks

As developers, operators and devops people, we are all hungry for visibility and efficiency in our workflows. As Linux reigns the “Open-Distributed-Virtualized-Software-Driven-Cloud-Era”— understanding what is available within Linux in terms of observability is essential to our jobs and careers.

Linux Community and Ecosystem around Observability

More often than not and depending on the size of the company it’s hard to justify the cost of development of debug and tracing tools unless it’s for a product you are selling. Like any other Linux subsystem, the tracing and observability infrastructure and ecosystem continues to grow and advance due to mass innovation and the sheer advantage of distributed accelerated development. Naturally, bringing native Linux networking to the open networking world makes these technologies readily available for networking.

There are many books and other resources available on Linux system observability today…so this may seem no different. This is a starter blog discussing some of the building blocks that Linux provides for tracing and observability with a focus on networking. This blog is not meant to be an in-depth tutorial on observability infrastructure but a summary of all the subsystems that are available today and constantly being enhanced by the Linux networking community for networking. Continue reading

Announcing project DENT

We are excited to announce that Cumulus is joining project DENT!

Project DENT is a huge step for the industry, taking both open networking and Linux networking forward. DENT will help grow the community of open Linux networking vendors and partners, and Cumulus Networks is pleased to be part of this project that aligns with our core values and strengths. We strongly believe in mass innovation with open Linux software, platforms and the Linux community.

Linux ecosystem players have historically benefited from mass innovation. By bringing together vendors, distributors, system integrators and users, DENT enables distributed development and support for open Linux networking operating system for campus and remote networking. We believe this will enable networking hardware vendors to leverage the same benefits that all Linux hardware technologies do today: Open Linux firmware management, platform driver infrastructure, network interface management and Linux tools and ecosystem.

The Cumulus Linux connection

Cumulus Linux is based on the same foundational principles as project DENT with the goal of unifying Networking across distributed systems. This unification comes from its native Linux platform and networking API. Today’s technologies powering hybrid cloud and on-prem infrastructure are distributed systems technologies. Networking is fundamental to distributed systems. Uniformity Continue reading

Open Switch Hardware’s Journey into the Linux and Kernel Community

You have read, heard and seen us talk about the benefits of Linux, open source and community. Here, here, and here… and I am pretty sure everywhere. This blog walks you through our journey of pushing Linux open switch ASICs into the Linux kernel and ecosystem. Before we begin, let me tell you that it has and continues to be a fun ride!

 

A quick historical recap on Linux networking

The Linux kernel has been doing network hardware offloads and acceleration for decades (Nics, smart-nics, wireless AP’s and many other places). Because of this, the kernel has had the infrastructure and the right abstractions to recognize and register a networking hardware device for decades. And this infrastructure has matured over time.

For hardware vendors, enabling their networking hardware for Linux just made it easier to take their hardware to new customers, objectives and industries. Today Linux enablement is the best way to get faster adoption of your hardware or faster marketing for your hardware. It has become a norm for hardware vendors to get their hardware ready for Linux first: getting their drivers in the upstream kernel and getting hardware tools ready for the Linux ecosystem.

Continue reading

Riding the Wave of Linux Greatness

We at Cumulus Networks firmly believe that Linux networking is awesome, as it provides a high function, extensible platform for networking. Linux has always been the platform of choice for decades; every system today starts with Linux as its base and builds around it.

With the advent of the virtual machine and container networking, the constructs that used to be relegated to physical switches are applicable on servers, we thrive on the fact that Cumulus Linux networking IS Linux networking.

So, what does it take to bring that the greatest and latest in Linux to you? It takes two things really:

  • The latest Linux kernel, with all the new features and facilities.
  • The latest system libraries that enable those features for applications and the latest versions of the huge ecosystem of Linux software packages.

Kernel at the Core

The kernel is the center of the Linux operating system. We work closely with the Linux kernel community to add new networking features or extend Linux networking APIs for NOSes. With Cumulus Linux 3.0, we started with Linux kernel version 4.1 and networking patches from even more recent kernels. This provides networking applications with the latest Linux APIs, Continue reading

ifupdown2, a New Network Interface Manager for Cumulus Linux

Existing tools for network interface configuration have several shortcomings when applied to network switches. These include the lack of ability to handle interface dependencies, incremental updates to interface configuration without disruption, and interface configuration validation. The lack of such functionality increases operational burden. We introduce ifupdown2, a new network interface manager for Cumulus Linux.

ifupdown2 solves these problems through an implementation based on dependency graphs. This article briefly describes network interface configuration on Linux, the problems that arise when configuring a network switch and how ifupdown2 solves these problems and increases operational efficiencies overall.

Background

The Linux kernel understands two types of network interfaces: physical and logical. Physical interfaces represent real hardware and are owned by the device driver that manages the device. Example of physical interfaces include switch ports. Logical or virtual interfaces are created and managed by the kernel. Examples of logical interfaces include bonds, bridges, VLAN interfaces etc. Linux network interfaces are often stacked i.e they exhibit a master slave dependency relationship. Example of stacked network interfaces includes bridge and its ports.

The Linux kernel provides APIs to configure network interfaces. Existing native Linux tools like brctl, iproute2 use one or more of the kernel APIs Continue reading