How using Foreign Functions optimized our ML prediction serving in production
April 4, 2024
14:25
14:00
Hall A
Intermediate | English | Core Java

Outbrain's CTR model is a key technology in our product that generates hundreds of millions of predictions per second. In order to achieve this, we developed our own high-speed ML framework called "Fwumious Wabbit" in Rust. However, using this framework posed a new challenge as our serving stack is written in Java. We faced the question of how to efficiently transfer predictions from Rust to Java services. After initially using a local TCP server on the same container as the Rust module and after a failed attempt of using JNI, we decided to try Foreign Functions and Memory API. This change resulted in a more than 20% CPU usage decrease and a 20% reduction in average Latency.
In this talk, I wish to share the journey we had and dive a bit into Foreign Functions and Memory API that was presented as part of Project Panama

Yonatan Ben Avraham_500_500_speaker
LinkedIn_Orange-JavaSummit website icon
Medium_Orange-JavaSummit website icon
Yonatan Ben Avraham
Software Developer
OutBrain_500x250

Yonatan ben Avraham, 30 years old.

A software developer for the last 10 years.

I started coding in my military service at Mamram IDF.

I've been working at Outbrain for the last 3.5 years.

Cancellation Policy

Sponsor Cancellation:

In case of cancellation of the event, we will offer a full refund to all attendees and sponsors.

Attendee cancellations:

Up to 30 days prior to the event – 100% Refund 30-14 days prior to the event – 50% Refund No refund will be offered later than that.

Cancellation Policy

Sponsor Cancellation:

In case of cancellation of the event, we will offer a full refund to all attendees and sponsors.

Attendee cancellations:

Up to 30 days prior to the event – 100% Refund.
30-14 days prior to the event – 50% Refund.
No refund will be offered later than that.