dc.contributor.advisor |
Orlando, Salvatore |
it_IT |
dc.contributor.advisor |
Maron, Gaetano |
it_IT |
dc.contributor.author |
Triossi, Andrea <1979> |
it_IT |
dc.date.accessioned |
2012-07-07T08:32:30Z |
it_IT |
dc.date.accessioned |
2012-07-30T16:05:45Z |
|
dc.date.available |
2012-07-07T08:32:30Z |
it_IT |
dc.date.available |
2012-07-30T16:05:45Z |
|
dc.date.issued |
2012-03-12 |
it_IT |
dc.identifier.uri |
http://hdl.handle.net/10579/1232 |
it_IT |
dc.description.abstract |
In this thesis we want to investigate the compiling of the well-established language
Constraint Handling Rule (CHR) to a low level hardware description language
(HDL). The benefit introduced by a CHR-based hardware synthesis is twofold: it
increases the abstraction level of the common synthesis work-flow and it can give
significant speed up to the execution of a CHR program in terms of computational
time.
We want to propose a method that sets CHR as a starting point for a hardware
description. The developed hardware will be able to turn all the intrinsic concurrency
of the language into parallelism. The rules application is mainly achieved by a
custom executor that handles constraints according to the best degree of parallelism
the implemented CHR specification can offer.
Afterwards we want to integrate the generated hardware code, deployed in a
Field Programmable Gate Array (FPGA), within the traditional software execution
model of CHR. The result will be a prototype system consisting of a CHR execution
engine composed of a general purpose processor coupled with a specialized hardware
accelerator. The former will execute a CHR specification while the latter will
unburden the processor by executing in parallel the most computational intensive
rules.
Finally the performance of the proposed system architecture will be validated by
time efficiency measures. |
it_IT |
dc.description.abstract |
In questa tesi si vuole investigare la compilazione dell'ormai consolidato linguaggio Constraint Handling Rules (CHR) in un hardware description language (HDL) a basso livello. Il vantaggio introdotto da una sintesi di hardware basata su CHR è duplice: permette di aumentare il livello di astrazione del tradizionale processo di sintesi di hardware e può dare accelerazioni significative all'esecuzione di un programma CHR in termini di tempo di computazione. Viene proposto un metodo che parte da CHR per effettuare una descrizione dell'hardware. L'hardware sviluppato sarà in grado di convertire tutta la concorrenza intrinseca al linguaggio in parallelismo. L'applicazione delle regole viene realizzata tramite uno speciale esecutore che tratta i vincoli in modo da effettuare il più alto grado di parallelismo che il programma CHR implementato possa offrire. Successivamente si vuole integrare il codice hardware così sviluppato, e caricato in una Field Programmable Gate Array (FPGA), con il tipico modello di esecuzione di CHR. Ne risulterà un prototipo di un motore di esecuzione basato su CHR e composto da un generico processore accoppiato con uno specifico acceleratore hardware. Il primo eseguirà un programma CHR, mentre il secondo libererà il processore dall'esecuzione delle regole più computazionalmente pesanti tramite la loro parallelizzazione. In conclusione le prestazioni delle architetture proposte saranno avvalorate da misure di efficienza temporale. |
it_IT |
dc.format.medium |
Tesi cartacea |
it_IT |
dc.language.iso |
en |
it_IT |
dc.publisher |
Università Ca' Foscari Venezia |
it_IT |
dc.rights |
© Andrea Triossi, 2012 |
it_IT |
dc.subject |
Constraint programming |
it_IT |
dc.subject |
Hardware synthesis |
it_IT |
dc.subject |
Field Programmable Gate Array (FPGA) |
it_IT |
dc.title |
Hardware execution of constraint handling rules |
it_IT |
dc.type |
Doctoral Thesis |
it_IT |
dc.degree.name |
Informatica |
it_IT |
dc.degree.level |
Dottorato di ricerca |
it_IT |
dc.degree.grantor |
Scuola di dottorato in Scienze e tecnologie (SDST) |
it_IT |
dc.description.academicyear |
2010/2011 |
it_IT |
dc.description.cycle |
24 |
it_IT |
dc.degree.coordinator |
Salibra, Antonino |
it_IT |
dc.location.shelfmark |
D001162 |
it_IT |
dc.location |
Venezia, Archivio Università Ca' Foscari, Tesi Dottorato |
it_IT |
dc.rights.accessrights |
openAccess |
it_IT |
dc.thesis.matricno |
955599 |
it_IT |
dc.format.pagenumber |
[4], VI, 115 p. |
it_IT |
dc.subject.miur |
INF/01 INFORMATICA |
it_IT |
dc.description.tableofcontent |
1 Introduction 1
I Background 5
2 Constraint Handling Rules 7
2.1 Declarative Programming 7
2.1.1 Functional Programming 8
2.1.2 Logic Programming 9
2.1.3 Constraint Programming 11
2.1.4 Rule-based Programming 12
2.2 Constraint Handling Rules 13
2.2.1 Semantics 14
2.2.2 Important CHR properties 22
2.2.3 Parallel execution of CHR 27
3 Reconfigurable Computing 29
3.1 Field-Programmable Gate Arrays 29
3.1.1 FPGAs Architecture 30
3.1.2 Configuration Logic Block 30
3.1.3 Routing system and I/O blocks 31
3.1.4 Embedded components 31
3.1.5 FPGA vs. ASIC 33
3.2 Programming reconfigurable systems 33
3.2.1 FPGA configuration 34
3.2.2 Register transfer level 34
3.2.3 VHDL 36
3.2.4 FPGA physical synthesis 39
3.3 High level synthesis 42
3.3.1 Early HLLs for hardware synthesis 43
3.3.2 Advances in HLLs for hardware synthesis 43
II From CHR to hardware 49
4 Hardware Compilation 51
4.1 The CHR subset 52
4.2 Principles of the hardware blocks 53
4.2.1 Rule Hardware Blocks 53
4.2.2 Program Hardware Block 55
4.2.3 Combinatorial Switch 57
4.3 A structural implementation 60
4.4 Experimental results 61
4.4.1 Greatest common divisor 61
4.4.2 Floyd-Warshall algorithm 63
4.5 Merge sort implementation 64
5 Improving Parallelization 67
5.1 Strong parallelism 67
5.2 Massive parallelism 72
5.2.1 Experimental results 74
5.3 PHB parallelism 74
5.4 Optimizing Merge sort 76
5.4.1 Experimental results 77
6 Hybrid Compilation 79
6.1 Related hardware accelerators 80
6.2 A hardware accelerator for CHR 81
6.2.1 Hardware/software compilation 82
6.2.2 GCD matrix calculation 83
6.2.3 Preflow push algorithm 88
6.2.4 Interval domains solver 90
Conclusions 93
A Program listings 97
B Completeness and time complexity of the synthesizable CHR 105
Bibliography 107 |
it_IT |
dc.identifier.bibliographiccitation |
Andrea Triossi. "Hardware execution of constraint handling rules", Università Ca' Foscari Venezia, tesi di dottorato, 24. ciclo, 2012 |
it_IT |