Um ambiente de alto desempenho para aplicações científicas escritas em Java.

Detalhes bibliográficos
Autor(a) principal: Artigas, Pedro Vaz
Data de Publicação: 2000
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da USP
Texto Completo: https://www.teses.usp.br/teses/disponiveis/3/3142/tde-04092024-145327/
Resumo: Do ponto de vista de engenharia de software, a linguagem de programação Java é uma plataforma atraente para a codificação de aplicações numéricas e científicas. A maior desvantagem da linguagem, que impede a sua adoção neste domínio de aplicaçõesde maneira mais abrangente, é o desempenho insatisfatório das aplicações codificadas em Java. Neste trabalho apresentamos uma biblioteca de classes que implementa arrays, segue o modelo de Java padrão e fornece um desempenho próximo ao deFORTRAN para aplicações numéricas e científicas. De forma a atingir este nível de performance se faz necessária a utilização de um compilador adequado, utilizamos um compilador, construído para este trabalho, que implementa transformações deprograma avançadas, também aqui descritas. Discutimos em detalhe a implementação de: (i) uma package de Java eficiente que implementa arrays verdadeiramente multidimensionais, e (ii) otimizações, implementadas em um compilador, que criam regiõesde código seguras, livres de verificações de exceções, que podem ser otimizadas de maneira agressiva. Estas técnicas, quando aplicadas em conjunto, tornam Java uma linguagem eficiente para a codificação de aplicações numéricas e científicas. Emum conjunto de oito programas benckmark foi obtido um desempenho entre 50% e 90% do desempenho obtido utilizando as mesmas aplicações compiladas com um compilador otimizador avançado para a linguagem FORTRAN. Isto representa uma melhora de ordem de grandeza elevada se compararmos com o que pode ser obtido com o segundo melhor ambiente Java disponível para a plataforma utilizada.
id USP_5db3a25c1224e5d3a23a6885438b552a
oai_identifier_str oai:teses.usp.br:tde-04092024-145327
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str 2721
spelling Um ambiente de alto desempenho para aplicações científicas escritas em Java.Untitled in englishAplicações científicasJava languageLinguagem JavaScientific applicationsDo ponto de vista de engenharia de software, a linguagem de programação Java é uma plataforma atraente para a codificação de aplicações numéricas e científicas. A maior desvantagem da linguagem, que impede a sua adoção neste domínio de aplicaçõesde maneira mais abrangente, é o desempenho insatisfatório das aplicações codificadas em Java. Neste trabalho apresentamos uma biblioteca de classes que implementa arrays, segue o modelo de Java padrão e fornece um desempenho próximo ao deFORTRAN para aplicações numéricas e científicas. De forma a atingir este nível de performance se faz necessária a utilização de um compilador adequado, utilizamos um compilador, construído para este trabalho, que implementa transformações deprograma avançadas, também aqui descritas. Discutimos em detalhe a implementação de: (i) uma package de Java eficiente que implementa arrays verdadeiramente multidimensionais, e (ii) otimizações, implementadas em um compilador, que criam regiõesde código seguras, livres de verificações de exceções, que podem ser otimizadas de maneira agressiva. Estas técnicas, quando aplicadas em conjunto, tornam Java uma linguagem eficiente para a codificação de aplicações numéricas e científicas. Emum conjunto de oito programas benckmark foi obtido um desempenho entre 50% e 90% do desempenho obtido utilizando as mesmas aplicações compiladas com um compilador otimizador avançado para a linguagem FORTRAN. Isto representa uma melhora de ordem de grandeza elevada se compararmos com o que pode ser obtido com o segundo melhor ambiente Java disponível para a plataforma utilizada.From a software engineering perspective, the Java programming language provides an attractive platform for writing numerically intensive applications. A major drawback hampering its widespread adoption in this domain has been its poor performanceon numerical codes. In this work we describe an array library that support standard Java and deliver near-FORTRAN performance on numerically intensive codes. In order to reach this level of performance we utilized a research compiler, thatimplements advanced transformations described in this text. We discuss in detail the implementation of: (i) an efficient Java package for true multidimensional arrays; and (ii) compiler optimizations that create safe, exception free regions ofcode that can be aggressively optimized. These techniques work together synergistically to make Java an efficient language for technical computing. In a set of eight benchmarks we achieve between 50% and 90% of the performance of highlyoptimized FORTRAN code. This represents a several-fold improvement compared by what can be achieved by the next best Java environment available in our platform.Biblioteca Digitais de Teses e Dissertações da USPZucchi, Wagner LuizArtigas, Pedro Vaz2000-07-14info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://www.teses.usp.br/teses/disponiveis/3/3142/tde-04092024-145327/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesspor2024-09-04T17:57:02Zoai:teses.usp.br:tde-04092024-145327Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212024-09-04T17:57:02Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.none.fl_str_mv Um ambiente de alto desempenho para aplicações científicas escritas em Java.
Untitled in english
title Um ambiente de alto desempenho para aplicações científicas escritas em Java.
spellingShingle Um ambiente de alto desempenho para aplicações científicas escritas em Java.
Artigas, Pedro Vaz
Aplicações científicas
Java language
Linguagem Java
Scientific applications
title_short Um ambiente de alto desempenho para aplicações científicas escritas em Java.
title_full Um ambiente de alto desempenho para aplicações científicas escritas em Java.
title_fullStr Um ambiente de alto desempenho para aplicações científicas escritas em Java.
title_full_unstemmed Um ambiente de alto desempenho para aplicações científicas escritas em Java.
title_sort Um ambiente de alto desempenho para aplicações científicas escritas em Java.
author Artigas, Pedro Vaz
author_facet Artigas, Pedro Vaz
author_role author
dc.contributor.none.fl_str_mv Zucchi, Wagner Luiz
dc.contributor.author.fl_str_mv Artigas, Pedro Vaz
dc.subject.por.fl_str_mv Aplicações científicas
Java language
Linguagem Java
Scientific applications
topic Aplicações científicas
Java language
Linguagem Java
Scientific applications
description Do ponto de vista de engenharia de software, a linguagem de programação Java é uma plataforma atraente para a codificação de aplicações numéricas e científicas. A maior desvantagem da linguagem, que impede a sua adoção neste domínio de aplicaçõesde maneira mais abrangente, é o desempenho insatisfatório das aplicações codificadas em Java. Neste trabalho apresentamos uma biblioteca de classes que implementa arrays, segue o modelo de Java padrão e fornece um desempenho próximo ao deFORTRAN para aplicações numéricas e científicas. De forma a atingir este nível de performance se faz necessária a utilização de um compilador adequado, utilizamos um compilador, construído para este trabalho, que implementa transformações deprograma avançadas, também aqui descritas. Discutimos em detalhe a implementação de: (i) uma package de Java eficiente que implementa arrays verdadeiramente multidimensionais, e (ii) otimizações, implementadas em um compilador, que criam regiõesde código seguras, livres de verificações de exceções, que podem ser otimizadas de maneira agressiva. Estas técnicas, quando aplicadas em conjunto, tornam Java uma linguagem eficiente para a codificação de aplicações numéricas e científicas. Emum conjunto de oito programas benckmark foi obtido um desempenho entre 50% e 90% do desempenho obtido utilizando as mesmas aplicações compiladas com um compilador otimizador avançado para a linguagem FORTRAN. Isto representa uma melhora de ordem de grandeza elevada se compararmos com o que pode ser obtido com o segundo melhor ambiente Java disponível para a plataforma utilizada.
publishDate 2000
dc.date.none.fl_str_mv 2000-07-14
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://www.teses.usp.br/teses/disponiveis/3/3142/tde-04092024-145327/
url https://www.teses.usp.br/teses/disponiveis/3/3142/tde-04092024-145327/
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv
dc.rights.driver.fl_str_mv Liberar o conteúdo para acesso público.
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Liberar o conteúdo para acesso público.
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.coverage.none.fl_str_mv
dc.publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
dc.source.none.fl_str_mv
reponame:Biblioteca Digital de Teses e Dissertações da USP
instname:Universidade de São Paulo (USP)
instacron:USP
instname_str Universidade de São Paulo (USP)
instacron_str USP
institution USP
reponame_str Biblioteca Digital de Teses e Dissertações da USP
collection Biblioteca Digital de Teses e Dissertações da USP
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)
repository.mail.fl_str_mv virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br
_version_ 1815256487028588544