16 research outputs found

    Improving the scalability of parallel N-body applications with an event driven constraint based execution model

    Full text link
    The scalability and efficiency of graph applications are significantly constrained by conventional systems and their supporting programming models. Technology trends like multicore, manycore, and heterogeneous system architectures are introducing further challenges and possibilities for emerging application domains such as graph applications. This paper explores the space of effective parallel execution of ephemeral graphs that are dynamically generated using the Barnes-Hut algorithm to exemplify dynamic workloads. The workloads are expressed using the semantics of an Exascale computing execution model called ParalleX. For comparison, results using conventional execution model semantics are also presented. We find improved load balancing during runtime and automatic parallelism discovery improving efficiency using the advanced semantics for Exascale computing.Comment: 11 figure

    Visualization analysis of astrophysics n-bodied problem using image morphological processing techniques

    Get PDF
    This project鈥檚 primary goal is to detect points of interest within the output data resulting from running a simulation of the Astrophysics N-Bodied problem (GRAPEcluster). Morphological Image Processing techniques will be applied to the visualized data in order to detect areas of interest within the original data. Several Morphological Image Processing techniques will be used and the results compared in the analysis. The final output of the VRAD (Visualization of Raw Astrophysics Data) System will be two-fold: first, the VRAD system will output a text file that contains the x, y and z coordinates of each region of interest in each time slice that is examined; second, the VRAD system will output three image files for each time-slice with the 2D regions of interest highlighted by a bounding box. In this way the VRAD system can act as a stand-alone program or be used in conjunction with the Spiegel visualization framework

    Extreme scale parallel NBody algorithm with event driven constraint based execution model

    Get PDF
    Traditional scientific applications such as Computational Fluid Dynamics, Partial Differential Equations based numerical methods (like Finite Difference Methods, Finite Element Methods) achieve sufficient efficiency on state of the art high performance computing systems and have been widely studied / implemented using conventional programming models. For emerging application domains such as Graph applications scalability and efficiency is significantly constrained by the conventional systems and their supporting programming models. Furthermore technology trends like multicore, manycore, heterogeneous system architectures are introducing new challenges and possibilities. Emerging technologies are requiring a rethinking of approaches to more effectively expose the underlying parallelism to the applications and the end-users. This thesis explores the space of effective parallel execution of ephemeral graphs that are dynamically generated. The standard particle based simulation, solved using the Barnes-Hut algorithm is chosen to exemplify the dynamic workloads. In this thesis the workloads are expressed using sequential execution semantics, a conventional parallel programming model - shared memory semantics and semantics of an innovative execution model designed for efficient scalable performance towards Exascale computing called ParalleX. The main outcomes of this research are parallel processing of dynamic ephemeral workloads, enabling dynamic load balancing during runtime, and using advanced semantics for exposing parallelism in scaling constrained applications

    Estudio e implementaci贸n del algoritmo Barnes-Hut para el c谩lculo de la interacci贸n gravitatoria entre N-cuerpos

    Get PDF
    [EN] In this work, we provide an original implementation of the Barnes-Hut algorithm in Python 3.7 both in 2D and 3D. This algorithm solves approximately the N-body problem and is well known for achieving order by treating nearby bodies as single individuals when observed from a far enough distance. Besides, we came up with a clever scheme for grouping those bodies: a proof of concept that turned out to perform accurately. Further, we analyzed the validity range of our prototype and correlated it to the direct-sum algorithm by means of a selected set of test examples. Our implementation of the BH algorithm relies heavily on a deeply nested tree data structure. As such, its manipulation is fundamentelly recursive and highly complex. This is the reason why we additionally have included an extended explanation, with drawings and schemes, of the rather cumbersome bookkeeping strategy involved in its use. Finally, we have uploaded the full code to the GitHub platform and thereby made it publicly available.[ES] Este trabajo proporciona una implementaci贸n original del algoritmo Barnes-Hut en Python 3.7, tanto en 2D como en 3D. Este algoritmo resuelve el problema de N-cuerpos de forma aproximada y es conocido por lograr el orden al agrupar los cuerpos cercanos en un solo individuo cuando son observados desde una distancia lo suficientemente lejana. Adem谩s, concebimos un esquema original para agrupar esos cuerpos; esta prueba de concepto result贸 funcionar con precisi贸n. Asimismo, analizamos el rango de validez de nuestro prototipo y lo contrastamos con el algoritmo de suma directa mediante un conjunto seleccionado de ejemplos. Nuestra implementaci贸n del algoritmo BH depende en gran medida de una estructura de datos de tipo 谩rbol profundamente anidada. Como tal, su manipulaci贸n es fundamentalmente recursiva y altamente compleja. Esta es la raz贸n por la que hemos incluido una explicaci贸n extendida, con dibujos y esquemas, de la estrategia de contabilidad bastante engorrosa involucrada en su uso. Finalmente, hemos subido el c贸digo completo a la plataforma GitHub y, por lo tanto, lo hemos puesto a disposici贸n del p煤blico

    Estudio e implementaci贸n del algoritmo Barnes-Hut para el c谩lculo de la interacci贸n gravitatoria entre N-cuerpos

    Get PDF
    [EN] In this work, we provide an original implementation of the Barnes-Hut algorithm in Python 3.7 both in 2D and 3D. This algorithm solves approximately the N-body problem and is well known for achieving order by treating nearby bodies as single individuals when observed from a far enough distance. Besides, we came up with a clever scheme for grouping those bodies: a proof of concept that turned out to perform accurately. Further, we analyzed the validity range of our prototype and correlated it to the direct-sum algorithm by means of a selected set of test examples. Our implementation of the BH algorithm relies heavily on a deeply nested tree data structure. As such, its manipulation is fundamentelly recursive and highly complex. This is the reason why we additionally have included an extended explanation, with drawings and schemes, of the rather cumbersome bookkeeping strategy involved in its use. Finally, we have uploaded the full code to the GitHub platform and thereby made it publicly available.[ES] Este trabajo proporciona una implementaci贸n original del algoritmo Barnes-Hut en Python 3.7, tanto en 2D como en 3D. Este algoritmo resuelve el problema de N-cuerpos de forma aproximada y es conocido por lograr el orden al agrupar los cuerpos cercanos en un solo individuo cuando son observados desde una distancia lo suficientemente lejana. Adem谩s, concebimos un esquema original para agrupar esos cuerpos; esta prueba de concepto result贸 funcionar con precisi贸n. Asimismo, analizamos el rango de validez de nuestro prototipo y lo contrastamos con el algoritmo de suma directa mediante un conjunto seleccionado de ejemplos. Nuestra implementaci贸n del algoritmo BH depende en gran medida de una estructura de datos de tipo 谩rbol profundamente anidada. Como tal, su manipulaci贸n es fundamentalmente recursiva y altamente compleja. Esta es la raz贸n por la que hemos incluido una explicaci贸n extendida, con dibujos y esquemas, de la estrategia de contabilidad bastante engorrosa involucrada en su uso. Finalmente, hemos subido el c贸digo completo a la plataforma GitHub y, por lo tanto, lo hemos puesto a disposici贸n del p煤blico

    Distribution independent parallel algorithms and software for hierarchical methods with applications to computational electromagnetics

    Get PDF
    Octrees are tree data structures used to represent multidimensional points in space. They are widely used in supporting hierarchical methods for scientific applications such as the N-body problem, molecular dynamics and smoothed particle hydrodynamics. The size of an octree is known to be dependent on the spatial distribution of points in the computational domain and is not just a function of the number of points. For this reason, run-time of an algorithm using octree that depends on the size of the octree is unknown for arbitrary distributions. In this thesis, we present the design and implementation of parallel algorithms for construction of compressed octrees and queries that are typically used by hierarchical methods. Our parallel algorithms and implementation strategies perform well irrespective of the spatial distribution of data, are communication efficient, and require no explicit load balancing. We also developed a software library which provides the functionality of parallel tree construction and various queries on compressed octrees. The purpose of the library is to enable rapid development of applications and to allow application developers to use efficient parallel algorithms without necessity of having detailed knowledge of the algorithms or of implementing them. To demonstrate the performance of our algorithms and to show the effectiveness of the library, we developed a complete end-to-end parallel electromagnetics code for computing the scattered electromagnetic fields from a Perfect Electrically Conducting surface. We used the functions provided by the software library to develop a Fast Multipole Method based solution to this problem. Experimental results show that our algorithms scale well and have bounded communication irrespective of the shape of the scatterer
    corecore