Anda menghubungkan VPN, membuka notebook, dan berharap sel berat berjalan di server. Kenyataannya, terowongan hanya membawa paket. Ia tidak memasang evaluator, tidak memberikan lisensi, dan tidak memilih mesin mana yang mengeksekusi kode. Itu tiga hal terpisah, dan alur kerja kernel jarak jauh memerlukan ketiganya sebelum perhitungan pertama dapat dipercaya.

Mitos: koneksi VPN adalah penyiapannya

VPN menyediakan jalur jaringan antara laptop dan server. Itu berguna dan sering diperlukan, karena kanal peluncuran dan koneksi kernel harus mencapai host jarak jauh. Itu tidak mengatakan apa pun tentang ada tidaknya kernel Wolfram di host tersebut, apakah lisensi mengizinkan proses kedua yang bersamaan, atau apakah antarmuka depan dikonfigurasi untuk memakainya.

Laptop yang dikelola mungkin hanya membawa antarmuka depan, dengan hak yang terikat pada server. Kebalikannya juga terjadi: lisensi desktop di laptop tidak mengizinkan kernel di infrastruktur bersama. Tidak ada kasus yang diperbaiki dengan menghubungkan ulang terowongan.

Uji asumsi itu sejak awal. Evaluasi $MachineName di notebook baru dan bandingkan jawabannya dengan host yang Anda harapkan. Jika ia mengembalikan nama laptop, sel itu berjalan secara lokal, seberapa sehat pun VPN terlihat.

Pisahkan antarmuka depan dari evaluator

Antarmuka depan adalah jendela: ia menyunting sel, menampilkan keluaran, dan menyimpan berkas notebook. Kernel adalah proses yang mengevaluasi ekspresi dan menyimpan definisi di memori. Menutup antarmuka depan tidak memindahkan kernel, dan menyimpan notebook tidak menyimpan status kernel.

Setelah kernel jarak jauh terpasang, lokasi berkas notebook dan direktori kerja kernel adalah dua hal berbeda. Directory[] melaporkan direktori evaluator, dan itulah jalur yang penting untuk Import, Export, dan nama berkas relatif. Kumpulan data di samping notebook pada laptop tidak terlihat oleh kernel yang berjalan di mesin lain.

Putuskan bagaimana data mencapai server sebelum Anda menulis analisis: lokasi terpasang bersama, langkah transfer yang disetujui, atau basis data yang dapat dijangkau server secara langsung. Pilihan itu memengaruhi reproduksibilitas, karena notebook yang bergantung pada jalur laptop akan gagal saat orang lain menjalankannya lain kali.

Luncurkan kernel melalui kanal yang disetujui

Panduan kernel jarak jauh Wolfram menjelaskan penambahan entri kernel, pemilihan mesin jarak jauh, dan peluncuran melalui SSH. Jalur executable dan argumen dalam contoh termasuk dalam alur kerja produk itu; sesuaikan dengan host dan versi yang disebutkan administrator alih-alih menempelkannya tanpa perubahan.

Identitas host adalah bagian dari penyiapan. Verifikasi kunci host SSH melalui proses organisasi, gunakan metode autentikasi yang diterbitkan, dan jauhkan kunci privat serta kata sandi dari berkas notebook yang dibagikan atau di-commit ke repositori. Notebook yang berisi perintah peluncuran dengan kata sandi adalah kebocoran kredensial, bukan kenyamanan.

Jangan membuka pendengar WSTP ke internet sebagai jalan pintas. Pola yang didukung adalah peluncuran SSH, yang menjaga kanal kernel di dalam koneksi terautentikasi. Jika tim jaringan menyetujui transport lain, gunakan itu, tetapi perlakukan port evaluator yang terbuka sebagai perubahan desain, bukan langkah pemecahan masalah.

Periksa hak, data, dan ukuran keluaran lebih dahulu

Konfirmasikan dengan pemilik lisensi bahwa server boleh menjalankan kernel untuk pengguna ini dan bahwa sesi bersamaan diizinkan. Komputasi jarak jauh sering dilisensikan terpisah dari antarmuka depan desktop, dan peluncuran gagal karena hak terlihat seperti perintah SSH yang gagal sampai seseorang membaca pesan server.

Lalu perkirakan ukuran hasil. Kernel yang mengembalikan ekspresi berukuran beberapa gigabita mengirimkannya melalui kanal peluncuran dan kanal kernel ke antarmuka depan, yang dapat menghentikan atau menghabiskan memori laptop. Pertahankan agregasi berat di server dan kembalikan ringkasan, atau tulis hasil besar ke jalur di server dan transferlah dengan sengaja.

Catat jalur executable, argumen peluncuran, dan direktori kerja di catatan penyiapan notebook. Pengguna berikutnya kemudian mereproduksi susunan itu alih-alih menemukan kembali jalur mana dari lima kemungkinan yang dipakai server.

Diagnosis tahapannya secara berurutan

Lima tahap harus berhasil, dan masing-masing punya uji tersendiri. Mulailah dari laptop dan berhenti pada kegagalan pertama alih-alih mengubah beberapa pengaturan sekaligus:

nc -vz research.example.edu 22
ssh -v [email protected] 'hostname; command -v wolframscript'
ssh [email protected] 'wolframscript -code "$MachineName"'

Pemeriksaan TCP yang gagal menunjuk ke perutean, DNS, atau tujuan yang diizinkan VPN. Pemeriksaan TCP yang berhasil dengan login SSH yang gagal menunjuk ke autentikasi atau kebijakan kunci host. Login yang berfungsi tetapi tidak menemukan executable menunjuk ke pemasangan kernel atau jalur yang diberikan ke antarmuka depan. Kernel yang mulai tetapi tidak pernah terhubung menunjuk ke argumen peluncuran atau firewall lokal.

Simpan kesalahan bermakna pertama dan kirim tahap sisi server kepada administrator yang memiliki mesin itu. Membuat ulang entri kernel berulang kali menyembunyikan tahap mana yang sebenarnya gagal, dan itu membuang bukti yang dibutuhkan administrator.

Pada akhirnya Anda menginginkan jendela yang Anda kenali, evaluator yang dapat Anda sebutkan, dan rute yang disepakati untuk kode dan berkas. VPN adalah satu komponen dari jalur itu, dan semakin cepat alur kerja mencerminkannya, semakin sedikit waktu yang habis untuk menghubungkan ulang terowongan yang tidak pernah menjadi masalah.

Artikel terkait