In this paper, we explore the performance of traditional virtual machine deployments, and contrast them with the use of Linux containers. We use a suite of workloads that stress the CPU, memory, storage and networking resources.
Our results show that containers result in equal or better performance than VM in almost all cases. Both VMs and containers require tuning to support I/O-intensive applications. We also discuss the implications of our performance results for future cloud architecture.
The results obtained in this papers are far from surprising, but it is good to see it verified by someone like IBM…
An introduction to netlink and details on Tenus, a networking library in golang.
SockMi is a mechanism for the migration of a TCP/IP connection between two Linux systems. Only the migrating peer of the connection needs to reside on a Linux system. The migration is completely transparent for the other peer that can reside on a system running any operating system. SockMi requires neither changes to existing Linux kernel data structures nor new system calls.
Shmoocon 2013 - C10M Defending The Internet At Scale (by theprez98)
Now that we have the C10K concurrent connection problem licked, how do we level up and support 10 million concurrent connections? Impossible you say. Nope, systems right now are delivering 10 million concurrent connections using techniques that are as radical as they may be unfamiliar.
A gentle introduction to the difficult art of writing kernel module.
I recommend this introduction to SDN (Software Defined Networking) from Nick McKeown in the Open Networking Summit. I love the example he gives where SDNs are used for implementing an intelligent distributed load balancer in a complex country-wide topology. I have also discovered the Mininet network simulator, a “real-network” simulator based on Linux namespaces and their ability to have isolated network spaces in a kernel.
"Metal as a service" is one of the last cutting edge technology in the cloud world, where a provider does not offer you a virtual machine but a physical, bare-metal machine, something where you can install whatever OS you want to run. More power for you, but also more difficult to maintain and more expensive.
Canonical is really into it (with Juju) and Openstack has some support in the latest version, and there are some providers (ie, baremetalcloud, stormondemand, etc) that already offer these features as well…
An explanation on how Valgrind works. Basically, Valgrind acts as a virtual machine that executes your program, intercepting every single call to allocate/free memory, and performing some accountancy for detecting memory leaks.