web-dev-qa-db-ja.com

ネットワークを介したハードウェアリソースの共有:具体的にはRAM

2つのシステムがあります。 1つはラップトップで2 GBのRAMで、もう1つは8 GBのRAMのあるデスクトップです。これらのリソースを共有して、両方のシステムに10 GBのRAMを搭載することはできますか?

両方のシステムで実行したいソフトウェアは Android Studio ...ですが、現在のところ、ラップトップではうまく処理できません。

追加情報:どちらのシステムもWindows 8を実行しており、Intel Core i プロセッサーを搭載しています。

pplに感謝しますが、別の質問がありました。イーサネットケーブルで共有してみませんか?スイッチまたはv-lanを経由する場合のように、therbyはインターネットをまったく使用せず、下降転送速度を取得しますか?

8
Alvin

一部のプログラムのみがネットワークを介してプロセスを分割することができます(一部の3Dレンダリングプログラム、RAMを効果的に共有します)(Julian Knightの回答を参照)

インターネットの問題は遅すぎるでしょう(Spiffの回答を参照)

RAMデスクトップのRAM $ ===はハードウェア互換ではないので、RAMストリップをラップトップに挿入するだけでは機能しません。

できること:

ラップトップにリモートデスクトップクライアントをインストールし、デスクトップに接続します。このようにして、トンネルを介して「デスクトップで作業」できます。

したがって、重いプログラム(Androidスタジオ)がデスクトップで実行されます。そして、ラップトップはリモートデスクトップクライアントによってのみ悩まされるでしょう。

これは、PCハードウェアを効果的に使用するため、より適切に機能します(ラップトップとリモートデスクトップクライアントで十分に簡単に操作できる場合)。

これはRAMを「共有」するのではなく、PCのRAMを使用するだけで十分であることを追加します。

21
Paul

ローカルドライブに仮想メモリのページングを実行するのに比べるとかなり遅いため、おそらくそうではありません。 SATA-3は6ギガビット/秒で、157メガバイト/秒(約1.3ギガビット/秒)の持続的な読み取り/書き込み速度を持つ2年前の4TB 7200 RPM SATA-3 HDDを持っています。ギガビットイーサネットでの持続転送速度は、せいぜい0.942ギガビット/秒です。

9
Spiff

現在は不可能ですが、実際にはカードに何らかの形で記載されており、「 After Vista 」のように「ReadyBoost」システムの一部として鉛筆で書かれているため、USBスティックを媒体として使用できます。ディスクを使用するよりも速くページファイル(および他のファイル)を読み取るため。それは余分なRAMなどではありませんが、RAMを大量に使用している場合、コンピューターがページングするために費やす時間を減らすことができますディスク。

あなたのシナリオでは、 ReadyBoost 専用の32 GB USBスティックの恩恵を受けるようです。

1

いいえ、できません。

わずかな例外は、3Dグラフィックスレンダリングなど、複数のマシン間で処理を分割できるツールを使用している場合です。しかし、これはあなたが本当に求めていることではありません。

1
Julian Knight

約7年前、メモリコントローラーは別のチップ( northbridge またはメモリコントローラーハブ)からCPUに移動されました。なぜなのかご存知ですか? CPUがRAMへの非常に高速なアクセスを必要とするため、レイテンシを減らすため。現在のCPUアクセスRAM with68 GB/shttp://ark.intel.com/products/82930/Intel-Core-i7-5960X-Processor-Extreme-Edition-20M-Cache-up-to-3_50-GHz 。最新の1 Gbit/sイーサネットでは毎秒約120 MBなので、560倍遅いので、通常のPCでできることではありません。

多くのコンピューターがネットワークに接続されたクラスターコンピューティングベースのソリューションがあり、それぞれがデータの一部をRAMに格納します。通常のRAMよりもはるかに低速ですが、10 TBのデータを利用できるようにする必要があるかどうかを選択することはできません。ただし、このようなソリューションはソフトウェアでサポートする必要があります。また、Android Studioではサポートされていません。

