<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.5">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2024-04-10T19:04:20+00:00</updated><id>/feed.xml</id><title type="html">moscicky.dev</title><subtitle>Misc stuff by Maciej Mościcki.</subtitle><entry><title type="html">Unlocking Kafka’s Potential: Tackling Tail Latency with eBPF</title><link href="/performance/2024/04/10/unlocking-kafkas-potential.html" rel="alternate" type="text/html" title="Unlocking Kafka’s Potential: Tackling Tail Latency with eBPF" /><published>2024-04-10T19:00:00+00:00</published><updated>2024-04-10T19:00:00+00:00</updated><id>/performance/2024/04/10/unlocking-kafkas-potential</id><content type="html" xml:base="/performance/2024/04/10/unlocking-kafkas-potential.html"><![CDATA[<p>In March, together with my colleague Piotr Rżysko we have published an article about Kafka performance analysis
using eBPF: <a href="https://blog.allegro.tech/2024/03/kafka-performance-analysis.html">https://blog.allegro.tech/2024/03/kafka-performance-analysis.html</a>.</p>

<p>I won’t be going into technical details here (I encourage you read the original piece) instead I would like to offer 
some random thoughts around it:</p>

<ul>
  <li>I think that <a href="https://www.brendangregg.com/blog/2020-07-15/systems-performance-2nd-edition.html">Brendan Gregg’s System Performance</a>
is truly one of the most inspiring and valuable CS books I have read. I have first learned about eBPF from it and it provides a lot of
performance tuning methodologies and does a solid job at explaining key OS concepts. For me it is one of 2 books from the last ~5 years that I would recommend
every Software Engineer to read (the other one would be <a href="https://learning.oreilly.com/library/view/designing-data-intensive-applications/9781491903063/">Martin Kleppmann’s Desining Data Intensive Applications</a>).</li>
  <li>I’ve seen a couple of comments saying that the whole analysis was pointless because Kafka docs are explicitly saying
that XFS may be a better choice - we could have simply tried XFS first! I’d argue that such an approach is a variant of <code class="language-plaintext highlighter-rouge">Streetlight Anti-Method</code> described by Brendan Gregg (i.e. looking for the keys not were you lost them but where the light is best). 
Sure, trying random options known without measuring performance and analysing the root cause may work. But you can also end up spending days tweaking 
random permutations of different parameters hoping to find the right one.</li>
  <li>Solving problems together is a great way to learn and make progress. This ma be an obvious one but 
it always fascinates me how effective working in a pair is.</li>
</ul>]]></content><author><name></name></author><category term="performance" /><summary type="html"><![CDATA[In March, together with my colleague Piotr Rżysko we have published an article about Kafka performance analysis using eBPF: https://blog.allegro.tech/2024/03/kafka-performance-analysis.html.]]></summary></entry><entry><title type="html">Building a Vector Search Engine</title><link href="/meetups/2024/01/19/building-a-vector-search-engine.html" rel="alternate" type="text/html" title="Building a Vector Search Engine" /><published>2024-01-19T22:09:03+00:00</published><updated>2024-01-19T22:09:03+00:00</updated><id>/meetups/2024/01/19/building-a-vector-search-engine</id><content type="html" xml:base="/meetups/2024/01/19/building-a-vector-search-engine.html"><![CDATA[<p>In January, I had a pleasure to present a talk titled “Building a Vector Search Engine” at the MLops meetup (MOPS) in Warsaw.</p>

<p>During the talk I covered the topics of:</p>
<ul>
  <li>approximate nearest neighbors search algorithms for faster search</li>
  <li>vector compression techniques</li>
  <li>indices evaluation</li>
</ul>

<p>The presentation was not as fluent as I would like it to be and there were some 
mistakes here and there but practice makes perfect:)</p>

<p>You can watch the recording by clicking a thumbnail below:</p>

<p><a href="https://www.youtube.com/watch?v=a-B9Rcl6-3A"><img src="https://img.youtube.com/vi/a-B9Rcl6-3A/0.jpg" alt="Meetup recording" /></a></p>]]></content><author><name></name></author><category term="meetups" /><summary type="html"><![CDATA[In January, I had a pleasure to present a talk titled “Building a Vector Search Engine” at the MLops meetup (MOPS) in Warsaw.]]></summary></entry></feed>