Computación paralela síncrona a granel: ¿El modelo BSP trata con la localidad de submaquinas a escala masiva?

En un comentario sobre una pregunta relacionada ¿Cuáles son los modelos de computación que son relevantes en las arquitecturas actuales: superescalares, multinúcleo, aceleradores conectados como GPU o MIC, clústeres con memoria distribuida ?, se hicieron los siguientes puntos. “En escalas actuales y especialmente en escalas futuras, mover datos es más importante que la informática … Cualquier modelo que no tenga afinidad será irrelevante con bastante rapidez en las arquitecturas actuales y futuras … Necesitamos algo que modele jerárquicamente, para reflejar la realidad física”.

Este problema de latencia y el problema relacionado de la localidad de las submaquinas es algo que se ha discutido ampliamente en los últimos 20 años. Lo cubrimos en nuestro documento “Preguntas y respuestas sobre BSP” en 1996. El documento está disponible aquí

http://paloaltodata.com/index.ph…

También se analiza nuevamente con gran detalle en el reciente documento Multi-BSP de Les Valiant, que está disponible aquí

http://people.seas.harvard.edu/~…

Desde mediados de la década de 1990, hemos señalado que BSP se puede extender fácilmente para modelar una jerarquía de dos niveles, si las latencias locales y globales son muy diferentes. Un sistema muy grande hoy en día podría ser, por ejemplo, 100 sistemas separados física y geográficamente, cada uno de los cuales consta de 1,000 servidores, con conectividad LAN local rápida y conectividad WAN lenta globalmente. Tal sistema, por supuesto, no debe usarse como una máquina BSP homogénea de 100,000 procesadores si está planeando ejecutar una aplicación que tenga altos requisitos de comunicación global. Eso es simple sentido común. El modelo de costo BSP le dirá si ese es el caso o no. Por ejemplo, si está haciendo una multiplicación de matriz densa, puede estar bien, pero no si está ejecutando ciertos tipos de solucionador de sistemas lineales dispersos masivos, que inherentemente requieren grandes cantidades de comunicación global. Describo ejemplos de tales problemas “inherentemente globales” en mi artículo “Computación escalable” de 1995, que también está disponible en el enlace anterior. Indico que si la matriz dispersa tiene una estructura de “gráfico expansor”, entonces u = Mv es probablemente un problema inherentemente global (inherentemente no local).

En el mundo actual de “big data” es realmente importante explotar la mayor cantidad posible de datos, como se señaló en el comentario. Pero ese siempre ha sido el caso. Ha sido el caso en la supercomputación desde que los sistemas monolíticos individuales fueron reemplazados por grupos de escala horizontal hace quince años. En mi opinión, BSP proporciona el mejor modelo de costos para abordar este problema de la localidad de datos y los problemas relacionados con la latencia y la localidad de las submaquinas.