Gioacchino Vino
9 novembre 2023 - SESSIONE 4 | Infrastrutture e servizi: tecnologie cloud
Deployment di un ambiente di calcolo basato su JupyterHub con accesso a GPU tramite la PaaS di INFN-DataCloud
Deployment of a computing environment based on JupyterHub with GPU access through the INFN-DataCloud PaaS
Mi chiamo Gioacchino Vino, attualmente sono un tecnologo dell'INFN, assegnato alla sezione di Bari. La mia attività principale riguarda il miglioramento dell'infrastruttura del progetto del PNRR “ICSC Centro Nazionale di Ricerca in HPC, Big Data e Quantum Computing”. Negli anni passati, grazie a una borsa di studio GARR e assegni di ricerca, ho approfondito le mie competenze in ambito dei sistemi di monitoraggio, Big Data, Database e sistemi di calcolo distribuiti. Utilizzando queste conoscenze, nel datacenter ReCaS-Bari gestisco servizi a supporto della ricerca scientifica, costituito nello specifico da una istanza di JupyterHub e la sottomissione di applicazioni containerizzate, utilizzanti un cluster con risorse di calcolo ad alte prestazioni. Altre attività secondarie sono inerenti a campi di ricerca quali Machine Learning e Calcolo distribuito applicati alla fisica delle alte energie.
My name is Gioacchino Vino, currently I'm a technologist at INFN, Bari-Unit. My main activity concerns the improvement and development of the infrastructure of the RRNP project “ICSC, National Center for Scientific Computing”. In past years, thanks to GARR scholarship and post-docs contracts, I had the possibility to improve my computing skills in fields like Monitoring systems, Big Data Technologies, Database and Distributed systems. That let me develop services to support scientific applications at the ReCaS-Bari datacenter, like JupyterHub and the submission of complex containerized applications, using a high performance resource cluster.
ABSTRACT
Nel panorama internazionale sempre più attenzione si sta ponendo verso gli algoritmi di intelligenza artificiale e l’uso di dispositivi di calcolo paralleli ad alte prestazioni per velocizzare l’esecuzione di applicazioni. JupyterHub è tra le soluzioni più impiegate quando risulta determinante scrivere ed eseguire codice in remoto. Tra le funzionalità più importanti c'è la sua ampia personalizzazione, come la scelta del sistema di autenticazione e la modalità con cui viene creata l’istanza di JupyterLab. INFN Cloud insegue le ultime tecnologie, con nuovi servizi e migliorando quelli esistenti in usabilità, efficienza e affidabilità. Per i propri utenti, ha messo a disposizione una piattaforma PaaS che permette di installare un servizio presente nel suo portfolio in una delle cloud appartenenti alla sua federazione, in maniera automatica e tramite un'interfaccia web. Il servizio “JupyterHub per ML_INFN” installa JupyterHub su una macchina virtuale, in aggiunta all’ambiente di sviluppo utilizzato da ML_INFN, un gruppo interno all’INFN che coordina l’impiego delle tecnologie di Machine Learning applicata alla ricerca in Fisica. Tra le informazioni richieste prima di installare il servizio e’ stata recentemente aggiunta l’opzione che abilita il partizionamento della GPU presente sulla macchina: cio’ conferisce il vantaggio di aumentare il numero di istanze di JupyterLab che possono utilizzare una GPU a disposizione degli utenti, fino ad un fattore 7.
In today's global context, there is a growing focus on artificial intelligence algorithms and the use of high-performance parallel computing devices to accelerate application execution. When remote code writing and execution are critical, JupyterHub is one of the most popular solutions available. Its crucial feature is the extensive customization options, allowing users to select their desired authentication system and deployment method to spawn new JupyterLab instances. INFN Cloud pursues the latest technologies by introducing new services and improving existing ones in usability, efficiency, and reliability. Our PaaS platform allows INFN users to install any service in its portfolio onto any cloud within our federation, automatically and using a simple web interface. The "JupyterHub for ML_INFN" service belongs to the portfolio and installs JupyterHub on a virtual machine along with the ML_INFN environment. ML_INFN is an internal INFN group that coordinates the use of Machine Learning technologies applied to research in Physics. Recently, in the installation phase has been introduced the ability to partition the GPU on the machine. This enables the number of JupyterLab instances that can utilise an available GPU to increase by a factor of 7. Prior to installation, this information is required.