• DocumentCode
    950795
  • Title

    Predictable performance in SMT processors: synergy between the OS and SMTs

  • Author

    Cazorla, Francisco J. ; Knijnenburg, Peter M W ; Sakellariou, Rizos ; Fernandez, Enrique ; Ramirez, Alex ; Valero, Mateo

  • Author_Institution
    Barcelona Supercomput. Center, Spain
  • Volume
    55
  • Issue
    7
  • fYear
    2006
  • fDate
    7/1/2006 12:00:00 AM
  • Firstpage
    785
  • Lastpage
    799
  • Abstract
    Current operating systems (OS) perceive the different contexts of simultaneous multithreaded (SMT) processors as multiple independent processing units, although, in reality, threads executed in these units compete for the same hardware resources. Furthermore, hardware resources are assigned to threads implicitly as determined by the SMT instruction fetch (Ifetch) policy, without the control of the OS. Both factors cause a lack of control over how individual threads are executed, which can frustrate the work of the job scheduler. This presents a problem for general purpose systems, where the OS job scheduler cannot enforce priorities, and also for embedded systems, where it would be difficult to guarantee worst-case execution times. In this paper, we propose a novel strategy that enables a two-way interaction between the OS and the SMT processor and allows the OS to run jobs at a certain percentage of their maximum speed, regardless of the workload in which these jobs are executed. In contrast to previous approaches, our approach enables the OS to run time-critical jobs without dedicating all internal resources to them so that non-time-critical jobs can make significant progress as well and without significantly compromising overall throughput. In fact, our mechanism, in addition to fulfilling OS requirements, achieves 90 percent of the throughput of one of the best currently known fetch policies for SMTs.
  • Keywords
    embedded systems; instruction sets; multi-threading; multiprocessing systems; operating systems (computers); processor scheduling; resource allocation; embedded systems; hardware resources; instruction fetch policy; job scheduler; operating systems; simultaneous multithreaded processor; Collaboration; Costs; Hardware; Operating systems; Processor scheduling; Registers; Resource management; Surface-mount technology; Throughput; Yarn; ILP; Multithreaded processors; operating systems.; performance predictability; real time; simultaneous multithreading; thread-level parallelism;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/TC.2006.108
  • Filename
    1637396