¡Ruta de aprendizaje de computación de alto rendimiento súper detallada! señorita arrepentimiento

1. Introducción a la Computación de Alto Rendimiento

1.1 ¿Qué es la informática de alto rendimiento?

La computación de alto rendimiento (High Performance Computing, HPC) es una tecnología y un campo informático que tiene como objetivo lograr tareas informáticas rápidas, a gran escala y eficientes mediante el uso de computación paralela y hardware dedicado. Su objetivo es proporcionar una potencia informática y un rendimiento más potentes que los ordenadores tradicionales mediante la utilización de múltiples procesadores, múltiples nodos informáticos y algoritmos optimizados, así como sistemas de almacenamiento y transmisión de datos de alta velocidad.

La computación de alto rendimiento a menudo se usa para resolver problemas científicos, de ingeniería y comerciales complejos, lo que implica tareas como el procesamiento de datos a gran escala, la simulación, el análisis de datos y la optimización de modelos. Desempeña un papel importante en muchos campos, como la astronomía, las ciencias biológicas, la meteorología, el diseño de ingeniería, el análisis financiero y el descubrimiento de fármacos, etc.

La idea central de la informática de alto rendimiento es descomponer las tareas informáticas en varias subtareas y ejecutarlas simultáneamente en varias unidades de procesamiento (como procesadores multinúcleo, unidades de procesamiento de gráficos (GPU) o aceleradores dedicados) para mejorar significativamente la velocidad informática y eficiencia. La computación paralela, la computación distribuida y los algoritmos de optimización son las tecnologías clave para realizar la computación de alto rendimiento.

La computación de alto rendimiento involucra tecnologías y conceptos en muchos aspectos, incluidos modelos de programación paralela (como MPI, OpenMP y CUDA), sistemas de archivos de alto rendimiento (como Lustre y GPFS), herramientas de administración de clústeres (como Slurm y PBS) y herramienta de análisis y ajuste de rendimiento. Su desarrollo está influenciado por los continuos avances en hardware informático, comunicaciones de red, tecnología de almacenamiento y optimización de algoritmos.

En conclusión, la computación de alto rendimiento es una tecnología informática que puede manejar tareas informáticas complejas y a gran escala. Al utilizar computación paralela y hardware dedicado para lograr una computación rápida, eficiente y precisa, proporciona poderosas capacidades informáticas y capacidades de procesamiento de datos.

1.2 Historia de la computación de alto rendimiento

La historia de la informática de alto rendimiento se remonta a la era informática temprana en la década de 1940. Los siguientes son algunos años y representantes específicos:

Década de 1940: durante la Segunda Guerra Mundial, las primeras computadoras se utilizan para cálculos científicos y de ingeniería debido a las necesidades militares. Los representantes incluyen:

Conway (John von Neumann): hizo importantes contribuciones a la arquitectura de computadoras y la teoría de la computación, y propuso el concepto de arquitectura de von Neumann.

Década de 1950: durante este período, las computadoras comenzaron a ser ampliamente utilizadas en ciencia e ingeniería. Los representantes incluyen:

Johnson (Grace Hopper): Desarrolló el primer compilador, sentando las bases para los lenguajes de programación de alto nivel.

Shockley (Seymour Cray): diseñó la primera supercomputadora del mundo CDC 6600, es considerado uno de los fundadores de la computación de alto rendimiento.

Década de 1960: comienza a desarrollarse el concepto de una supercomputadora y aparecen más fabricantes de computadoras. Los representantes incluyen:

Clay Siegel (Gene Amdahl): Diseñó la línea principal de supercomputadoras de IBM, como IBM System/360 e IBM System/370.

Década de 1970: durante este período, el rendimiento y la facilidad de uso de la computadora mejoraron drásticamente. Los representantes incluyen:

Donald Knuth: escribió el libro clásico "El arte de la programación informática" en el campo de la informática e hizo importantes contribuciones a los algoritmos y las estructuras de datos.

Década de 1980: se realizan grandes avances en el desarrollo de supercomputadoras y la necesidad de computación de alto rendimiento en los negocios y la ciencia continúa aumentando. Los representantes incluyen:

Cook (Seymour Cray): diseñó varias supercomputadoras, como Cray-1, Cray-2 y Cray-3, y se convirtió en una figura importante en el campo de las supercomputadoras.

