著者
薄井 弘之 内山 真郷 伊藤 務 山崎 信行
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌コンピューティングシステム(ACS) (ISSN:18827829)
巻号頁・発行日
vol.45, no.11, pp.105-118, 2004-10-15
被引用文献数
4

分散リアルタイム処理用Responsive Multithreaded ProcessorのプロセッシングユニットであるResponsive Multithreaded Processing Unit (RMT PU) の命令供給機構を設計・実装する.RMT PU は8wayのSimultaneous Multithreading(SMT)方式にリアルタイムシステムの優先度を導入してすべての機能ユニットを設計することで,各スレッドを優先度順に実行し,リアルタイム実行を行う.RMT PUの命令供給機構において,単純に優先度による制御を行うと優先度の低いスレッドが実行される機会が少なくなり,システム全体の性能が低下してしまう.そこで,パイプラインの状況によって低い優先度を持つスレッドを実行することで,高い優先度のスレッドの性能を維持しながら,プロセッサ使用率を向上させる.特に単一スレッドの性能を重視するポリシと,単一スレッドの性能の低下を抑制しつつ,全体の性能に比重を置くポリシの2種類を実装することで様々なデッドラインを持つタスクのスケジューリングを支援する.パイプラインの状況によって対応するスレッドのフェッチを止める方法が最も効果的であり,命令バッファ内命令数や,分岐命令数によるもので最高優先度スレッドの性能低下を1%未満に抑えつつ,全体性能を10%から20%向上できた.また,パイプライン中命令数によってフェッチを止める方法では,全体性能を約100%向上しながら,最高優先度スレッドの性能低下を40%程度に抑えることができた.We design and implement the instruction supply mechanism for Responsive Multithreaded Processing Unit (RMT PU), the processing unit of Responsive Multithreaded Processor for distributed real-time systems. Priority used in real-time systems is introduced into all functional units of the 8way Simultaneous Multithreading (SMT) in RMT PU. Each thread is executed in priority order to realize real-time execution. In the instruction supply mechanism of RMT PU, if control by the priority is performed simply, the opportunity for a thread with a low priority to be executed will decrease and the whole performance will decrease. Then, by selecting the thread which has low priority according to pipelines's situation, the processor utilization is raised without reducing the performance of the thread with the highest priority. We implemented the policy which considers especially performance of the thread with highest priority as important, and the policy which considers the whole performance controlling the fall of the performance of the thread with highest priority. By changing and performing these policy, scheduling tasks which have various deadline are supported. The policy of stopping fetch according to a pipeline's situation is the most effective. By the policy based on the number of the instructions in instruction buffer or the number of branch instructions, whole performance can be improved 20% from 10% suppressing the performance fall of the highest priority thread to less than 1%. By the policy based on the number of the instructions in pipeline, the performance fall of the highest priority thread is able to be suppressed to 40%, doing improvement of a whole performance in 100%.