Loop-aware scheduling in HaLoop aims to improve efficiency for iterative algorithms by placing map and reduce tasks that access the same data on the same physical machines across iterations. It maintains mappings of data partitions to slave nodes and uses caching techniques like caching reducer inputs and outputs to reuse computations and minimize data shuffling. The number of reduce tasks is kept the same across iterations to maintain a consistent hash function for routing mapper outputs to reducers.