Plier dans les nuages avec vast.ai
#31
Merci, je vais regarder ça
[Image: sigimage.php?u=1339323]
Sciences - Partage - Entraide  Super
Répondre
#32
En effet, merci pour ton analyse c'est bon à savoir.
Répondre
#33
Préconisation d'ajouter dans le template un Extra filter 
Code :
disk_bw>=500

Ce critère permet de filtrer les instances qui ont un stockage peu rapide (< 500 Mo/s) 
... sinon, l'instance prendra plus de temps à être créée et cela impactera aussi négativement la lecture/écriture sur disque des WU récupérées, des checkpoints pendant le calcul et des résultats à envoyer

[Image: dossier_gpu-cloud-xx_diskbw-01.png]
Répondre
#34
Thumbs Up 
Merci Super
Répondre
#35
Si vous utilisez des instances VAST avec plus d'un GPU, vous pourriez rencontrer des problèmes de stockage et l'arrêt/blocage de l'instance, avec un message d'erreur, comme ci-après, sur la "carte d'identité" VAST de votre instance : 
  • sur une instance avec 8 Go de stockage
    Citation :Disk quota exceeded: using 8.071430 GB, quota is 8.000000 GB.
  • sur une instance avec 16 Go de stockage
    Citation :Status: Disk quota exceeded: using 16.052782 GB, quota is 16.000000 GB.
