Software Portfolio

At present, the software half of Cambridge Greys is just me - AntonIvanov.

While I presently work for Brocade, I have worked on a variety of open source projects prior to joining them and will continue to work on them in the future. Depending on my current contractual arrangements, the contributions are submitted either copyrighted by Cambridge Greys or with the copyright in the name of my employer.

Virtualization and High Performance IO

I presently maintain and develop further the high performance socket IO drivers in kvm/QEMU initially developed by our staff working for Cisco and contributed by Cisco to the QEMU community. The current version of the driver can be found in the QEMU git. A newer version, containing a unified driver capable of doing most socket based encapsulations including, but not limited to gre, raw Ethernet, etc is expected in early 2017.

I presently maintain and develop further various IO and performance improvements to User Mode Linux kernel architecture initially developed by our staff working for Cisco and contributed to the Linux community. These include:
  • New timer subsystem (jointly with Thomas Meyer): in mainline Linux kernel as of version 4.4
  • Virtual disk driver Speed Improvements (30%+): in mainline Linux kernel as of version 4.10
  • High performance interrupt controller - in the process of being reworked for 4.x kernels, work in progress, expected 2017
  • High performance network drivers for arbitrary socket based transports (L2TPV3, GRE, Raw Ethernet, etc), work in progress, expected 2017.
While most of these are written in C and virtualization, high performance networking and kernel drivers are considered to be the pinnacle of C software development, I do not pretend to be a C guru. I use it as it is the coin of the realm and because it allows me to express my ideas on how to improve system performance.

I presently work on a variety of SDN related open source projects - Open Daylight, etc. I have done a lot of the architectural work as well as written portions of the JSON RPC and Data Import Export plugins for ODL while working at Brocade. As both of these are contributed to the community I intend to do some work on them in the future as well. Same as my kernel and virtualization work - while I have to write in Java for these, I do not pretend to be a Java guru. It is the tool for the job and it helps me express some of my ideas. If a different tool will be needed, I will use a different one. Over the course of my career I have used 10+ different programming languages. End of the day - they are all tools to express data as well as how a system transitions between states and changes the data with it. Same as with languages - tools are there to be used, not to be hung up about.

I have a number of software, networking and telecommunications related hobbies - IoT, security, system administration utilities, etc. As I do not take most of that very seriously you will find the more interesting bits in the Hobbies Section

Last, but not least. Why Foswiki as a CMS? I have used it in the past including custom development - integrating it to instant messaging, issue tracking, etc to create an end-to-end collaboration system - something similar to what Atlassian and Slack do today - just 10+ years ago (around 2007). It was one of the best options for a flexible and extensible CMS system then and so it is now as long as you do not mind writing a few pages of Perl from time to time (I do - not, I used to write in exclusively in Perl for a living for many years).

-- AntonIvanov - 16 Jan 2017
Topic revision: r1 - 16 Jan 2017, UnknownUser

This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback