Hurricane: kicking skew out of analytics

Jun 23, 2018

Hurricane is a high-performance large-scale data analytics system that successfully tames skew in novel ways. Hurricane performs adaptive work partitioning based on load observed by nodes at runtime. Overloaded nodes can spawn clones of their tasks at any point during their execution, with each clone processing a subset of the original data. This allows the system to adapt to load imbalance and dynamically adjust task parallelism to gracefully handle skew. We support this design by spreading data across all nodes and allowing nodes to retrieve data in a decentralized way. The result is that Hurricane automatically balances load across tasks, ensuring fast completion times.

For more details, you can find the paper here.

Hurricane will be at Eurosys

Mar 15, 2018

I’m pleased to announce that our paper on Hurricane was accepted at Eurosys, one of the top systems conference. The conference will be in Porto, Portugal this year and I will be presenting. Hurricane is a general-purpose big data analytics system designed to handle skew automatically.

Continue Reading

Chaos: the paper that pushed the limits

Dec 21, 2015

Chaos is a graph processing system for analytics on big graphs using small clusters. Chaos builds on the X-Stream single-machine graph processing system, but scales out to multiple machines. Chaos treats the aggregate storage of all machines as a single flat disk and uses work stealing to balance the load across nodes in the cluster. It exposes the familiar scatter-gather-apply programming model.

For more details, you can find the paper here.

Chaos will be at SOSP

Aug 3, 2015

I’m pleased to announce that our paper on Chaos was accepted at SOSP, the top systems conference which is held in Monterey, CA this year. Chaos is the new graph processing system we’ve been building at LABOS for the past couple of years.

Continue Reading

X-Stream: the paper that started it all

Feb 3, 2015

X-Stream is a system for analytics on big graphs using small clusters of machines. X-Stream is based on the philosophy that sequential access to data works best for all storage mediums: main memory, SSD and magnetic disk. It is therefore built around a storage-centric and streaming philosophy: rearrange graph algorithms to stream data from storage.

For more details, you can find the paper here.

Merry Newtonmas!

Dec 23, 2012

On December 25th a savior was born.
He revealed eternal truth, bringing joy to millions.
He astonished the world with his command over nature.
He changed history forever.

His name was Sir Isaac Newton.

Getting Boostrap Popovers to play nice with Ember and Handlebars

Sep 7, 2012

I love Twitter Bootstrap: it’s a great framework for web front-ends and it has been a life safer ever since I downloaded the 1.0 version over a year ago. The power and acceleration it provides to web application development easily justifies why it is the most popular project on GitHub.

I recently stumbled upon Ember.js during a market study on JavaScript MVX frameworks. My company needed to build an AJAX front-end to one of our cloud services and I was trying to determine whether I should stick with the good old Backbone.js or go for something newer. (I’d actually met with Ember a while ago, back when it was called Sproutcore. I must admit that back then, I couldn’t really see the value in client-side MVC frameworks.

Eventually, I decided to go with Ember, despite the fact that it wasn’t entirely production-ready (today, most of the rough edges can actually be attributed to the Ember Data library).

I coded away for a couple of weeks until I decided it would make sense to add a few tooltips and popovers here and there. So I added the required attributes to the element and activated the two plugin via a jQuery selector. I ran the application and… surprise… it wasn’t working!

Continue Reading

Elegant random string generation in Scala

Apr 7, 2012

A long long time ago… Well, maybe not that long ago… I was a Bachelor student at EPFL in Martin Odersky’s Advanced Programming class (which was really just another name for Functional Programming) learning about Scala.

We had an amazing Teaching Assistant during the exercise sessions who used to give us small extra problems to solve. One day, during the exercise session on Streams, he gave us the following task:

Can you write a function which generates a random string of length n in any given alphabet?

Continue Reading

DON’T DO IT! HTC Desire HD + Micro SIM Adapter

Feb 3, 2012

OK, that’s not really what I had in mind for the first blog post on my new website, but I think it may be useful to other HTC Desire HD owners. It should also apply to US variants (Inspire 4G and Thunderbolt) and possibly other phones with a similar SIM slot design.

A week ago, Swisscom (my mobile carrier — I live in Switzerland) in their infinite wisdom decided to replace my SIM card with the newer and smaller micro SIM card. Now, as far as I know, the only phone available in Switzerland which uses a micro SIM card is the iPhone. But since I don’t have an iPhone, go figure why my carrier thought I needed a micro card. Thankfully, they also sent me an adapter for the new micro SIM, so I could still use it in my phone.

So I dutifully replaced my old SIM card with new one in the phone. It went fine for a couple of days until I tried to take it out: the brand new micro SIM and its adapter were stuck in the SIM slot! Uh-oh!

Continue Reading