Intel Arrow Lakeで廃止されるハイパースレッディングの代わりに導入されるRentable Unitを特許情報から解説。P-CoreとE-Coreを連携して処理?
Arrow Lakeに関する最新情報はこちらへ
Intelでは第2世代Core Ultra CPUとしてArrow Lake CPUを2024年末までを目標に投入を計画していますが、このArrow Lakeでは今までのIntel CPUでお馴染みだった『ハイパースレッディング』が無くなり新たにRentable Unitと呼ばれる新機能が搭載されると言われています。
このRentable Unitについては名称だけで具体的な機能については明らかにされていませんでしたが、Intelが過去にRentable Unitに関する特許を申請していたことが明らかになりましたので、今回この機能について解説していきます。
まず、Arrow Lakeから廃止される予定のハイパースレッディングはIntelがPentium 4時代に初めて投入した技術でCore 2世代には消えていましたが、Core i世代からは復活し、現在に至っています。
このハイパースレッディングはスレッドを各種演算を行う処理パイプライン上に流した際にスレッドの内容によってはすべての演算機能を使わないケースがあります。その際に、空いている演算機能に別のスレッドを流す事でCPUの使用率を向上させ、CPUの性能を向上させるものになっています。
そのため、ハイパースレッディングが有効なCPUでは物理的に存在するCPUに対して、コア数が多くなっていますが性能が2倍、3倍になる事は無く処理内容によるが大まかに10~20%程度の性能向上に留まります。
このハイパースレッディングは性能が同じCPUにおいては処理をより早く終了させる事が出来ましたが、性能が異なるCPUが混在するハイブリッドアーキテクチャーにおいてはP-Core側が処理を早く終わらせても、E-Core側に割り振られてしまった処理が遅延し、結果的にP-Coreが全く稼働していない時間が出来てしまうと言う問題がありました。
そこで、IntelではP-CoreとE-Coreが相互に補完し合うスケジューリング機能として『Rentable Unit』の投入を検討しているようです。
このRentable UnitはまずInstruction Processing Circuitryと呼ばれる回路が実行するスレッドを利用可能な設定やリソースを基づいてパーティションに分割します。この分割はコードの複雑さや実行にかかる時間、CPUの設定、パーティション順序に基づいて行われます。その後、分割されたスレッドをスケジューラーがE-CoreとP-Coreに割り振り処理を完了させるという流れになっています。
このRentable Unitがなぜ有用かは特許資料でも解説が行われており、左側では例えばTask 1がP-Core、Task 2がE-Coreに割り当てられた場合、P-Core側の処理はE-Coreの半分の時間で処理は終わってしまいますが、E-Core側が処理を継続しているため、タスク自体は完了できません。ただ、ここではP-CoreはE-Coreの処理完了を何もせず見守るだけと言う無駄時間が発生しています。
一方で、Rentable Unitによってスレッドを分割することでE-Coreの処理の一部をP-Coreに担わせる事が可能となり、CPU全体の処理性能を早める事に繋がるようです。
この特許情報や今回の解説はRentable Unitの概念的なものだけですが、このRentable Unitの仕組みを見る限り、Arrow Lakeではハイパースレッディングが廃止されたからと言ってCPUの性能が犠牲になると言う訳では無さそうですが、Rentable Unitに対応するOS用のスケジューリング機能など新たに開発する必要性はありそうで、恐らくIntelとMicrosoftはハイブリッドアーキテクチャー採用時に『Thread Director』を共同開発したように何かしらの新しいスケジューリング機能も併せて開発しているものと考えられます。
コメント