4 research outputs found
Dataflow methods in HPC, visualisation and analysis
The processing power available to scientists and engineers using supercomputers over the last few decades has grown exponentially, permitting significantly more sophisticated simulations, and as a consequence, generating proportionally larger output datasets. This change has taken place in tandem with a gradual shift in the design and implementation of simulation and post-processing software, with a shift from simulation as a first step and visualisation/analysis as a second, towards in-situ on the fly methods that provide immediate visual feedback, place less strain on file-systems and reduce overall data-movement and copying. Concurrently, processor speed increases have dramatically slowed and multi and many-core architectures have instead become the norm for virtually all High Performance computing (HPC) machines. This in turn has led to a shift away from the traditional distributed one rank per node model, to one rank per process, using multiple processes per multicore node, and then back towards one rank per node again, using distributed and multi-threaded frameworks combined.
This thesis consists of a series of publications that demonstrate how software design for analysis and visualisation has tracked these architectural changes and pushed the boundaries of HPC visualisation using dataflow techniques in distributed environments. The first publication shows how support for the time dimension in parallel pipelines can be implemented, demonstrating how information flow within an application can be leveraged to optimise performance and add features such as analysis of time-dependent flows and comparison of datasets at different timesteps. A method of integrating dataflow pipelines with in-situ visualisation is subsequently presented, using asynchronous coupling of user driven GUI controls and a live simulation running on a supercomputer. The loose coupling of analysis and simulation allows for reduced IO, immediate feedback and the ability to change simulation parameters on the fly.
A significant drawback of parallel pipelines is the inefficiency caused by improper load-balancing, particularly during interactive analysis where the user may select between different features of interest, this problem is addressed in the fourth publication by integrating a high performance partitioning library into the visualization pipeline and extending the information flow up and down the pipeline to support it. This extension is demonstrated in the third publication (published earlier) on massive meshes with extremely high complexity and shows that general purpose visualization tools such as ParaView can be made to compete with bespoke software written for a dedicated task.
The future of software running on many-core architectures will involve task-based runtimes, with dynamic load-balancing, asynchronous execution based on dataflow graphs, work stealing and concurrent data sharing between simulation and analysis. The final paper of this thesis presents an optimisation for one such runtime, in support of these future HPC applications
Parallel Rendering and Large Data Visualization
We are living in the big data age: An ever increasing amount of data is being
produced through data acquisition and computer simulations. While large scale
analysis and simulations have received significant attention for cloud and
high-performance computing, software to efficiently visualise large data sets
is struggling to keep up.
Visualization has proven to be an efficient tool for understanding data, in
particular visual analysis is a powerful tool to gain intuitive insight into
the spatial structure and relations of 3D data sets. Large-scale visualization
setups are becoming ever more affordable, and high-resolution tiled display
walls are in reach even for small institutions. Virtual reality has arrived in
the consumer space, making it accessible to a large audience.
This thesis addresses these developments by advancing the field of parallel
rendering. We formalise the design of system software for large data
visualization through parallel rendering, provide a reference implementation of
a parallel rendering framework, introduce novel algorithms to accelerate the
rendering of large amounts of data, and validate this research and development
with new applications for large data visualization. Applications built using
our framework enable domain scientists and large data engineers to better
extract meaning from their data, making it feasible to explore more data and
enabling the use of high-fidelity visualization installations to see more
detail of the data.Comment: PhD thesi
Lattice-Boltzmann simulations of cerebral blood flow
Computational haemodynamics play a central role in the understanding of blood behaviour
in the cerebral vasculature, increasing our knowledge in the onset of vascular
diseases and their progression, improving diagnosis and ultimately providing better
patient prognosis. Computer simulations hold the potential of accurately characterising
motion of blood and its interaction with the vessel wall, providing the capability to
assess surgical treatments with no danger to the patient. These aspects considerably
contribute to better understand of blood circulation processes as well as to augment
pre-treatment planning. Existing software environments for treatment planning consist
of several stages, each requiring significant user interaction and processing time,
significantly limiting their use in clinical scenarios.
The aim of this PhD is to provide clinicians and researchers with a tool to aid
in the understanding of human cerebral haemodynamics. This tool employs a high
performance
fluid solver based on the lattice-Boltzmann method (coined HemeLB),
high performance distributed computing and grid computing, and various advanced
software applications useful to efficiently set up and run patient-specific simulations.
A graphical tool is used to segment the vasculature from patient-specific CT or MR
data and configure boundary conditions with ease, creating models of the vasculature
in real time. Blood flow visualisation is done in real time using in situ rendering
techniques implemented within the parallel
fluid solver and aided by steering capabilities;
these programming strategies allows the clinician to interactively display the
simulation results on a local workstation. A separate software application is used
to numerically compare simulation results carried out at different spatial resolutions,
providing a strategy to approach numerical validation. This developed software and
supporting computational infrastructure was used to study various patient-specific
intracranial aneurysms with the collaborating interventionalists at the National Hospital
for Neurology and Neuroscience (London), using three-dimensional rotational
angiography data to define the patient-specific vasculature. Blood flow motion was
depicted in detail by the visualisation capabilities, clearly showing vortex fluid
ow features and stress distribution at the inner surface of the aneurysms and their surrounding
vasculature. These investigations permitted the clinicians to rapidly assess
the risk associated with the growth and rupture of each aneurysm. The ultimate goal
of this work is to aid clinical practice with an efficient easy-to-use toolkit for real-time
decision support