Década de 1990: la computación de alto rendimiento comenzó a penetrar en una gama más amplia de campos y el alcance de la aplicación se expandió. Los representantes incluyen:

Gordon Bell: Hizo importantes contribuciones al campo de las supercomputadoras y la computación paralela, y propuso la Ley de Bell.

Década de 2000 al presente: con el avance continuo de la tecnología de hardware de computadora, la computación de alto rendimiento se ha utilizado ampliamente y se ha convertido en el equipo básico en muchos campos de la ciencia y la ingeniería.

preparar. Los representantes e hitos incluyen:

Andrew Tanenbaum y David J. Kuck introdujeron un nuevo modelo de programación paralela, OpenMP, en 2006, que se convirtió en un estándar de programación paralela de memoria compartida ampliamente utilizado.

En 2008, la lista de supercomputadoras TOP500 presentó por primera vez la prueba comparativa global High Performance Computing Group (HPCG) dirigida por los ganadores del premio Turing Jack Dongarra y Erich Strohmaier. Esta comparativa refleja mejor los requisitos de rendimiento de las aplicaciones reales.

CUDA (arquitectura de dispositivo unificado de cómputo), lanzada por NVIDIA en 2007, proporciona una plataforma de desarrollo para cómputo paralelo en GPU (unidad de procesamiento de gráficos), lo que lidera el desarrollo de cómputo GPU.

En 2013, el Departamento de Energía de EE. UU. lanzó una supercomputadora superior con un rendimiento máximo de 20 PFLOPS (operaciones de punto flotante por segundo), llamada "Titan", que marcó un nuevo hito en el rendimiento de las supercomputadoras.

La Conferencia de Computación de Alto Rendimiento de 2023 publicó la última lista IO500. El clúster de computación de verificación (Cheeloo-1) construido por el Centro Nacional de Supercomputación de Jinan encabezó la lista de investigación de 10 nodos, con un puntaje de prueba superior a 130,000. Después de que Jinan Supercomputing Shanhe Computing Cluster ganó el campeonato ISC2022, el National Supercomputing Jinan Center una vez más ganó el mundo con una ventaja absoluta de 15 veces el mejor récord de la historia.

1.3 Las conocidas ventajas de la informática de alto rendimiento

Alta potencia informática: el sistema informático de alto rendimiento tiene una potente potencia informática y puede manejar tareas informáticas complejas y a gran escala. Utiliza cómputo paralelo y hardware dedicado (como procesadores multinúcleo, procesadores de gráficos y aceleradores) para lograr operaciones de cómputo de alta velocidad, lo que mejora en gran medida la eficiencia y el rendimiento de cómputo.

Procesamiento de datos a gran escala: los sistemas informáticos de alto rendimiento pueden procesar colecciones de datos a gran escala, incluidos datos masivos y datos de gran dimensión. Proporciona un sistema de transmisión y almacenamiento de datos de alta velocidad que puede leer, procesar y almacenar rápidamente grandes cantidades de datos, y admite tareas complejas de análisis de datos, simulación y optimización de modelos.

Velocidad informática rápida: el sistema informático de alto rendimiento puede aumentar significativamente la velocidad informática a través de algoritmos informáticos y de optimización paralelos. Descompone las tareas informáticas en varias subtareas y las ejecuta simultáneamente en varias unidades de procesamiento, lo que reduce considerablemente el tiempo de cálculo y permite completar rápidamente tareas que, de otro modo, llevarían mucho tiempo.

Resolver problemas complejos: los sistemas informáticos de alto rendimiento pueden manejar y resolver varios problemas complejos, incluida la investigación científica, la simulación de ingeniería, el pronóstico del tiempo, el modelado financiero, etc. Permite cálculos numéricos precisos, simulaciones y optimizaciones para ayudar a los científicos, ingenieros y tomadores de decisiones a comprender mejor y resolver problemas prácticos.

Mejorar la innovación y el descubrimiento: la computación de alto rendimiento proporciona un apoyo fundamental para la investigación científica y la innovación en ingeniería. Es capaz de realizar complejos experimentos de simulación y análisis de datos, lo que ayuda a los científicos a explorar lo desconocido y acelerar el proceso de descubrimiento e innovación.

