archives

Predictive Thread-to-Core Assignment on a Heterogeneous Multi-core Processor


Home 

About 

Browse 

Search 

Register 

Subscriptions 

Deposit Papers 

Help
    

Viswanath , Krishnamurthy, Tyler, Sondag and Hridesh, Rajan (2007) Predictive Thread-to-Core Assignment on a Heterogeneous Multi-core Processor. Technical Report 07-10, Computer Science, Iowa State University.

Full text available as:Adobe PDF

Abstract

As multi-core processors are becoming common, vendors are starting to explore trade offs between the die size and the number of cores on a die, leading to heterogeneity among cores on a single chip. For efficient utilization of these processors, application threads must be assigned to cores such that the resource needs of a thread closely matches resource availability at the assigned core. Current methods of thread-to-core assignment often require application's execution trace to determine it's runtime properties. These traces are obtained by running the application on some representative input. A problem is that developing these representative input set is time consuming, and requires expertise that the user of a general-purpose processor may not have. In this position paper, we propose an approach for automatic thread-to-core assignment for heterogeneous multi-core processors to address this problem. The key insight behind our approach is simple -- if two phases of a program are similar, then the data obtained by dynamic monitoring of one phase can be used to make scheduling decisions about other similar phases. The technical underpinnings of our approach include: a preliminary static analysis-based approach for determining similarity among program sections, and a thread-to-core assignment algorithm that utilizes the statically generated information as well as execution information obtained from monitoring a small fraction of the program to make scheduling decisions.

Keywords:static program analysis, heterogeneous multi-core processors, thread-to-core assignment, phase behavior
Subjects:Software: PROGRAMMING LANGUAGES: Language Constructs and Features (E.2)
Software: PROGRAMMING LANGUAGES: Processors
Software: OPERATING SYSTEMS (C): Process Management
ID code:00000547
Deposited by:Hridesh Rajan on 05 July 2007



Contact site administrator at: ssg@cs.iastate.edu