Executing a distributed shuffle without a MapReduce system
medium.com