Обо мне

I have a 4 years of experience in C programming, Linux Kernel tweaking for requirements in functionality and performance(mostly networking subsystem and netfilter), implementing high-performance data structures.

Participated in software high-performance linux-based router project, during which I:

- implemented load-balancing of interrupts for networking devices and cpus for processing the packets

- implemented high-performance iptables lookup algirithm as optimization for cases with huge number of used rules, which helped gain ~5-10x performance in some cases

- implemented custom iptables rules (IP DF, IP Security Options, skb prio)

- fixed some bugs in networking modules(pppoe) and drivers(wanpipe)

At the moment I am participating in modern software very-high-performance linux-based router project(netmap/dpdk-based: e.g. Vyatta 5600, 6WindGate), during which I:

- proposed principles to improve aforementioned high-performance router project

- implemented proof-of-concept application

- designed architecture of the project and planned in-detail development stages

- managing team of two software engineers

The latter project consists of very high-performance sensitive data structures, including lock-less ones and drivers modifications for mentioned frameforks.

During that projects I obtained the following skills:

- Linux Kernel basic knowledge

- Linux Kernel networking stack and drivers understanding

- concurrent algorithms and primitives understanding: aside from classic, also very performance sensitive ones

- lock-less algorithms and data structures that can be used with them

- deep understanding of memory model of modern software(memory barriers, ordering)

- became aware of scheduling implementation of Linux Kernel and of overhead it carries

- experience designing and implementing high-performance data structures for certain data-load

- experience designing and implementing load-balancing algorithms

- experience with pipeline-distributed algorithms

My github page: https://github.com/grumm

Project pages:



Профессиональные навыки
Опыт работы
Декабрь 2013 — по настоящее время (4 года и 6 месяцев)
Emzior Technologies
Senior Software Engineer
Обязанности и достижения
Planning, research and develepment of high performance Linux netmap-based router: - prototype implementation - planning of development process - architecture planning
Октябрь 2011 — Декабрь 2013 (2 года и 3 месяца)
Masshtab Research Institute
Software Engineer
Обязанности и достижения
Обязанности: - Improving Linux kernel's networking subsystem's performance. - Developing console user-space tools(C programming language) with connections to kernel. - Improving netfilter performance.
Высшее образование
Сентябрь 2012 — Июль 2014
Технической кибернетики; ФТК
Специализация и достижения
Software Engineering, Master Degree
Январь 2008 — Январь 2012
Технической кибернетики; ФТК