ですから、残念ながら答えはノーです。

1
user996142

私にはオフィスがあります。パーソナルアシスタントと5000冊の本を保管するキャビネットのある部屋と、20冊分のスペースのあるワークデスク。この構成を次のように描きます

  • オフィス=コンピューター
  • Me =プロセッサー(CPU)
  • アシスタント=オペレーティングシステム(OS)
  • デスク= RAM
  • キャビネット=ハードディスク

一度に最大20冊の本をアシスタントがキャビネットから取り出して、机に置いて仕事をすることができます。私の秘書自身の仕事のため、彼は私の机の上に本を1冊または2冊置く場合があります(私たちが貧しく、別の机を買う余裕がないとしましょう)。

他の本で作業したい場合は、スペースがありません。アシスタントは、現在使用している可能性が最も低い現在の机の本を決定する必要があり、その本をキャビネットに戻します。私が欲しい他の本に道を譲る。アシスタントは、手が届かない場所で本を書きたいと思うたびに、机とキャビネットに行ったり来たりしなければなりません。

RAMが不足しているシステムの場合、これはOSがアクティブではないように見えるプロセスに対して行うことです-それらのメモリの内容を取り、仮想メモリストアのディスクに書き込み、解放しますRAM =それを必要とする他のプロセスの場合。デスクとキャビネットの間に距離があるように、プロセッサ、RAM、ディスクの間に「距離」があります。ラップトップで経験するのと同じように、ディスクは信じられないほど遠く、低速です。

次のオフィスの同僚は、80冊の本を収納できる十分な広さのデスクを持っています。彼が私の本を保管するために彼の机の一部を「共有」できたらいいのではないでしょうか。それで、私は事実上100冊の本を持つことができますか

まず、各オフィスのアシスタントは、必然的に自分の本をいくつか置いて、自分の仕事を実行できるようにする必要があります(交渉不可)。システム内のすべてのOSは、いくつかのRAMを使用して作業を行う必要があります。そうしないと、最初にOSがありません。したがって、20冊すべての割り当てを実際には取得していません。 80冊の本をすべて割り当てています。私の同僚には、利用可能なスペースをさらに使い果たすための独自の作業があります。

さらに、アシスタントは本をオフィス間で移動するように訓練されていません(能力レベルには制限があることに注意してください)。既存のWindowsアーキテクチャには、別のリモートコンピュータのRAMを直接使用するためのプロビジョニングがありません。

さて、アシスタントが実際にオフィス間で本を適切に移動し、本の所有権を明確に覚えるように訓練されていると想像してみてください。それだけでなく、アシスタントが他のオフィスから本を取り出すときにも、不要な本をキャビネットに戻して、自分の机のスペースを空ける必要があります。なぜ彼をそんなに散歩させるのですか?

アプリもOSもそれを実現する方法を知らないため、少なくともあなたのユースケースでは、1台のコンピューターを終了して、ネットワーク経由で別のコンピューターにコンテンツを保存/取得することはできません。そして、それもあまり効率的ではありません。

ラップトップで作業を続ける場合は、さらにRAM(大きなデスク))をインストールするか、ソリッドステートディスク(本をすばやく見つけるための整理機能を備えたキャビネット)をインストールします。

一部の構成では、リモートコンピューターからのデータの保存と取得の方が実際には高速であることに注意してください。これを行うクラスタリングソフトウェアテクノロジーがあり、低速の回転ディスクにアクセスする方が、シナリオに対応できません。

ハードウェアリソース間のデータアクセスの時間スケールを考慮してください

0
icelava

これは不可能であり、少なくともGoogleの多大な努力がなければできません。

基本的に、Android Studioは、BitCoinマイニングやFolding @ Homeのようなマルチノード分散処理をサポートする必要があります。

ラップトップでコンパイルを押すと、コードのチャンクがデスクトップに送信されて処理されます。デスクトップの処理が完了すると、ラップトップに送り返され、パッチを適用できるようになります。

0
MonkeyZeus