manchester computing supercomputing, visualization & e-science realistic modelling of complex...

25
Manchester Computing Supercomputing, Visualization & e-Science Realistic modelling of Realistic modelling of complex problems on Grids complex problems on Grids John Brooke (University of Manchester) Peter Coveney PI RealityGrid (University College London) Stephen Pickles (University of Manchester) Thanks also to the other RealityGrid co-Investigators John Darlington (Imperial College) Steve Kenny and Roy Kalawsky (Loughborough University) John Gurd (University of Manchester) Mike Cates (University of Edinburgh) Adrian Sutton (University of Oxford)

Upload: patrick-lang

Post on 01-Jan-2016

215 views

Category:

Documents


1 download

TRANSCRIPT

Man

ch

este

r C

om

pu

tin

gSup

erc

om

puti

ng,

Vis

ualiz

ati

on &

e-S

cien

ce Realistic modelling of complex Realistic modelling of complex problems on Gridsproblems on Grids

John Brooke (University of Manchester) Peter Coveney PI RealityGrid (University College London) Stephen Pickles (University of Manchester)

Thanks also to the other RealityGrid co-InvestigatorsJohn Darlington (Imperial College)Steve Kenny and Roy Kalawsky (Loughborough University)John Gurd (University of Manchester)Mike Cates (University of Edinburgh)Adrian Sutton (University of Oxford)

http://www.realitygrid.org2

The RealityGrid project

Mission: “Using Grid technology to closely couple high performance computing, high throughput experiment and visualization, RealityGrid will move the bottleneck out of the hardware and back into the human mind.”

Scientific aims: to predict the realistic behavior of matter using diverse

simulation methods (Lattice Boltzmann, Molecular Dynamics and Monte Carlo) spanning many time and length scales

to discover new materials through integrated experiments.

http://www.realitygrid.org3

Partners

Academic University College London Queen Mary, University of London Imperial College University of Manchester University of Edinburgh University of Oxford University of Loughborough

Industrial Schlumberger Edward Jenner Institute for

Vaccine Research Silicon Graphics Inc Computation for Science

Consortium Advanced Visual Systems Fujitsu

http://www.realitygrid.org4

RealityGrid

User with laptop/PDA (web based portal)

VR and/or AG nodes

HPC resources

Scalable MD, MC, mesoscale modelling

“Instruments”: XMT devices, LUSI,…

Visualization engines

Steering

ReG steering API

Storage devicesGrid infrastructure (Globus, Unicore,…)

Moving the bottleneck out of the hardware and into the human mind…Moving the bottleneck out of the hardware and into the human mind…

Performance control/monitoring

http://www.realitygrid.org5

RealityGrid Characteristics

Grid-enabled (Globus, UNICORE) Component-based, service-oriented Steering is central

– Computational steering– On-line visualisation of large, complex datasets– Feedback-based performance control– Remote control of novel, grid-enabled, instruments (LUSI)

Advanced Human-Computer Interfaces (Loughborough) Everything is (or should be) distributed and collaborative High performance computing, visualization and networks All in a materials science domain

– multiple length scales, many "legacy" codes (Fortran90, C, C++, mostly parallel)

http://www.realitygrid.org6

Three dimensional Lattice-Boltzmann simulations

Code (LB3D) written in Fortran90 and parallelized using MPI.

Scales linearly on all available resources. Fully steerable. Future plans include move to parallel data

format PHDF5. Data produced during a single large scale

simulation can exceed hundreds of gigabytes or even terabytes.

Simulations require supercomputers High end visualization hardware and parallel

rendering software (e.g. VTK) needed for data analysis. 3D datasets showing snapshots from a

simulation of spinodal decomposition: A binary mixture of water and oil phase separates. ‘Blue’ areas denote high water densities and ‘red’ visualizes the interface between both fluids.

http://www.realitygrid.org7

Exploring parameter spacethrough computational steering

Initial condition: Random water/ surfactant mixture.

Self-assembly starts.

Rewind and restart from checkpoint.

