Kumokonekta ka sa VPN, binubuksan ang notebook at inaasahan na ang mabigat na cell ay tatakbo sa server. Sa praktika, mga packet lang ang dinadala ng tunnel. Hindi ito nag-i-install ng evaluator, hindi nagbibigay ng lisensya at hindi pumipili kung aling makina ang magpapatupad ng code. Tatlong magkakaibang bagay ang mga ito, at ang workflow na may malayuang kernel ay nangangailangan ng tatlo bago maging mapagkakatiwalaan ang unang kalkulasyon.

Ang mito: ang VPN connection ang setup

Nagbibigay ang VPN ng network path sa pagitan ng laptop at server. Kapaki-pakinabang ito at madalas kailangan, dahil kailangang maabot ng launch channel at kernel connection ang malayuang host. Hindi nito sinasabi kung may Wolfram kernel sa host na iyon, kung pinapayagan ng lisensya ang pangalawang sabay na proseso, o kung naka-configure ang front end para gamitin ito.

Ang pinamamahalaang laptop ay maaaring may front end lamang, at ang karapatan ay nakatali sa server. Nangyayari rin ang kabaligtaran: ang desktop license sa laptop ay hindi nagbibigay ng karapatan sa kernel sa pinagsasaluhang infrastructure. Wala sa dalawang kaso ang naaayos sa pamamagitan ng muling pagkonekta ng tunnel.

Subukan ang palagay nang maaga. Suriin ang $MachineName sa bagong notebook at ihambing ang sagot sa host na inaasahan mo. Kung ibinabalik nito ang pangalan ng laptop, tumakbo ang cell nang lokal, gaano man kalusog ang tingnan ng VPN.

Paghiwalayin ang front end sa evaluator

Ang front end ay ang window: nag-e-edit ito ng mga cell, nagpapakita ng output at nagse-save ng notebook file. Ang kernel ay ang prosesong nagsusuri ng mga expression at nag-iingat ng mga definition sa memory. Ang pagsasara ng front end ay hindi naglilipat ng kernel, at ang pagse-save ng notebook ay hindi nagse-save ng estado ng kernel.

Kapag nakakonekta ang malayuang kernel, ang lokasyon ng notebook file at ang working directory ng kernel ay dalawang magkaibang bagay. Ang Directory[] ay nag-uulat ng directory ng evaluator, at iyon ang path na mahalaga para sa Import, Export at mga relatibong pangalan ng file. Ang dataset na katabi ng notebook sa laptop ay hindi nakikita ng kernel na tumatakbo sa ibang makina.

Magpasya kung paano makakarating ang data sa server bago mo isulat ang analysis: isang pinagsasaluhang naka-mount na lokasyon, isang aprubadong hakbang ng paglilipat, o isang database na direktang maabot ng server. Ang pagpipiliang ito ay nakakaapekto sa reproducibility, dahil ang notebook na umaasa sa path ng laptop ay mabibigo sa susunod na patakbuhin ito ng ibang tao.

Ilunsad ang kernel sa aprubadong channel

Ang gabay sa malalayuang kernel ng Wolfram ay naglalarawan ng pagdaragdag ng kernel entry, pagpili ng malayuang makina at paglunsad sa pamamagitan ng SSH. Ang path ng executable at mga argumento sa halimbawa ay kabilang sa workflow ng produktong iyon; iakma ang mga ito sa host at bersyon na tinukoy ng administrator sa halip na i-paste nang walang pagbabago.

Bahagi ng setup ang pagkakakilanlan ng host. I-verify ang SSH host key sa pamamagitan ng proseso ng organisasyon, gamitin ang inisyung paraan ng authentication at ilayo ang mga private key at password sa mga notebook file na ibinabahagi o kinokommit sa repository. Ang notebook na may launch command at password ay pagtagas ng credentials, hindi kaginhawahan.

Huwag buksan ang WSTP listener sa internet bilang shortcut. Ang sinusuportahang pattern ay ang paglunsad ng SSH, na nag-iingat ng kernel channel sa loob ng authenticated na koneksyon. Kung inaprubahan ng network team ang ibang transport, gamitin iyon, ngunit ituring ang nakalantad na evaluator port bilang pagbabago sa disenyo, hindi bilang hakbang sa pag-troubleshoot.

Suriin muna ang karapatan, data at laki ng output

Kumpirmahin sa may-ari ng lisensya na maaaring magpatakbo ang server ng kernel para sa user na ito at pinapayagan ang sabay na session. Madalas na hiwalay na lisensyado ang malayuang computing mula sa desktop front end, at ang nabigong paglunsad dahil sa karapatan ay mukhang nabigong SSH command hanggang may makabasa ng mensahe ng server.

Pagkatapos, tantiyahin ang laki ng resulta. Ang kernel na nagbabalik ng expression na ilang gigabyte ay ipinapadala ito sa launch channel at kernel channel patungo sa front end, na maaaring magpahinto o magpaubos ng memory ng laptop. Panatilihin ang mabigat na aggregation sa server at magbalik ng mga buod, o isulat ang malalaking resulta sa path sa server at sadyang ilipat ang mga ito.

Itala ang path ng executable, mga argumento ng paglunsad at working directory sa mga tala ng setup ng notebook. Pagkatapos ay muling gagawin ng susunod na user ang kaayusang ito sa halip na muling tuklasin kung alin sa limang posibleng path ang ginagamit ng server.

Diagnosisin ang mga yugto nang sunud-sunod

Limang yugto ang dapat magtagumpay, at bawat isa ay may natatanging test. Magsimula sa laptop at huminto sa unang pagkabigo sa halip na baguhin ang maraming setting nang sabay:

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

Ang nabigong TCP check ay tumutukoy sa routing, DNS o sa mga pinapayagang destinasyon ng VPN. Ang matagumpay na TCP check na may nabigong SSH login ay tumutukoy sa authentication o patakaran sa host key. Ang login na gumagana ngunit walang mahanap na executable ay tumutukoy sa pag-install ng kernel o sa path na ibinigay sa front end. Ang kernel na nagsisimula ngunit hindi kailanman kumokonekta ay tumutukoy sa mga argumento ng paglunsad o sa lokal na firewall.

Ingatan ang unang makabuluhang error at ipadala ang mga yugto sa panig ng server sa administrator na may-ari ng makinang iyon. Ang paulit-ulit na paggawa muli ng kernel entry ay nagtatago kung aling yugto ang tunay na nabigo, at itinatapon nito ang ebidensyang kailangan ng administrator.

Sa huli, gusto mo ng window na nakikilala mo, evaluator na maitatawag mo at napagkasunduang ruta para sa code at mga file. Ang VPN ay isang bahagi ng rutang iyon, at kapag mas maaga itong naipapakita ng workflow, mas kaunting oras ang napupunta sa muling pagkonekta ng tunnel na hindi naman kailanman naging problema.

Kaugnay na mga artikulo