Multiple threads in cyclic register windows

  • Authors:
  • Yasuo Hidaka;Hanpei Koike;Hidehiko Tanaka

  • Affiliations:
  • -;-;-

  • Venue:
  • ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
  • Year:
  • 1993

Quantified Score

Hi-index 0.00

Visualization

Abstract

Multi-threading is often used to compile logic and functional languages, and implement parallel C libraries. Fine-grain multi-threading requires rapid context switching, which can be slow on architectures with register windows. In past, researchers have either proposed new hardware support for dynamic allocation of windows to threads, or have sacrificed fast procedure calls by fixed allocation of windows to threads.In this paper, a novel window management algorithm, which retains both fast procedure calls and fast context switching, is proposed. The algorithm has been implemented on the SPARC processor by modifying window trap handlers. A quantitative evaluation of the scheme using a multi-threaded application with various concurrency and granularity levels is given. The evaluation shows that the proposed scheme always does better than the other schemes. Some implications for multi-threaded architectures are also presented.