Lamellar phase: surfactant bilayers between water layers.

Cubic micellar phase, low surfactant density gradient.

Cubic micellar phase, high surfactant density gradient.

http://www.realitygrid.org8

Computational Steering - Why?

Terascale simulations can generate in days data that takes months to understand

Problem: to efficiently explore and understand the parameter spaces of materials science simulations

Computational steering aims to short circuit post facto analysis– Brute force parameter sweeps create a huge data-mining problem– Instead, we use computational steering to navigate to interesting

regions of parameter space– Simultaneous on-line visualization develops and engages

scientist's intuition– thus avoiding wasted cycles exploring barren regions, or even

doing the wrong calculation

http://www.realitygrid.org9

Computational steering – how?

We instrument (add "knobs" and "dials" to) simulation codes through a steering library

Library provides:– Pause/resume

– Checkpoint and windback

– Set values of steerable parameters

– Report values of monitored (read-only) parameters

– Emit "samples" to remote systems for e.g. on-line visualization

– Consume "samples" from remote systems for e.g. resetting boundary conditions

Images can be displayed at sites remote from visualization system, using e.g. SGI OpenGL VizServer, or Chromium

Implemented in 5+ independent parallel simulation codes, F90, C, C++

http://www.realitygrid.org10

Philosophy

Provide right level of steering functionality to application developer

Instrumentation of existing code for steering– should be easy

– should not bifurcate development tree

Hide details of implementation and supporting infrastructure– eg. application should not be aware of whether communication with

visualisation system is through filesystem, sockets or something else

– permits multiple implementations

– application source code is proof against evolution of implementation and infrastructure

http://www.realitygrid.org11

Steering and Visualization

Simulation

Visualization

Visualization

data transfer

Client

Steering library

Steering library

Steering library

Display

Display

Display

http://www.realitygrid.org12

ArchitectureCommunication modes:• Shared file system• Files moved by UNICORE daemon• GLOBUS-IO• SOAP over http/https

Simulation

Visualization

Visualization

data transfer

Client

Steering library

Steering library

Steering library

Data mostly flows from simulation to visualization.

Reverse direction is being exploited to integrate NAMD&VMD into RealityGrid framework.

http://www.realitygrid.org13

Steering in the OGSA

Steering client

Simulation

Steering library

Visualization

Visualization

Registry

Steering GS

Steering GS

con

nect

publish

find

bind

data transfer

publish

bind

Client

Steering library

Steering library

Steering library

http://www.realitygrid.org14

Steering in OGSA continued…

Each application has an associated OGSI-compliant “Steering Grid Service” (SGS)

SGS provides public interface to application– Use standard grid service technology to do steering

– Easy to publish our protocol

– Good for interoperability with other steering clients/portals

– Future-proofed next step to move away from file-based steering or Modular Visualisation Environments with steering capabilities

SGSs used to bootstrap direct inter-component connections for large data transfers

Early working prototype of OGSA Steering Grid Service exists– Based on light-weight Perl hosting environment OGSI::Lite

– Lets us use OGSI on a GT2 Grid such as UK e-Science Grid today

http://www.realitygrid.org15

Steering client Built using C++ and Qt library – currently

have execs. for Linux and IRIX Attaches to any steerable RealityGrid

application Discovers what commands are supported Discovers steerable & monitored

parameters Constructs appropriate widgets on the fly

Web client (portal) under development

http://www.realitygrid.org16

program lbe

use lbe_init_module

use lbe_steer_module

use lbe_invasion_module

RealityGrid-L2: LB3D on the L2G

VisualizationSGI Onyx

Vtk + VizServer

SimulationLB3D with RealityGrid

Steering API

LaptopVizserver Client

Steering GUIGLOBUS used to

launch jobs

SGI OpenGL VizServer

SimulationData

GLOBUS-IOSteerin

g (XML)

File based communication via

shared filesystem: Steerin

g GUI

X output is tu

nnelled back using

ssh.

ReG steering GUI

http://www.realitygrid.org17

Performance Control

