Consider a Compute and Forward (CF) relay network with L users and a single relay. The relay tries to decode a linear function of the transmitted signals. For such a network, letting all L users transmit simultaneously, especially when L is large, causes a significant degradation in the rate in which the relay is able to decode. In fact, the rate goes to zero very fast with L. Therefore, in each transmission phase only a fixed number of users should transmit, i.e., users should be scheduled. In this work, we examine the problem of scheduling for CF and lay the foundations for identifying the optimal schedule which, to date, lacks a clear understanding. Specifically, we start with insights why when the number of users is large, good scheduling opportunities can be found. Then, we provide an asymptotically optimal, polynomial time scheduling algorithm and analyze it's performance. We conclude that scheduling under CF provides a gain in the system sum-rate, up to the optimal scaling law of O(log log L).