integrating web services into pop-c++ objects

Post on 24-Feb-2016

50 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS. Thanh-Nguyen Ngo Tuan-Anh Nguyen Tran Van Hoai. Outline. Introduction POP-C++ overview Implementation Experiments Conclusion Future works. Introduction. - PowerPoint PPT Presentation

TRANSCRIPT

INTEGRATING WEB SERVICES INTO POP-C++ OBJECTS

Thanh-Nguyen NgoTuan-Anh NguyenTran Van Hoai

OutlineIntroductionPOP-C++ overviewImplementationExperimentsConclusionFuture works

2

IntroductionGrid environment is a collection of resources

distributed on different locations, owned by different organizations and managed by different policies

Grid computing is the ability to combine resources powers to compute a large-scale problem

Grid programming languages have been adopted to ease users to develop Grid applications

3

IntroductionGrid programming languages

MPICH-G, MPICH-G2, GATPOP-C++Based on TCP/IP connectionUse their proprietary protocols

4

Have problems when resources on grid are located at different virtual networks or

separated by firewalls

IntroductionPOP-C++

parallel programming system for Gridextend the C++ programming languageparallel objects

5

Provide POP-C++ objects a mechanism to choose suitable protocol and message

encoding to overcome firewall and virtual network issues when communicating

The previous POP-C++ approach

object

Grid middleware Grid resource

FirewallCreate object

Launch

User

XDR/Socket

Deliver to

6

Can not communicate with the remote object when using XDR/socket in the environment having firewall, virtual network

Extended POP-C++ approach

object

Grid middleware Grid resource

FirewallCreate object

Launch

User

HTTP

Deliver to

7

Using HTTP can bypass firewall or virtual network (through proxy server)

8

Communication between POP-C++ objectscombox: determine protocolbuffer: determine encoding

interface

buffer

combox

add

objectcombox

buffer brokeradd

send

clientserver

Add combox HTTP & buffer SOAP

9

Communication between POP-C++ objects

interface

buffer_soap

addobjectbroker

client server

buffersoap factory

combox factory combox_http

buffersoap factory

combox factory

buffer_soap

combox_http

buffer_xdr

combox_socket

add

netw

ork

envi

ronm

ent

bufferxdr factory

Communication between POP-C++ objectsInterface is created on local machine and broker,

object are created on remote machineBroker finds all protocols it supports and creates

corresponding comboxesEach combox asks its buffer factory to create its

default bufferBroker waits to listen all client requests on all

comboxes it has created

10

Communication between POP-C++ objectsInterface determines which protocol is used to

connect to server objectInterface creates combox corresponding to that

protocolCombox asks its buffer factory to create

corresponding bufferInterface uses these combox and buffer to

send/receive requests to/from broker

11

TestingAct as Web Services

Both client and server are implemented in POP-C++Client is implemented in POP-C++ and server is

implemented in JavaClient is implemented in Java and server is

implemented in POP-C++

12

The extended POP-C++ is not only able to communicate to itself but also communicate

to other Web Services systems

ExperimentsUse 2 machines running openSUSE 10.3 connected

to a LAN via fast ethernet (100Mb/s)The first machine: Intel(R) Core(TM)2 CPUs E8500

@ 3.16Gz and 1GB RAMThe second machine: Intel(R) Pentium(R) 4 CPU

2.80GHz and 512MB RAMIn the experiments, we analyze invocation time of

calling function adding an array of integer numbers by using SOCKET+XDR, HTTP+XDR and HTTP+SOAP

13

14

1 2 4 8 16 32 64 128

256

512

1024

2048

4096

8192

0%10%20%30%40%50%60%70%80%90%

100%

Detailed time in using SOCKET/XDR

send dataencode/decode

Array size (INTEGER)

Tim

e (%

)

Sending data time will dominate encoding/decoding time when data is large enough

15

Sending data time will dominate encoding/decoding time and sending HTTP header time when data is large enough

1 2 4 8 16 32 64 128

256

51210

2420

4840

9681

920%

10%20%30%40%50%60%70%80%90%

100%

Detailed time in using HTTP/XDR

send datasend HTTP headerencode/decode

Array size (INTEGER)

Tim

e (%

)

16

Most of time is used for encoding and decoding when message size is large

1 2 4 8 16 32 64 128

256

51210

2420

4840

9681

920%

10%20%30%40%50%60%70%80%90%

100%

Detailed time in using HTTP/SOAP

send datasend HTTP headerencode/decode

Array size (INTEGER)

Tim

e (%

)

17

HTTP/XDR vs. SOCKET/XDRHTTP/SOAP vs. others

1 2 4 8 16 32 64 128

256

512

1024

2048

4095

.999

9999

9999

8191

.999

9999

9999

06

1218

Invocation time

SOCKET/XDRHTTP/XDRHTTP/SOAP

Array size (INTEGER)

log(

Invo

catio

n tim

e(µs

))

ConclusionExtend POP-C++ object to integrate protocol HTTP

and encoding SOAP into itBe able to communicate to Web Services systems

written by other languagesBe able to work in environments having firewall and

using proxy serverDo some experiments to see the performance of the

extended POP-C++ system

18

Future worksImprove performance when using HTTP+SOAPEnhance POP-C++ objects to support Grid Services

19

Questions???

20

Thank you!!!

21

top related