275 research outputs found
The Integration of Task and Data Parallel Skeletons
We describe a skeletal parallel programming library which integrates task and data parallel constructs within an API for C++. Traditional skeletal requirements for higher orderness and polymorphism are achieved through exploitation of operator overloading and templates, while the underlying parallelism is provided by MPI. We present a case study describing two algorithms for the travelling salesman problem
Integrating Task and Data Parallelism with the Collective Communication Archetype
A parallel program archetype aids in the development of reliable, efficient parallel applications with common computation/communication structures by providing stepwise refinement methods and code libraries specific to the structure. The methods and libraries help in transforming a sequential program into a parallel program via a sequence of refinement steps that help maintain correctness while refining the program to obtain the appropriate level of granularity for a target machine. The specific archetype discussed here deals with the integration of task and data parallelism by using collective (or group) communication. This archetype has been used to develop several applications
Research in progress in applied mathematics, numerical analysis, fluid mechanics, and computer science
This report summarizes research conducted at the Institute for Computer Applications in Science and Engineering in applied mathematics, fluid mechanics, and computer science during the period October 1, 1993 through March 31, 1994. The major categories of the current ICASE research program are: (1) applied and numerical mathematics, including numerical analysis and algorithm development; (2) theoretical and computational research in fluid mechanics in selected areas of interest to LaRC, including acoustics and combustion; (3) experimental research in transition and turbulence and aerodynamics involving LaRC facilities and scientists; and (4) computer science
Runtime Coupling of Data-parallel Programs
We consider the problem of efficiently coupling multiple
data-parallel programs at runtime. We propose an approach that establishes
a mapping between data structures in different data-parallel programs and
implements a user specified consistency model. Mappings are established at
runtime and new mappings between programs can be added and deleted while
the programs are in execution. Mappings, or the identity of the processors
involved, do not have to be known at compile-time or even link-time.
Programs can be made to interact with different granularities of
interaction without requiring any re-coding. A priori knowledge of data
movement requirements allows for buffering of data and overlap of
computations between coupled applications. Efficient data movement is
achieved by pre-computing an optimized schedule. We describe our prototype
implementation and evaluate its performance for a set of synthetic
benchmarks that examine the variation of performance with coupling
parameters. We demonstrate that the cost of the added flexibility gained
by our coupling method is not prohibitive when compared with a monolithic
code that does the same computation.
(Also cross-referenced as UMIACS-TR-95-116
Roles for Chd7 in Zebrafish Development with Implications for Human Disease
The Chromodomain Helicase DNA Binding Protein (CHD) family consists of a group of nine known proteins that function in controlling DNA dynamics and transcription. The CHD family member of interest in this work, Chromodomain helicase DNA-binding protein 7 (chd7), has been implicated in human CHARGE (coloboma of the eye, heart defects, atresia of the choanae, retardation of growth and/or development, genital and/or urinary abnormalities, and ear abnormalities and deafness) Syndrome and Idiopathic Scoliosis, however little is known about the roles this gene plays during development.
Using zebrafish as a model system, morpholino antisense technology, whole mount in situ hybridization (WISH), and a relatively new protocol, RNA-Seq, we provide evidence of several developmental defects resulting from Chd7 knockdown as well as describe several genes that exhibit significant differential expression upon Chd7 knockdown. We provide evidence that zebrafish embryos highly express chd7 in the retina, brain and somite boundaries. We demonstrate that a reduction in Chd7 synthesis results in laterality defects in the expression of somitogenesis genes, consistent with the hypothesis that this chromatin remodeler is necessary for the proper development of the long axis of the body and may be involved in the onset of human scoliosis. We show that the presence of Chd7 is crucial for proper neural, retinal and vertebral development in zebrafish and that loss of function of Chd7 resulted in several morphological defects similar to those observed in human patients with CHARGE syndrome.
Finally, this work is the first transcriptome-wide study analyzing genetic changes in response to knockdown of a member of the Chromodomain Helicase DNA Binding Protein family. Using RNA-Seq we were able to identify and quantify differentially expressed genes in chd7 morphant zebrafish embryos compared to control morphant zebrafish embryos. These data were consistent with our knockdown experiments as well as with putative roles for Chd7 in human diseases.
In an effort to make a broader impact, we extended the use of zebrafish beyond scientific research and described several different methods of using zebrafish in the undergraduate laboratory classroom. First, we described the use of WISH in the classroom to help students form connections between molecular and organismal biology and then described the use of two model organisms, zebrafish and C. elegans, in the classroom to help students understand how genes and the environment interact to affect organismal development.
Cumulatively, this work is an example of interdisciplinary study both in the research laboratory as well as in the classroom. It involves the intensive study of a chromatin remodeler, Chd7, and makes important connections between Chd7 knockdown in zebrafish and human diseases. It also describes the pedagogical advantages of model organisms with respect to providing a rich and integrative experience for undergraduate biology majors
Supporting general data structures and execution models in runtime environments
Para aprovechar las plataformas paralelas, se necesitan herramientas de programación para poder representar apropiadamente los algoritmos paralelos. Además, los entornos paralelos requieren sistemas en tiempo de ejecución que ofrezcan diferentes paradigmas de computación. Existen diferentes áreas a estudiar con el fin de construir un sistema en tiempo de ejecución completo para un entorno paralelo. Esta Tesis aborda dos problemas comunes: el soporte unificado de datos densos y dispersos, y la integración de paralelismo orientado a mapeo de datos y paralelismo orientado a flujo de datos. Esta Tesis propone una solución que desacopla la representación, partición y reparto de datos, del algoritmo y de la estrategia de diseño paralelo para integrar manejo para datos densos y dispersos. Además, se presenta un nuevo modelo de programación basado en el paradigma de flujo de datos, donde diferentes actividades pueden ser arbitrariamente enlazadas para formar redes genéricas pero estructuradas que representan el cómputo globalDepartamento de Informática (Arquitectura y Tecnología de Computadores, Ciencias de la Computación e Inteligencia Artificial, Lenguajes y Sistemas Informáticos
Architecture aware parallel programming in Glasgow parallel Haskell (GPH)
General purpose computing architectures are evolving quickly to become manycore
and hierarchical: i.e. a core can communicate more quickly locally than
globally. To be effective on such architectures, programming models must be
aware of the communications hierarchy. This thesis investigates a programming
model that aims to share the responsibility of task placement, load balance, thread
creation, and synchronisation between the application developer and the runtime
system.
The main contribution of this thesis is the development of four new architectureaware
constructs for Glasgow parallel Haskell that exploit information about task
size and aim to reduce communication for small tasks, preserve data locality, or to
distribute large units of work. We define a semantics for the constructs that specifies the sets of PEs that each construct identifies, and we check four properties
of the semantics using QuickCheck.
We report a preliminary investigation of architecture aware programming
models that abstract over the new constructs. In particular, we propose architecture
aware evaluation strategies and skeletons. We investigate three common
paradigms, such as data parallelism, divide-and-conquer and nested parallelism,
on hierarchical architectures with up to 224 cores. The results show that the
architecture-aware programming model consistently delivers better speedup and
scalability than existing constructs, together with a dramatic reduction in the
execution time variability.
We present a comparison of functional multicore technologies and it reports
some of the first ever multicore results for the Feedback Directed Implicit Parallelism
(FDIP) and the semi-explicit parallelism (GpH and Eden) languages. The
comparison reflects the growing maturity of the field by systematically evaluating
four parallel Haskell implementations on a common multicore architecture.
The comparison contrasts the programming effort each language requires with
the parallel performance delivered.
We investigate the minimum thread granularity required to achieve satisfactory
performance for three implementations parallel functional language on a
multicore platform. The results show that GHC-GUM requires a larger thread
granularity than Eden and GHC-SMP. The thread granularity rises as the number
of cores rises
- …