Software is what I do.
Since I remember myself I was always curious about how things work. My parents always told me that, as a child I was always breaking toys apart, willing to discover how they were built, and operate. Now days, after having the right knowledge and resources, I can share my experience throughout my years of learning and developing various projects.
I have a vast experience in the real-time and the embedded world. Since my very early years, I have programmed OS internals, proprietary networking protocols, arrhythmic libraries, board bring-ups and BSPs, in the field of to Telco grade systems and fast data-path applications. I’ve become an expert in software architecture, networking applications, software profiling and analysis, finding myself sometimes leading POCs, and execution teams with proven results.
My first working experience was with the Israel defense forces, serving in the encryption and information safety unit “Matzov“. There I “got into” the embedded world, working in various architectures, which then were “state of the art”. Years to come, I’ve moved forward to more sophisticated architectures and hardware (hundreds of devices), including multi-core DSP’s, network processors, large scale FPGA’s, switching fabrics, and multi-function blade systems. I even experienced firmware SOC development for some time, which gave me the opportunity to understand “how chips are working from the inside”.
In my last few years I experienced mainly pure data-path applications, over Intel X86 architectures. This includes Networking Function Virtualization (NFV), with different Hypervisors, NICs and topology, such as SR-IOV and virtual switching as well. I also was focusing on achieving very high performance (more than 20 Mfps per core) using different kernel bypass methods, like RDMA and Intel’s DPDK software platform. I purchased high skills of static code analysis, working with intel’s VTUNE profiler, unleashing full hardware events and statistics collection, to achieve proper software behavior, and maximize it’s performance.
Throughout my years of work, I’ve met wise and talented people, which gave me the opportunity to learn a lot from them. With this blog, I’m trying to share issues that I find interesting for common people, even for the less experienced ones – not only in the technical field, but also from other interest fields of mine.