MILK: IL NUOVO LINGUAGGIO DI PROGRAMMAZIONE

MILK: IL NUOVO LINGUAGGIO DI PROGRAMMAZIONE

Nei microprocessori moderni, la gestione della memoria è basata sul principio di località, ovvero: se un programma ha bisogno di alcuni dati in un particolare punto della memoria, probabilmente avrà bisogno successivamente anche dei dati vicini. Ma questo principio viene meno nell’era dei Big Data: ogni processo infatti è solito ad elaborare pochi dati presi arbitrariamente tra i tantissimi presenti. In genere l’accesso alla memoria RAM è di per sé la parte più dispendiosa dell’elaborazione (escluso l’accesso alle memorie fisiche) e quindi accedervi ripetutamente rallenta di molto l’elaborazione di grosse quantità di dati. Questa settimana, un gruppo di ricercatori del MIT (Massachusetts Institute of Technology), alla conferenza internazionale sulle architetture parallele e tecniche di compilazione, ha presentato un nuovo linguaggio di programmazione, chiamato Milk, che permette di gestire la memoria più efficacemente in programmi che hanno bisogno di accedere a dati particolari in dataset di grosse quantità. Nei test di molti algoritmi, i programmi scritti in Milk si sono mostrati molto più veloci di quelli scritti nei linguaggi di programmazione fino ad oggi esistenti. Il linguaggio in questione aggiunge alcuni comandi a OpenMP (Open Multiprocessing), un estensione di linguaggi come C e Fortran che rende facile lo sviluppo per processori multicores. Con Milk, un programmatore dovrà scrivere solo alcune righe di codice in più per gestire alcune operazioni che richiedono iterazione in una grande quantità di dati, e il compilatore Milk deciderà come gestire la memoria efficacemente. In un programma Milk, quando un core deve richiedere un dato dalla memoria, non lo richiede (insieme ai dati adiacenti) ma aggiunge l’indirizzo di memoria da richiedere ad una lista. Quando le liste di ogni core sono lunghe abbastanza, vengono messe insieme e vengono raggruppati gli indirizzi di memoria vicini e ridistribuiti ai vari cores con questi raggruppamenti. In questo modo, ogni core riceverà più dati di cui ha bisogno con un solo accesso. Questo, è ciò che succede ad alto livello, ma nel dettaglio, le cose si fanno complicate. Nei processori moderni, ci sono più livelli di cache, ognuno più grande e lento dell’altro. Il compilatore Milk deve dunque tener conto non solo degli indirizzi di memoria, ma anche di quelli in cache in tutti i livelli. Deciderà anche quali indirizzi tenere e quali scartare dalla cache. Ecco cosa ha detto a riguardo Matei Zaharia, un professore alla Standfor University: “Molte applicazioni importanti al giorno d’oggi richiedono una grande quantità di dati, ma sfortunatamente, la costante crescita del gap di performance tra CPU e memoria porta a non utilizzare al massimo le prestazioni della CPU. Milk aiuta a ridurre questa differenza di prestazioni ottimizzando l’accesso alla memoria in alcuni dei costrutti di programmazione più frequenti.”

Pubblicato il 6 ott 2016

Potrebbero interessarti

"TRUSTED VOICE", LA NUOVA FUNZIONE CHE PERMETTE DI SBLOCCARE IL TELEFONO CON LA VOCE.

