This section is contains some of my ideas on Software, Networks and Telecommunications. I may expand it to cover Intellectual Property and other topics over time.
In the past, I maintained a number of articles on Anycast, Linux QoS and its integration with firewalling, etc. Over the years most of these have suffered from Bitrot and have fallen in disrepair. That is expected as the industry skills required to maintain these in a "non-packaged" form have decreased.
For example, while it was never particularly common, anycast was well known solution to a number of HA and geographical distribution problems in the Internet industry. From being in the "well known, but scares the bejesus out of me" category, it is now in the realm of esoteric, making me remove the dark arts article on how to use it.
DIY QoS on Linux is in a similar state - there are Qdiscs which have been buggy for the last 10 years with no fix in sight. Anyone using it does not get anywhere near low-level and uses prepackaged solutions like OpenWRT QoS scirpts (that mostly works). So, as a result, I have taken the decision to remove them from this website, leaving only things I work on so they are reasonably current and up to date.
- Why DPDK is not the Answer to the world's ills
- Zero Copy Is Not Always The Answer
- To Virtualize or Not To Virtualize. This is the question (applied to Network Elements).
- Part 1 - What Does It Mean to Virtualize?. What Are The Issues and what is a Virtual Network Element and what's not.
- Part 2 - Performance of Packet IO in Off The Shelf Hypervisors. Drawing the line on what to do in a VM and what to do at Network Element Level.
- Part 3 - Flow Level Offloads. Can it go any faster (note - this is on flow level, or bypass offloads, not simple IO offloads)?
- Part 4 - Conclusions. So what is possible and what's not?
- Detour - Virtualizing the Very Small. Residential CPE, IoT networks and other things "too small" for a "whole VM".
- Improving network performance in QEMU
- Improving IO performance in User Mode Linux
- Pros And Cons Of IO Offloading - pros and cons of simple (not flow level bypass) IO offloads in a Linux based virtualized system.
- Why not libpcap and packet ring
- Developing for Virtualization on Linux - Mostly UML, though some of this is valid for QEMU too
- The fine art of using recvmmsg/sendmmsg in multi-threaded environments
- Setup Instructions for L2TPv3 and Other Socket Drivers
- How to Manage Hordes of Razzies
- Random Thoughts on various Arm SoCs
- Motion CCTV on Linux
Commercial and Off-The-Shelf IoT
- Encrypted Off-Site Backups using Amanda (can be adapted for other backup software)
I am a great believers in eating our own dog (or cat) food. All of the ideas in the articles are backed up by actual code which is either in the process of going into the relevant projects or is already there.