Abstract
Real-time applications of future IT will continue to drive the demand for performance scaling in devices ranging from sensors to servers. Parallel processing in the form of mul-ticore and manycore architectures will also continue to be the principal route to unleashing next generation performance capabilities. To fully exploit multicore processors, real-time applications are expected to provide a large degree of parallel-ism, where real-time tasks can utilize multiple cores at the same time. Guaranteeing real-time performance, while making efficient use of multicore resources, requires a scheduling method that offers both high schedulability and effective load balancing. Many existing real-time scheduling methods for multicore systems focus on schedulability or load balancing, but not both -- each coming at the expense of the other. In this work we develop an efficient scheduling algorithm that not only guarantees real-time performance but also demonstrates effective distribution of tasks across cores. Experimental re-sults show that our method significantly outperforms state-of-the-art approaches in terms of load balancing while still providing good schedulability. We also show the benefits with respect to energy reduction that result from balanced load.