Berbagi sumber daya perangkat keras melalui jaringan: khususnya RAM


8

Saya punya dua sistem. Satu adalah laptop dan memiliki 2 GB RAM sementara yang lain adalah desktop yang memiliki 8 GB RAM. Apakah mungkin membagi sumber daya ini sehingga kedua sistem memiliki RAM 10 GB?

Perangkat lunak yang ingin saya jalankan di kedua sistem adalah Android Studio ... yang saat ini tidak ditangani dengan baik oleh laptop.

Informasi tambahan: Kedua sistem menjalankan Windows 8 dan memiliki prosesor Intel Core i3 .

terima kasih ppl, tetapi saya punya pertanyaan lain .. bagaimana kalau berbagi melalui kabel ethernet ?? seperti melalui switch atau v-lan, therby tidak menggunakan internet sama sekali dan tetapi mendapatkan tingkat transfer keturunan ???


2
Tidak, ram tidak dapat dipindahtangankan.
Ctrl-alt-dlt

15
Tentu Anda bisa melakukannya. Tetapi RAM yang dibagikan hanya akan secepat kecepatan jaringan Anda. Dengan kata lain, ini mungkin (well, secara teoritis tetap), tetapi tidak praktis.
Ajedi32

4
Tidak masuk akal untuk meminta Anda beralih sistem operasi, tetapi tahu bahwa Linux memiliki kompresi memori virtual yang berarti bahwa Anda dapat menggunakan lebih banyak RAM daripada yang Anda miliki secara fisik dengan mengompres segmen tertentu dengan LZO.
Naftuli Kay

5
Jika Anda menggunakan Linux, Anda dapat memasang sesuatu menggunakan ramdisk, perangkat blok jaringan, dan swapfile. Saya tidak percaya Windows memiliki kemampuan semacam ini.
Tandai

4
Anda mengajukan pertanyaan yang salah. Pertanyaan yang harus Anda tanyakan adalah, bagaimana Anda memanfaatkan mesin yang lebih kuat untuk melakukan build? Dan satu jawaban yang mungkin adalah plugin Gradle SSH .
Michael Hampton

Jawaban:


21

Hanya beberapa program yang memungkinkan untuk membagi proses melalui jaringan (beberapa program rendering 3D, berbagi RAM secara efektif) (Lihat jawaban dari Julian Knight)

Masalah dengan internet akan terlalu lambat (Lihat jawaban Spiff)

Saya pikir RAM desktop Anda tidak akan kompatibel dengan perangkat keras, jadi hanya menempatkan strip RAM ke laptop Anda tidak akan berfungsi.

Apa yang dapat Anda lakukan:

Instal klien desktop jarak jauh di laptop Anda dan sambungkan ke desktop Anda. Dengan cara ini Anda bisa "bekerja di desktop" melalui terowongan.

Jadi program berat (android studio) akan berjalan di desktop Anda! Dan laptop hanya akan terganggu oleh klien desktop jarak jauh.

