Give in to Procrastination and Stop Prefetching

Lenin Ravindranath Sivalingam, Sharad Agarwal, Jitu Padhye, and Chris Reiderer


Generations of computer programmers are taught to prefetch network objects in

computer science classes. In practice, prefetching can be harmful to

the user's wallet when she is on a limited or pay-per-byte cellular data plan.

Many popular, professionally-written smartphone apps today prefetch large

amounts of network data that the typical user may never use. We

present Procrastinator, which automatically decides when to fetch each

network object that an app requests. This decision is made based on whether the

user is on Wi-Fi or cellular, how many bytes are remaining on the user's data

plan, and whether the object is needed at the present time. Procrastinator does

not require developer effort, nor app source code, nor OS changes – it

modifies the app binary to trap specific system calls and inject custom code.

Our system can achieve as little as no savings to 4X savings in bytes

transferred, depending on the user and the app. In theory, we can

achieve 17X savings, but we need to overcome additional technical challenges.


Publication typeInproceedings
PublisherACM HotNets
> Publications > Give in to Procrastination and Stop Prefetching