Valutazione attuale: 5 / 5

Stella attivaStella attivaStella attivaStella attivaStella attiva
 

Guida a Boinc su WSL

 

Su stimolo di un nostro volontario abbiamo provato a far funzionare il client boinc in una macchina virtuale linux (ci sono progetti che hanno solo il client linux oppure usano il wrapper per Windows) senza utilizzare il "classico" VirtualBox.
La possibilità offerta da Microsoft è quella di usare WSL (Windows Subsystem for Linux), integrato in Windows 10, con prestazioni decisamente migliori rispetto a VirtualBox.

Questa la guida

Accedi per commentare

Avatar di boboviz
boboviz ha risposto alla discussione #138608 20/11/2023 22:26
Rilasciata, la scorsa settimana, la nuova versione stable di WSL, la 2.0.9
Avatar di boboviz
boboviz ha risposto alla discussione #138538 19/09/2023 09:33

Molto interessante questo progetto : una macchina docker per WSL su cui provare le gpu Nvidia (nella immagine dell'articolo hanno lanciato una simulazione nbody). A naso ci potrebbe girare Folding....


Pure Nvidia, mi sono accorto, ha una sua guida ufficiale , costantemente aggiornata (sono alla versione 12.2), per virtualizzare le sue gpu sotto WSL2
Avatar di boboviz
boboviz ha risposto alla discussione #138537 19/09/2023 09:13
Succose novità lato WSL.
MS ha rilasciato la verione 2 della piattaforma, con molte nuove funzionalità interessanti, come il dnsTunneling (che permette alla macchina virtuale di utilizzare in maniera più chiara e coerente i dns della macchina fisica), oppure il autoMemoryReclaim (in cui la macchina virtuale rilascia lentamente la ram di cui non ha bisogno).
Il tutto è ancora in versione sperimentale, ma promette bene.
Avatar di boboviz
boboviz ha risposto alla discussione #137984 23/11/2022 12:02
Microsoft, ieri, ha reso GA (General Avaiability) WSL sotto Windows 10 e 11.
Prima, nonostante tutto funzionasse correttamente, nella documentazione MS era indicato in "Preview"
Oltre a questo ci sono varie novità:
- l'interfaccia grafica è disponibile anche in WIn10 (prima era solo in 11)
- la versione sarà facilmente aggiornabile con il comando wsl --update (anche da GitHub e non solo dallo Store)
- supporto ufficiale all'accellerazione via GPU
- possibilità di importare macchine già esistenti
- ecc, ecc, ecc
Avatar di boboviz
boboviz ha risposto alla discussione #137888 22/09/2022 10:00
Niente male anche questa notizia:

Microsoft e Canonical integrano systemd in WSL
Avatar di boboviz
boboviz ha risposto alla discussione #137818 27/07/2022 08:40

piccolo aggiornamento, sul mio WSL2+boinc ultimamente mi sono dimenticato di abbassare la priorità da 8 a 4 (idle) e ... sorpresa! anche a priorità normale niente lag
ottimo direi, ogni tanto qualche buona notizia :ruota:


Sarei curioso di provare il nuovo client stabile (7.20.2) con la feature che ho segnalato sopra....
Avatar di astroale
astroale ha risposto alla discussione #137678 23/05/2022 10:51
piccolo aggiornamento, sul mio WSL2+boinc ultimamente mi sono dimenticato di abbassare la priorità da 8 a 4 (idle) e ... sorpresa! anche a priorità normale niente lag
ottimo direi, ogni tanto qualche buona notizia :ruota:
Avatar di boboviz
boboviz ha risposto alla discussione #137520 19/04/2022 14:17

poi lancio Process Explorer e abbasso la priorità di vmmem
Nei prox giorni vedo se il lag è sparito come sembra,
poi cercherò un modo di fare queste 3 cose al logon dello user windows.


Sembra ci saranno alcune attese novità nella nuova versione (7.20) del client boinc, tipo:

Client: pass process priority to wrapper

Avatar di sabayonino
sabayonino ha risposto alla discussione #137497 08/04/2022 20:18
Veloce ricerca :
La limitazioneindicata da Zioriga , riguarda il tool "adduser" utilizzato per aggiungere l'utente.
Il file /etc/adduser.conf contiene la variabile NAME_REGEX che limita l'utilizzo di alcuni caratteri nel contenuto del nome come simboli o minuscole,maiuscole,numeri.
"adduser" generalmente è incorporato nelle debian-based

Già in passato è stato soggetto a "lamentele" o bug per questo.
Probabilmente gli sviluppatori hanno dei motivi validi per limitare questa a cosa.
Avatar di sabayonino
sabayonino ha risposto alla discussione #137495 08/04/2022 18:27
Giusto per curiosità , quale nome stavi cercando di inserire ?
Avatar di boboviz
boboviz ha risposto alla discussione #137494 08/04/2022 16:16

PS. Come non detto, ci sono riuscito, si deve mettere uno username con solo caratteri minuscoli


Quelle belle soddisfazioni con linux!! :-P
Avatar di zioriga
zioriga ha risposto alla discussione #137483 07/04/2022 21:43
sono arrivato al punto dell'installazione di Ubuntu e al punto di definizione del nuovo UNIX Username

il problema però è che qualsiasi nome introduco il sistema mi risponde
"Please enter a username matching the regular expression configured via the NAME_REGEX[_SYSTEM]. Use the '--force-badname' option to relax this check or reconfigure NAME_REGEX

Ho fatto un po di prove, ma appaiono poi delle specifiche che incasinano il tutto e non si riesce a capire che username si deve mettere


Vorrei tanto sapere come ha fatto Astroale ad andare avanti


PS. Come non detto, ci sono riuscito, si deve mettere uno username con solo caratteri minuscoli
Avatar di boboviz
boboviz ha risposto alla discussione #137458 04/04/2022 16:26
Ho caricato una nuova versione del pdf in cui tutti i link dovrebbero essere funzionanti (grazie Astro!)

Il "qui" che dicevi, Zio, è un file .exe, quindi lo devi avviare da Windows
Avatar di boboviz
boboviz ha risposto alla discussione #137452 01/04/2022 09:25

Ho provato a riprendere questo argomento, ma ho subito notato che nel .pdf della guida tutti i link non sono cliccabili

Maledetta, maledetta, maledetta conversione in pdf!!
Lo riguardo, grazie Zio!

dove il "qui" non è cliccabile, e dove cacchio si deve andare per scaricare il kernel Linux ??, e poi all'interno di PowerShell o da Windows ??

Ricontrollo pure questo...
Avatar di zioriga
zioriga ha risposto alla discussione #137449 31/03/2022 14:11
Ho provato a riprendere questo argomento, ma ho subito notato che nel .pdf della guida tutti i link non sono cliccabili

Tanto per essere più espliciti, al punto 6 c'è scritto
Scaricate ed installate l’ultima versione aggiornata del pacchetto del kernel di linux
qui, approvando l’installazione e poi, se richiesto, riavviare.

dove il "qui" non è cliccabile, e dove cacchio si deve andare per scaricare il kernel Linux ??, e poi all'interno di PowerShell o da Windows ??
Avatar di astroale
astroale ha risposto alla discussione #137448 31/03/2022 13:24

Nei prox giorni vedo se il lag è sparito come sembra,
poi cercherò un modo di fare queste 3 cose al logon dello user windows.


Casomai, se non è un problema, ci sentiamo per aggiornare insieme il documento.
Grazie ancora per i test

Ok, sembra che con le modifiche fatte il lag e tutti i suoi effetti secondari siano completamente spariti.
Appena ho tempo provo a fare la seconda fase (autoexec al logon).
Avatar di boboviz
boboviz ha risposto alla discussione #137433 28/03/2022 12:03

Nei prox giorni vedo se il lag è sparito come sembra,
poi cercherò un modo di fare queste 3 cose al logon dello user windows.


Casomai, se non è un problema, ci sentiamo per aggiornare insieme il documento.
Grazie ancora per i test
Avatar di astroale
astroale ha risposto alla discussione #137423 25/03/2022 21:29
spero di aver superato lo scoglio della priorità dei processi, passando dalla versione 1 a 2 ...

Per fare l'upgrade 1 -> 2, se si è installato ubuntu, dare da powershell (administrator):
wsl --set-version Ubuntu 2

a questo punto da Process Explorer (lanciato come adminstrator) non si vedranno i singoli processi linux come orfani ma un unico processo "vmmem" la cui priorità può essere facilmente cambiata da 8 a 4 (idle):



inoltre la versione 2 di WSL consente di non perdere periodicamente la connessione ad internet , perchè funziona anche l'ultimo di questa sequenza di comandi da dare (da WSL / bash) per risolvere gli indirizzi:

~$ sudo rm /etc/resolv.conf
~$ sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
~$ sudo bash -c 'echo "[network]" > /etc/wsl.conf'
~$ sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf'
~$ sudo chattr +i /etc/resolv.conf


Per ora faccio partire il tutto a mano, cioè, dopo il boot del PC, lancio la command line (bash) di WSL2 poi faccio partire boinc:

~$ sudo /etc/init.d/boinc-client start

poi lancio Process Explorer e abbasso la priorità di vmmem

Nei prox giorni vedo se il lag è sparito come sembra,
poi cercherò un modo di fare queste 3 cose al logon dello user windows.
Avatar di boboviz
boboviz ha risposto alla discussione #137398 22/03/2022 11:16
Una via d'uscita sarebbe utilizzare una interfaccia grafica per WSL (tipo WSLg) e dentro la macchina impostare le priorità linux, ma allora viene meno la comodità di usare WSL (oltre ad essere particolarmente "brigoso").
Avatar di boboviz
boboviz ha risposto alla discussione #137397 22/03/2022 11:08

Il comando wmic citato nella guida non sembra fungere, ritorna questo messaggio (su qualsiasi processo passato per name):
Description = Invalid query

Il comando lo hai lanciato da amministratore o da utente standard??

tra l'altro è deprecato per motivi di security e verrà presto eliminato da win11

Si, ho intravisto la cosa. Mi sa che dovrò riscrivere tutta quella parte della guida.

EDIT: la mia impressione è che WSL sia eseguito a livello di kernel windows e che tutti i processi linux dal punto di vista della struttura dei processi windows siano tutti orfani, quindi anche trovando il modo (impossibile) di settare la priorità questa non verrebbe comunque ereditata dai client boinc

Può essere una ipotesi.
Se faccio delle prove con wmi (che vedo sostituirà wmic ed, ovviamente, avrà una sintassi completamente diversa) vi faccio sapere

Ho anche visto che pure con VirtualBox le cose non sono ottimali ed è un ticket aperto dal 2018 .
Non so se abbiano risolto.
Avatar di astroale
astroale ha risposto alla discussione #137396 21/03/2022 18:07
dopo mesi stò ricominciando con qualche prova, ma la questione, fondamentale, dell'impossibilità di settare la priorità rimane
Il comando wmic citato nella guida non sembra fungere, ritorna questo messaggio (su qualsiasi processo passato per name):
Description = Invalid query
tra l'altro è deprecato per motivi di security e verrà presto eliminato da win11

EDIT: la mia impressione è che WSL sia eseguito a livello di kernel windows e che tutti i processi linux dal punto di vista della struttura dei processi windows siano tutti orfani, quindi anche trovando il modo (impossibile) di settare la priorità questa non verrebbe comunque ereditata dai client boinc

attendo smentite ...
Avatar di boboviz
boboviz ha risposto alla discussione #137039 15/12/2021 16:35
Caricata la nuova versione della guida, la 1.2 con le seguenti modifiche
- inserito il supporto VirtualBox contemporaneo con WSL
- inseriti i driver gpu Intel per WSL
- inserita la questione "priorità" dei processi.
Avatar di boboviz
boboviz ha risposto alla discussione #136882 16/11/2021 16:50

Ci ho ripensato e si potrebbe provare un qualche script con powershell, tipo usando wmic.
Provo a metter giù qualcosa.


Allora, ho trovato un articolo al riguardo e ricordavo bene. Il comando è una cosa tipo:
wmic process where name="Nome Processo" CALL setpriority "Numero" o "Stringa"

Per Numero si intende il valore da dare al processo (tipo 32, 64, 128, ecc), mentre la Stringa è più facile da usare/ricordare. Lo schema è questo
- inattivo: 64 (o "idle")
- sotto il normale: 16384 (o "sotto il normale")
- normale: 32 (o "normale")
- sopra il normale: 32768 (o "sopra il normale")
- alta priorità: 128 (o "priorità alta")
- tempo reale: 256 (o "tempo reale")

Manca solo un pc su cui provarlo.....
Avatar di boboviz
boboviz ha risposto alla discussione #136880 15/11/2021 12:26

Sarebbe interessante sapere se si possono regolare le priorità dei processi lato windows.
Attualmente sul primo criceto-radioactive su cui sono passatto da virtualbox a WSL1 (non può caricare il 2) non si possono regolare neanche post-lancio con process explorer eseguito come admin e processi boinc girano a priorità 8 (cioè normal) portando a varie tipologie di lag.


Ci ho ripensato e si potrebbe provare un qualche script con powershell, tipo usando wmic.
Provo a metter giù qualcosa.
Avatar di boboviz
boboviz ha risposto alla discussione #136873 11/11/2021 15:44

- Aggiunta parte per installazione WSL2 su Windows 11 (WSL1 non esiste più su quel sistema)
- Aggiunto supporto ufficiale MS alla accellerazione su GPU (prima era solo sperimentale) su Windows 11 e Windows 10 21H1.


Sembra che MS stia puntando a WSL in maniera decisa.
Questa settimana è stato rilasciato Visual Studio 2022 che, tra le tante altre cose, ha il supporto nativo a WSL.
In pratica si scrive il codice in ambiente Windows e poi lo si può provare immediatamente sotto Linux.

P.S.
Non sono sviluppatore e non me ne intendo, ma se devo scrivere codice per Linux non è meglio che lo faccio già sotto Linux? Forse lo hanno fatto per chi ha la necessità di fare codice che giri in entrambi gli ambienti....