Parallel manipulations and thigh. Availability of scalable and distributed data structures
DIENE, Aly Wane, LITWIN, Witold · OpenGrey (Institut de l'Information Scientifique et Technique) · 2001
Cited by 0Open access
Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.
About 10,000 papers for “parallel data structures”
DIENE, Aly Wane, LITWIN, Witold · OpenGrey (Institut de l'Information Scientifique et Technique) · 2001
Cited by 0Open access
Evgeny A. Metlitsky · Lecture notes in computer science · 1989
Cited by 0
W. Randolph Franklin, Salles V. G. Magalhães, Marcus V. A. Andrade · 2018
This paper describes data structures and algorithms for efficient implementation of GIS operations for large datasets on multicore Intel CPUs and on NVIDA GPUs. Typical operations are boolean combinations of polygons and map overlay. Efficient parallelization prefers simple regular data structures, such as structures of arrays of plain old datatypes. Warps of 32 threads are required to execute the same instruction (or be idle). Ideally, the data used by adjacent threads is adjacent in memory. Minimizing storage is important, as is accessing it in a regular pattern. That disparages pointers, linked lists, and trees. That implies that explicitly representing global topology is bad. If using only local topological formulae is sufficient, then it will be much faster. E.g., for many operations on a 2-D map (aka planar graph), the set of oriented edges suffices. Each edge knows the locations of its endpoints and the ids of its adjacent polygons. Any mass operation, such as area computation or point location, can be implemented as a map-reduce. All these techniques also apply in 3D to CAD/CAM and additive manufacturing. Indeed they are more important there.
Cited by 2
Kamran Idrees · OPUS Publication Server of the University of Stuttgart (University of Stuttgart) · 2012
Partitioned Global Address Space (PGAS) is an abstraction of the shared memory model for Single Program Multiple Data (SPMD). PGAS was developed to unite the concepts of shared memory and distributed data into a single parallel programming model. The purpose of allying distributed data with shared memory was to cultivate locality-aware shared memory paradigm. In PGAS, shared space is partitioned among threads, such that each thread has a portion of shared space which is local to it. Each thread can exploit locality by effectively doing computation on data which has affinity to it or which resides in its local space. Unified Parallel C (UPC) is a parallel extension of ISO C. It is distributed shared memory programming model which is based on PGAS to support SPMD programs. UPC aims to support locality-aware paradigm. The declarations in UPC provide control to the programmer to efficiently distribute data across multiple threads, which can later be manipulated by the threads such that each thread manipulates data which has affinity to it to exploit locality. However UPC does not restrict the access to data which has affinity to any other thread. Apart from shared space, each thread has also a private space which can only be accessed by thread which owns this space. UPC provides library functions for moving data to/from shared memory economically, efficiently dividing the tasks among the threads. Molecular dynamics (MD) simulates interactions between molecules. In principle, given an initial set of positions and velocities of molecules, the following time progression of a set of interacting molecules is ascertain. After the system is initialized with the initial positions and velocities of molecules, calculation of forces is done on all molecules in system. Finally Newton's equations of motion are integrated to advance the positions and velocities of molecules. The simulation is advanced unless the computation of time evolution of system is completed for the aimed length of time. We have ported an in-house MD code (CMD) to UPC, calculating interactions between the molecules and atoms in a parallel fashion. The molecules are spatially decomposed into cells which then are distributed among threads. Each thread calculates the interactions of the molecules of the cells it has affinity to. To minimize the access to remote data, the cells are distributed among the threads in a spatially coherent manner. We have tried to aid cache optimizations in most of the routines in our ported MD code. Here we elaborate the technical details of UPC which are necessary to understand our ported CMD code, then we explain the methodology we chose for porting our CMD code to UPC and finally we present the benchmark results for our UPC implementation of CMD.
Cited by 0Open access
Catherine Roucairol · DIMACS series in discrete mathematics and theoretical computer science · 1995
Cited by 1
Journal of Parallel and Distributed Computing · 1996
Cited by 0
Justin R. Porter, Maxwell I. Zimmerman, Gregory R. Bowman · bioRxiv (Cold Spring Harbor Laboratory) · 2018
Markov state models (MSMs) are quantitative models of protein dynamics that are useful for uncovering the structural fluctuations that proteins undergo, as well as the mechanisms of these conformational changes. Given the enormity of conformational space, there has been ongoing interest in identifying a small number of states that capture the essential features of a protein. Generally, this is achieved by making assumptions about the properties of relevant features—for example, that the most important features are those that change slowly. An alternative strategy is to keep as many degrees of freedom as possible and subsequently learn from the model which of the features are most important. In these larger models, however, traditional approaches quickly become computationally intractable. In this paper, we present enspara , a library for working with MSMs that provides several novel algorithms and specialized data structures that dramatically improve the scalability of traditional MSM methods. This includes ragged arrays for minimizing memory requirements, MPI-parallelized implementations of compute-intensive operations, and a flexible framework for model estimation.
Cited by 4Open access
Wauligmann, Peter · mediaTUM (Technical University of Munich) · 2019
Cited by 0Open access
S. Lennart Johnsson, K. K. Mathur · International Journal for Numerical Methods in Engineering · 1990
Abstract This article describes a formulation of the finite element method and its implementation on a data parallel computing system. The Connection Machine® system, CM‐2, has been used as the model architecture. Data structures, storage requirements, communication and parallel arithmetic complexity are analysed in detail for the cases when a processor represents an unassembled finite element and when a processor is assigned to an unassembled nodal point. Data parallel algorithms for the grid generation, the evaluation of the elemental stiffness matrices and for the iterative solution of the linear system are presented. The algorithm for evaluating the elemental stiffness matrices computes the matrix elements concurrently without communication. This concurrency is in addition to the inherent parallelism present among different finite elements. A conjugate gradient solver with diagonal pre‐conditioner is used for the solution of the resulting linear system. Results from an implementation of the three‐dimensional finite element method based on Lagrange elements are reported. For single‐precision floating‐point operations, the measured peak performance is approximately 2·4 G flops s −1 for evaluating the elemental stiffness matrices and approximately 850 M flops s −1 for the conjugate gradient solver. On a Connection Machine system with 16K physical processors, the time per conjugate gradient iteration for an application with 400 000 degrees of freedom is approximately 0·13 s for double‐precision floating‐point operations.
Cited by 57
Hyo Seon Park, Hojjat Adeli · Computer-Aided Civil and Infrastructure Engineering · 1997
Cited by 26
Barragn Reeve Electronics, J. S. Reeve · 2007
. This paper describes the implementation of a three-dimensional mesh generation program based on octree data structures, capable of generating large meshes, operating in a parallel, distributed memory computing under the Single-Program, Multiple-Data model of computation. In order to compensate for the limitations in the standard octree technique, some enhancements to it are developed and implemented, based on the authors' previous work 12 for two-dimensional problems. Also, communication routines are developed for the exchange of information among processors. Using both the enhanced data structures and the communication routines developed, algorithms are then created for performing the octree mesh generation. Finally, some test runs are carried out on sample meshes in a cluster of Linux workstations using the MPICH library and GNU C compiler, and graphs of computing time vs number of processors are obtained. A. J. Barragn, J.S. Reeve 2 1
Cited by 0
Andrei Tchernykh · LA Referencia (Red Federada de Repositorios Institucionales de Publicaciones Científicas) · 2003
Modelos Paralelos, Paralelismo Implícito, Programación Declarativa, Evaluación Parcial, Procesamiento de Información Incompleta.
Cited by 0Open access
J. Tourino, R. Doallo, R. Doallo et al. · 1996
This paper addresses the problem of the parallelization of sparse direct methods for the solution of linear systems in distributed memory multiprocessors. Sparse direct solvers include pivoting operations and suffer from fill-in, problems that turn the efficient parallelization into a challenging task. We present some data structures to store the sparse matrices that permit to deal in a efficient way with both problems. These data structures have been evaluated on a Cray T3D, implementing, in particular, LU and QR factorizations as examples of direct solvers. Any of the data representations considered enforces the handling of indirections for data accesses, pointer referencing and dynamic data creation. All of these elements go beyond current data-parallel compilation technology. Our solution is to propose new extensions to HPF that permit to deal with these codes, and to support part of the new capabilities on a runtime library at the compiler level. 1 Introduction The solution of sy...
Cited by 0
Besch, M., Pohl, H.-W. · Publikationsdatenbank der Fraunhofer-Gesellschaft (Fraunhofer-Gesellschaft) · 1997
DSpace-CRIS is a comprehensive, free and open-source Research Information Management System (CRIS/RIMS). It is based on DSpace, providing broader functionality and an expanded data model, relying on its large community. It is compliant with and supports key international standards, facilitating interoperability and data transfer. DSpace-CRIS enables secure, integrated and interoperable research information and data management – in a single solution.
Cited by 0
J. Tourino, R. Doallo, R. Asenjo, O. Plata et al. · 1996
This paper addresses the problem of the parallelization of sparse direct methods for the solution of linear systems in distributed memory multiprocessors. Sparse direct solvers include pivoting operations and suffer from fill-in, problems that turn the efficient parallelization into a challenging task. We present some data structures to store the sparse matrices that permit to deal in a efficient way with both problems. These data structures have been evaluated on a Cray T3D, implementing, in particular, LU and QR factorizations as examples of direct solvers. Any of the data representations considered enforces the handling of indirections for data accesses, pointer referencing and dynamic data creation. All of
Cited by 0
Emmanuel Melin, Bruno Raffin, Xavier Rebeuf et al. · 1997
Nowadays, most of distributed architectures are easily scalable MIMD (Multiple Instruction streams, Multiple Data streams) parallel computers or networks of workstations. The challenge consists in taking advantage of the power of these architectures. It has been shown that data-parallel languages offer both a programming model easy to understand and several execution models which are able to exploit these distributed architectures. The compilation-process has nevertheless to fill the gap between the synchronous and centralized programmer's point of view and an asynchronous and distributed execution model. An important problem is to reduce the number and the complexity of synchronizations between processors. This leads to complex program transformations, such as absorption techniques, in conditioning control structures, loops or routines. We propose a simple general technique based on structural clocks that permits the use of one-sided wait instructions instead of global synchronizations....
Cited by 2
Idrees, Kamran · Fachbereich Informatik (University of Stuttgart) · 2012
Cited by 0
Abani Patra, Andras Laszloffy, Jingping Long · Computers & Mathematics with Applications · 2003
Cited by 31
Grandin, Magnus, Holmgren, Sverker · KTH Publication Database DiVA (KTH Royal Institute of Technology) · 2014
Cited by 0Open access
Steven L. Tanimoto · 1985
Cited by 2