1 / 40

Development of grid-based nano device simulator and computing portal service

Development of grid-based nano device simulator and computing portal service . Kyungwon Chun, Huioon Kim, Kil Su Jung, and Youngjoo Chung GIST Korea-Japan Grid Symposium 2007-07-31. Contents. Introduction Computing Portal Service Easy access to computing resource

adamdaniel
Télécharger la présentation

Development of grid-based nano device simulator and computing portal service

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Development of grid-based nano device simulator and computing portal service Kyungwon Chun, Huioon Kim, Kil Su Jung, and Youngjoo Chung GIST Korea-Japan Grid Symposium 2007-07-31

  2. Contents • Introduction • Computing Portal Service • Easy access to computing resource • Architecture of the layers • Implementation strategy • Nano Device Simulator • Finite-Difference Time-Domain (FDTD) • Parellelization • Bigboy, GMES and Python

  3. Introduction Scientists Scientists Scientists Multi-disciplinary Information Portal Service Nano Scale Simulator provided by Web-Based Interface Interaction Communication

  4. Motivation & Goal • Provides easy simulation environment • Makes sharing information and idea possible to prevent a overlapping research • Makes multi-disciplinary research possible Scientist Scientist Simulation Environment Information Sharing Scientist Scientist Scientist Idea Exchanging Multi- Disciplinary Scientist Overlapping Research Prevention Research Spectrum Enlargement

  5. Processing Scheme Scenario

  6. Related Works nanoHUB (http://www.nanohub.org) In-VIGO (http://invigo.acis.ufl.edu)

  7. Linux Clusters Backbone switches KVM switches Gigabit hubs System specs • OS: Debian GNU/Linux Sarge • 76 calculation nodes (106 CPU cores) • The nodes are connected through gigabit & fast-Ethernet local networks Channel bonded fast-Ethernet hubs(200 Mbps) System performance Management node • High Performance Linpack (HPL) benchmark • http://www.netlib.org/benchmark/hpl/ • http://www.top500.org • Solves a (random) dense linear system in double precision (64 bits) arithmetic on distributed-memory computers. • Rmax: 152.1 Gflops • Nodes: eva2 (30) + eva3 (30) • CPUs: 90 cores • Performance tuning goal: 200 Gflops Backup server P4 2.4GHz calculation nodes P4 930 3.0GHz dual-core calculation nodes P4 530J 3.0GHz hyper-threading calculation nodes UPS Jun 30th, 2006

  8. Architecture - 1 Application layer Calculation Visualization Simulation User interface layer Web Service layer Web Based Technology Portal Web Site (Plone) VNC Zope server Java Web Services Python-C API Simulation core layer FDTD core FEM core Etc. Resource management layer Monitoring / Identification Job Scheduling / Execution Computation resource layer Calculation nodes File servers Management nodes Web servers Backup servers 6 layered architecture

  9. Architecture - 2 • 1st layer: Computation resource layer • Includes calculation nodes, file servers, management nodes, web servers, and back-up nodes Computation resource layer Calculation nodes File servers Management nodes Web servers Backup servers

  10. Architecture - 3 • 2nd layer: Resource management layer • Monitoring / Identification • Can use Ganglia, the open source monitoring tool • Job Scheduling / Execution • Can use PQRM, Globus Toolkit or other grid middleware Resource management layer Monitoring / Identification Job Scheduling / Execution

  11. Architecture - 4 • 3rd layer: Simulation core layer • Has core modules of the simulators • Is interacted with the fourth layer using Python-C API. • Can be used through Virtual Networking Computing (VNC) directly Simulation core layer FDTD core FEM core Etc.

  12. Architecture - 5 • 4th layer: Service layer • Web Based Technology • Plone • Java web services • Virtual Network Computing (VNC) Service layer Web Based Technology Portal Web Site (Plone) VNC Zope server Java Web Services Python-C API

  13. Architecture - 6 • 4th layer: Service layer • Web Based Technology • Plone • Contents Management System (CMS) • For simulation web portal template • Works on the Z Object Publishing Environment (ZOPE) server • Java web services • Have functions related with the execution of a simulator • Virtual Network Computing (VNC) • For the advanced users • Provides a shell environment via a conventional web browser

  14. Architecture - 7 • 5, 6th layer: User interface & Application layer • All interfacing between users and system are done via web • Application includes calculation, simulation, and visualization Application layer Calculation Visualization Simulation User interface layer Web

  15. Use-Case Diagram

  16. Implementation - 1 • Java Web Service • Submits and executes a simulator • Has two web methods • getVersion() • Returns the current version of the web service • getResult() • Returns the simulation results as the string type after submits and executes a simulator • Job Scheduling / Execution • Torque (OpenPBS) • Apply to cluster resources

  17. Implementation - 2 • Simple web page for 1D FDTD simulator

  18. Numerical Methods for Electromagnetics Numerical Methods Finite Difference Method (FDM) Finite Element Method (FEM) Finite-Difference Time-Domain (FDTD) An implicit method An explicit method Unconditionally stable FDTD Yee’s algorithm Courant stability condition The real refractive index of Ag

  19. FDTD Method Is … • The FDTD is a grid-based differential time-domain numerical modeling methods to solve Maxwell's equations. • GMES is an Python implementation of the FDTD method.

  20. Required Computational Resources To represent the fine structure Conventional FDTD FDTD for the nano-scaled device 1000 nm 50 nm 25 partitions 25 partitions To represent the dispersive material Conventional FDTD FDTD for the dispersive material

  21. Parallel Implementation Calculation region

  22. Flow Chart

  23. Performance Enhancement • Parallel 3D FDTD • Performance enhancement depending on the number of calculation clusters Plasmon Waveguide The propagation modes of the plasmon waveguide

  24. Plasmon Waveguide Simulation • Base material: air • Metal particles: • Material: Au • shape: sphere • radius: 25nm • Center to center distance: 75nm • An input source: • Type: Hertzian dipole • Wavelength: 529.598 nm • Field component: Ez (longitudinal) • Loss: 2.99 dB / 100 nm J. R. Krenn et al., Phys. Rev. Lett., 82, 12, pp. 2590-2593, 1999.

  25. Simple CAD Capability • LIBCTL of MPB • A sphere • A cylinder • A cone • A hexahedron • An ellipsoid

  26. Plasmon Waveguide Examples J. Goo, M.S. Thesis, GIST, 2004.   • 9 copper spherical particles • Longitudinal mode • Hertzian dipole source with Froedlich resonance frequency • Loss : 2.99dB/100nm • 10 gold cubical particles • Transverse mode • Hertzian dipole source with Froedlich resonance frequency • Loss : 1.64dB/100nm

  27. T Waveguide Coupler J. Goo, M.S. Thesis, GIST, 2004.   T-Structure, transverse excitation, Switch On T-Structure, transverse excitation, Switch Off Switching port(off) Switching port(on) Input port(on) Output port Input port(on) Output port

  28. Y Waveguide Coupler J. Goo, M.S. Thesis, GIST, 2004.   Y-Structure, transverse excitation, Switch On Output port Y-Structure, transverse excitation, Switch Off Input port(on) Switching port(off) Output port Input port(on) Switching port(on)

  29. Execution in Grid Environment

  30. Bigboy vs Meep http://www.sf.net/projects/bigboy/

  31. Bigboy vs Meep • http://www.sf.net/projects/bigboy • Since 2003 • 1 developer • 1 user • http://ab-initio.mit.edu/wiki/index.php/Meep • Since 2006 • 6 developer • Many users in their group

  32. GMES Specification Technical Spec. Scientific Spec. • Architecture: • Python packages • Programming Language: • Main language: Python & C++ • Programming paradigm: • Object Oriented Programming • Support platform: • Windows & Linux • License: • GNU General Public License (GPL) • Visualization: • Simultaneous visualization through VTK • Parallel implementations: • Full threads • Message Passing Interface (MPI) • Update algorithm: • Explicit FDTD method with SI units • 1, 2, & 3-D • ABC: • Convolutional PML (CPML) • Support input sources: • Various hard sources • Support media: • Isotropic dielectrics • Disperse metals • Nonlinear medium

  33. Contents Providing Strategy Reuse simulation program. Keep the Simplicity. Provide the flexibility. From the general simulation engine FDTD engine Python interface Optical fiber grating Photonic crystals Provide various specific contents Plasmonics Photonic crystal fiber

  34. Python Is … Interpreted, interactive, object oriented Garbage collection Lots of modules & packages Very high level dynamic data types & dynamic typing Automatic byte-code generation A glue language Simple, easy syntax Open source Rapid application development • Code length: 1/5 ~ 1/10 of C, 1/3 ~ 1/5 of Java • Development period: 1/24 of C The low cost of maintenance

  35. Examples - PyGeom • Bragg grating #!/usr/bin/env python from PyGeom.coordinate import * from PyGeom.geometric import * from scipy import * low = dielectric(index=1) hi = dielectric(index=3) wHi = low.index / (low.index + hi.index) geometryLattice = lattice(size=[1, 0, 0]) geometry = [defaultMaterial(material=low), cylinder(material=hi, axis=[1, 0, 0], \ radius=inf, height=wHi)]

  36. Examples - PyGeom • Bragg grating with sinusoidal index variation #!/usr/bin/env python from scipy import * from PyGeom.geometric import * from PyGeom.coordinate import * class dielectric(materialType): def epsFunc(self, x): indexMin = 1 indexMax = 3 return indexMin + 0.5 * \ (indexMax - indexMin) * (1 + cos(2*pi*x)) geometryLattice = lattice(size=[1, 0, 0]) geometry = [defaultMaterial(material=dielectric())]

  37. Visualization Post-processing visualization Interactive & Simultaneous visualization Necessities • Determine input parameters. • Confirm configurations. ToDos • Instant response • More functions

  38. Optimization Results

  39. Further Works Computing Portal Service Add community function Add history function Applying to other grid middleware Add more simulators

  40. The End

More Related