<< Chapter < Page Chapter >> Page >

Se ha dicho, "No sé qué lenguaje se usará para programar computadoras de alto rendimiento dentro de 10 años, pero sí que se llamará FORTRAN". A riesgo de iniciar una guerra de exterminio, necesitamos discutir las fortalezas y debilidades de los lenguajes que se usan para cómputo de alto rendimiento. Muchos científicos de computadoras (no científicos de la computación) se han entrenado en una dieta continua de C, C++ Que conste que ambos autores de este libro son consumados expertos en C, C++ y FORTRAN, y no tienen nociones preconcebidas. o algún otro lenguaje enfocado en estructuras de datos u objetos. Cuando los estudiantes se topan por vez primera con el cómputo de alto rendimiento, tienen el deseo instintivo de continuar programando en su lenguaje favorito. Sin embargo, si se quiere obtener el rendimiento máximo en un extenso rango de arquitecturas, FORTRAN es el único lenguaje práctico.

Cuando los estudiantes preguntan el porqué, usualmente la primera respuesta es "porque siempre ha sido así". Y en cierta forma es cierto. Físicos, ingenieros mecánicos, químicos, ingenieros estructurales y meteorólogos realizan mucha programación en computadoras de alto rendimiento, y FORTRAN es el lenguaje en esos campos. (¿Cuándo fue la última vez que un estudiante de ciencias de la computación escribió un programa que funcione apropiadamente, y que calcule durante una semana completa?) Así que de forma natural los vendedores de computadoras de alto rendimiento ponen un gran esfuerzo en hacer que FORTRAN trabaje muy bien en la arquitectura que comercializan.

Pero, claro está, ésta no es la única razón por la cual FORTRAN es el mejor lenguaje. Hay algunos elementos fundamentales que hacen que C, C++ o cualesquiera otro lenguaje orientado a las estructuras de datos no resulte adecuado para la programación de alto rendimiento. En una palabra, el problema son los apuntadores . Los apuntadores (o direcciones) son la forma mediante la cual los buenos científicos de la computación construyen listas ligadas, árboles binarios, colas dobles y toda clase de elegantes estructuras de datos. El problema estriba en que el efecto de una operación con apuntadores sólo se conoce a tiempo de ejecución, cuando el valor de dicho apuntador se carga en memoria. Una vez que el optimizador del compilador ve un apuntador, se vienen abajo todas las apuestas. No puede hacerse ninguna suposición sobre el efecto de una operación de apuntadores a tiempo de compilación. Debe generarse código conservador (menos optimizado) que simplemente hace exactamente la misma operación en lenguaje máquina, que la que describe el lenguaje de alto nivel.

Aunque la carencia de apuntadores en FORTRAN es una ventaja para la optimización, limita seriamente la habilidad del programador para crear estructuras de datos. En ciertas aplicaciones, especialmente en aquellas altamente escalables y basadas en redes, el uso de las estructuras de datos adecuadas puede mejorar significativamente el rendimiento global de la aplicación. Para resolverlo, en la especificación de FORTRAN 90 se han agregado apuntadores al lenguaje. En cierto modo, se trata de un intento de la comunidad FORTRAN para evitar que los programadores usen C en sus aplicaciones en aquellas áreas donde requieren del uso de estructuras de datos. Si los programadores comienzan a usar apuntadores en sus códigos, sus programas en FORTRAN sufrirán los mismos problemas que inhiben la optimización de los programas en C. En cierto modo FORTRAN ha renunciado a su principal ventaja respecto a C, por tratar de parecerse a C. El debate acerca de los apuntadores es una de las razones que ha frenado la tasa de adopción de FORTRAN 90. Muchos programadores prefieren crear sus estructuras de datos, comunicaciones y otro trabajo de contabilidad en C, y hacer sus cálculos en FORTRAN 77.

FORTRAN 90 también tiene fortalezas y debilidades cuando se le compara con FORTRAN 77 en plataformas de cómputo de alto rendimiento. FORTRAN 90 tiene una fuerte ventaja sobre FORTRAN 77 en su semántica mejorada, que da mayores oportunidades para optimizaciones avanzadas. Esta ventaja es especialmente cierta sobre sistemas de memoria distribuida, en los que la descomposición de datos es un factor significativo. (Véase [link] .) Sin embargo, hasta que FORTRAN 90 se vuelva popular, los vendedores no tendrán motivación para exprimir hasta el último bit de rendimiento de FORTRAN 90.

Así que mientras FORTRAN 77 continúe siendo el lenguaje principal para el cómputo de alto rendimiento en el futuro cercano, otros lenguajes como C y FORTRAN 90 tendrán que jugar papeles limitados y potencialmente incrementales. En cierto modo el retador potencial más fuerte a FORTRAN a largo plazo puede venir en la forma de un conjunto de herramientas numéricas como Matlab. Sin embargo, los paquetes como Matlab tienen su propio conjunto de retos de optimización que deben superarse antes de que puedan derrocar a FORTRAN 77.

Questions & Answers

Biology is a branch of Natural science which deals/About living Organism.
Ahmedin Reply
what is phylogeny
Odigie Reply
evolutionary history and relationship of an organism or group of organisms
AI-Robot
ok
Deng
what is biology
Hajah Reply
cell is the smallest unit of the humanity biologically
Abraham
what is biology
Victoria Reply
what is biology
Abraham
HOW CAN MAN ORGAN FUNCTION
Alfred Reply
the diagram of the digestive system
Assiatu Reply
allimentary cannel
Ogenrwot
How does twins formed
William Reply
They formed in two ways first when one sperm and one egg are splited by mitosis or two sperm and two eggs join together
Oluwatobi
what is genetics
Josephine Reply
Genetics is the study of heredity
Misack
how does twins formed?
Misack
What is manual
Hassan Reply
discuss biological phenomenon and provide pieces of evidence to show that it was responsible for the formation of eukaryotic organelles
Joseph Reply
what is biology
Yousuf Reply
the study of living organisms and their interactions with one another and their environment.
Wine
discuss the biological phenomenon and provide pieces of evidence to show that it was responsible for the formation of eukaryotic organelles in an essay form
Joseph Reply
what is the blood cells
Shaker Reply
list any five characteristics of the blood cells
Shaker
lack electricity and its more savely than electronic microscope because its naturally by using of light
Abdullahi Reply
advantage of electronic microscope is easily and clearly while disadvantage is dangerous because its electronic. advantage of light microscope is savely and naturally by sun while disadvantage is not easily,means its not sharp and not clear
Abdullahi
cell theory state that every organisms composed of one or more cell,cell is the basic unit of life
Abdullahi
is like gone fail us
DENG
cells is the basic structure and functions of all living things
Ramadan
What is classification
ISCONT Reply
is organisms that are similar into groups called tara
Yamosa
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Cómputo de alto rendimiento. OpenStax CNX. Sep 02, 2011 Download for free at http://cnx.org/content/col11356/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Cómputo de alto rendimiento' conversation and receive update notifications?

Ask