Author: Criteo Tech
-

Romain Lerallut on scaling, scaling, scaling
Tell us about your background and how you ended up at Criteo. After defending my Ph.D. in image processing in 2006, I joined a French start-up called A2iA working on handwriting recognition. When our robot overlords take over the world, they’ll be able to read your post-it notes on the fridge thanks to our work. For…
-

Romain Lerallut on scaling, scaling, scaling
Tell us about your background and how you ended up at Criteo. After defending my Ph.D. in image processing in 2006, I joined a French start-up called A2iA working on handwriting recognition. When our robot overlords take over the world, they’ll be able to read your post-it notes on the fridge thanks to our work.…
-

ClrMD Part 3 — Dealing with static and instance fields to list timers —
This third post of the ClrMD series focuses on how to retrieve value of static and instance fields by taking timers as an example. The next post will dig into the details of figuring out which method gets called when a timer triggers. As an example, the associated code lists all timers in a dump…
-

RyuJIT and the never-ending ThreadAbortException — Criteo Labs
When you see this, you know for sure that something is wrong with a server: This chart counts the number of first-chance exceptions thrown by the server. We have here an average of 840K exceptions thrown per minute, or 14K exceptions per second. That’s a lot, especially considering that this server only processes about 400…
-

ClrMD Part 2 — From ClrRuntime to ClrHeap or how to traverse the managed heap
This second post in the ClrMD series details the basics of parsing the CLR heaps. The associated code checks string duplicates as sample. Part 1: Bootstrapping ClrMD to load a dump. From ClrRuntime to ClrHeap or how to traverse the managed heap In the previous post, we have boostrapped the code needed to load a memory dump…
-

ClrMD Part 1 — Going beyond SOS — Criteo Labs
A little bit of context Thousands of servers are closely monitored at Criteo and when inconsistent behaviors are detected, an investigation is started based on these deviant machines. The level of details provided by the monitoring is close to what is provided by performance counters. Our team is using them to guess where the problem could…
-

Criteo at NIPS 2016
As a Gold Sponsor of the NIPS Conference, Criteo was more than excited to be part of the 30th Annual Conference on Neural Information Processing Systems in Barcelona from the 5th to the 9th of December 2016. This conference is THE conference for Criteo researchers, data scientists and engineers working on machine learning on a…
-

Machine Learning in the Real World
Criteo is organizing the Machine Learning in the Real World workshop. This workshop aims at bringing together people from the industry and from academia to better understand which machine learning algorithms are used in practice and what we can do to improve them. Anyone who is involved in applying machine learning on real world data is…
-

Open Source at Criteo
Criteo is committed to contributing to the open source community. We use ample open-source software internally (Cassandra, Chef, Couchbase, Gerrit, GitLab, Graphite, Hadoop, Kafka, …). We publish the tools we believe to be of general interest, and contribute bug fixes and improvements to the open-source software we use. Our projects are split between two GitHub entities:…
-

Interviewing at Criteo: Just do it!
Being interviewed for a job is always a stressful experience. Trust me, even for a recruiter, it is tough! It takes courage to voluntarily go out there to be challenged and evaluated. As an R&D Recruiter, I often hear candidates stating : “ the process is too long, I am busy”, “ I am not good enough…
