「時間共有および空間共有アルゴリズム」という用語に出くわしました。ウェブ上ではあまり情報を得ることができませんでした。誰かがこれらの用語、特に に光を当てることができますspace sharing
か?
2 に答える
私の理解では、タイムシェアリングとスペースシェアリングという用語は、コンピューターのリソースが計算タスク間で共有される方法を指します。たとえば、通常、複数のプロセスが順番に CPU にアクセスします。一定期間にわたって、複数のプロセスがリソースを利用していることが観察されるため、これはタイムシェアリングです。反対に、CPU のコアを個々のプロセスに割り当てると、複数のコアを見るだけで複数のプロセスが観察されるため、空間共有という用語が使用されます。[1] からの定義:
スペース共有: マシンはプロセッサのセット (クラスタ) に分割される場合があります。各クラスターは、完了まで実行できる単一のジョブ (RTC) に割り当てられます。
タイムシェアリング: 複数のジョブをクラスターに割り当てることができます。この場合、各ジョブは、他のジョブの実行を許可するために横取りされる前に、ある程度の時間実行されます。
クラウド環境のコンテキストでは、より最近ではありますが、より広範ではない用語の定義を見つけることができます [2]:
特定の CPU コアを特定の VM に割り当て (スペース共有ポリシー)、VM 間でコアの容量を動的に分配する (時分割ポリシー)
どちらの定義も、(論理タスクが完了するまでの) 排他的アクセスをスペース共有と呼び、リソースへの織り交ぜられたアクセス (論理タスク中) をタイムシェアリングと呼びます。
[1] AB ダウニー、「空間共有並列コンピューターでのキュー時間の予測」、IPPS、pp. 209–218、1997。
[2] RN Calheiros、R. Ranjan、A. Beloglazov、CAF De Rose、および R. Buyya、「CloudSim: クラウド コンピューティング環境のモデリングとシミュレーション、およびリソース プロビジョニング アルゴリズムの評価のためのツールキット」、SPE、vol. 41、いいえ。1、23 ~ 50 ページ、2010 年 8 月。
タイムシェアリングとは、おそらく、多くのユーザー (OS プロセス、スレッド、ネットワーク要求など) が実行能力 (CPU、論理プロセッサ、GPU など) を共有するという概念を指しています。
スペース共有とは、多くの異なるユーザー (インプレース アルゴリズム、スレッドの実行など) がメモリ スペース (ハードディスク、RAM、データベース) を共有することを意味する可能性があります。
スペース共有アルゴリズムは、入力データ構造に割り当てられたスペース (ストレージ) を再利用することで目的を達成します。つまり、実行中に追加のスペースを割り当てない場合があります。