Обо мне

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

Профессиональные навыки
Опыт работы
Декабрь 2013 — по настоящее время
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
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
СПбГПУ
Технической кибернетики; ФТК
Санкт-Петербург