application

component1

component2

component3

application performanc

e steerer

component performance steerer

component performance steerer

component performance steerer

http://www.realitygrid.org18

Advance Reservation and Co-allocation:Summary of Requirements

Computational steering + remote, on-line visualization demand:– co-allocation of HPC (processors) and visualization (graphics pipes and processors)

resources– at times to suit the humans in the loop

• advanced reservation

For medium to large datasets, Network QoS is important– between simulation and visualization,– visualisation and display

Integration with Access Grid– want to book rooms and operators too

Cannot assume that all resources are owned by same VO Want programmable interfaces that we can rely on

– must be ubiquitous, standard, and robust

Reservations (agreements) should be re-negotiable Hard to change attitudes of sysadmins and (some) vendors

http://www.realitygrid.org19

Steering and workflows

Steering adds extra channels of information and control to Grid services.

Steering and steered components must be state-aware, underlying mechanisms in OS and lower-level schedulers, monitors, brokers must be continually updated with changing state.

How do we store and restore the metadata for the state of the parameter space search?

Human factors are built into our architecture, humans continually interact with orchestrated services. What implications for workflow languages?

http://www.realitygrid.org20

Collaborative aspects

Multiple groups exploring multiple regions of parameter space.

How to record and restore the state of the collaboration? How to extend the collaboration over multiple sessions? What are the services and abstractions necessary to

bootstrap collaborative sessions? How do we reliably recreate the resources required by the

services, in terms of computation, visualization, instrumentation and networking.

http://www.realitygrid.org21

Integration with Access Grid?

Service for Bootstrappingsession

Contains “just enough”Information to start otherServices, red arrows indicate bootstrapping

Virtual Venues ServerMulticast addressingBridges

Visualization WorkflowWorkflows saved from Previous sessions or Created in this session

Simulation WorkflowWorkflows saved fromPrevious sessions orCreated in this session

Data Source WorkflowWorkflows saved from Previous sessions or Created in this session

Process RepositoryCollaborative processesCaptured using ontologyCan be enacted byWorkflow engines

Application RepositoryUses application specific ontology to describe what in silico processes need To be utilised for the session

Participants location and access rights

Application data, computation and visualization requirements

Who participates?

What do they use?

http://www.realitygrid.org22

How far have we got? Linking US Extended Terascale Facilities and UK HPC resources via a Trans-

Atlantic Grid

We used these combined resources as the basis for an exciting project

– to perform scientific research on a hitherto unprecedented scale

Computational steering, spawning, migrating of massive simulations for study of defect dynamics in gyroid cubic mesophases

Visualisation output was streamed to distributed collaborating sites via the Access Grid

Workshop presentation with FZ Juelich and HLRS, Stuttgart on the theme of computational steering.

At Supercomputing, Phoenix, USA, November 2003 TRICEPS entry won “Most Innovative Data-Intensive Application”

http://www.realitygrid.org23

Summary

All our workflow concepts are built around the idea of Steerable Grid Services.

Resources used by services have complex state, may migrate, may be reshaped.

Collaborative aspects of “Humans in the loops” are becoming more and more important.

The problems of allocating and managing the resources necessary for realistic modelling are very hard, they require (at present) getting below the Grid abstractions.

Clearly the Grid abstractions are not yet sufficiently comprehensive and in particular lack support for expression of synchronicity.

http://www.realitygrid.org24

London University Search Instrument

LUSI is located at and developed by Queen Mary College, University of London

Aim: Find ceramics (e.g. rare earth metal oxides) with interesting / valuable properties (e.g. high temperature superconductivity)

Motivation: theory cannot indicate how to construct a compound with a particular property. Established methodology in pharmaceutical industry uses automated sample generation and testing. Let's apply the same idea in materials science, exploring properties that are difficult to predict: superconductivity, luminescence, dielectric response…

Furnace XY Table Instruments Printer

http://www.realitygrid.org25

LUSI - schematic

Database

New materials c

cc

c

Predictions

Neural network

Measured data

Robot