1 / 48

Transparent access to finite element applications using grid and web technology

Transparent access to finite element applications using grid and web technology. J. Lindemann P.A. Wernberg and G. Sandberg LUNARC, Lund University. Some earlier work.

red
Download Presentation

Transparent access to finite element applications using grid and web technology

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. Transparent access to finite element applications using grid and web technology J. Lindemann P.A. Wernberg and G. Sandberg LUNARC, Lund University

  2. Some earlier work • R. Larsson, Encapsulation of a finite element program using a distributed object model, Masters dissertation TVSM-5095, Division of Structural Mechanics, Lund University, 1999 • J. Lindemann, O. Dahlblom, G. Sandberg, An Approach For Distribution Of Resources In Structural Analysis Software, ECCM ’99, Munich, Germany, 1999 • Programming and Visualisation Techniques in Finite element Software, Division of Structural Mechanics, Licentiate Dissertation, TVSM-3050, 2001 • Using CORBA middleware in finite element software, ICCS 2002 • Using CORBA middleware in finite element software, Future Generation Computer Systems, Elsevier, 2002, Accepted for publication

  3. Transparent access • Creating a easier interface to present clusters • Extend user interface with grid services • Distributed applications integrating seamlessly with clusters and grids • CORBA interfaces to clusters and grids

  4. Using clusters • Log in • Instructions on how to use SSH • Getting SSH client software if client is MS Windows • Instructions on unix tools • mkdir proj • sftp/scp user@... • Instructions on how to transfer files • vi/joe submit script • Submit script documentation • Queue management • qsub script • qstat ... • Transfer result files back • sftp/scp For many, this is a straightforward process, but why do we get so many questions??

  5. Cluster Web Portal • Web interface well established interface • Most users know what to do • Multiple entrypoints • Novice users (web interface) • Intermediate users (web/cli modification) • Experienced users (web monitoring/cli) • Project based • One directory per project • Project includes input files and submission scripts • CWP creates submit scripts from job definition stored in database • templates for different application types

  6. The Sleipner Test Cluster • CWP installed on retired production cluster • Easier to experiment without any users... • 8 nodes (legs...) • AMD 1100 Mhz • 1 Gb memory • 2x15 Gb striped disks • RedHat Linux 7.2 • Frontend • AMD 1000 Mhz • 256 Mb memory • 80 Gb disk • RedHat Linux 7.2 • Network • 100Mbit Fast Ethernet Lunarc clusters Whenim64 65 nodes Husmodern 32 nodes Sleipner 8 nodes

  7. CWP Example

  8. CWP

  9. CWP

  10. CWP

  11. CWP

  12. CWP

  13. CWP

  14. CWP

  15. CWP

  16. CWP

  17. CWP

  18. CWP

  19. CWP

  20. CWP

  21. CWP

  22. CWP

  23. CWP

  24. CWP

  25. CWP

  26. CWP

  27. CWP Implementation • Apache Web Server SSL • PHP 4.x • OpenPBS • OpenSSH • Execution of commands • MySQL database • Job descriptions • User accounts (web accounts) • Announcements/news • Too be extended...

  28. CWP Future • Jobsubmission through Nordugrid • PHP security functions must be implemented • Submission of jobs+input files to other clusters without shared filesystems or Nordugrid connection • Packing job and description into a job-package • Users must have account on other cluster • More application templates • Debugging, documentation and installation scripts

  29. Components in software • Hardware often consist of components • Software components = hardware components. • Components in software can be exchanged. • If the interface is the same • Component model / Object model needed • CORBA, DCOM, RMI use an intermediate language for describing interfaces • Enabling component design

  30. CORBA • Object Management Group’s specification for interoperability and interaction between objects and applications. • CORBA 1.1 released in 1991. • Language neutral. • Object oriented. • Object interfaces described using the Interface Definition Language, IDL.

  31. CORBA concepts and terminology • client - entity that invokes a request on a CORBA object. • CORBA object - ”virtual” entity capable of being located by an ORB and having client requests invoked on it. • server - application in which one or more CORBA objects exist. • object reference - handle used to identify, locate and address a CORBA object. • servant - programming language entity that implements one or more CORBA objects.

  32. IDL-compiler (C++) Interface Definition language interface Echo { string Shout(in string word); } class Echo : virtual public CORBA::Object { Echo(const Echo&); ... public: ... char* Shout(const char* word); };

  33. Name service • CORBA objects acessed by object references • Unique identifier, also contains ip/port information • Must be retrieved somehow • CORBA 2.3 introduced a Name service • Provides location transparency • bm/servers/factories/forcepad -> object reference • Name service location provided at startup • DNS for CORBA objects

  34. Finite element CORBA implementation

  35. Finite element CORBA implementation

  36. ForcePAD server interface • Designed to reduce the number of requests • Object request has a cost determined by latency and marshaling rate • Latency the most critical factor • A CORBA request 50-5000 times slower than a function call in C++ • Marshaling rate determined by network bandwith

  37. ForcePAD interfaces

  38. Client/server configuration

  39. Client/server configuration

  40. Client/server configuration

  41. CORBA and FE applications • For more information • Programming and Visualisation techniques in Finite Element Software, TVSM-3050 • Using CORBA middleware in finite element software, Future Generation Computer Systems, Elsevier, 2002

  42. CORBA in clusters and grids • CORBA enabled applications requires a CORBA aware cluster • Globus toolkit has CORBA bindings for job submission and resource management • Bindings not very well supported/developed • How do we run CORBA enabled finite element applications using Globus? • Initial development of a CORBA enabled cluster has been done • Sleipner will testbed for these efforts

  43. CORBA enabled cluster • Interface definitions needed (IDL) for • Cluster information system • Resource management • File transfer • Queue management • Job submission • Security • Each cluster becomes a set of CORBA objects • Simple grid solutions can be created by connecting CORBA enabled clusters • Communication over SSL

  44. Queue system CORBA cluster

  45. Web based engineering tools

  46. Web based engineering tools

  47. Web based engineering tools

  48. Conclusions • Broader user base requires • Simple user interface • Smooth learning curve • Experienced users benefit a better interface • Monitoring • Simple control • Web portal can be central point for grid based resources • CORBA based distributed finite element applications can be supported on clusters • CORBA based cluster abstraction • Globus CORBA interface • CORBA based applications enable powerful web based engineering tools

More Related