+ All Categories
Home > Documents > The only (important?) components are parallel or distributed J.R. Cary Tech-X Corporation Review of...

The only (important?) components are parallel or distributed J.R. Cary Tech-X Corporation Review of...

Date post: 04-Jan-2016
Category:
Upload: ruth-morgan
View: 214 times
Download: 0 times
Share this document with a friend
Popular Tags:
13
The only (important?) components are parallel or distributed J.R. Cary Tech-X Corporation Review of components Throw out some controversial statements Looking for feedback A registry based successful approach to flexibility Additional requirements from inhomogeneous parallelism Baby steps towards parallel registries
Transcript
Page 1: The only (important?) components are parallel or distributed J.R. Cary Tech-X Corporation Review of components –Throw out some controversial statements.

The only (important?) components are parallel or distributed

J.R. CaryTech-X Corporation

• Review of components–Throw out some controversial statements–Looking for feedback

• A registry based successful approach to flexibility• Additional requirements from inhomogeneous

parallelism• Baby steps towards parallel registries

Page 2: The only (important?) components are parallel or distributed J.R. Cary Tech-X Corporation Review of components –Throw out some controversial statements.

Parallel components 2

The component: path to software Nirvana

• May present multiple interfaces–All things to all people?– Interfaces must be known

• Need not be known at link time–Found in the afterlife

Page 3: The only (important?) components are parallel or distributed J.R. Cary Tech-X Corporation Review of components –Throw out some controversial statements.

Parallel components 3

For single address space, what distinguishes a component from an object?

• Components have well defined interfaces

• Components can have multiple interfaces

• Components can be stateful

• Components can be singletons (shared object lib with static data)

• Objects have well defined interfaces

• Objects can have multiple interfaces (multiple inheritance)

• Objects can be stateful• Objects can be singletons

Page 4: The only (important?) components are parallel or distributed J.R. Cary Tech-X Corporation Review of components –Throw out some controversial statements.

Parallel components 4

Parallelism is "where it's at" for components

• Domain 0 to Domain 1: “Give me your left border cells”

• Domain 0 to Domain 3: “Give me your upper-left corner cell”

• Each domain provides different data (even interface) to each processor

Domain 1Domain 0

Domain 2 Domain 3

Even with just domain decomposition one now has components

Page 5: The only (important?) components are parallel or distributed J.R. Cary Tech-X Corporation Review of components –Throw out some controversial statements.

Parallel components 5

You can do a heck of a lot with the above model

• VORPAL: all first-level objects (particles, fields, collision operators) exist on all domains and so are constructed on all.

• All interactions through first-leve objects only• Second-level objects (surface emitters, boundary

conditions) exist on only those procs with geometry containing that object.

Page 6: The only (important?) components are parallel or distributed J.R. Cary Tech-X Corporation Review of components –Throw out some controversial statements.

Parallel components 6

Construction is through a object definition language

<Grid globalGrid>numPhysCells = [NX NY NZ]lengths = [LX LY LZ]startPositions = [XSTART YSTART ZSTART]</Grid>

<EmField adiemfld> kind = emMultiField# Electric field <Field edgeE> numComponents = 3 numGuardCells = [1 1] offset = edge

# Set E_y and E_z to zero on left boundary <BoundaryCondition leftConductor> kind = constant lowerBounds = [0 -1 -1] upperBounds = [1 NY1 NZ1] indices = [1 2] amplitudes = [0. 0.] </BoundaryCondition> </Field><EmField>

Startup: register implementationsPrior to connection time: register instances

Page 7: The only (important?) components are parallel or distributed J.R. Cary Tech-X Corporation Review of components –Throw out some controversial statements.

Parallel components 7

FACETS project requires more complex coupling

Closed field lines: slow perpendicular + fast parallel transportQuantities 1DHot plasmaCollisionless, no significant atomic physics (except beams)

Open field lines (or close to): so parallel transport must balance perpendicularQuantities are 2DCool plasmaCollisional, atomic physics is important

Plasma-wall interaction is 2D

Core is essentially 1DEdge is 2DWall is a collection of 1D equations

Page 8: The only (important?) components are parallel or distributed J.R. Cary Tech-X Corporation Review of components –Throw out some controversial statements.

Parallel components 8

Idealized view: surfacial couplings between phase transitions

• Core is a collisionless, 1D transport system with local, only-cross-surface fluxes

• Edge is a collisional, 2D transport system• Wall: beginning of a particle trapping matrix

1D and 2D surfacial couplings

same points

wall

Coupling

Page 9: The only (important?) components are parallel or distributed J.R. Cary Tech-X Corporation Review of components –Throw out some controversial statements.

Parallel components 9

Many components, many processors, many interfaces

• Each object exists on a subset of the processors• Connecting each with other components makes life worse• Doing a one-off is not going to help the larger problem

Core

Core

Wall

Wall

Wall

Wall

Wall

Wall

Communicate among selves to get averaged values

Edge component by itself has a complex topology (a regular mesh is worth a lot of contortions)

Wall

Wall

Wall

Page 10: The only (important?) components are parallel or distributed J.R. Cary Tech-X Corporation Review of components –Throw out some controversial statements.

Parallel components 10

Abstraction: processor groups, objects, interfaces

• Processor group (MPI communicator) on which one has objects (may overlap)

• Objects must register interfaces with processor group

• Must be able to query proc group for interfaces

Page 11: The only (important?) components are parallel or distributed J.R. Cary Tech-X Corporation Review of components –Throw out some controversial statements.

Parallel components 11

We need a language to describe this

• Self discovery will not work– Inquire of 10000 processors what they have?

• Instead:–Global component created–Creates subcomponents (with associated

communicators) on subsets of procs–Sub components contains components–At each level, can register with parent or arbitrarily high

up in containment

Page 12: The only (important?) components are parallel or distributed J.R. Cary Tech-X Corporation Review of components –Throw out some controversial statements.

Parallel components 12

We are starting on this in FACETS

<Component facets> kind = parComposer

## Define coupler <Coupler coupler> kind = aBCoupler </Coupler> <Component a> kind = seqComposer load = 1.0. . .

Page 13: The only (important?) components are parallel or distributed J.R. Cary Tech-X Corporation Review of components –Throw out some controversial statements.

Parallel components 13

No conclusions: work in progress

• Flexibility obtained by registry concept– Implementations– Instances

• Need to generalize for heterogeneous case without building everything everywhere


Recommended