Acelere el desarrollo y la optimización de productos: la HPC se puede utilizar para tareas como el diseño de productos, la optimización de procesos y la evaluación del rendimiento. Puede realizar simulación virtual y experimentos de simulación para ayudar a las empresas a verificar y mejorar rápidamente el diseño del producto, reducir los costos y el tiempo de desarrollo y mejorar la calidad y el rendimiento del producto.

Apoyar la toma de decisiones: la computación de alto rendimiento puede proporcionar análisis de datos precisos y predicciones de modelos, brindando información importante y orientación para los tomadores de decisiones. Puede realizar minería de datos a gran escala y reconocimiento de patrones para ayudar a descubrir asociaciones y tendencias ocultas y proporcionar una base científica para la toma de decisiones.

1.4 Escenarios de aplicación de la informática de alto rendimiento

La Computación de Alto Rendimiento (High Performance Computing, HPC) tiene una amplia gama de aplicaciones en diversos campos. Estos son algunos de los principales escenarios de aplicación para la informática de alto rendimiento:

Investigación científica: la computación de alto rendimiento juega un papel importante en la investigación en los campos de la física, la química, la astronomía, la biología y otras ciencias. Es capaz de realizar simulaciones y cálculos complejos, lo que ayuda a los científicos a explorar cuestiones científicas en los campos del origen del universo, la estructura de la materia, las simulaciones moleculares y el cambio climático.

Diseño y simulación de ingeniería: la computación de alto rendimiento juega un papel clave en el diseño y la simulación de ingeniería. Puede realizar análisis de mecánica estructural a gran escala, simulación de mecánica de fluidos, modelado de campos electromagnéticos, etc., lo que ayuda a los ingenieros a optimizar el diseño del producto, mejorar el proceso de fabricación y mejorar el rendimiento y la confiabilidad del producto.

Meteorología y modelado climático: la computación de alto rendimiento se usa ampliamente en la meteorología y la investigación climática. Es capaz de realizar predicciones meteorológicas numéricas a gran escala, simulaciones climáticas y pronósticos medioambientales, proporcionando información meteorológica y climática importante para meteorólogos, climatólogos y responsables de la toma de decisiones gubernamentales.

Desarrollo de fármacos y bioinformática: la computación de alto rendimiento es de gran importancia en los campos del descubrimiento de fármacos y la bioinformática. Puede realizar simulación molecular, detección de fármacos, análisis de genomas y otras tareas, lo que ayuda a acelerar el proceso de descubrimiento de nuevos fármacos, tratamiento de enfermedades y medicina personalizada.

Finanzas y análisis de riesgos: HPC se usa ampliamente en la industria financiera para tareas como la gestión de riesgos, la fijación de precios de activos y la optimización de carteras. Puede realizar cálculos de modelos financieros y análisis de datos a gran escala para ayudar a las instituciones financieras a formular estrategias de gestión de riesgos y decisiones de inversión.

Exploración y optimización de la energía: la computación de alto rendimiento juega un papel importante en la exploración, el desarrollo y la optimización del sector de la energía. Puede realizar tareas como simulación sísmica, optimización del desarrollo de campos de petróleo y gas y optimización del diseño de parques eólicos, lo que ayuda a las empresas de energía a mejorar la eficiencia de la exploración, optimizar la producción y reducir el impacto ambiental.

Previsión de mercado y análisis de Big Data: la informática de alto rendimiento desempeña un papel importante en la previsión del mercado, el análisis de Big Data y la inteligencia empresarial. Es capaz de manejar datos a gran escala.

1.5 Términos comunes para computación de alto rendimiento

Computación paralela (Parallel Computing): una tecnología que descompone una tarea informática en varias subtareas y acelera el proceso informático mediante la ejecución de estas subtareas simultáneamente.

Computación distribuida: una tecnología que distribuye tareas informáticas a múltiples nodos informáticos o clústeres de computadoras para computación paralela.

Supercomputadora: Un gran sistema informático con un poder de cómputo y una capacidad de almacenamiento extremadamente altos, que se utiliza para resolver problemas científicos, de ingeniería y comerciales complejos.

Procesador multinúcleo: un procesador que integra múltiples núcleos de procesamiento en un chip y puede ejecutar múltiples subprocesos o tareas al mismo tiempo.

