LUNARC, Lund University LSCS 2002
Transparent access to finite element applications using grid and web technology
J. Lindemann P.A. Wernberg and G. SandbergLUNARC, Lund University
LUNARC, Lund University LSCS 2002
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
LUNARC, Lund University LSCS 2002
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
LUNARC, Lund University LSCS 2002
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??
LUNARC, Lund University LSCS 2002
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
LUNARC, Lund University LSCS 2002
• 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
The Sleipner Test Cluster
Lunarc clusters
Whenim64 65 nodesHusmodern 32 nodesSleipner 8 nodes
LUNARC, Lund University LSCS 2002
CWP Example
LUNARC, Lund University LSCS 2002
CWP
LUNARC, Lund University LSCS 2002
CWP
LUNARC, Lund University LSCS 2002
CWP
LUNARC, Lund University LSCS 2002
CWP
LUNARC, Lund University LSCS 2002
CWP
LUNARC, Lund University LSCS 2002
CWP
LUNARC, Lund University LSCS 2002
CWP
LUNARC, Lund University LSCS 2002
CWP
LUNARC, Lund University LSCS 2002
CWP
LUNARC, Lund University LSCS 2002
CWP
LUNARC, Lund University LSCS 2002
CWP
LUNARC, Lund University LSCS 2002
CWP
LUNARC, Lund University LSCS 2002
CWP
LUNARC, Lund University LSCS 2002
CWP
LUNARC, Lund University LSCS 2002
CWP
LUNARC, Lund University LSCS 2002
CWP
LUNARC, Lund University LSCS 2002
CWP
LUNARC, Lund University LSCS 2002
CWP
LUNARC, Lund University LSCS 2002
CWP
LUNARC, Lund University LSCS 2002
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...
LUNARC, Lund University LSCS 2002
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
LUNARC, Lund University LSCS 2002
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
LUNARC, Lund University LSCS 2002
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.
LUNARC, Lund University LSCS 2002
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.
LUNARC, Lund University LSCS 2002
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);
};
IDL-compiler (C++)
LUNARC, Lund University LSCS 2002
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
LUNARC, Lund University LSCS 2002
Finite element CORBA implementation
LUNARC, Lund University LSCS 2002
Finite element CORBA implementation
User interface
ForcePadSolverserver
FE Solver
Name server
Presentation layer
Middle layer
Implementation layer
User interface
ForcePadSolverserver
FE Solver
Name server
Presentation layer
Middle layer
Implementation layer
User interface
ForcePadSolverserver
FE Solver
Name server
Presentation layer
Middle layer
Implementation layer
LUNARC, Lund University LSCS 2002
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
LUNARC, Lund University LSCS 2002
ForcePAD interfaces
LUNARC, Lund University LSCS 2002
Client/server configuration
User interface
ForcePadSolverserver
FE Solver
Name server
Local computer
Presentation layer
Middle layer
Implementation layer
LUNARC, Lund University LSCS 2002
Client/server configuration
ForcePadSolverserver
FE Solver
Name server
Middle layer
Implementation layer
Remote computer
User interface
Local computer
Presentation layer
LUNARC, Lund University LSCS 2002
Client/server configuration
User interface
ForcePadSolverserver
FE Solver
Name server
Local computer
Remote computer 1
Remote computer 2
Presentation layer
Middle layer
Implementation layer
LUNARC, Lund University LSCS 2002
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
LUNARC, Lund University LSCS 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
LUNARC, Lund University LSCS 2002
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
LUNARC, Lund University LSCS 2002
CORBA cluster
Client
ControllerSecurityManager GridNode
FileTransfer NodeInformation CommandInterface
1 n11
ServantController
ClusterNode1 n
Queue system
LUNARC, Lund University LSCS 2002
Web based engineering tools
LUNARC, Lund University LSCS 2002
Web based engineering tools
LUNARC, Lund University LSCS 2002
Web based engineering tools
LUNARC, Lund University LSCS 2002
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