Ini, secara efektif menggunakan perangkat keras PC dan karenanya akan bekerja lebih baik (jika laptop dan klien desktop jarak jauh Anda cukup dan cukup mudah untuk digunakan.

Saya ingin menambahkan bahwa ini tidak "berbagi" RAM, tetapi hanya menggunakan RAM komputer, yang cukup.


1
Saya pikir ada beberapa program yang memungkinkan Anda untuk menyeret jendela dari satu sistem operasi ke sistem operasi lain, tetapi saya tidak yakin namanya, apakah pemrosesan masih dilakukan secara lokal atau apa pun.
Ismael Miguel

1
Paralel, tapi itu virtualisasi.
Arthur Kay

1
@Alvin Aplikasi desktop jarak jauh tidak akan melalui Internet kecuali Anda secara khusus mengatur jaringan Anda untuk itu. Jika Anda terhubung ke desktop menggunakan IP di jaringan, koneksi hanya akan ada di jaringan Anda.
Logarr

9

Mungkin tidak, karena akan sangat lambat dibandingkan dengan melakukan paging memori virtual ke drive lokal. SATA-3 adalah 6 gigabit per detik, dan saya memiliki 4TB 7200 RPM SATA-3 HDD yang berumur dua tahun dengan laju baca / tulis 157 MebiByte / detik (~ 1,3 gigabit / detik) yang berkelanjutan. Kecepatan transfer berkelanjutan melalui gigabit Ethernet paling banyak sekitar 0,942 gigabit / detik.


4
Perhatikan bahwa untuk beberapa beban kerja, latensi akses acak lebih penting daripada bandwidth (dan saya menduga angka bandwidth disk Anda adalah untuk akses besar, bukan potongan 4KiB acak). Bahkan dengan overhead jaringan, mentransfer 4KiB langsung dari satu sistem ke sistem lain mungkin akan lebih cepat daripada akses disk rata-rata (dengan mencari, menyelesaikan, dan penundaan rotasi). Sebelum SSD menjadi populer, ada penelitian tentang penggunaan RAM sistem lain untuk ruang swap. Jawaban FuaZe tentang memindahkan pekerjaan ke sistem yang lebih besar tampaknya lebih praktis.
Paul A. Clayton

3
Benar, tetapi drive Anda memiliki JAUH, JAUH kecepatan akses acak yang lebih rendah daripada gigabit ethernet. Untuk itu Anda perlu kondisi solid.
Arthur Kay

@Spiff terima kasih ppl, tapi saya punya pertanyaan lain .. bagaimana kalau berbagi melalui kabel ethernet ?? seperti melalui switch atau v-lan, therby tidak menggunakan internet sama sekali dan tetapi mendapatkan tingkat transfer keturunan ???
Alvin

@ArthurKay: Atau drive 30Krpm kelas profesional yang digunakan dalam cluster virtualisasi load-balancing.
user2284570

@Alvin Itulah jawaban yang dibicarakan. "... kecepatan transfer melalui gigabit Ethernet ..."
BenjiWiebe

1

Tidak, ini tidak mungkin.

Satu-satunya pengecualian adalah di mana Anda menggunakan alat yang mampu membagi pemrosesan di beberapa mesin seperti rendering grafik 3d. Namun, ini sebenarnya bukan yang Anda tanyakan.


Apakah kamu tahu inferno ? Karena ia menggunakan x86, akses DMA jaringan dapat sangat membantu.
user2284570

OP menentukan Windows 8 sehingga tidak membantunya. Aku takut.
Julian Knight

Ini hanya untuk mengatakan yang bertentangan dengan apa yang Anda katakan, itu mungkin. Untuk OS, sistem muncul sebagai sistem SMP memori yang tidak digunakan bersama.
user2284570

1

Sekitar tujuh tahun yang lalu pengontrol memori dipindahkan dari chip yang terpisah ( northbridge atau hub pengontrol memori) ke CPU. Apa kamu tahu kenapa? Untuk mengurangi latensi, karena CPU membutuhkan akses kecepatan sangat, sangat tinggi ke RAM. CPU saat ini mengakses RAM dengan 68 GB / s : http://ark.intel.com/products/82930/Intel-Core-i7-5960X-Processor-Extreme-Edition-20M-Cache-up-to-3_50-GHz . Modern 1 Gbit / s Ethernet memberi Anda sekitar 120 MB per detik, karenanya 560 kali lebih lambat. Jadi, ini bukan sesuatu yang dapat Anda lakukan pada PC biasa.

Ada solusi berbasis komputasi cluster dengan banyak komputer yang terhubung ke jaringan dan masing-masing menyimpan beberapa bagian data dalam RAM-nya. Ini jauh lebih lambat daripada RAM biasa, tetapi Anda tidak punya pilihan jika Anda membutuhkan data 10 TB. Tetapi solusi seperti itu harus didukung oleh perangkat lunak. Dan Android Studio tidak mendukungnya.

Jadi, jawabannya tidak, sayangnya.


1
Untuk menggunakan cluster tangguh kesalahan virtualisasi, saya dapat mengatakan berbagi RAM melalui cat5E Ethernet untuk drive yang lebih lambat berfungsi dengan baik dengan OS dan program modern.
user2284570

1

Saat ini tidak memungkinkan, tetapi ini sebenarnya tercantum pada kartu dalam beberapa bentuk dan ditulis dalam " After Vista " sebagai bagian dari sistem 'ReadyBoost' yang memungkinkan Anda menggunakan stik USB sebagai media untuk membaca file halaman (dan file lain) lebih cepat daripada menggunakan disk. Ini bukan RAM tambahan seperti itu, tetapi jika Anda menggunakan banyak RAM, ini dapat mengurangi jumlah waktu yang dihabiskan komputer Anda untuk melakukan paging ke dan dari disk.

Sepertinya dalam skenario Anda, Anda akan mendapat manfaat dari stik USB 32 GB yang didedikasikan untuk ReadyBoost .


Tampaknya ini tidak menjawab pertanyaan OP. Meskipun ini mungkin merupakan rencana yang semula untuk ReadyBoost untuk memungkinkan berbagi RAM di seluruh jaringan, itu bukan bagaimana itu saat ini diterapkan.
ChrisInEdmonton

@ ChrisInEdmonton OK, saya sudah mengedit jawaban saya untuk secara khusus menyatakan bahwa itu tidak mungkin tetapi direncanakan pada satu titik daripada hanya menyatakan itu sudah direncanakan.
Matthew Steeples

2
Dan ReadyBoost terlalu lambat untuk berguna. Komputer sebenarnya melambat saat menggunakan ReadyBOOST. Tidak banyak dorongan sama sekali.
Tonny

1
@Tonny Pikirkan itu salah satu skenario "jarak tempuh Anda mungkin berbeda". Saya pribadi menemukan bahwa komputer itu mempercepat komputer yang lebih lambat, dan membuat sedikit perbedaan dengan komputer cepat. Tidak pernah mengalaminya memperlambat komputer. Jelas tidak ada pengganti untuk satu ton RAM dan disk SSD, tetapi jika Anda tidak bisa / tidak akan pergi untuk itu dan memiliki bus USB kosong akan membantu
Matthew Steeples

0

Ini tidak mungkin, setidaknya bukan tanpa upaya besar dari pihak Google.

Pada dasarnya, Android Studio harus mendukung pemrosesan multi-node terdistribusi seperti BitCoin mining dan Folding @ Home.

Setelah menekan kompilasi pada laptop Anda, itu akan mengirim sepotong kode ke desktop Anda untuk diproses. Setelah desktop selesai diproses maka itu akan mengirimkannya kembali ke laptop Anda sehingga dapat menambal hal-hal bersama.


Saya ragu kompilasi adalah apa yang membakar memori di Android Studio.
Atsby

-1

Saya punya kantor; kamar dengan asisten pribadi dan lemari yang menyimpan 5000 buku dan meja kerja dengan ruang untuk 20 buku. Bayangkan konfigurasi ini sebagai

  • Office = komputer
  • Me = prosesor (CPU)
  • Asisten = sistem operasi (OS)
  • Desk = RAM
  • Kabinet = Hard disk

Pada suatu saat 20 buku, paling banyak, dapat dikeluarkan dari kabinet oleh asisten saya dan ditempatkan di meja saya untuk bekerja. Karena pekerjaan sekretaris saya sendiri, ia dapat menempatkan satu atau dua buku sendiri di meja saya (misalkan kita miskin dan tidak mampu membeli meja lain).

Jika saya ingin mengerjakan buku-buku lain, tidak ada ruang lagi, dan asisten saya harus menentukan buku mana di meja yang paling tidak saya gunakan saat ini, dan akan memasukkan buku itu kembali ke kabinet untuk memberi jalan bagi buku-buku lain yang saya inginkan. Asisten harus berjalan mondar-mandir di meja dan kabinet setiap kali saya ingin mengerjakan buku yang tidak dalam jangkauan saya.

Untuk sistem dengan RAM yang tidak mencukupi, itulah yang dilakukan OS untuk proses yang tampaknya tidak terlalu aktif - ambil konten memorinya dan tuliskan ke disk di penyimpanan memori virtual, membebaskan RAM untuk proses lain yang membutuhkannya. Sama seperti ada jarak antara meja dan kabinet, ada "jarak" antara prosesor, RAM, dan disk. Disk ini sangat jauh, dan lambat, sama seperti yang Anda alami dengan laptop Anda.

Di kantor berikutnya, kolega saya memiliki meja yang cukup luas untuk 80 buku. Bukankah lebih baik jika dia bisa "berbagi" beberapa mejanya untuk menyimpan buku-buku saya? Sehingga saya bisa memiliki 100 buku?

Yah, pertama-tama, para asisten di setiap kantor mau tidak mau harus menempatkan beberapa buku mereka sendiri sehingga mereka dapat melakukan pekerjaan mereka sendiri (tidak bisa dinegosiasikan). Semua OS dalam suatu sistem perlu menggunakan beberapa RAM untuk melakukan pekerjaan mereka jika tidak Anda tidak akan memiliki OS untuk memulai. Jadi saya tidak benar-benar mendapatkan alokasi 20 buku penuh, atau kolega saya dengan alokasi 80 buku penuh. Dan kolega saya memiliki pekerjaan sendiri untuk dilakukan yang semakin menghabiskan ruang yang tersedia.

Selain itu, para asisten tidak dilatih untuk memindahkan buku antar kantor (menganggap bahwa tingkat kompetensi mereka memiliki batas). Arsitektur Windows yang ada tidak memiliki ketentuan untuk langsung menggunakan RAM dari komputer lain yang jauh.

Sekarang, bayangkan jika asisten memang dilatih untuk memindahkan buku antar kantor dengan benar dan mengingat dengan jelas kepemilikan buku, berjalan di antara kantor kemungkinan besar akan menjadi prosedur yang lebih lambat karena berjalan keluar dari satu kantor ke kantor lainnya adalah jarak yang lebih jauh. Tidak hanya itu, ketika asisten mengambil buku-buku dari kantor lain, dia masih harus membersihkan ruang di meja Anda sendiri, dengan menyeret buku yang tidak diinginkan kembali ke kabinet. Kenapa membuatnya begitu banyak berjalan?

Keluar dari satu komputer untuk menyimpan / mengambil barang-barang di komputer lain melalui jaringan, setidaknya untuk kasus penggunaan Anda, tidak dapat dicapai karena aplikasi maupun OS tidak tahu bagaimana mencapainya. Dan itu juga tidak akan sangat efisien.

Jika Anda ingin terus bekerja dengan laptop, pasang lebih banyak RAM (meja lebih besar), atau pasang disk solid-state (kabinet dengan fitur organisasi yang membuat mencari buku lebih cepat).

Perhatikan bahwa dalam beberapa konfigurasi sebenarnya bisa lebih cepat untuk menyimpan dan mengambil data dari komputer jarak jauh - ada teknologi perangkat lunak pengelompokan yang melakukan hal itu - kemudian untuk mengakses disk pemintalan lambat, tetapi itu masih belum sesuai dengan skenario Anda.

Pertimbangkan skala waktu akses data antara sumber daya perangkat keras .


7
Saya pikir Anda menafsirkan pertanyaan itu terlalu harfiah. Jelas, tidak mungkin komputer memiliki masing-masing 10GB tetapi pada prinsipnya memungkinkan komputer untuk berbagi 10GB sehingga, misalnya, mereka dapat menggunakan masing-masing 5GB alih-alih laptop dibatasi hingga 2GB. Performa akan mengerikan tetapi pada prinsipnya mungkin.
David Richerby

@ DavidRicherby - Pertanyaan harus dibaca secara harfiah. Kata-kata tertulis adalah hal yang luar biasa, satu-satunya artinya adalah apa yang Anda katakan. Jadi penulis benar-benar bertanya apakah mereka dapat menggabungkan dua memori sistem komputer independen untuk meningkatkan kinerja yang tentu saja tidak mungkin.
Ramhound

6
@Ramhound Sepertinya Anda salah mengerti jawaban ini. Jawaban ini mengatakan bahwa tidak mungkin untuk menggabungkan sistem 2GB dan sistem 8GB untuk mendapatkan dua sistem masing - masing dengan 10GB (karena itu akan menjadi total 20GB, yang tidak ada). Ditafsirkan secara harfiah, itulah pertanyaan yang diajukan. Anda sedang berbicara tentang menggabungkan 2GB + 8GB untuk mendapatkan dua sistem berbagi 10GB, yang merupakan pertanyaan yang ingin ditanyakan. Jadi, Anda lebih baik menembak diri sendiri dengan klaim bahwa pertanyaan harus dibaca secara harfiah: pertanyaan literalnya tidak masuk akal; pertanyaan yang dimaksud setidaknya masuk akal.
David Richerby

@ DavidRicherby - Jika Anda berkata begitu. Saya menemukan jawabannya bermanfaat. Karena sudah ditunjukkan dengan benar Anda tidak dapat menggabungkan memori sistem dari dua sistem komputer independen sama seperti Anda tidak dapat menggabungkan dua tangki bensin dari dua mobil yang terpisah dan independen. Tentu saja, saya tidak yakin dia datang dengan 220, itu memang tidak masuk akal.
Ramhound

Pertanyaan dan jawaban ini adalah contoh sempurna dari GIGO :)
Ratna
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.