Dalam jaringan kami berbagi File (Disk Driver) atau Database. Tetapi bagaimana kita bisa berbagi CPU atau RAM melalui jaringan.
networking
cpu
MJH
sumber
sumber
Jawaban:
Untuk melakukan ini, program yang mengakses sumber daya CPU / RAM harus dirancang khusus untuk mengakses sumber daya tersebut. Suatu sistem yang diatur dengan cara ini disebut cluster, dan cara khas sumber daya dibagikan adalah dengan protokol yang disebut MPI (message passing interface). Ini adalah unduhan gratis dan menggunakannya dengan Linux dapat menghasilkan cluster yang kuat (bahkan mungkin komputer super) dengan biaya minimal, tetapi sekali lagi itu tidak berguna kecuali Anda memiliki program yang dirancang khusus untuk memanfaatkan MPI. Ada beberapa tutorial kluster yang baik di luar sana, jika Anda masih tertarik Anda harus memeriksanya.
Edit:
Saya akan merekomendasikan tutorial di sini jika Anda ingin mengatur sebuah cluster. Saya membuat cluster dengan mengikuti tutorial ini sekitar setahun yang lalu dan itu bekerja dengan cukup baik. Tutorialnya agak lama, jadi beberapa file mungkin tidak persis seperti yang dikatakan dalam tutorial tersebut (kadang-kadang file berpindah-pindah di distro Linux yang berbeda / lebih baru) tetapi jika Anda yang paling tidak terbiasa dengan Linux itu seharusnya tidak menjadi masalah. Tutorial menggunakan versi MPI yang lebih lama, tetapi saya menggunakan versi terbaru dan tidak memiliki masalah yang tidak mudah diselesaikan. Bergantung pada apa yang Anda lakukan mungkin sebenarnya ada program di luar sana yang dapat memanfaatkan MPI. Saya tahu ada beberapa program encoding video dan angka-angka yang memanfaatkan MPI yang dapat diunduh dari sumber universal.
sumber
Anda dapat berbagi RAM menggunakan disk RAM, tetapi itu terlihat seperti berbagi disk normal, kecuali bahwa ini ada dalam RAM komputer lain. Tidak ada cara langsung untuk satu komputer untuk menggunakan RAM komputer lain seolah-olah itu adalah RAM sendiri, tetapi ada beberapa cara untuk menggunakan RAM komputer lain. Lebih lanjut tentang itu di paragraf berikutnya.
Sedangkan untuk berbagi CPU, itu mungkin tetapi tidak ada standar tunggal untuk itu. Anda tidak bisa hanya membagikannya dan membiarkan komputer lain mengambil sumber daya yang diperlukan. Sebaliknya, Anda harus memiliki aplikasi yang dirancang khusus yang dapat bekerja pada beberapa komputer sekaligus. Ini sering disebut komputasi terdistribusi dan digunakan oleh beberapa proyek penelitian seperti SETI @ Home, Einstein @ Home, Climateprediction.net dan banyak lainnya.
Pada dasarnya program bekerja sedemikian rupa sehingga ada satu server pusat yang mendistribusikan pekerjaan yang perlu dilakukan. Komputer di jaringan mengunduh unit kerja dari komputer pusat dan memprosesnya. Setelah itu komputer pusat menerima hasil dari klien dan menggabungkannya menjadi satu hasil yang kohesif. Dengan cara ini komputer "berbagi" sumber daya CPU dan RAM melalui jaringan. Kelemahan dari ini adalah bahwa program perlu dibuat sedemikian rupa untuk bekerja melalui jaringan dan sekarang komputasi terdistribusi tidak cukup populer di antara kegunaan umum untuk komputer sehingga hanya sejumlah kecil program khusus yang mendukungnya. Di sisi lain, ini biasanya digunakan untuk tujuan ilmiah karena lebih murah untuk mendapatkan sejumlah besar komputer pribadi atau playstation 3 daripada untuk mendapatkan akses ke komputer mainframe.
sumber
Anda telah jatuh ke dalam Masalah XY , Anda seharusnya tidak bertanya "bagaimana saya bisa berbagi komputer cpu dan ram accros" tetapi "bagaimana saya bisa menggunakan beberapa komputer untuk membuat renders saya dalam menggunakan ZZZZZ lebih cepat?"
Ini sangat tergantung pada perangkat lunak apa yang Anda gunakan, dan apa yang Anda render (apakah Anda transcoding video, atau Anda rendering model / video 3D?).
Untuk mengambil beberapa contoh, perangkat lunak 3D Blender gratis mendukung rendering terdistribusi di mana Anda dapat memiliki banyak komputer yang bekerja bersama untuk menghasilkan satu output. Jika Anda melakukan rendering video, beberapa googling cepat menemukan proyek open source MediaEncodingCluster yang memungkinkan Anda untuk merender file video dan audio menggunakan banyak komputer.
sumber
Satu-satunya sistem operasi yang saya tahu yang memungkinkan untuk berbagi CPU / RAM adalah plan9. Di sana Anda dapat mengekspor / memasang hampir semua hal. Ini tidak berarti pertunjukan itu bagus, tentu saja.
sumber
Ini akan menjadi fitur yang bagus untuk berbagi cpu / ram untuk tugas melalui jaringan. Saat ini kami masih terikat sedikit gagasan lama untuk menjaga program di dalam kotak di mana hal-hal terjadi, tetapi kami dapat mengizinkan beberapa CPU pada mesin yang sama untuk mengakses sniplet kode yang sama. Kami memiliki satu metode (setidaknya) yang melakukan sesuatu seperti ini. java di halaman web berfungsi dengan menggunakan server dan klien, tetapi masih terkunci di cara server-klien untuk melakukan sesuatu (di mana server menyimpan sebagian besar data). Apa yang kita butuhkan untuk dapat menetapkan tugas ke mesin dengan cara yang sama seperti yang kita lakukan ketika kita memiliki beberapa CPU (kecuali mesin yang melakukan pekerjaan perlu memiliki program snip dan data snip ditugaskan. Ini memang menempatkan beban yang lebih berat pada jaringan meskipun jika tugas-tugas itu sendiri tidak bersifat sederhana dan dapat menghasilkan kemacetan baru terbentuk. Saya suka ide di mana itu
sumber