# Presentation: 065478

## Applied Cluster Computing Technologies Group Capabilities

- Paul von Allmen (Supervisor)
- Virgil Adumitroaie, A. Joey Czikmantory, Viktor Decyk, Matthew Henderson
- Hook Hua, Seungwon Lee, Bill Lincoln, Sofia Merida, Nooshin Meshkaty,
- Fabiano Oyafuso, Lei Pan, Gian Franco Sacco, Kacie Shelton, Douglas Sievers
- Paul Springer, Robert Tisdale
*Jet Propulsion Laboratory, California Institute of Technologies, Pasadena, CA*

## Optimization with Genetic Algorithms

- _Material/Device Design_

- Method

- Applications

- N-dimensional
- Design Space

- M-dimensional
- Objective Space

- direct

- Inverse

- Initial
- Population
- G=1

- Pareto-based
- Evaluation

- Parent
- Selection

- Crossover
- Mutation

- G<Gmax

- End

- Yes

- No

- G=G+1

-  Design parameters: thrust sequence
-  Objective parameters: flight time, consumed propellant mass

-  Design parameters: atomic structure, nanostructure geometry.
-  Objective parameters: material/device properties

- Pareto Front

**Optimization with Genetic Algorithms**

## Materials and Device Simulation

- Method

- Applications

- _Optical Devices_

- _	__Quantum_
- _Computing_

- _Thermoelectric_
- _Materials_

- _Sensors and_
- _Electronics_

**Experimental **
**Data**

**First Principles**
**Data**

**Atomic Level Description**
**Empirical Tight Binding**

**Atoms Dynamics**
**Valence Force Field**

**Electronic Properties**
**Band Structure**

**Lattice properties**
**Strain, Phonons**

**Optical Properties**
**Transport**

**Atomic level description of systems with millions of atoms**

**Genetic Algorithm Optimization**

- Infrared InAsSb/InGaAs Quantum Dot Photodetectors, Lasers

- -Chemical nanowire sensor
- -Spintronics

**0.12 meV**

**0.12 meV**

**QD **
**confinement**

**B = 1 T**

**Strained **
**Bulk**
**Z valley**

**3.84 meV**

- - Spin Qubit design in Si and III/V QD
- - Spin Decoherence

- Bi2Te3
- Band Structure

- Optimize Figure of Merit *ZT* of Nano-Composite Materials

**Materials and Device Simulation**

## Use native XML database
_x0018_Capability requirements are intrinsically hierarchical 
Data mining of optimal technology matches through use of analysis queries
Model data with taxonomies and ontologies
Provides a common, standardized source of documented quantitative data for technologies and capabilities requirements (common vocabulary)
Model relationships between capability and technology concepts
Capability requirements and technologies adhere to common taxonomy
Quantifiable correlations now possible

- Approach

- Results

- Use native XML database
- _x0018_Capability requirements are intrinsically hierarchical
- Data mining of optimal technology matches through use of analysis queries
- Model data with taxonomies and ontologies
- Provides a common, standardized source of documented quantitative data for technologies and capabilities requirements (common vocabulary)
- Model relationships between capability and technology concepts
- Capability requirements and technologies adhere to common taxonomy
- Quantifiable correlations now possible

- Developed the XML Capability Analysis Library (XCALIBR) web-based application
- Quantitative, traceable, and defensible technology return on investment
- Finds high payoff technology areas for given capability requirements.
- Developed for New Millennium Program (NMP)
- Common taxonomy for NASA including goals, required capabilities for future missions, technologies, etc.
- Hierarchy of spacecraft bus subsystems and instruments with performance metrics at every level

- Adheres to

- Adheres to

- Method

- XQuery
- Engine

- Data
- Model

- Java to XQuery
- language bindings

**XML Database**

**Data Mining with Ontologies**

## Parallel Discrete Event Simulation

- _Other Modeling Applications_

- Method

- Application

