Proportional fairness is a traditional goal of CPU scheduling. Todays, some changes are required for fairness. First, consolidated systems such as virtual machines and containers become popular. Thus, not only thread-level fairness, but also group-level fairness support becomes necessary. Second, a system may have many cores with uneven computing capabilities due to big.LITTLE architectures, process variations, or CFS policies. The traditional CPU share based fairness support is not enough. The performance based fairness support is required. However, none of current schedulers supports all of them.In this dissertation, three schedulers are proposed to satisfy fairness requirements above. First, Group-aware Manycore Fair Scheduler (GMFS) provides a scalable scheduling mechanism to support accurate fairness among both of thread-level and group-level fairness. Second, the design space of performance-based fairness is explored for uneven multicores. The policies of Performance-based Relaxed-Fair Scheduler (PRFS) relax the fairness level as specified by the users, and improve the throughput unless the required fairness is guaranteed. However, the scheduling algorithms are not scalable. Finally, Group-aware Performance Fair Scheduler (GPFS) provides a scalable scheduling design to support group-level fairness and performance-based fairness.The proposed schedulers are implemented on linux kernel, and are evaluated on real machines. The results show that the proposed schedulers support both of thread-level and group-level proportional fairness with the higher accuracy than CFS schedulers. In addition, it can exploit the asymmetry in uneven multicores to support performance-based fairness and boost the important threads.