- -

Implementing high-performance interpreted languages through the use of FPGAs. A proof of concept

RiuNet: Repositorio Institucional de la Universidad Politécnica de Valencia

Compartir/Enviar a

Citas

Estadísticas

  • Estadisticas de Uso

Implementing high-performance interpreted languages through the use of FPGAs. A proof of concept

Mostrar el registro sencillo del ítem

Ficheros en el ítem

dc.contributor.advisor Lucas Alba, Salvador es_ES
dc.contributor.advisor Gutiérrez Gil, Raúl es_ES
dc.contributor.author González Castiñeiras, Daniel es_ES
dc.date.accessioned 2024-10-21T08:17:52Z
dc.date.available 2024-10-21T08:17:52Z
dc.date.created 2024-09-23
dc.date.issued 2024-10-21 es_ES
dc.identifier.uri http://hdl.handle.net/10251/210591
dc.description.abstract [EN] The exponential growth of hardware resources in recent decades has led to substantial software bloat, fostering the development of high-level programming languages that prioritize development efficiency over execution time and resource optimization. However, as the physical limits of transistor miniaturization are reached, this growth is slowing. This presents a challenge for the software industry. Writing efficient, resource-conscious code is complex and time-consuming, while modern development paradigms focus on speeding up the process. This thesis explores the use of reprogrammable hardware to bridge the gap between high-level abstractions and hardware. To this end, we developed LWVCG (Light-Weight Verilog Compiler Generator), a Python framework for specifying and generating hardware interpreters in Verilog. Using this framework, we implemented a hardware-based Just-In-Time (JIT) compiler for the SIMPLER language, a modification of SIMPL. Tested on two low-cost FPGAs (2x Lattice ICE40UP5K), this solution achieved 2x compilation speedup compared to the JavaScript V8 JIT compiler while operating at 1/250th of the clock frequency and consuming 1/16th of the power of an Intel i5-13400 CPU core. es_ES
dc.description.abstract [ES] El crecimiento exponencial de los recursos de hardware en las últimas décadas ha provocado un considerable hinchamiento del software, lo que ha fomentado el desarrollo de lenguajes de programación de alto nivel que priorizan la eficiencia del desarrollo sobre el tiempo de ejecución y la optimización de recursos. Sin embargo, a medida que se alcanzan los límites físicos de la miniaturización de los transistores, este crecimiento se ralentiza. Esto supone un reto para la industria del software: escribir código eficiente y consciente de los recursos es complejo y requiere mucho tiempo, mientras que los paradigmas de desarrollo modernos se centran en acelerar el proceso. Esta tesis explora el uso de hardware reprogramable para salvar la distancia entre las abstracciones de alto nivel y el hardware. Para ello, desarrollamos LWVCG (Light-Weight Verilog Compiler Generator), un marco de trabajo en Python para especificar y generar intérpretes de hardware en Verilog. Utilizando este marco, implementamos un compilador Just-In-Time (JIT) basado en hardware para el lenguaje SIMPLER, una modificación de SIMPL. Probada en dos FPGAs de bajo coste (2x Lattice ICE40UP5K), esta solución consiguió una velocidad de compilación 2 veces superior a la del compilador JIT JavaScript V8, a la vez que funcionaba a 1/250 de la frecuencia de reloj y consumía 1/16 de la potencia de un núcleo de CPU Intel i5-13400 es_ES
dc.description.abstract [CA] El creixement exponencial dels recursos de maquinari en les darreres dècades ha provocat un inflament considerable del programari, cosa que ha fomentat el desenvolupament de llenguatges de programació d’alt nivell que prioritzen l’eficiència del desenvolupament sobre el temps d’execució i l’optimització de recursos. No obstant això, a mesura que s’assoleixen els límits físics de la miniaturització dels transistors, aquest creixement s’alenteix. Això suposa un repte per a la indústria del programari: escriure codi eficient i conscient dels recursos és complex i requereix molt de temps, mentre que els paradigmes de desenvolupament moderns se centren a accelerar el procés. Aquesta tesi explora lús de maquinari reprogramable per salvar la distància entre les abstraccions dalt nivell i el maquinari. Per això, desenvolupem LWVCG (Light-Weight Verilog Compiler Generator), un marc de treball a Python per especificar i generar intèrprets de maquinari a Verilog. Utilitzant aquest marc, implementem un compilador JustIn-Time (JIT) basat en maquinari per al llenguatge SIMPLER, una modificació de SIMPL. Provada en dues FPGAs de baix cost (2x Lattice ICE40UP5K), aquesta solució va aconseguir una velocitat de compilació 2 vegades superior a la del compilador JIT JavaScript V8, alhora que funcionava a 1/250 de la freqüència de rellotge i consumia 1/16 de la potència dun nucli de CPU Intel i5-13400. es_ES
dc.format.extent 98 es_ES
dc.language Inglés es_ES
dc.publisher Universitat Politècnica de València es_ES
dc.rights Reconocimiento - No comercial (by-nc) es_ES
dc.subject Compilation es_ES
dc.subject FPGA es_ES
dc.subject Computing es_ES
dc.subject Interpreted programming languages es_ES
dc.subject Computational efficiency es_ES
dc.subject Energy efficiency es_ES
dc.subject Performance es_ES
dc.subject Compilación es_ES
dc.subject Computación es_ES
dc.subject CPU es_ES
dc.subject Lenguajes de programación interpretados es_ES
dc.subject Eficiencia energética es_ES
dc.subject Eficiencia computacional es_ES
dc.subject Rendimiento es_ES
dc.subject Rust es_ES
dc.subject Go es_ES
dc.subject Javascrip es_ES
dc.subject Zig es_ES
dc.subject Python es_ES
dc.subject Verilog es_ES
dc.subject Custom hardware es_ES
dc.subject Sistemas es_ES
dc.subject.classification LENGUAJES Y SISTEMAS INFORMATICOS es_ES
dc.subject.other Grado en Ingeniería Informática-Grau en Enginyeria Informàtica es_ES
dc.title Implementing high-performance interpreted languages through the use of FPGAs. A proof of concept es_ES
dc.title.alternative Implementación de lenguajes interpretados de alto rendimiento mediante FPGAs. Una prueba de concepto es_ES
dc.title.alternative Implementació de llenguatges interpretats d'alt rendiment mitjançant FPGAs. Una prova de concepte es_ES
dc.type Proyecto/Trabajo fin de carrera/grado es_ES
dc.rights.accessRights Abierto es_ES
dc.contributor.affiliation Universitat Politècnica de València. Departamento de Sistemas Informáticos y Computación - Departament de Sistemes Informàtics i Computació es_ES
dc.contributor.affiliation Universitat Politècnica de València. Escola Tècnica Superior d'Enginyeria Informàtica es_ES
dc.description.bibliographicCitation González Castiñeiras, D. (2024). Implementing high-performance interpreted languages through the use of FPGAs. A proof of concept. Universitat Politècnica de València. http://hdl.handle.net/10251/210591 es_ES
dc.description.accrualMethod TFGM es_ES
dc.relation.pasarela TFGM\163610 es_ES


Este ítem aparece en la(s) siguiente(s) colección(ones)

Mostrar el registro sencillo del ítem