- Choose PDES framework:  WARPIV, SPEEDES, TWOS

- Segment application (1,000,000 or more objects)

- Objects send time-stamped messages

- Framework rolls back objects as needed

-  Sensor webs, smart dust, robotic swarm
-  Interplanetary network
-  Advanced parallel computer architecture

- Run Application on Parallel H/W

- X+

- X-

- Y+

- Y-

- Z+

- Z-

- Links

- VC1

- VC2

- VC1

- VC2

- VC1

- VC2

- VC1

- VC2

- VC1

- VC2

- VC1

- VC2

- Arbitration cycle

- Output channels

- Injection queues

- Queues

- Wait queues

- Arbitration

**Parallel Discrete Event Simulation**

## Navigational Programming

- Future

- Motivation

- Method

**Building Blocks**

- Enabling Technology:
- Computation Mobility
-    (MESSENGERS)

- NavP Toolkit

- Network of Workstations, Cluster, or the Grid

**Step 2**

**Step 3**

**Step 4**

**Step 1**

**Data distribution**
- Generate an affinity graph by instrumenting the sequential algorithm
- Partition the graph to obtain data mapping
- Distribute data to Distributed Shared Variables (DSV) according to data mapping
**Distributed Sequential Computing (DSC)**
- Insert migration statements (**hop(.)**) into the sequential code to get DSC thread
- Thread carries small data to meet with large data
- Computation is coarse grained
- Based on Distributed Code Building Block (DBlock) Analysis
**Distributed Parallel Computing (DPC)**
- Transform DSC thread into multiple migrating threads (pipelining techniques)
- Insert synchronization statements (**signal()** and **wait()**)
**Loop back for feedback and refinement**

**NavP Steps: Start from a sequential algorithm**

**Background and Motivation**
- Message passing (MP) is efficient but difficult to implement
- Shared address space methods are easy but unscalable
- Need a method that combines the advantages
**Navigational Programming (NavP)**
- Based on self-migrating threads
- Enabling technology: computation mobility
- A means for developing parallel programs by hand
**NavP Benefits**
- NavP code performs as fast as MP code
- Reduces development and maintenance costs
- Supports incremental parallelization
- Parallel code is structurally the same as the original sequential code

**Case selection rationale**
- Solving linear systems accounts for the majority of CPU time in numerical computation
- Direct solvers are harder to parallelize than iterative solvers
**Real-world examples**
**Crout factorization**: A “left-looking” matrix factoring algorithm
**Cholesky factorization**: A “right-looking” matrix factoring algorithm
**Good Performance**
- NavP Cholesky code performs as fast as that of ScaLAPACK

- Build industrial strength product
- Fine tune for SMP Linux clusters
- Provide more language bindings. For example, support Fortran to immediately benefit legacy scientific and engineering codes.
- More applications: Massively Multi-player Online Game (MMOG), finite element modeling and analysis, earthquake modeling, atmospheric chemistry modeling, ocean modeling, robotics, satellite radar image processing, and power system modeling
- An alternative to MP to break MPI’s “monopoly”
- NavP toolkit to automatically improve the performance of legacy codes
- Calls for a revolution in computer hardware, compilers, middleware, tools, and application development

- hardware

- middleware

- application

**NavP Steps**

**Navigational Programming**

## Technology Investment Optimization

- _Return-on-Investment Analysis_

- _Lander vs Rover_

- Method

- Application

- Evaluate technologies based on their impact on goals.

- Cost

- Technology development uncertainty

- Utility of outcomes towards goals

| NASA Agency level  |
| --- |
| NASA Directorate level |
| NASA Center level |
| NASA Project level |

**Technology Investment Optimization**

##  Interferometry application for topographical analysis.  Examples:
Dynamics of glacier flow
Vertical perturbations due to seismic activity
 First released in 2000; used by ~30 groups in research/academic community
Very large data sets, I/O-bound performance requires parallel file system (PVFS).
Parallel implementation -- legacy code serves as engine for data processing, managed by Python environment.

