Ritratto di giorgio.richelli@uniroma1.it

Nel novembre del 1985 ho conseguito la laurea in Ingeneria Elettronica (110/110) presso la prima Universita' di Roma (La Sapienza), con relatore il prof. Carlo Batini; titolo della tesi : "Progetto di Algoritmi per il Layout Automatico di Grafi Gerarchici"

Nel 1986 ho ottenuto una borsa di studio, sempre presso l'istituto di informatica dell'Universita' di Roma, per la creazione di un prototipo di un tracciatore automatico di diagrammi Entita'/Relazione ("Giotto").

Dopo il servizio militare ho iniziato a lavorare in Tecsiel (gruppo IRI-Finsiel) sul progetto "Dafne Tools", teso a sviluppare un insieme di strumenti per l'automazione della metodologia per la produzione del software, Dafne, utilizzata all'interno del gruppo Finsiel.

A seguire, nel 1988, sono entrato a far parte del Centro Europeo per il Calcolo Tecnico-Scientifico (IBM ECSEC), dove mi sono interessato sopratutto dello sviluppo di prototipi di cooperative processing, librerie per la programmazione parallela e di High Performance Computing in generale.

Per due di questi prototipi, nel 1993 e nel 1995, ho ottenuto altrettanti premi "Outstanding Technical Achievement". Il primo di essi relativo a cooplib, una libreria per facilitare lo sviluppo di applicazioni cooperative fra mainframe e workstations, mentre il secondo era legato a PVMe, una implementazione della libreria public domain PVM (Parallel Virtual Machine), particolarmente ottimizzata per sistemi IBM 9076 SP1 e SP2. PVMe e' stata offerto come prodotto IBM dal 1995 al 1998.

Durante questo periodo ho anche tenuto numerosi corsi, sia interni che esterni, sulla programmazione parallela in ambiente distribuito e, nel 1994, ho fatto da chairman al primo PVM European User Group Meeting.

Di conseguenza, ho anche passato alcuni periodi piuttosto lunghi negli Stati Uniti, presso i laboratori IBM di Kingston, Poughkepsie e Yorktown Heights.

Quindi, nel 1995, sono entrato in Silicon Graphics (SGI), dove ho continuato ad occuparmi di problematiche legate al calcolo numerico intensivo e parallelo come sistemista di prevendita.

A partire dal 1997 sono transitato in SUN MicroSystems dove, ancora come sistemista di prevendita, ho rappresentato il punto di riferimento Italiano per l'High Performance Computing.

Durante questi anni ho maturato una significativa esperienza sulla parallelizzazione ed ottimizzazione di codici, sopratutto in C, C++, FORTRAN 77 e FORTRAN 90, in ambienti a memoria sia condivisa che distribuita.

Infine, dalla primavera del 2000, sono tornato in IBM Italia dove, nel "System & Technology Group", ho inizialmente svolto ancora attivita' di prevendita per sistemi Unix (pSeries).

Dal gennaio 2004 ho assunto il ruolo di Systems Architect svolgendo funzioni di consulenza nel disegno di infrastrutture I/T complesse o che comprendano componenti sia hardware che software eterogenei

Nel periodo dal 2004 al 2007 ho partecipato a numerosi progetti in ambienti complessi per applicazioni di trading online, home banking e commercio elettronico in generale. In questi progetti ho potuto sfruttare le esperienze che avevo precedentemente maturato nel campo della valutazione delle prestazioni e dei sistemi di elaborazione distribuita in ambiente eterogeneo.

A partire dal 2007, sono entrato a far parte del IBM TEC (Technical Expert Council), un team composto da leader tecnici che hanno maturato esperienze in vari gruppi della IBM (hardware, software, servizi, laboratori) ritornando anche a lavorare nel campo del calcolo ad elevate prestazioni (HPC).

Nel corso degli ultimi due anni, sono tornato ad occuparmi di problematiche di calcolo numerico ad alte prestazioni (High Performance Computing), Deep Learning e del tema dell'ottimizzazione delle architetture I/T.

Ho comunque cercato di affiancare alla mia attività professionale, anche un legame con il mondo accademico. Per questo ho tenuto, come professore a contratto:
nell anno accademico 2001/2002, il corso di Fondamenti di Informatica I presso la seconda Università di Roma Tor Vergata
nell anno accademico 2004/2005, il corso di Laboratorio di Sistemi Operativi I presso l Università Roma I La Sapienza
nell anno accademico 2005/2006, il corso di Laboratorio di Sistemi Operativi II presso l Università Roma I La Sapienza , collaborando anche alla docenza nel corso di Sistemi Operativi III
a partire dall' anno accademico 2006/2007 e fino al 2012/2013, il corso di Sistemi Operativi III presso l Università Roma I La Sapienza .

Inoltre ho partecipato al:
Master di II livello in Information Technology , organizzato congiuntamente dall INFN e dall Università di Roma II Tor Vergata , tenendo due corsi: uno sugli internals del sistema operativo Unix ed un secondo sull architettura dei processori.

Master di II livello in Governo dei Sistemi Informativi , organizzato dalla Facoltà di Ingegneria dell'Università degli Studi Roma Tre, in collaborazione con IBM Italia e FORMIT Servizi (2008, 2010 e 2012) dove ho tenuto un corso sulle architetture dei sistemi di calcolo

Pur se non evidentemente parte della mia normale attività, ho scritto e/o partecipato alla stesura, di alcune pubblicazioni scientifiche , fra cui:

"An Authomatic Layout Facility and its Applications", 1986
"Concurrent LU Factorization on Workstation Networks",1992
"Development and Results of PVMe on the IBM 9076 SP1",1992
"Lattice Boltzmann Method on a Cluster of IVM Risc System 6000",1993
"PVMe: an enhanced implementation of PVM for the IBM 9076 SP2", 1995
"Comparison of the MPI and PVM Performances by Using Structured and Unstructured CFD codes",1998
"MPI Collective Communication Operations on Large Shared Memory Systems", 2000
"Working Against the Machine: Stress Testing an Application Server",2001

Globalmente, la mia attività professionale mi ha permesso di maturare una buona capacita' di analisi e valutazione delle piu' importanti architetture di sistemi di calcolo, delle famiglie dei processori RISC e dei sistemi operativi sia in termini assoluti che comparativi.

Insegnamento Codice Anno Corso - Frequentare
Computer systems and programming 1054960 2021/2022 Cybersecurity
Computer systems and programming 1054960 2020/2021 Cybersecurity
Computer systems and programming 1054960 2019/2020 Cybersecurity
Computer systems and programming 1054960 2018/2019 Cybersecurity
Computer systems and programming 1054960 2017/2018 Cybersecurity
Dipartimento
SSD