La computación distribuida es un método de tratamiento por ordenador en qué diversas partes de un programa se funcionan con simultáneamente en dos o más computadoras que están comunicando con uno a sobre una red. La computación distribuida es un tipo de dividido en segmentos o la computación paralela, pero el 3ultimo término es el más de uso general referir al proceso en qué diversas partes de un programa funcionan simultáneamente en dos o más procesadores que son parte de la misma computadora. Mientras que ambos tipos de proceso requieren que un programa dividir-esté dividido en las secciones que pueden funcionar simultáneamente, la computación distribuida también requiere que la división del programa considera los diversos ambientes en los cuales las diversas secciones del programa funcionarán. Por ejemplo, dos computadoras son probables tener diversos sistemas de ficheros y diversos componentes de hardware.
Un ejemplo de la computación distribuida es el BOINC, un marco en el cual los problemas grandes se puedan dividir en muchos pequeños problemas que se distribuyan a muchas computadoras. Más adelante, los pequeños resultados se vuelven a montar en una solución más grande.
La computación distribuida es un resultado natural de usar redes para permitir a las computadoras comunicar eficientemente. Pero la computación distribuida es distinta del establecimiento de una red o hecho fragmentos de la computadora que computa. Este 3ultimo refiere a dos o más computadoras que obran recíprocamente con uno a, pero no, típicamente, compartiendo el proceso de un solo programa. El World Wide Web es un ejemplo de una red, pero no un ejemplo de la computación distribuida.
Hay tecnologías numerosas y estándares usados para construir cómputos distribuidos, incluyendo alguno que se diseñen y se optimicen especialmente para ese propósito, tal como llamadas de procedimiento alejado (RPC) o invocación alejada (RMI) del método o .
Otro factor importante es la capacidad de enviar software a otra computadora de una manera portable de modo que pueda ejecutar y obrar recíprocamente con la red existente. Esto puede siempre no ser posible o práctico al usar el hardware y recursos de diferenciación, en este caso otros métodos se deben utilizar por ejemplo la cruz-compilación o manualmente virar de este software hacia el lado de babor.
Por lo tanto, abrir los sistemas distribuidos se requieren para hacer frente a los desafíos siguientes:
;
que algo se publica una vez en un sistema abierto, él del
de Monotonicity no puede ser retirado. ; Subsistemas del del pluralismo diversos de un sistema distribuido abierto incluyen heterogéneo, el traslapo y la información posiblemente que está en conflicto. No hay árbitro central de la verdad en sistemas distribuidos abiertos. ; El
ilimitado del
del nondeterminism asincrónico, diversos subsistemas puede subir e ir abajo y los enlaces de comunicaciones pueden venir adentro y salir entre los subsistemas de un sistema distribuido abierto. Por lo tanto el tiempo que tomará para terminar una operación no puede ser limitado por adelantado (véase el nondeterminism ilimitado ).
La localización de averías y los problemas del diagnóstico en un sistema distribuido pueden también llegar a ser más difíciles, porque el análisis puede requerir la conexión con los nodos alejados o la inspección de la comunicación entre los nodos.
Muchos tipos del cómputo no están bien adaptados para los ambientes distribuidos, típicamente debido a la cantidad de la comunicación o de sincronización de la red que sería requerida entre los nodos si la anchura de banda, el estado latente, o los requisitos de comunicación son demasiado significativos, después las ventajas de la computación distribuida pueden ser negadas y el funcionamiento puede ser peor que un ambiente non-distributed.
Otros proyectos sufren de la carencia de la planificación a nombre de sus autores bienintencionados. Estos proyectos mal previstos pueden no generar los resultados que son palpables, o pueden no generar datos que el resultado en innovaciones reales en el campo ellos fue realizado en última instancia adentro. Detectando que un proyecto puede no generar datos útiles, los gestores de proyecto pueden decidir terminar precipitadamente el proyecto sin resultados definitivos, dando por resultado el despilfarro de los recursos de la electricidad y de computación usados en el proyecto. Los voluntarios pueden sentir decepcionantes y abusados por tales resultados. Hay un coste de oportunidad obvio de dedicar tiempo y energía a un proyecto que sea en última instancia inútil, cuando ese poder de computación se habría podido dedicar a un mejor proyecto previsto de la computación distribuida que generaba resultados útiles, concretos.
Otro problema con proyectos de la computación distribuida es que pueden dedicar recursos a los problemas que pueden en última instancia no ser solubles, o a los problemas que son mejor perseguido más adelante en el futuro, cuando el poder de computación de escritorio se convierte rápidamente bastante para hacer la búsqueda de tales soluciones práctica. Algunos proyectos de la computación distribuida pueden también intentar utilizar las computadoras para encontrar soluciones por los modelos matemáticos o físicos de cómputo. Con tales proyectos hay el riesgo que el modelo no se puede diseñar bien bastante para generar eficientemente soluciones concretas. La eficacia de un proyecto de la computación distribuida por lo tanto es determinada en gran parte por la sofisticación de los creador del proyecto. -
La programación distribuida típicamente baja en una de varias arquitecturas básicas o categorías: El servidor de cliente, arquitectura, arquitectura, de la grada 3 de la N-grada distribuyó el acoplador flojo de los objetos, o el acoplador apretado .
&mdash del servidor de cliente ; El código de cliente elegante entra en contacto con el servidor para los datos, después los formatos y las exhibiciones él al usuario. La entrada en el cliente está confiada de nuevo al servidor cuando representa un cambio permanente.
&mdash de la arquitectura de la grada 3; Tres sistemas de la grada mueven la inteligencia del cliente a una grada media para poder utilizar clientes apátridas. Esto simplifica el despliegue de uso. La mayoría de las aplicaciones web son 3-Tier.
&mdash de la arquitectura de la N-grada; La N-Grada se refiere típicamente a las aplicaciones web que más adelante sus peticiones a otros servicios de empresa. Este tipo de uso es el que está más responsable del éxito de los servidores de aplicaciones
El juntó firmemente el &mdash de (arracimado); se refiere típicamente a un sistema de las máquinas alto integradas que funcionan con el mismo proceso paralelamente, subdividiendo la tarea en las piezas que son hechas individualmente por cada uno, y después pone detrás junto para hacer el resultado final.
&mdash entre iguales ; una arquitectura donde no hay máquina o máquinas especial que proporcionan un servicio o maneja los recursos de red. En lugar todas las responsabilidades se dividen uniformemente entre todas las máquinas, conocidas como pares. Los pares pueden servir ambos como clientes y servidores.
&mdash espacial ; refiere a una infraestructura que cree la ilusión (virtualización) de un solo tratar-espacio. Los datos transparente se repliegan según necesidades del uso. Desemparejando a tiempo, se alcanza el espacio y la referencia.
Otro aspecto básico de la arquitectura de la computación distribuida es el método de comunicar y de coordinar el trabajo entre procesos concurrentes. A través del vario mensaje que pasa protocolos de, los procesos pueden comunicar directo el uno con el otro, típicamente en una relación maestro/satélite . Alternativo, un " base de datos-centric" la arquitectura puede permitir la computación distribuida que se hará sin ninguna forma de la comunicación entre procesos directo, utilizando una base de datos compartida .
Un sistema del multiprocesador es simplemente una computadora que tiene más de una CPU en su placa madre. Si el sistema operativo se construye para aprovecharse de esto, puede funcionar con diversos procesos (o diversos hilos de rosca que pertenecen al mismo proceso) en diversas CPU.
Las CPU de Intel a partir de la última era del Pentium 4 (los corazones de Northwood y del Prescott) emplearon una tecnología llamada el Hyperthreading que permitió más de un hilo de rosca (generalmente dos) al funcionamiento en la misma CPU. El T1 más reciente, Athlon de UltraSPARC de Sun de AMD 64 X2, Athlon FX, Opteron, Pentium D, Intel de AMD de AMD de Intel quita el corazón a, el Intel quita el corazón a 2 corazones múltiples del procesador de la característica de los procesadores de Xeon de y de Intel también para aumentar el número de hilos de rosca concurrentes que pueden funcionar con.
Los surtidores comunes incluyen los sistemas informáticos del Mercury, las computadoras de CSPI, y del CIELO.
Las aplicaciones comunes incluyen los dispositivos de proyección de imagen médicos 3D y el radar móvil.
considera también: Racimo que computa el
Un racimo consiste en las máquinas independientes múltiples que actúan paralelamente a través de una red de alta velocidad local. La computación distribuida diferencia del racimo que computa en que las computadoras en un Distributed Computing Environment no están funcionando típicamente exclusivamente el " group" tareas, mientras que las computadoras arracimadas generalmente se juntan mucho más firmemente. La computación distribuida también consiste en a menudo las máquinas que se separan extensamente geográficamente.
considera también: Rejilla que computa el
Una rejilla utiliza los recursos de muchas computadoras separadas, conectados libremente por una red (generalmente el Internet), para solucionar problemas en grande del cómputo. Las rejillas públicas pueden utilizar tiempo ocioso en muchos millares de computadoras en el mundo entero. Tales arreglos permiten la dirección de los datos que requerirían de otra manera la energía de los superordenadores costosos o habrían sido imposibles de analizar.
Las idiomas adaptaron específicamente para la programación distribuida son:
Lenguaje de programación del Ada
Lenguaje de programación de Alef
Lenguaje de programación E
Lenguaje de programación del Erlang
Lenguaje de programación Limbo
Lenguaje de programación de la onza
ZPL (lenguaje de programación)
Lenguaje de programación de la orca
considera también: La lista de computación distribuida proyecta el
Una variedad de proyectos de la computación distribuida han crecido estos últimos años. Muchos se funcionan sobre una base voluntaria, e implican a usuarios que donan su energía de cómputo inusitada de trabajar en problemas de cómputo interesantes. Los ejemplos de tales proyectos incluyen el proyecto de Folding@home del departamento de la química de la Universidad de Stanford, que se centra en simulaciones del plegamiento de proteína para encontrar las curaciones de la enfermedad y para entender sistemas biofísicos; Rejilla, un esfuerzo de la comunidad del mundo para crear la rejilla computacional pública más grande del mundo para abordar los proyectos de investigación científica que benefician a humanidad, funcionados con y financiados por IBM ; El SETI@home, que se centra en analizar datos del radio-telescopio para encontrar la evidencia de señales inteligentes del espacio, recibió por el laboratorio de ciencias de espacio en la Universidad de California, Berkeley ; y Distributed.net, que se centra en la fractura de varias cifras criptográficas. Los proyectos de la computación distribuida también implican a menudo la competición con otros sistemas distribuidos. Esta competición puede estar para el prestigio, o puede ser una cuestión de usuarios de tentación para donar capacidad de cálculo a un proyecto específico. Por ejemplo, las razas del stat son una medida del trabajo que un proyecto de la computación distribuida ha podido computar durante el último día o semana. Esto se ha encontrado para ser tan importante en la práctica que virtualmente todos los proyectos de la computación distribuida ofrecen los análisis estadísticos en línea de sus funcionamientos, actualizados por lo menos diariamente si no en tiempo real.
.
| Random links: | El hombre de la luz tenue | El municipio de Pillsbury, Minnesota | Lengua Romani | Araña Jerusalén | Douglas F.C. real. |