Comparación de rendimiento y esfuerzo de programación entre Rust y C en arquitecturas multicore : Caso de estudio: Simulación de N cuerpos computacionales

Autores
Costanzo, Manuel
Año de publicación
2021
Idioma
español castellano
Tipo de recurso
tesis de maestría
Estado
versión aceptada
Colaborador/a o director/a de tesis
Naiouf, Marcelo
Rucci, Enzo
Descripción
Históricamente, Fortran y C han sido los lenguajes de programación por defecto en la computación de alto rendimiento (High-Performance Computing, HPC). Ambos ofrecen al programador primitivas y funciones que permiten manipular la memoria del sistema e interactuar directamente con el hardware subyacente, resultando en un código eficiente tanto en tiempos de respuesta como en uso de recursos. Como contrapartida, resulta un verdadero desafío generar código que sea mantenible y escalable a lo largo del tiempo en estos tipos de lenguajes. En el 2010 surge Rust, un nuevo lenguaje de programación diseñado para aplicaciones concurrentes y seguras, que adopta características de lenguajes procedurales, orientados a objetos y funcionales. Entre sus principios de diseño, Rust busca igualar a C en términos de eficiencia pero aumentado la seguridad y la productividad del código. Este trabajo presenta un estudio comparativo entre C y Rust en términos de rendimiento y esfuerzo de programación, seleccionando como caso de estudio la simulación de N cuerpos computacionales (N-Body), un problema popular en la comunidad HPC. A partir del trabajo experimental, fue posible determinar que Rust es un lenguaje que reduce el esfuerzo de programación, manteniendo rendimientos aceptables, posicionándolo como una posible alternativa a C para HPC.
Especialista en Cómputo de Altas Prestaciones y Tecnología Grid
Universidad Nacional de La Plata
Facultad de Informática
Materia
Ciencias Informáticas
Lenguajes de Programación
Simulación
Gravitación
Nivel de accesibilidad
acceso abierto
Condiciones de uso
http://creativecommons.org/licenses/by-nc-sa/4.0/
Repositorio
SEDICI (UNLP)
Institución
Universidad Nacional de La Plata
OAI Identificador
oai:sedici.unlp.edu.ar:10915/120119

