Rock(またはROCK)は、サン・マイクロシステムズが開発していたマルチスレッド、マルチコアのSPARCマイクロプロセッサでした。2010年に開発中止となり、 SPARC Tシリーズ(CoolThreads/Niagara)プロセッサファミリーとは別のプロジェクトでした。
Rockは、Niagaraファミリーよりも高いスレッドあたりのパフォーマンス、高い浮動小数点演算性能、そして優れたSMPスケーラビリティを目指して開発されました。Rockプロセッサは、バックエンドデータベースサーバーなどの従来型のハイエンドデータ処理ワークロードに加え、浮動小数点演算を多用する高性能コンピューティングワークロードをターゲットとしていましたが、NiagaraファミリーはWebサーバーなどのネットワーク処理ワークロードをターゲットとしていました。
Rock プロセッサは、64 ビット SPARC V9 命令セットとVIS 3.0 SIMD マルチメディア命令セット拡張を実装しています。[ 1 ] Rock プロセッサはそれぞれ 16 個のコアを持ち、各コアは 2 つのスレッドを同時に実行できるため、チップあたり 32 個のスレッドが実現します。Rock で構築されたサーバーは、メモリ システムの信頼性、速度、密度を高めるためにFB-DIMM を使用します。Rock プロセッサは、設計周波数 2.3 GHz で65 nm 製造プロセスを使用します。[ 2 ] Rock プロセッサ チップの最大消費電力は約 250 Wです。 [ 3 ]
Rock の 16 個のコアは、4 つのコア クラスタに配置されている。クラスタ内のコアは、32 KB の命令キャッシュ、2 つの 32 KB データ キャッシュ、および 2 つの浮動小数点演算ユニットを共有する。Sun がこのようにチップを設計したのは、サーバーのワークロードでは、プロセスやスレッド間でデータと命令の再利用率が高いが、浮動小数点演算の数は一般的に少ないためである。したがって、クラスタ内の 4 つのコア間でハードウェア リソースを共有することで、面積と電力の大幅な節約につながるが、パフォーマンスへの影響は少ない。[ 4 ]
2005年、SunはRockプロセッサのハードウェアスカウトと呼ばれる機能を公表した。ハードウェアスカウトは、キャッシュミス時にプリフェッチを実行するために、通常はアイドル状態のチップ実行リソースを使用する。[ 5 ]
2006年3月、サン・マイクロシステムズのスケーラブル・システムズ・グループの副社長兼チーフ・アーキテクトであるマーク・トレンブレイは、ゼロックス・パロアルト研究所(PARC)で、スレッドレベルの並列処理、ハードウェア・スカウティング、スレッドレベルの投機実行に関するプレゼンテーションを行った。[ 6 ] これらのマルチスレッド技術は、Rockプロセッサに搭載される予定だった。
2007 年 8 月、Sun は Rock がトランザクション メモリをサポートする最初の量産プロセッサになることを確認した。[ 7 ]chkptこの機能を提供するために、2 つの新しい命令 ( 、commit) と 1 つの新しいステータス レジスタ ( )が導入されたcps。命令はトランザクションを開始し、トランザクションをコミットするために使用される。トランザクション中止条件が検出されると、にジャンプし、を使用して理由を特定できる。このサポートはベスト エフォート型であり、データ競合に加えて、トランザクションは他の理由で中止される可能性がある。これには、TLB ミス、割り込み、特定のよく使用される関数呼び出しシーケンス、および「難しい」命令 (除算など) が含まれる。[ 8 ]それにもかかわらず、同期を必要とする多くの (おそらくきめ細かい) コード ブロックは、Rock プロセッサのトランザクション メモリ サポートから恩恵を受けることができたであろう。[ 9 ]chkpt <fail_pc>commit<fail_pc>cps
2008年2月、マーク・トレンブレイはISSCCで「アウトオブオーダーリタイアメント」と呼ばれる独自の機能を発表した。その利点には、「従来の命令ウィンドウをはるかに小さな遅延キューに置き換える」ことが含まれる。[ 10 ]
2008 年 4 月、Sun のエンジニアはTransact 2008でトランザクション メモリ インターフェイスを発表し、その後まもなくAdaptive Transactional Memory Test Platformシミュレータが一般公開されることが発表されました。[ 8 ] [ 11 ]
Rock プロセッサは、Sun が提案した「Supernova」サーバーラインで使用することを意図していました。サーバーの仕様の詳細は、OpenSolarisアーキテクチャレビューのケース FWARC/2008/761 で公開されました。[ 12 ] [ 13 ]
ARC 2008/761 の物理リソースインベントリ (PRI) 仕様では、Supernova プラットフォームがIEEE 1275 OpenFirmware、論理ドメイン(LDOM) によるプラットフォーム仮想化、独立システムコントローラ (SC)、および障害管理アーキテクチャ (FMA) ドメインサービスをサポートするとされています。[ 14 ] FMA 機能は元々 FWARC/2006/141 を参照していましたが、これはクローズされ、FWARC/2008/455 で「ルートドメインで発生する PCI ファブリックエラーを正常に診断する」ように拡張されました。[ 15 ]
ARC 2008/761では、 PCI Express (PCIe) ホットプラグ対応スロットと、旧型の PCI eXtended ( PCI-X ) へのブリッジの両方をサポートする計画が示されました。[ 16 ]
「ブロンズ」サーバーは PCIe スロット 0~5 をサポートします。「シルバー」サーバーは I/O ボード 0~1 と各ボードの PCIe スロット 0~7 をサポートします。「プラチナ」サーバーは I/O ボード 0~3 と各ボードの PCIe スロット 0~7 をサポートします。「シルバー II」サーバーは PCIe スロット 00~19 をサポートします。「プラチナ II」サーバーはボード 0~7 と各ボードのスロット 0~3 をサポートします。[ 17 ]
2005年2月、サン・マイクロシステムズのCEOであるスコット・マクニーリーは、ロックのテープアウトは同年後半に予定通り行われると述べた。 [ 22 ]しかし、このテープアウトは最終的に2007年1月に延期された。[ 23 ]
2007 年 4 月、Sun の CEOジョナサン I. シュワルツは、 UltraSPARC RKとラベル付けされたBGAパッケージの Rock チップの画像をブログに投稿し、 Solaris を実行する単一のシステムで256テラバイトの仮想メモリをアドレス指定できることを明らかにした。[ 24 ]翌月、Sun は、自社のオペレーティングシステムである Solaris を正常に起動できる Rock チップを作成したと発表した。[ 25 ]同年 8 月、Sun は Rock アーキテクチャにおけるトランザクション メモリの使用に関する詳細を公開した。[ 26 ]しかし、「まったく新しい設計であり、その独自性と複雑さを考慮すると」、Rock のリリースは 2008 年または 2009 年に延期された。[ 27 ]
2008年、マーク・モイアはSun Labs Open House 2008で「Rockのトランザクショナルメモリとその活用方法」を発表し、トランザクショナルメモリとスレッドの探索、そしてこれらが低速プロセッサの膨大なスレッド数を革新的に利用しても解決できなかった計算上の問題をどのように軽減するかについて議論した。[ 28 ]同年9月、OpenSolarisプロジェクトはRockベースのSuperNovaプログラムをサポートするコードの統合を開始した。[ 29 ]
2009 年 1 月、Sun の CEO ジョナサン・シュワルツは Rock が 2009 年のリリースに向けて順調に進んでいると発表した。[ 30 ] 2009 年 3 月 10 日、Dave Dice、Yossi Lev、Mark Moir、Dan Nussbaum は、第 14 回プログラミング言語およびオペレーティングシステムのアーキテクチャ サポートに関する国際会議 (ASPLOS '09) で「商用ハードウェア トランザクショナル メモリ実装の初期経験」を発表した。彼らは 2009 年に「新しい商用マルチコア プロセッサの 2 つの試作版のハードウェア トランザクショナル メモリ (HTM) 機能の経験」を発表した。[ 31 ] [ 32 ] [ 33 ]
2009年4月20日、SunとOracle Corporationは、 OracleがSunを買収するという最終合意に達したと発表した。6月12日のSunブログへの投稿では、2009年7月14日にハンブルクのOpenSolarisユーザーグループミーティングでROCKに関する技術的なNDA限定プレゼンテーションを行うことが発表された。 [ 34 ]
2009年6月15日、ニューヨーク・タイムズ紙は、「サンの計画について説明を受けた2人」が、ロック・プロジェクトは中止されたと述べたと報じた。サンはコメントしなかった。[ 35 ] [ 36 ] 2日後、EEタイムズ紙は、「サンは[Hot Chips 21に]ロックに関する論文を提出しなかったため、同社がチップを中止したのではないかという憶測が広がった」と報じた。[ 37 ] 2009年6月24日、第36回国際コンピュータ・アーキテクチャ・シンポジウムで、「投機的スレッド処理と並列化」に関するプレゼンテーションの中で、「サンのROCKプロセッサに実装された新しいパイプライン・アーキテクチャ」が紹介された。[ 38 ]
2009 年 8 月 6 日、OpenSolaris プロジェクトから Rock のサポートが削除されました。[ 39 ] 2009 年 8 月 13 日、Fuad Tabba、Mark Moir、 James Goodman 、Andrew Hay、Cong Wangによって書かれた「NZTM: Nonblocking Zero-indirection Transactional Memory」に関するプレゼンテーションが、カナダのカルガリーで開催された第 21 回 ACM Symposium on Parallelism in Algorithms and Architectures で発表されました。NZSTM アルゴリズムのパフォーマンスは、Sun の次期 Rock プロセッサで評価されました。[ 40 ] [ 41 ] 2009 年 9 月 11 日、The Register は、Rock プロセッサが当時 Sun の顧客やパートナーに示されていた SPARC プロセッサのロードマップから除外されたと報じました。[ 42 ] 2009年9月15日、Yossi LevとMaurice Herlihyによる論文「tm_db: トランザクションプログラム用の汎用デバッグライブラリ」が、ノースカロライナ州ローリーで開催された第18回並列アーキテクチャおよびコンパイル技術に関する国際会議(PACT)で発表された。[ 43 ] [ 44 ]
2009年10月26日、Dave Dice、Yossi Lev、Mark Moir、Dan Nussbaumは、以前に発表された論文「商用ハードウェアのトランザクションメモリ実装に関する初期経験」を拡張し、第14回プログラミング言語およびオペレーティングシステムのアーキテクチャサポートに関する国際会議(ASPLOS '09)で発表した。[ 45 ]
2010年1月27日、OracleはSunの買収を完了したと発表した。2010年4月5日、Dave Dice、Yossi Lev、Virendra Marathe、Mark Moir、Marek Olszewski、Dan Nussbaumは、第22回ACM並列アルゴリズムおよびアーキテクチャシンポジウム(SPAA 2010)で発表する論文「ハードウェアトランザクショナルメモリを活用した並行アルゴリズムの簡素化」を公開した。[ 46 ] [ 47 ]
2010年4月5日、デイブ・ダイスとニール・シャビットは、SPAA 2010で発表される論文「TLRW: 読み書きロックの復活」を公開した。[ 46 ] [ 48 ] 2010年5月12日、ロイター通信は、オラクルがサンを買収した際にオラクルのCEOラリー・エリソンがRockプロジェクトを中止したと報じ、エリソンの言葉を引用して、「このプロセッサには2つの驚くべき長所があった。それは、信じられないほど遅く、膨大な量のエネルギーを消費することだった。非常に高温になるため、プロセッサを冷却するために約12インチの冷却ファンを上に設置する必要があった。このプロジェクトを続けるのは狂気の沙汰だった」と伝えた。[ 49 ]
{{cite web}}: CS1 maint: deprecated archival service (link)