480 likes | 591 Vues
This study explores the integration of grid and web technologies to provide transparent access to finite element applications. The authors, J. Lindemann, P.A. Wernberg, and G. Sandberg from Lund University, build on previous work involving encapsulation of finite element programs into distributed object models, and enhance user interfaces with grid services. Utilizing CORBA for middleware, the approach aims to standardize resource distribution in structural analysis software, creating accessible interfaces for users of varying expertise while facilitating job submission and management across clusters.
E N D
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 • 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
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
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??
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
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
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...
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
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
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.
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.
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); };
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
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
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
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
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
Queue system CORBA cluster
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