id SEDICI_600772285b4a840fedb8ab8de69d60d6
oai_identifier_str oai:sedici.unlp.edu.ar:10915/120119
network_acronym_str SEDICI
repository_id_str 1329
network_name_str SEDICI (UNLP)
spelling Comparación de rendimiento y esfuerzo de programación entre Rust y C en arquitecturas multicore : Caso de estudio: Simulación de N cuerpos computacionalesCostanzo, ManuelCiencias InformáticasLenguajes de ProgramaciónSimulaciónGravitaciónHistóricamente, Fortran y C han sido los lenguajes de programación por defecto en la computación de alto rendimiento (High-Performance Computing, HPC). Ambos ofrecen al programador primitivas y funciones que permiten manipular la memoria del sistema e interactuar directamente con el hardware subyacente, resultando en un código eficiente tanto en tiempos de respuesta como en uso de recursos. Como contrapartida, resulta un verdadero desafío generar código que sea mantenible y escalable a lo largo del tiempo en estos tipos de lenguajes. En el 2010 surge Rust, un nuevo lenguaje de programación diseñado para aplicaciones concurrentes y seguras, que adopta características de lenguajes procedurales, orientados a objetos y funcionales. Entre sus principios de diseño, Rust busca igualar a C en términos de eficiencia pero aumentado la seguridad y la productividad del código. Este trabajo presenta un estudio comparativo entre C y Rust en términos de rendimiento y esfuerzo de programación, seleccionando como caso de estudio la simulación de N cuerpos computacionales (N-Body), un problema popular en la comunidad HPC. A partir del trabajo experimental, fue posible determinar que Rust es un lenguaje que reduce el esfuerzo de programación, manteniendo rendimientos aceptables, posicionándolo como una posible alternativa a C para HPC.Especialista en Cómputo de Altas Prestaciones y Tecnología GridUniversidad Nacional de La PlataFacultad de InformáticaNaiouf, MarceloRucci, Enzo2021-05-13info:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/acceptedVersionTrabajo de especializacionhttp://purl.org/coar/resource_type/c_bdccinfo:ar-repo/semantics/tesisDeMaestriaapplication/pdfhttp://sedici.unlp.edu.ar/handle/10915/120119spainfo:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by-nc-sa/4.0/Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)reponame:SEDICI (UNLP)instname:Universidad Nacional de La Platainstacron:UNLP2025-09-29T11:28:24Zoai:sedici.unlp.edu.ar:10915/120119Institucionalhttp://sedici.unlp.edu.ar/Universidad públicaNo correspondehttp://sedici.unlp.edu.ar/oai/snrdalira@sedici.unlp.edu.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:13292025-09-29 11:28:24.806SEDICI (UNLP) - Universidad Nacional de La Platafalse
dc.title.none.fl_str_mv Comparación de rendimiento y esfuerzo de programación entre Rust y C en arquitecturas multicore : Caso de estudio: Simulación de N cuerpos computacionales
title Comparación de rendimiento y esfuerzo de programación entre Rust y C en arquitecturas multicore : Caso de estudio: Simulación de N cuerpos computacionales
spellingShingle Comparación de rendimiento y esfuerzo de programación entre Rust y C en arquitecturas multicore : Caso de estudio: Simulación de N cuerpos computacionales
Costanzo, Manuel
Ciencias Informáticas
Lenguajes de Programación
Simulación
Gravitación
title_short Comparación de rendimiento y esfuerzo de programación entre Rust y C en arquitecturas multicore : Caso de estudio: Simulación de N cuerpos computacionales
title_full Comparación de rendimiento y esfuerzo de programación entre Rust y C en arquitecturas multicore : Caso de estudio: Simulación de N cuerpos computacionales
title_fullStr Comparación de rendimiento y esfuerzo de programación entre Rust y C en arquitecturas multicore : Caso de estudio: Simulación de N cuerpos computacionales
title_full_unstemmed Comparación de rendimiento y esfuerzo de programación entre Rust y C en arquitecturas multicore : Caso de estudio: Simulación de N cuerpos computacionales
title_sort Comparación de rendimiento y esfuerzo de programación entre Rust y C en arquitecturas multicore : Caso de estudio: Simulación de N cuerpos computacionales
dc.creator.none.fl_str_mv Costanzo, Manuel
author Costanzo, Manuel
author_facet Costanzo, Manuel
author_role author
dc.contributor.none.fl_str_mv Naiouf, Marcelo
Rucci, Enzo
dc.subject.none.fl_str_mv Ciencias Informáticas
Lenguajes de Programación
Simulación
Gravitación
topic Ciencias Informáticas
Lenguajes de Programación
Simulación
Gravitación
dc.description.none.fl_txt_mv Históricamente, Fortran y C han sido los lenguajes de programación por defecto en la computación de alto rendimiento (High-Performance Computing, HPC). Ambos ofrecen al programador primitivas y funciones que permiten manipular la memoria del sistema e interactuar directamente con el hardware subyacente, resultando en un código eficiente tanto en tiempos de respuesta como en uso de recursos. Como contrapartida, resulta un verdadero desafío generar código que sea mantenible y escalable a lo largo del tiempo en estos tipos de lenguajes. En el 2010 surge Rust, un nuevo lenguaje de programación diseñado para aplicaciones concurrentes y seguras, que adopta características de lenguajes procedurales, orientados a objetos y funcionales. Entre sus principios de diseño, Rust busca igualar a C en términos de eficiencia pero aumentado la seguridad y la productividad del código. Este trabajo presenta un estudio comparativo entre C y Rust en términos de rendimiento y esfuerzo de programación, seleccionando como caso de estudio la simulación de N cuerpos computacionales (N-Body), un problema popular en la comunidad HPC. A partir del trabajo experimental, fue posible determinar que Rust es un lenguaje que reduce el esfuerzo de programación, manteniendo rendimientos aceptables, posicionándolo como una posible alternativa a C para HPC.
Especialista en Cómputo de Altas Prestaciones y Tecnología Grid
Universidad Nacional de La Plata
Facultad de Informática
description Históricamente, Fortran y C han sido los lenguajes de programación por defecto en la computación de alto rendimiento (High-Performance Computing, HPC). Ambos ofrecen al programador primitivas y funciones que permiten manipular la memoria del sistema e interactuar directamente con el hardware subyacente, resultando en un código eficiente tanto en tiempos de respuesta como en uso de recursos. Como contrapartida, resulta un verdadero desafío generar código que sea mantenible y escalable a lo largo del tiempo en estos tipos de lenguajes. En el 2010 surge Rust, un nuevo lenguaje de programación diseñado para aplicaciones concurrentes y seguras, que adopta características de lenguajes procedurales, orientados a objetos y funcionales. Entre sus principios de diseño, Rust busca igualar a C en términos de eficiencia pero aumentado la seguridad y la productividad del código. Este trabajo presenta un estudio comparativo entre C y Rust en términos de rendimiento y esfuerzo de programación, seleccionando como caso de estudio la simulación de N cuerpos computacionales (N-Body), un problema popular en la comunidad HPC. A partir del trabajo experimental, fue posible determinar que Rust es un lenguaje que reduce el esfuerzo de programación, manteniendo rendimientos aceptables, posicionándolo como una posible alternativa a C para HPC.
publishDate 2021
dc.date.none.fl_str_mv 2021-05-13
dc.type.none.fl_str_mv info:eu-repo/semantics/masterThesis
info:eu-repo/semantics/acceptedVersion
Trabajo de especializacion
http://purl.org/coar/resource_type/c_bdcc
info:ar-repo/semantics/tesisDeMaestria
format masterThesis
status_str acceptedVersion
dc.identifier.none.fl_str_mv http://sedici.unlp.edu.ar/handle/10915/120119
url http://sedici.unlp.edu.ar/handle/10915/120119
dc.language.none.fl_str_mv spa
language spa
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
http://creativecommons.org/licenses/by-nc-sa/4.0/
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
eu_rights_str_mv openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-sa/4.0/
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:SEDICI (UNLP)
instname:Universidad Nacional de La Plata
instacron:UNLP
reponame_str SEDICI (UNLP)
collection SEDICI (UNLP)
instname_str Universidad Nacional de La Plata
instacron_str UNLP
institution UNLP
repository.name.fl_str_mv SEDICI (UNLP) - Universidad Nacional de La Plata
repository.mail.fl_str_mv alira@sedici.unlp.edu.ar
_version_ 1844616162448506880
score 13.069144