Acelerador (Accelerator): un dispositivo de hardware utilizado para acelerar tareas informáticas específicas, como unidades de procesamiento de gráficos (GPU) y coprocesadores (como Intel's Xeon Phi).

Sistema de archivos de alto rendimiento: un sistema de archivos con transmisión de datos de alta velocidad y capacidades de almacenamiento para procesar recopilaciones de datos a gran escala.

Redes de alto rendimiento: arquitectura de red y tecnologías para la transmisión y comunicación de datos a alta velocidad, como InfiniBand, Ethernet, etc.

Modelos de programación de alto rendimiento (High Performance Programming Models): modelos y marcos de programación para escribir programas paralelos y concurrentes, como MPI (Message Passing Interface), OpenMP, CUDA, etc.

Computación paralela a gran escala (Large-scale Parallel Computing): una tecnología que realiza computación paralela en miles o incluso millones de nodos informáticos para manejar tareas informáticas de escala extremadamente grande.

Paralelismo de datos (Paralelismo de datos): divida los datos en varias partes y diferentes unidades de procesamiento realizan cálculos paralelos en sus respectivas partes de datos.

Paralelismo de tareas (Task Parallelism): una tecnología que divide las tareas en varias subtareas independientes y las asigna a diferentes unidades de procesamiento para su ejecución en paralelo.

Compilador de alto rendimiento: un compilador optimizado para necesidades informáticas de alto rendimiento que puede generar código de máquina eficiente.

2.2 ¿Está saturado el desarrollo de HPC?

El campo del desarrollo de HPC no está saturado actualmente, pero está en constante crecimiento y evolución. Aunque la informática de alto rendimiento ha logrado muchos logros y avances importantes, el desarrollo de la informática de alto rendimiento todavía tiene un gran potencial y perspectivas a medida que la demanda de potencia informática en los campos de la ciencia, la ingeniería y los negocios sigue aumentando. Aquí hay algunas razones para apoyar este punto de vista:

Explosión de datos y mayor complejidad: con el advenimiento de la era de los grandes datos, el tamaño y la complejidad de los datos aumentan constantemente. La informática de alto rendimiento puede procesar colecciones de datos a gran escala y realizar cálculos y análisis complejos para satisfacer la demanda de capacidades de procesamiento de datos.

Demanda en campos emergentes: con el rápido desarrollo de tecnologías emergentes como la inteligencia artificial, el aprendizaje automático y el aprendizaje profundo, la demanda de computación de alto rendimiento también está aumentando. Estos campos requieren una potencia informática masiva para entrenar y razonar modelos complejos, y la informática de alto rendimiento juega un papel clave.

La necesidad de simulación y modelado: la simulación y el modelado son herramientas indispensables en la investigación científica y el diseño de ingeniería. A medida que aumenta la complejidad de los problemas científicos y los proyectos de ingeniería, también aumenta la necesidad de computación de alto rendimiento para respaldar esfuerzos de modelado y simulación más precisos y detallados.

Avances en hardware y tecnología: con el avance continuo de la tecnología de hardware, incluidas las innovaciones en los procesadores, la memoria y las redes, las capacidades y la eficiencia de la informática de alto rendimiento también mejoran constantemente. Una nueva generación de tecnologías de supercomputadoras y aceleradores proporciona una infraestructura más poderosa para el desarrollo de computación de alto rendimiento.

Demanda de computación en tiempo real y edge computing: con el desarrollo de IoT, ciudades inteligentes y automatización industrial, la demanda de computación en tiempo real y edge computing también está aumentando. La computación de alto rendimiento puede admitir un procesamiento de datos en tiempo real y una toma de decisiones rápidos y eficientes para cumplir con los requisitos de las aplicaciones en tiempo real.

2.3 Desarrollo avanzado de ingenieros de HPC

Experto en dominio: estudio en profundidad de las aplicaciones informáticas de alto rendimiento en un campo específico y convertirse en un experto en este campo. Por ejemplo, en el campo de la simulación climática, conviértete en un experto en combinar computación de alto rendimiento con modelos climáticos.

Diseñador de arquitectura: comprensión profunda de la arquitectura y los principios de diseño de los sistemas informáticos de alto rendimiento, y ser capaz de diseñar y optimizar la arquitectura de hardware y software de los sistemas informáticos de alto rendimiento.

Expertos en optimización del rendimiento: se centran en analizar y optimizar el rendimiento de las aplicaciones informáticas de alto rendimiento, incluida la optimización de algoritmos, la paralelización, la gestión de la memoria, etc., para mejorar la eficiencia y el rendimiento de las aplicaciones.

Expertos en programación paralela: expertos en técnicas y herramientas de programación paralela, capaces de diseñar y desarrollar aplicaciones informáticas paralelas de alto rendimiento y optimizarlas para plataformas de hardware específicas.

Expertos en análisis de big data: al combinar la informática de alto rendimiento y las tecnologías de análisis de big data, pueden procesar y analizar recopilaciones de datos a gran escala y extraer información y conocimientos valiosos de ellos.

Expertos en redes de alto rendimiento: concéntrese en diseñar y optimizar la arquitectura de red de los sistemas informáticos de alto rendimiento para proporcionar capacidades de comunicación y transmisión de datos de alta velocidad.

Emprendedores y líderes tecnológicos: Aspirantes a iniciar un negocio o liderar un equipo para promover la innovación y la aplicación de tecnología informática de alto rendimiento en campos o industrias específicas.

2.4 Perspectivas de empleo de la informática de alto rendimiento

Debido al rápido aumento del aprendizaje profundo en los últimos dos años, la popularidad de la supercomputación en Internet y la aplicación a gran escala de AIGC, la demanda de ingenieros informáticos de alto rendimiento en diversas industrias se ha disparado, por lo que el salario de la informática de alto rendimiento Los ingenieros también aumentan año tras año, y con frecuencia estalla una batalla de saqueo.

Incluso con un salario anual de un millón, todavía es difícil reclutar talentos adecuados.

Hay muchas empresas grandes, como JD.com, Baidu y Ali, que necesitan urgentemente ingenieros informáticos de alto rendimiento, sin mencionar las empresas de chips como Feiteng y Jingjiawei. Según los datos estadísticos de Zhiyouji, el rango salarial de los ingenieros informáticos de alto rendimiento es de 30 a 200 000, de los cuales el salario en el rango de 30 a 50 000 representa el 51,2 % y el salario en el rango de 50 a 100 000 cuentas. para el 23%. %.

 

Las siguientes son empresas y salarios para algunos puestos domésticos relacionados con la informática de alto rendimiento:

Alibaba: 20-70 000 RMB/mes; Tencent: 20-80 000 RMB/mes; Huawei: 20-100 000 RMB/mes; Baidu: 15-50 000 RMB/mes; Instituto de Tecnología Informática, Academia de Ciencias de China: 50-120 000 RMB /mes; Información: 12-25 000 yuanes/mes; Grupo Lenovo: 15-50 000 yuanes/mes; Academia China de Ciencias: 45-100 000 yuanes/mes;

  Dividido por años de trabajo

  En la siguiente figura se realizan estadísticas y comparaciones según las dimensiones de menos de 1 año, 1-3 años, 3-5 años, más de 5 años y promedio:

La experiencia laboral es de menos de 1 año y el salario mensual ronda los 20K;

  El período de trabajo es de aproximadamente 1 a 3 años y el salario mensual es de aproximadamente 25K;

  El período de trabajo es de aproximadamente 3 a 5 años y el salario mensual es de aproximadamente 35K;

  La experiencia laboral es de más de 5 años y el salario mensual ronda los 50K;

  El salario mensual promedio es de alrededor de 30K.

  Dividir por grado

  Desde la perspectiva de la educación, el salario mensual de un ingeniero informático de alto rendimiento con una licenciatura es de alrededor de 24K; con una licenciatura o superior, el salario mensual es de alrededor de 35-50K.

  Dividir por región

  La siguiente figura compara los salarios promedio en cinco grandes ciudades: Beijing, Shanghai, Guangzhou, Shenzhen y Hangzhou:

Los datos provienen del sitio web de Cheetah.

  Entre ellos, el salario medio en Pekín ronda los 39k;

  El salario medio en Shanghái ronda los 32k;

  El salario medio en Guangzhou ronda los 20k;

  El salario promedio en Shenzhen es de alrededor de 31k;

  El salario promedio en Hangzhou es de alrededor de 20k.

  Requisitos para el puesto de ingeniero informático de alto rendimiento

  Competente en las tecnologías relevantes y experiencia práctica de ingenieros informáticos de alto rendimiento, familiarizado con el uso de tecnologías de programación paralela como MPI, Openmp y CUDA; y con buenas capacidades de diseño y experiencia práctica.

Supongo que te gusta

Origin blog.csdn.net/YDM6211/article/details/131471201
Recomendado
Clasificación