IARnet - NEC'2007

saucecopywriterInternet και Εφαρμογές Web

2 Φεβ 2013 (πριν από 4 χρόνια και 11 μήνες)

247 εμφανίσεις

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
I
nformation
-
A
lgorithmic
R
esources


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)

@Remote

double 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
-
in

Transport 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 us

IARnet:

Oleg Sukhoroslov,
os@isa.ru
,


Vladimir Voloshinov,
vv_vol@isa.ru


IARnet (v1) architecture

Future: IARnet2


Based on Ice (zeroc.com) middleware

Elegant and powerful interface definition language

Support for C++, Java, C#, Visual Basic, Python, PHP, and Ruby

High performance and scalability


Built
-
in security

Password and SSL authentication, pluggable authorization modules,

session management, support for virtual organizations


Scalable site model

Set of services managed by some person or organization

IARnet2 site can scale from a single desktop to a server pool


Avoids unnecessary complexity

Much easier to use than programming services with GT4

Prototype implementation in Java is available

IARnet levels


IARnet
levels