iarnet: a general framework for porting scientific applications into distributed computing...

15
IARnet: A General Framework for Porting Scientific Applications Into Distributed Computing Environment Oleg Sukhoroslov, Vladimir Voloshinov Institute for Systems Analysis, RAS, Moscow Distributed Computing Systems Laboratory

Post on 18-Dec-2015

222 views

Category:

Documents


3 download

TRANSCRIPT

IARnet: A General Framework for Porting Scientific Applications Into

Distributed Computing Environment

Oleg Sukhoroslov, Vladimir Voloshinov

Institute for Systems Analysis, RAS, Moscow

Distributed Computing Systems Laboratory

Ian Foster. “Grid: Enabling Open Science” Keynote, Nature Conference on Asia Pacific “Networks Promoting Excellence in Research”. June 6, 2007, Tokyo, Japan.

“Bright future” of “Grid-science”

Not so bright day-to-day practice

Great potential of service-oriented computing Lack of Grid-computing practice in day-to-

day research Limited scope of application (batch-

computing mostly)

Existing tools are too complex.

Strong need in a simple-to-use framework for sharing and collaborative use of application resources as a remote services

IARnet in a few words

IAR denotes Information-Algorithmic Resources A software toolkit for transforming scientific tools

into remotely accessible services Promotes sharing and collaborative use of existing

tools Avoids unnecessary complexity, making the toolkit

easy to learn and to use (both for service and client developers)

The concept - in 2003, a name IARnet - 2004, first version (IARnet v1) in 2005-06.

IARnet resource and agents

IARnet resource Agent unified interface (v1)

Resource Agent connected with resource

Programming Model

Service Container

Calculator

double sum(double[] args)

CalcuatorService(Resource Agent)

@Remotedouble add(double a, double b) { return calculator.sum(…);}

CalculatorService s = new CalculatorService(…);Container container = new Container(port, …);ResourceReference ref = container.deploy(s);container.start();

Transport Plug-inTransport Plug-in

IARnet Client API

Client Application

Remote Invocation

Resource calc = LocateResource.getResource(ref);Double sum = (Double) calc.invoke(“add(double,double):double", ------ --new Object[]{ new Double(1.1), new Double(2.2) });….

WS (SOAP)CORBA Ice

WS (SOAP)CORBA Ice

IARnet features (v1)

Languages Java, C++ for service implementations Java for client applications

Data types Primitive, arrays, lists, sets, maps

Transport plug-ins CORBA, SOAP, Ice (www.zeroc.com)

Asynchronous calls Services

Information Service (publish/discovery), Workflow Management Service

Information Service (v1)

IARnet ontology (OWL)

Workflow Management Service (v1)

Applications benefiting from IARnet Problems, which can be decomposed into

multiple sub-problems might be solved by existing application

Coordination between resources is needed Interactive control of application execution

Distributed algorithm for solving optimal control problem Distributed simulation models (e.g., macro-economy, ecology) Geoinformation applications Branch-and-bound methods for global optimization

IARnet and existing Grid-systems

Thank you!

For more information please contact usIARnet: Oleg Sukhoroslov, [email protected],

Vladimir Voloshinov, [email protected]

IARnet (v1) architecture

Future: IARnet2 Based on Ice (zeroc.com) middleware

Elegant and powerful interface definition languageSupport for C++, Java, C#, Visual Basic, Python, PHP, and RubyHigh performance and scalability

Built-in securityPassword and SSL authentication, pluggable authorization modules,session management, support for virtual organizations

Scalable site modelSet of services managed by some person or organizationIARnet2 site can scale from a single desktop to a server pool

Avoids unnecessary complexityMuch easier to use than programming services with GT4Prototype implementation in Java is available

IARnet levels

IARnet levels