A processor includes multiple physical cores that support multiple logical cores of different core types, where the core types include a big core type and a small core type. A multi-threaded application includes multiple software threads are concurrently executed by a first subset of logical cores in a first time slot. Based on data gathered from monitoring the execution in the first time slot, the processor selects a second subset of logical cores for concurrent execution of the software threads in a second time slot. Each logical core in the second subset has one of the core types that matches the characteristics of one of the software threads.


  • Dheeraj R. Subbareddy
  • Ganapati N. Srinivasa
  • David A. Koufaty
  • Scott D. Hahn
  • Mishali Naik
  • Paolo Narvaez
  • Abirami Prabhakaran
  • Eugene Gorbatov
  • Alon Naveh
  • Inder M. Sodhi
  • Eliezer Weissmann
  • Paul Brett
  • Gaurav Khanna
  • Russell J. Fenger