Ce souci arrive en particulier avec les p18261 car elles génèrent des fichiers (pour la visualisation 3D des protéines dans l'interface web v8) assez volumineux (33 Mo) pour chaque frame.
Donc avec ces fichiers + la taille de la WU + Logs + ..., on atteint vite 4 Go de données par GPU !
Et avec 2 GPU et 2 p18261, le stockage recommandé de 8Go de l'instance peut être saturé...

Même si la visualisation est désactivée coté client web (vous pouvez voir la ligne dans la log de votre client) , les fichiers sont hélas toujours générés !
J'ai créé un ticket pour le dév. : https://github.com/FoldingAtHome/fah-cli...issues/419

En attendant que cela soit résolu, et si vous souhaitez utiliser ce type d'instance multi-GPU (x2, x4, x8 ou plus) , je vous recommande d' ajouter ces 3 lignes au début  de la zone texte "Bash commands that are invoked whenever your instance starts, see FAQ/Docs for details."
Code :
curl https://raw.githubusercontent.com/JWhyFR/fah-v8/main/cleanup_viewer.sh -o cleanup_viewer.sh
chmod +x cleanup_viewer.sh
nohup ./cleanup_viewer.sh >/dev/null 2>&1 &


Cela lancera en tâche de fond, sur votre instance, une purge automatique toutes les 30 secondes de ces fichiers, s'ils font plus de 1 Mo
... et évitera ainsi à votre instance de planter.

(vous pouvez aussi ajouter ces 3 lignes par sécurité, même si vous ne prenez que des instances avec 1 GPU... ça n'aura pas d'impact négatif, et permettra d'anticiper un prochain problème le jour où ces fichiers de visualisation feront 80+ Mo  Rolleyes )

NB: bien évidemment, avec la purge de ces fichiers, la visualisation ne sera plus fonctionnelle dans le client web.
Répondre
#36
Je copie/colle ici ce que j'ai mis en bas de ce message : https://forum.alliancefrancophone.org/sh...5#pid15495
Citation :Joseph a fait un refresh de tous les tokens des utilisateurs.
c'est transparent et n'a pas d'impact pour les machines déjà connectées à votre compte.
par contre si vous utilisiez ce token pour configurer des clients , dans un script ou un template pour VAST.ai, par exemple, il faudra penser à le mettre à jour pour utiliser le nouveau token
Répondre
#37
Pas indispensable, mais si vous souhaitez avoir qq infos sur le réseau et le GPU (et notamment un potentiel bridage) visibles dans l' "instance log", vous pouvez ajouter au début du texte dans la zone "Bash commands that are invoked whenever your instance starts, see FAQ/Docs for details."

Code :
SPEED_TEST=$(cat <<EOF

==========================================
         NETWORK PERFORMANCE REPORT      
         $(date)
==========================================

$(curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python3 -W ignore - --simple)

==========================================

EOF
)
echo "$SPEED_TEST"

GPU_REPORT=$(cat <<EOF

==========================================
        GPU POWER & THERMAL REPORT
         $(date)
==========================================

$(nvidia-smi --query-gpu=index,name,power.draw,power.limit,power.default_limit,temperature.gpu --format=csv,noheader,nounits | awk -F', ' '{print "GPU " $1 " (" $2 "): " $3 "W / Limit " $4 "W (Default " $5 "W) - Temp: " $6 "°C"}')

==========================================

EOF
)
echo "$GPU_REPORT"

Exemple de résultat (sur une instance avec un GPU bridé) :
Code :
==========================================
         NETWORK PERFORMANCE REPORT
         Fri Mar 27 19:51:41 UTC 2026
==========================================

Ping: 30.493 ms
Download: 239.35 Mbit/s
Upload: 321.60 Mbit/s

==========================================

==========================================
        GPU POWER & THERMAL REPORT
         Fri Mar 27 19:51:59 UTC 2026
==========================================

GPU 0 (NVIDIA GeForce RTX 3080): 110.65W / Limit 100.00W (Default 320.00W) - Temp: 38°C

==========================================



Edit du 29/03:

Alternativement (donc en remplacement du code mis plus haut) , vous pouvez utiliser ce script (ajouter au début du texte dans la zone "Bash commands that are invoked whenever your instance starts, see FAQ/Docs for details."
Code :
curl https://raw.githubusercontent.com/JWhyFR/fah-v8/main/fah-monitoring.sh -o fah-monitoring.sh && chmod +x fah-monitoring.sh

nohup ./fah-monitoring.sh  >fah-monitoring.log 2>&1 &
(tail -f /workspace/fah-monitoring.log > /proc/1/fd/1 2>&1) &
qui va lancer cette surveillance en tâche de fond (plutot qu'une fois au lancement) et afficher dans l'"instance log" de votre instance :
- les infos GPU, toutes les 30mn
- les résultats du speedtest, toutes les 12h (vu que ça peut consommer pas mal de réseau, selon votre bande passante, c'est pour éviter que la facture "internet" de l'instance explose Wink )

exemple des 2 types d'info, récupéré de l'instance log :
Code :
============================================
    Sun Mar 29 07:22:18 UTC 2026
--------------------------------------------
    GPU POWER & THERMAL REPORT (30m)
--------------------------------------------

GPU 0 (NVIDIA GeForce RTX 3060 Ti): 192.84W / Limit 200.00W (Default 200.00W) - Temp: 90°C

--------------------------------------------
    NETWORK PERFORMANCE REPORT (12h)
--------------------------------------------

Ping: 33.418 ms
Download: 242.51 Mbit/s
Upload: 176.24 Mbit/s

============================================




============================================
    Sun Mar 29 07:52:38 UTC 2026
--------------------------------------------
    GPU POWER & THERMAL REPORT (30m)
--------------------------------------------

GPU 0 (NVIDIA GeForce RTX 3060 Ti): 196.68W / Limit 200.00W (Default 200.00W) - Temp: 86°C

============================================
Répondre
#38
Avec l'augmentation des prix des instances chez VAST, l'extra filter 
Code :
dlperf_per_dphtotal>300
 qui permet de filtrer selon le ratio performance/prix,

et potentiellement l'extra filter
Code :
dph_total<0.4
(prix inférieur 0.400$/h)

pourraient vous empêcher de trouver des instances dans l'écran de recherche VAST.


Si vous n'avez plus aucun instance visible dans les résultats de recherche et que vous utilisez ces Extra filters dans votre template, je vous préconise de supprimer ce premier critère dlperf_per_dphtotal (et éventuellement ajuster le dph_total en fonction de ce que vous êtes prêt à mettre, au max.) , et, dans l'écran de recherche d'instance, utiliser le tri "Price (inc)" ou "DLPerf/$/Hr" (dans la liste déroulante la plus à droite) pour trouver la "bonne" instance.
[Image: dossier_gpu-cloud-02_rent-filters.png]


(et merci au breton têtu pour l'échange du jour qui a permis d'identifier ce souci 🙏)
Répondre
#39
Je limite les prix à 0.25 ... et y'a plus grand chose Sad
Répondre
#40
Suite à une mésaventure avec une instance Vast.ai (tarif GPU pas cher, mais tarif réseaux dans la moyenne haute, mais surtout un script qu'avait mis en place le loueur pour télécharger automatiquement en boucle 20 Go d'ISO Linux !) j'ai fait un nieme script de monitoring... pour le réseau cette fois ci !

fah-netmon.sh
Ce script surveille en temps réel la consommation réseau (DL/UL) sur l'interface réseau principale. Il enregistre l'historique minute par minute sur une fenêtre glissante d'une heure pour déclencher des alertes en cas de pic de trafic, avec une période de grâce (cooldown) pour éviter leurs répétitions. Il effectue un premier contrôle rapide après 3 minutes d'exécution, suivi d'un rapport synthétique toutes les heures.

Seuils par défaut (paramétrables dans la ligne de commande):
-  5 min : 200 Mo
- 20 min : 300 Mo
- 60 min : 400 Mo

Utilisation dans un template Vast.ai :
Pour exécuter le script en arrière-plan et rediriger ses logs directement vers l'interface Vast.ai (bouton LOG de l'instance), ajoutez ces 3 lignes au tout début du champ On-start script / bash commands [...] de votre template :
Code :
curl https://raw.githubusercontent.com/JWhyFR/fah-v8/main/fah-netmon.sh -o fah-netmon.sh && chmod +x fah-netmon.sh
nohup ./fah-netmon.sh >fah-netmon.log 2>&1 &
(tail -f /workspace/fah-netmon.log > /proc/1/fd/1 2>&1) &


exemple de message  au démarrage :
Code :
========================================
Script started at: 2026-08-08 05:54:41
Detected network interface: eth0
Configured MB alert thresholds:
- 5 minutes  : 250 MB
- 20 minutes : 300 MB
- 60 minutes : 400 MB
Monitoring network usage...
========================================

exemple de message à 3 min :
Code :
----------------------------------------
[07:05:43] [INITIAL CHECK] Usage over the first 3 minute(s) on eth0:
- DL = 80 MB
- UL = 70 MB
----------------------------------------

exemple d'alerte  :
Code :
[05:59:41] [ALERT] DOWNLOAD (eth0): 297 MB downloaded in 5 min! (Threshold: 250MB) | Cooldown active: alert muted for at least 5 min.

NB: si vous utilisez aussi le script fah-monitoring.sh , ce dernier fait un speedtest à son lancement et toutes les 12h, donc ça peut déclencher des faux positifs pour fah-netmon.sh ... à garder en tête  😉
NB2 : et certaines wu & core  ou résultats de wu peuvent dépasser les seuils, donc seuils à ajuster en fonction des alertes que vous aurez
exemple :
Code :
nohup ./fah-netmon.sh 5M=300 20M=400 60M=500 >fah-netmon.log 2>&1 &


J'en ai aussi profité pour faire une page README (FR/EN) qui documente tous ces scripts : https://github.com/JWhyFR/fah-v8/
Répondre





Utilisateur(s) parcourant ce sujet : 2 visiteur(s)