Ensuring fairness in a system with scarce, preferred resources requires time sharing. We consider a heterogeneous system with a few "big" and many "small" processors. We allocate heterogeneous processors using a novel token mechanism, which frames the allocation problem as a repeated game. At each round, users request big processors and spend a token if their request is granted. We analyze the game and optimize users' strategies to produce an equilibrium. In equilibrium, allocations balance performance and fairness. Our mechanism outperforms classical, fair mechanisms by 1.7×, on average, in performance gains, and is competitive with a performance maximizing mechanism. CCS Concepts: • Software and its engineering → Power management; • Information systems → Data centers; • Social and professional topics → Pricing and resource allocation; • Theory of computation → Algorithmic mechanism design; • Computing methodologies → Modeling methodologies;