- Method / Tools

- Applications

- _MM5/ASTER_

- _OCO_

- _ROI-PAC_

-  Interferometry application for topographical analysis.  Examples:
- Dynamics of glacier flow
- Vertical perturbations due to seismic activity
-  First released in 2000; used by ~30 groups in research/academic community
- Very large data sets, I/O-bound performance requires parallel file system (PVFS).
- Parallel implementation -- legacy code serves as engine for data processing, managed by Python environment.

- Parallel Virtual File System

- ASTER:  Imaging instrument; measures surfaces temperature, emissivity, elevation
- MM5:  scriptable weather modeling application.
- Demonstrated partial integration of L2 ASTER data in MM5 on cluster.

-  Radiative transfer (RT)-based application to determine atmospheric CO2 concentrations using Orbiting Carbon Observatory (OCO) data.
-  Assumption of inelastic scattering enables independent (embarassingly parallelizable) frequency calculations, whereby different RT kernels can be easily substituted.

- Multi-angle Imaging Spectro-Radiometer measures angular distribution of scattered sunlight to quantify the solar energy that heats Earth’s surface and atmosphere.
- MISR ground-based data processing software ported from obsolete SGI O2K supercomputers to P4 Linux clusters.
- Demonstrated 10x speedup of L1 Product Generation Executable enabling reprocessing of L2, L3 products from data archives.

- The ACT group is porting and optimizing legacy applications on cluster computers
- _Hardware_:  2 Beowulf (3.3GHz, 32 node P4, 900MHz 61 node P3) and 2 Apple Clusters (32 node G5, 32 node G4); Myricom 2GB switch
- _Software_:  compilers (IBM, Fujitsu, Absoft, Intel, Gnu, PGI); MPI (lam, mpich, pooch); debugging (TotalView); Parallel file system (PVFS) stripes file data across multiple disks.

**Porting Legacy Applications to Clusters**

## Kinetic Plasma Modeling

- _Space Physics_

- _Plasma Propulsion_

- _Laser Plasma Interactions_

**Accelerate Particles**

**Solve EM Fields**

**Deposit Current**
**and Charge**

- _UCLA PIC Framework_
- Unified environment providing
- components for building
- parallel PIC codes

- Method / Tools

- Applications

- _Performance of PIC_
- 1 Billion particles can be
- updated in 2 seconds on a 256
- processor Mac G5 Cluster

- _Advantages of PIC_
- Makes fewest physics approximations
- Works where continuum models may fail

- Particle-in-Cell (PIC) Codes integrate trajectories of charged particles in their self-consistent electromagnetic fields

- _Other PIC Application Areas_
- Fusion Research
- Electronic Devices
- Plasma Processing
- Linear Accelerators
- Cosmology
- Quantum Plasmas

**Kinetic Plasma Modeling**

## Computational Fluid Dynamics

- Methods

- Examples

- _Higher Fidelity Turbulence Models_
-   Reynolds Averaged Navier-Stokes (RANS)
-      - Explicit Algebraic Reynolds Stress Model (High-Speed Reacting Flows)
-   Large Eddy Simulation (LES)
-      - Localized Dynamic K-equation Model

- _Efficient Computations_
- Parallel Implementations of All Models
- Highly Efficient Algorithms
-      - In-Situ Adaptive Tabulation for Chemically Reacting Flows
- Adaptive Solver Behavior Using AI Techniques

- Homogeneous Flow__x0003__

- Jet-in-Cross Flow

- Experiment

- LES Simulation

- Combustion Instabilities

- Acknowledgments: These examples were generated using the
- CFD-ACE+ software package from CFD Research Corporation,
- Huntsville, AL and working in collaboration with Steven M. Cannon (ATK Thiokol), Clifford E. Smith (CFDRC) and Adrian Spencer (Loughborough University, UK).

**Computational Fluid Dynamics**