999 resultados para Homeorhetic Assemblies, Stigmergia, tettonica, sistemi multi-agenti, architettura, emergente
Resumo:
I moderni sistemi embedded sono equipaggiati con risorse hardware che consentono l’esecuzione di applicazioni molto complesse come il decoding audio e video. La progettazione di simili sistemi deve soddisfare due esigenze opposte. Da un lato è necessario fornire un elevato potenziale computazionale, dall’altro bisogna rispettare dei vincoli stringenti riguardo il consumo di energia. Uno dei trend più diffusi per rispondere a queste esigenze opposte è quello di integrare su uno stesso chip un numero elevato di processori caratterizzati da un design semplificato e da bassi consumi. Tuttavia, per sfruttare effettivamente il potenziale computazionale offerto da una batteria di processoriè necessario rivisitare pesantemente le metodologie di sviluppo delle applicazioni. Con l’avvento dei sistemi multi-processore su singolo chip (MPSoC) il parallel programming si è diffuso largamente anche in ambito embedded. Tuttavia, i progressi nel campo della programmazione parallela non hanno mantenuto il passo con la capacità di integrare hardware parallelo su un singolo chip. Oltre all’introduzione di multipli processori, la necessità di ridurre i consumi degli MPSoC comporta altre soluzioni architetturali che hanno l’effetto diretto di complicare lo sviluppo delle applicazioni. Il design del sottosistema di memoria, in particolare, è un problema critico. Integrare sul chip dei banchi di memoria consente dei tempi d’accesso molto brevi e dei consumi molto contenuti. Sfortunatamente, la quantità di memoria on-chip che può essere integrata in un MPSoC è molto limitata. Per questo motivo è necessario aggiungere dei banchi di memoria off-chip, che hanno una capacità molto maggiore, come maggiori sono i consumi e i tempi d’accesso. La maggior parte degli MPSoC attualmente in commercio destina una parte del budget di area all’implementazione di memorie cache e/o scratchpad. Le scratchpad (SPM) sono spesso preferite alle cache nei sistemi MPSoC embedded, per motivi di maggiore predicibilità, minore occupazione d’area e – soprattutto – minori consumi. Per contro, mentre l’uso delle cache è completamente trasparente al programmatore, le SPM devono essere esplicitamente gestite dall’applicazione. Esporre l’organizzazione della gerarchia di memoria ll’applicazione consente di sfruttarne in maniera efficiente i vantaggi (ridotti tempi d’accesso e consumi). Per contro, per ottenere questi benefici è necessario scrivere le applicazioni in maniera tale che i dati vengano partizionati e allocati sulle varie memorie in maniera opportuna. L’onere di questo compito complesso ricade ovviamente sul programmatore. Questo scenario descrive bene l’esigenza di modelli di programmazione e strumenti di supporto che semplifichino lo sviluppo di applicazioni parallele. In questa tesi viene presentato un framework per lo sviluppo di software per MPSoC embedded basato su OpenMP. OpenMP è uno standard di fatto per la programmazione di multiprocessori con memoria shared, caratterizzato da un semplice approccio alla parallelizzazione tramite annotazioni (direttive per il compilatore). La sua interfaccia di programmazione consente di esprimere in maniera naturale e molto efficiente il parallelismo a livello di loop, molto diffuso tra le applicazioni embedded di tipo signal processing e multimedia. OpenMP costituisce un ottimo punto di partenza per la definizione di un modello di programmazione per MPSoC, soprattutto per la sua semplicità d’uso. D’altra parte, per sfruttare in maniera efficiente il potenziale computazionale di un MPSoC è necessario rivisitare profondamente l’implementazione del supporto OpenMP sia nel compilatore che nell’ambiente di supporto a runtime. Tutti i costrutti per gestire il parallelismo, la suddivisione del lavoro e la sincronizzazione inter-processore comportano un costo in termini di overhead che deve essere minimizzato per non comprometterre i vantaggi della parallelizzazione. Questo può essere ottenuto soltanto tramite una accurata analisi delle caratteristiche hardware e l’individuazione dei potenziali colli di bottiglia nell’architettura. Una implementazione del task management, della sincronizzazione a barriera e della condivisione dei dati che sfrutti efficientemente le risorse hardware consente di ottenere elevate performance e scalabilità. La condivisione dei dati, nel modello OpenMP, merita particolare attenzione. In un modello a memoria condivisa le strutture dati (array, matrici) accedute dal programma sono fisicamente allocate su una unica risorsa di memoria raggiungibile da tutti i processori. Al crescere del numero di processori in un sistema, l’accesso concorrente ad una singola risorsa di memoria costituisce un evidente collo di bottiglia. Per alleviare la pressione sulle memorie e sul sistema di connessione vengono da noi studiate e proposte delle tecniche di partizionamento delle strutture dati. Queste tecniche richiedono che una singola entità di tipo array venga trattata nel programma come l’insieme di tanti sotto-array, ciascuno dei quali può essere fisicamente allocato su una risorsa di memoria differente. Dal punto di vista del programma, indirizzare un array partizionato richiede che ad ogni accesso vengano eseguite delle istruzioni per ri-calcolare l’indirizzo fisico di destinazione. Questo è chiaramente un compito lungo, complesso e soggetto ad errori. Per questo motivo, le nostre tecniche di partizionamento sono state integrate nella l’interfaccia di programmazione di OpenMP, che è stata significativamente estesa. Specificamente, delle nuove direttive e clausole consentono al programmatore di annotare i dati di tipo array che si vuole partizionare e allocare in maniera distribuita sulla gerarchia di memoria. Sono stati inoltre sviluppati degli strumenti di supporto che consentono di raccogliere informazioni di profiling sul pattern di accesso agli array. Queste informazioni vengono sfruttate dal nostro compilatore per allocare le partizioni sulle varie risorse di memoria rispettando una relazione di affinità tra il task e i dati. Più precisamente, i passi di allocazione nel nostro compilatore assegnano una determinata partizione alla memoria scratchpad locale al processore che ospita il task che effettua il numero maggiore di accessi alla stessa.
Resumo:
Scopo della tesi è studiare la co-evoluzione nei mercati finanziari tra agenti eterogenei, analizzare l’andamento dei prezzi delle azioni e la ricchezza individuale di ciascun agente dopo un periodo di tempo non specificato. Il mercato finanziario è costituito da un numero arbitrario di agenti eterogenei che investono sui titoli parte della loro ricchezza adottando strategie che vadano ad ottimizzare il ritorno economico dopo ogni periodo di tempo. Consideriamo un sistema dinamico con uno scheletro deterministico. Il sistema che descrive questo modello è un sistema di equazioni non lineari e studiamo le condizioni di stabilità per ciascun stato di equilibrio. Consideriamo in particolare due tipologie di agenti; Il primo, cosiddetto cartista ed il secondo, cosiddetto fondamentalista. Ci riferiamo poi alla teoria delle biforcazioni, cioè allo studio del cambio di stabilità del sistema rispetto ad un parametro. Chi tra i due agenti avrà la meglio?? A quali condizioni sopravviverà l’uno o l’altro?
Resumo:
This thesis presents the outcomes of a Ph.D. course in telecommunications engineering. It is focused on the optimization of the physical layer of digital communication systems and it provides innovations for both multi- and single-carrier systems. For the former type we have first addressed the problem of the capacity in presence of several nuisances. Moreover, we have extended the concept of Single Frequency Network to the satellite scenario, and then we have introduced a novel concept in subcarrier data mapping, resulting in a very low PAPR of the OFDM signal. For single carrier systems we have proposed a method to optimize constellation design in presence of a strong distortion, such as the non linear distortion provided by satellites' on board high power amplifier, then we developed a method to calculate the bit/symbol error rate related to a given constellation, achieving an improved accuracy with respect to the traditional Union Bound with no additional complexity. Finally we have designed a low complexity SNR estimator, which saves one-half of multiplication with respect to the ML estimator, and it has similar estimation accuracy.
Resumo:
L'elaborato analizza gli strumenti utilizzati nella gestione di infrastrutture informatiche. In particolare: nel primo capitolo viene fatta una panoramica del Cloud Computing e relativi modelli infrastrutturali e di distribuzione. Nel secondo vengono analizzate le piattaforme di gestione di sistemi basati su architettura IaaS, quali OpenStack, OpenNebula ed Eucalyptus. Nel terzo capitolo vengono esaminati due dei Software Configuration Management maggiormente utilizzati: Puppet e Chef. Nel quarto ed ultimo capitolo viene descritto lo standard OCCI (Open Cloud Computing Interface).
Resumo:
Scopo di questo elaborato di tesi è la modellazione e l’implementazione di una estensione del simulatore Alchemist, denominata Biochemistry, che permetta di simulare un ambiente multi-cellulare. Al fine di simulare il maggior numero possibile di processi biologici, il simulatore dovrà consentire di modellare l’eterogeneità cellulare attraverso la modellazione di diversi aspetti dei sistemi cellulari, quali: reazioni intracellulari, segnalazione tra cellule adiacenti, giunzioni cellulari e movimento. Dovrà, inoltre, essere ammissibile anche l’esecuzione di azioni impossibili nel mondo reale, come la distruzione o la creazione dal nulla di molecole chimiche. In maniera più specifica si sono modellati ed implementati i seguenti processi biochimici: creazione e distruzione di molecole chimiche, reazioni biochimiche intracellulari, scambio di molecole tra cellule adiacenti, creazione e distruzione di giunzioni cellulari. È stata dunque posta particolare enfasi nella modellazione delle reazioni tra cellule vicine, il cui meccanismo è simile a quello usato nella segnalazione cellulare. Ogni parte del sistema è stata modellata seguendo fenomeni realmente presenti nei sistemi multi-cellulari, e documentati in letteratura. Per la specifica delle reazioni chimiche, date in ingresso alla simulazione, è stata necessaria l’implementazione di un Domain Specific Language (DSL) che consente la scrittura di reazioni in modo simile al linguaggio naturale, consentendo l’uso del simulatore anche a persone senza particolari conoscenze di biologia. La correttezza del progetto è stata validata tramite test compiuti con dati presenti in letteratura e inerenti a processi biologici noti e ampiamente studiati.
Resumo:
Parlare di KeyCrime significa rapportarsi con un software che si fonda prioritariamente su di un metodo scientifico che fa proprio il ragionamento conclusivo (conclusive reasoning), applicato al decison making , pertanto all’intelligence investigativa e alla predictive policing. Potremmo pensare a KeyCrime come un paradigma operativo che si pone in sinergia tra la filosofia, il cognitivismo giuridico e le scienze applicate (Romeo F., 2006). Quando analisi e decision making trovano in un unico contesto il terreno fertile dove svilupparsi, ma ancor più, creare presupposti di ragionamento, ecco che da queste è facile comprendere da quale altra condizione sono nate, attivate e soprattutto utilizzate ai fini di un risultato: questa non è altro che “l’osservazione”; se ben fatta, profonda e scientifica offre una sistematica quanto utile predisposizione alle indagini, specialmente di carattere preventivo per l’anticrimine e la sicurezza.
Resumo:
Il locus CYYR1 identificato e clonato sul cromosoma 21 umano è stato caratterizzato dal punto di vista molecolare come un sistema multitrascritto, esclusivo dei vertebrati che ad oggi è orfano di una funzione specifica. Dati presenti in lettura e rintracciati mostrano una possibile relazione tra il gene CYYR1 e il pathway di Sonic Hedgehog (SHH). In questo progetto di tesi è stato utilizzato il modello animale Danio rerio per indagare il ruolo funzionale dell’ortologo (cyyr1), attraverso esperimenti di gain e loss of function che hanno permesso di dimostrare un suo coinvolgimento nello sviluppo del sistema nervoso centrale, del cuore e del tessuto muscolare. Lo studio dell’ortologo in zebrafish è stato associato all’utilizzo di linee cellulari di rabdomiosarcoma umano. I risultati ottenuti dall’induzione al differenziamento miogenico di queste linee, insieme ai dati ottenuti in Danio rerio, confermano il possibile coinvolgimento del gene CYYR1 nella miogenesi. Lo studio delle relazione tra il pathway di SHH e l’espressione del gene CYYR1 è stato condotto in entrambi i modelli con l’utilizzo di differenti inibitori della via di segnalazione. I risultati ottenuti mostrano che sistemi inibitori agenti direttamente sul recettore SMO riducono l’espressione del gene. Un dato inaspettato in Danio rerio ottenuto durante questi esperimenti di inibizione, ha aperto una nuova linea di ricerca in collaborazione con l’Università di Warwick tesa a verificare la relazione tra il gene cyyr1 e il gene lefty1. Gli esperimenti condotti presso il laboratorio della Prof.ssa Sampath hanno dimostrato la localizzazione del prodotto proteico cyyr1 in Danio rerio e indagato co-localizzazioni con la proteina lefty1. Infine, in collaborazione con Dr. Deflorian e della Prof.ssa Pistocchi, è stato generato un mutante di Danio rerio deleto per il gene cyyr1 con la tecnica CRISPR/Cas9. La caratterizzazione del mutante cyyr1 -/- ha confermato alcuni dei dati ottenuti attraverso esperimenti di loss of function.
Resumo:
Vengono analizzate le strategie di rilascio delle principali Distribuzioni Linux e i metodi per la compilazione automatizzata del software. Si propone quindi una nuova metodologia sia per il rilascio di media installabili e sia per la pacchettizzazione. Sfruttando le tecnologie del campo DevOps, si introduce quindi un alto grado di scalabilità anche in ambienti Cloud, grazie anche alla riproducibilità di ogni componente dell'infrastruttura proposta. Vedremo quindi come questo approccio aumenta l'automatizzazione nei cicli produttivi per la realizzazione della Distribuzione Sabayon Linux e per la definizione di un'infrastruttura automatizzata attualmente in production.
Resumo:
Il mondo dell’Internet of Things e del single board computing sono settori in forte espansione al giorno d’oggi e le architetture ARM sono, al momento, i dominatori in questo ambito. I sistemi operativi e i software si stanno evolvendo per far fronte a questo cambiamento e ai nuovi casi d’uso che queste tecnologie introducono. In questa tesi ci occuperemo del porting della distribuzione Linux Sabayon per queste architetture, la creazione di un infrastruttura per il rilascio delle immagini e la compilazione dei pacchetti software.
Resumo:
Information technology (IT) is on the verge of another revolution. Driven by the increasing capabilities and ever declining costs of computing and communications devices, IT is being embedded into a growing range of physical devices linked together through networks and will become ever more pervasive as the component technologies become smaller, faster, and cheaper. [..] These networked systems of embedded computers, referred to as EmNets throughout this report, have the potential to change radically the way people interact with their environment by linking together a range of devices and sensors that will allow information to be collected, shared, and processed in unprecedented ways.[..] The use of EmNets throughout society could well dwarf previous milestones in the information revolution.[..] IT will eventually become \textbf{an invisible component of almost everything} in everyone`s surroundings. Con il ridursi dei costi e l'aumentare della capacità di computazione dei componenti elettronici sono proliferate piattaforme che permettono al bambino come all'ingegnere di sviluppare un'idea che trasversalmente taglia il mondo reale e quello virtuale. Una collisione tra due mondi che fino a poco tempo fa era consentita esclusivamente a professionisti. Oggetti che possono acquisire o estendere funzionalità, che ci permettono di estendere la nostra percezione del mondo e di rivalutarne i suoi limiti. Oggetti connessi alla 'rete delle reti' che condividono ed elaborano dati per un nuovo utilizzo delle informazioni. Con questa tesi si vuole andare ad esplorare l'applicazione degli agenti software alle nuove piattaforme dei sistemi embedded e dell'Internet of Things, tecnologie abbastanza mature eppure non ancora esplorate a fondo. Ha senso modellare un sistema embedded con gli agenti?
Sistemi navigazionali multi sensore per il posizionamento in presenza di brevi periodi di GPS outage
Resumo:
Il posizionamento terrestre negli ultimi anni è stato sempre più facilitato dallo sviluppo delle tecniche satellitari, che permettono di localizzare un punto sulla superficie terrestre con precisioni superiori a quelle richieste per la pura navigazione, tramite la comunicazione tra ricevitore e satelliti. Per la disponibilità del sistema satellitare è indispensabile l’intervisibilità ottica satellite - ricevitore, condizione che viene a mancare nel caso ad esempio di trekking sottobosco, a causa della copertura data da manto vegetale e chiome arboree che non permettono una corretta triangolazione geometrica satellitare. Rientrano nei sistemi navigazionali anche le piattaforme inerziali, sistemi che rilevano le accelerazioni impresse e l’orientamento della piattaforma stessa. Se montati su un veicolo possono fungere da ausilio alla determinazione dell’ “attitude”, cioè dell’atteggiamento del veicolo durante il suo movimento in uno spazio tridimensionale. In questo lavoro ci si propone di unire i benefici delle due tecnologie, satellitari e inerziali, grazie alla complementarietà delle loro caratteristiche sugli errori, unendone le potenzialità e verificando i benefici prodotti dal loro uso integrato. In particolare si utilizzeranno dispositivi di costo relativamente contenuto.