Is this needed only for serializing the RDDs for the debugger? If it is not needed on the workers, this actually increases each RDD's size by a fair bit. I wonder if we can design a way to serialize RDDs depending on whether they are used for driver program checkpoint or for task serialization ...