lunarc, lund universitylscs 2002 transparent access to finite element applications using grid and...

Post on 18-Dec-2015

220 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related