La funzione strumentale di coordinamento delle attività di alternanza scuola-lavoro organizza specifiche attività formative in collaborazione con diverse aziende al fine di attivare un proficuo collegamento con il mondo del lavoro e delle professioni.Aziende leader nell’ambito della produzione di apparati elettronici come la Rheinmetal e la ELT, nell’ambito della produzione di apparecchiature per impianti televisivi, come la FAIT e la Nous Informatica, operanti nel mercato delle tecnologie, delle applicazioni e dei servizi ICT (Information and Communication Tecnologies) – hanno dimostrato sensibilità e disponibilità a collaborare con il nostro istituto.
Presso la Rheinmetall gli studenti di quinta di Informatica hanno scritto dei programmi utilizzando il linguaggio Java 3D. Presso la Nous sia i ragazzi delle quinte che i ragazzi di quarta hanno studiato l’applicativo SAP (lato programmazione) ed hanno creato delle pagine web dinamiche con accesso al database.Alleanze formative sono state attivate anche con il Museo Storico delle Poste e Telecomunicazioni (dipendente dal Ministero dello sviluppo economico) sia in ambito informatico che elettronico e con l’Azienda Ospedaliera S. Filippo Neri di Roma. Con il Centro Ricerche Casaccia dell’Enea, oltre a diversi tirocini formativi e di orientamento presso i laboratori di Fisica sanitaria, informatica, solare, è stata stipulata una convenzione (triennale) per l’organizzazione di periodi di stage e di seminari formativi, per studenti e docenti del nostro istituto, in connessione con le attività di ricerca e sviluppo di ENEA nei settori della robotica e delle tecnologie energetiche. Le attività in cui gli studenti vengono coinvolti sono diversificate a seconda delle peculiarità delle aziende. Un tutor aziendale segue lo studente in tutte le sue attività. Un tutor scolastico sostiene lo studente nelle varie fasi tenendo contatti con il tutor aziendale. Presso il museo storico il gruppo di informatica si occupa della gestione ed implementazione del nuovo Data Base SAMIRA acquisito dal Museo e creato dalla società Data Management. I ragazzi lavorano in coppia, prendono un articolo presente nel museo, lo descrivono e lo inseriscono nel database. Il gruppo di elettronica fa uno studio e ricerca sul funzionamento di alcuni apparati di comunicazione presenti nel museo (telegrafo etc). Hanno anche l’opportunità di elaborare una tesina. Presso la FAIT gli elettronici si occuperanno della fase finale di assemblaggio e collaudo di apparecchiature prodotte e commercializzate dalla FAIT per impianti di telecomunicazioni, relative ai prodotti di ricezione per impianti televisivi. Presso l’ospedale S. Filippo Neri gli studenti di Fase hanno seguito attività nel laboratorio di Fisica Sanitaria e nel laboratorio di Microbiologia e Virologia. Presso l’Unità tecnica di Biologia delle Radiazioni e Salute dell’Uomo dell’Enea gli studenti di FASE hanno seguito esperimenti in vari laboratori nell’ambito della tossicologia ambientale, con particolare riferimento al sistema riproduttivo, la biologia delle radiazioni ionizzanti e non ionizzanti, la genetica, e gli aspetti dosimetrici e di misura dei campi elettromagnetici. Sempre presso l’Enea uno stage per gli elettronici riguarda il solare termodinamico nei seguenti ambiti: Per quanto riguarda le attività esterne, alcuni ragazzi della 5I, 4F e 4G stanno attualmente frequentando dei seminari di argomento economico presso una società della Camera di Commercio di Roma. |
LNF-INFN | Relazione dello stage
Come sicuramente saprete, l’ITIS Enrico Fermi offre ai propri studenti di partecipare ad alcuni stage all’interno di aziende ed enti leader del settore. Nel seguente articolo verrà riassunto brevemente lo stage effettuato presso LNF-INFN (Laboratori Nazionali di Frascati | Istituto Nazionale di Fisica Nucleare).
Obbiettivo: Analizzare e Comprimere i file proveniento da Kloe
Durata: 15gg
Tutor: Giuseppe Fabio Fortugno
Gruppo di lavoro: 9 ragazzi di cui 1 del nostro Istituto
Ma che cosa è Kloe?? Ancor prima di spiegare che cosa è Kloe, bisogna conoscere a grandi linee cosa è un accelleratore di particelle, è un potente microscopio che, utilizzando come sonde particelle subatomiche accelerate, è in grado di esplorare la struttura più intima della materia. Accelerare vuol dire aumentare la velocità. Maggiore è la velocità, maggiore è l’energia e il potere penetrante. DAΦNE (Double Annular Φ Factory for Nice Experiments) è l’anello di collisione per elettroni e positroni (particelle identiche agli elettroni ma con carica opposta) attualmente in funzione a Frascati, Ora se vi dico che Kloe è una parte dell’esperimento di DAΦNE sicuramente non siete del tutto spiazzati, all’interno di kloe vengono registrate tutte le collisioni che avvengono.
Bene fino a qui si è parlato di Fisica che visto il mio indirizzo di studi, non ho approfondito più di tanto, ma ho avuto la fortuna di esplorare tutta la parte inerente all’informatica ed elettronica, è davvero affascinante, personalmente ho scoperto metodi di lavoro, strumentazioni, hardware, software, sistemi operativi che non avevo neanche mai pensato potessero esistere. Parlando con un linguaggio comune, questi dati tramite il DAQ (Data AcQuisition) passano al detector e vengono inviati in formato grezzo tramite una rete in fibra a 10GBit vengono inviati al Data Center locale che vanta uno spazio di ben 5500TB, nel Data Center vengono impacchettati tramite un protocollo ovviamente proprietario e successivamente archiviati nella libreria a nastri, l’unico sistema di archiviazione davvero sicuro. Inizialmente i file erano di circa 1GB, con il passare degli anni tramite upgrade di Kloe si è passato a file di circa 2GB l’uno, Ogni evento occupa 7,5KB considerando che ogni file è di 2GB, contiene più o meno 273 mila eventi, questi file messi insieme formano un Run ovvero un ciclo completo quindi ogni Run occupa circa 80GB, vengono effettuati al giorno 20/25 run completi, ovvero 1/1,5TB di dati al giorno che dovranno essere archiviati e resi disponibili a tutti i laboratori per gli studi.
Nei primi giorni abbiamo preso conoscenza con il sistema operativo Aix proprietario dell’IBM, non avevo mai utilizzato tale sistema, anche perchè gira solo su macchine con un architettura specifica. Dopo una settimana di studio sulle funzionalità del S.O siamo entrati nel dettaglio analizzando i FileSystem, i dati, i processi e la rete. Grazie a queste nozione acquisite il nostro tutor ci ha proposto di sviluppare un software che potesse comprimere i file provenienti da kloe per poter risparmiare spazio e di conseguenza denaro per l’acquisto di dischi rigidi e cartucce a nastro.
Esordisce dicendo: “Uno studente Universitario ha fatto una tesi dicendo che i file di kloe sono incomprimibili, io dico che non è vero.” Aveva ragione. In informatica il 99.9% dei file risultano comprimibili.
Abbiamo sviluppato 3 programmi principali, il primo, è un programma che ci permette di analizzarlo per poterlo successivamente graficare e osservare l’andamento dei bit, il secondo è quello che risolve realmente il problema e il terzo non per questo meno importante, è quello che permette di riportare il file al suo stato iniziale. Tutti i codici sono scritti e compilati in linguaggio C sotto il sistema operativo Aix (IBM).
Il primo programnma Analyzer:
Grazie a questo programma abbiamo contato il numero di bit ricorrente e salvati in un file che successivamente tramite il programma Gnuplot abbiamo graficato più file di diversi run, grazie a ciò abbiamo visto che c’era un numero spropositato di 0 e tutti i file erano molto molto simili, i valori cambiavano davvero di poco, la prima domanda che ci sorge spontanea è, perchè il compress non riesce a comprimere? semplice, perchè non c’era modo di trovare un pattern ricorrente nella struttura all’interno del file e quindi non era possibile trovare una sequenza di 0 continui, per chi conosce qualche algoritmo di compressione capisce benissimo che questa è una grande limitazione tantè che se si prova a comprimerlo il peso non cambia se non di qualche Byte.
Source Code - Analyzer
/**************************************************/
/* Analizzatore di file “raw” provenienti da Kloe */
/* */
/* Data creazione: 19/06/2015 */
/* Data ultima modifica: 22/06/2015 */
/* */
/* Autore: Stage Informatica 2015 */
/**************************************************/
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[] )
{
FILE *fp;
int v[256];
char c;
int j;
if(argc<2) /*Ritorna un errore se la sintassi non è corretta*/
{
printf(“\n Sintassi: %s nomefile \n”,argv[0]);
return(-1);
}
for(j=0; j<256; j++) /*Inizializzo il vettore con tutti ‘0’*/
v[j]=0;
fp=fopen(argv[1], “r”); /*Assegna alla variabile fp il file in modalità lettura*/
if(fp==NULL) /*Ritorna un errore se l’apertura del file fallisce*/
{
perror(“\n Error “);
return(-1);
}
while((j=fgetc(fp))!=EOF) /*Carico il vettore v con il numero di byte del file*/
v[j]++;
for(j=0; j<256; j++) /*Stampa i valori ottenuti (eventualmente in un file)*/
printf(“%d\n”, v[j]);
fclose(fp);
return 0;
}
Il secondo programma SplitterFile:
La prima cosa che ci è venuta in mente è dividere il file in più parti reversando i byte, quindi in questo modo alteriamo l’andamento dei byte precedentemente osservato tramite Gnuplot, sperando che si creino delle ricorrenze sfruttabili dal compress
Source Code - SplitterFile
#include<stdio.h>
int main(int argc, char *argv[]){
int Nsplit =0,i;
FILE *start;
int counter = 0, size = 0;
FILE *inputs[10];
char c;
char NomeFile[15];
Nsplit=atoi(argv[2]);
start = fopen(argv[1],”r”);
fseek(start,0,SEEK_END);
size=ftell(start);
fseek(start,0,SEEK_SET);
for(i=0; i<Nsplit; i++){
printf(“\nInserisci il nome del %d file –> “,i+1);
scanf(“%s”,NomeFile);
inputs[i]=fopen(NomeFile,”w”);
}
for(i=0;i<size;i++)
{
c=fgetc(start);
fputc(c,inputs[counter]);
counter++;
if(counter==Nsplit)
counter=0;
}
fclose(start);
for(i=0;i<Nsplit;i++)
fclose(inputs[i]);
printf(“\nFile splittato correttamente!\n”);
return 0;
}
Abbiamo diviso i file in due parti e graficato nuovamente i file: con grande soddisfazione abbiamo visto che effettivamente la struttura cambiava, abbiamo provato a fare il compress ed il risultato era nettamente migliore! e se lo dividessimo in 4 parti? …. proviamo …. siamo riusciti a ridurre del 60% il file, un risultato davvero ottimo.
Il terzo programma JoinerFile:
Questo programma effettua il lavoro inverso di quello sopra riportato (SplitterFile) visto che bytereversiamo il file, le informazioni vengono “perse”: il programma joiner file quindi ricompatta il file al suo stato iniziale prima dello splitter.
Il Makefile
Il makefile è un file in cui risiedono tutte le informazioni di compilazione, di seguito un esempio di makefile
Source Code - Makefile
LIBS= -l m
CC=xlc -O -g
NP=nomeDelProgramma
OBJ=main.o
SRC=main.c
all: $(NP)
$(NP): main.o
$(CC) -o $(NP) $(OBJ) $(LIBS)
main.o: main.c
$(CC) -c main.c
clear:
rm main.o $(NP)
clean:
rm main.o $(NP)
Alcune scatti:
Galleria fotografica
Considerazione finali inerenti all’obbiettivo:
Comprimendo i file di kloe tramite i metodi sopra riporati si risparmia circa il 60% ciò vuol dire che su una spesa prevista di 100 mila euro in hard disk e nastri, ne vengono risparmiati 60 mila, ad oggi non è ancora stato implementato in quanto tutti i programmi di analisi scritti in passato andrebbero modificati… quindi sarà necessario effettuare una migrazione graduale.
Considerazione finale generale:
Inizialmente ero molto entusiasto di andare a questo stage, dopo il primo giorno lo ero il doppio! E’ stata davvero un occasione unica, ho imparato ad analizzare problemi informatici molto complessi, ridurli in più programmi e accorpare il tutto insieme, ho imparato a conoscere come funzionano le reti (e che reti!) ho imparato a lavorare in remoto su calcolatori da 64 core e 64GB di ram … ho imparato, imparato e imparato! Volevo ringraziare il tutor Fabio Fortugno che ci ha seguito dall’inzio alla fine con grande passione e dedizione, che oltre a un educazione didattica ci ha trasmesso aneddoti lavorativi del suo passato che sono lezioni di vita. Un grazie anche ai miei docenti e al Dirigente scolastico Monica Nanetti per avermi dato questa opportunità.
Daniele Pomponi