Da anni i produttori di smartphone e dei sistemi operativi annessi cercano di trovare il modo più “smart” per sbloccare l’oggetto più usato dalle nuove generazioni. La prima azienda a sostituire il pin o uno sblocco di tipo grafico “sicuro” è stata Apple con il suo Touch ID poi adottato anche da altre aziende. Tra i sistemi di sicurezza biometrici dopo quello dell’impronta digitale e lo sblocco con il riconoscimento facciale, arriva lo “sblocco con la voce!” . A breve sarà possibile sbloccare qualunque smartphone Android 5.0 "Lollipop" con la voce. Anziché digitare un PIN o utilizzare altri strumenti alternativi per lo sblocco del telefono, basterà pronunciare la frase "OK, Google" per accedere immediatamente al contenuto del dispositivo mobile. La nuova funzionalità si chiama "Trusted Voice" ed è attualmente in corso di attivazione (arriva infatti con un aggiornamento automatico dei Google Services di Android). Questa novità potrebbe costituire la fine dell'obbligo di memorizzare e digitare i codici di accesso, che secondo una ricerca, è un compito che mette in difficoltà la maggior parte degli utenti, dato che il 96% degli intervistati ha confessato di fare spesso errori di battitura quando le digita. L'esigenza di dettare al telefono la parola (o la frase) d'ordine comporta inevitabilmente che chi ci sta attorno possa origliarla e quindi farne un uso illecito. In realtà dovrebbe essere un sistema di autenticazione biometrica che tiene conto anche dell'impronta vocale del legittimo proprietario. Gli estranei non potranno accedere ai dati anche se conosceranno la password. In questo modo, pur conoscendo le esatte parole da pronunciare, un malintenzionato non potrà avere accesso al dispositivo. Inoltre la possibilità di usare intere frasi dovrebbe consentire un maggiore livello di sicurezza grazie alle molteplici possibili combinazioni di parole. I tecnici di Google tengono a rimarcare che "Trusted Voice" è da ritenersi meno sicura anche rispetto all'utilizzo di un PIN o di una password. "Una persona con una voce simile oppure chiunque che detenga una registrazione della voce dell'utente possono essere in grado di sbloccare il dispositivo", si legge in una nota della società di Mountain View.  

COME RISOLVERE I PROBLEMI DELLA BATTERIA DELLO SMARTPHONE CON UNO STUZZICADENTI

Succede sempre così. Guardi il tuo smartphone e ti accorgi di avere la batteria quasi a zero. Niente panico. Prendi lo spinotto del caricabatteria e lo inserisci nell’apposita fessura. Panico. Il telefono non carica, anzi addirittura il cavo non entra nell’apertura adatta. La prima cosa che viene da pensare è che o si è guastata la batteria o che qualcosa non vada nella fessura predisposta per inserire il cavo. Niente di tutto ciò. La ricerca di Cnet.com mostra come spesso il problema sia legato all’accumulo di polvere e sporcizia all’interno del jack della carica e come un intervento semplice ed economico sia in grado di risolvere il problema. Il rimedio? Usare un semplice stuzzicadenti. Spegnendo il dispositivo, si potrà rimuovere delicatamente polvere e sporco all’interno della fessura per riavere ottime prestazioni della batteria. Il video di seguito dimostra come utilizzare al meglio lo stuzzicadenti. Quando si dice la tecnologia! [youtube]https://www.youtube.com/watch?v=Bp1Uy7l_d5Q[/youtube]

CMS headless: gestori di contenuto per le moderne esigenze

Lo sviluppo tecnologico ha portato a dover trasferire contenuti e dati attraverso piattaforme e canali di comunicazione differenti. Anche la gestione del flusso dei dati sul web si è evoluta. I CMS tradizionali non riescono a soddisfare le esigenze moderne per la loro struttura monolitica che prevede la gestione e la visualizzazione dei dati in un unico software. Per questo motivo sono nati i CMS headless, ovvero “senza testa”, poiché la parte di presentazione dei dati (Content Delivery Application) non è presente nel sistema che, è composta dalla sola parte di gestione dei contenuti (Content Management Application).  Il contenuto di questo tipo di CMS si può considerare puro e permette in una sola istanza di essere visualizzato su diverse piattaforme quali siti web, smartphone, tablet e device IoT. I servizi sono offerti mediante delle API di tipo REST basate sul protocollo HTTP. Le diverse operazioni di CRUD sui dati vengono effettuate chiamando il giusto URL che farà da endpoint e utilizzando uno specifico verbo HTTP quali GET, POST, PUT e DELETE. Focalizzandosi solo sulla parte di gestione dei contenuti, il CMS headless è un sistema più semplice di uno tradizionale riuscendo quindi ad offrire i suoi servizi mediante un numero più basso di operazioni. I contenuti possono essere offerti dividendo il carico di gestione e flusso dei dati utilizzando un CDN (Content Delivery Network), il quale permette di ridurre gli attacchi di tipo DDOS. La sua flessibilità permette di sviluppare dei frontend con qualsiasi tecnologia e di facilitarne un loro possibile aggiornamento, senza aver bisogno di dover aggiornare anche il backend. In conclusione possiamo affermare che la tendenza è sempre più quella di sviluppare sistemi di questo tipo o talvolta di tipo ibrido. Non è un caso che alcuni tra i CMS di maggior rilievo come WordPress e Drupal si stiano spostando anch’essi verso questa direzione.