using mpi to improve roa&rest transfer data services · 2017. 1. 18. · mustapha m. baua’a...

7
Procedia Computer Science 37 (2014) 153 – 159 Available online at www.sciencedirect.com 1877-0509 © 2014 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/3.0/). Peer-review under responsibility of the Program Chairs of EUSPN-2014 and ICTH 2014. doi:10.1016/j.procs.2014.08.024 ScienceDirect * Corresponding author. Tel.: 00964-7809-636-323; fax: +0-000-000-0000 . E-mail address: [email protected] The 5th International Conference on Emerging Ubiquitous Systems and Pervasive Networks (EUSPN-2014) Using MPI to Improve ROA&REST Transfer Data Services Mustapha M.Baua'a a , Ahmed M. Hailan b , Mohsen N. Srayyih c a Financial Department, South Oil Company [State Co.], Dhe-qar of Oil Fields Division, Dhe-qar,00964, Iraq Email: [email protected] b Thi-Qar University College of Computer Science and Mathematics, Thi-Qar, 00964, Iraq, Email: [email protected] c University of Misan, College of adiministration and economics, Misan, 00964, Iraq,Email: [email protected] Abstract performance is the most significant attribute that has been used in all modern system software. ROA & REST are set of constraints that introduce a new concept of an architectural styles used in Distributed Systems. In DS all developers know XML files are used to transfer data services over global internet. However, these XML files have many important features, but these features are not enough to get high performance due to its huge size and complexity of processing. Then to overcome this problem, this paper introduces a new model to enhance data services transfer over internet. The proposed model state, MPI messages are advised to be used instead of XML files to send data services transfer. Also this paper provides a case study and a validation result that explains the benefit of using MPI in contrast to XML files with ROA & REST. Keywords: ROA; REST; MPI; © 2014 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/3.0/). Peer-review under responsibility of the Program Chairs of EUSPN-2014 and ICTH 2014.

Upload: others

Post on 16-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Using MPI to Improve ROA&REST Transfer Data Services · 2017. 1. 18. · Mustapha M. Baua’a et al. / Procedia Computer Science 37 ( 2014 ) 153 – 159 155 2. Resource-Oriented Architecture

Procedia Computer Science 37 ( 2014 ) 153 – 159

Available online at www.sciencedirect.com

1877-0509 © 2014 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/3.0/).Peer-review under responsibility of the Program Chairs of EUSPN-2014 and ICTH 2014.doi: 10.1016/j.procs.2014.08.024

ScienceDirect

* Corresponding author. Tel.: 00964-7809-636-323; fax: +0-000-000-0000 . E-mail address: [email protected]

The 5th International Conference on Emerging Ubiquitous Systems and Pervasive Networks (EUSPN-2014)

Using MPI to Improve ROA&REST Transfer Data Services

Mustapha M.Baua'aa, Ahmed M. Hailanb, Mohsen N. Srayyihc

aFinancial Department, South Oil Company [State Co.], Dhe-qar of Oil Fields Division, Dhe-qar,00964, Iraq Email: [email protected]

bThi-Qar University College of Computer Science and Mathematics, Thi-Qar, 00964, Iraq, Email: [email protected] cUniversity of Misan, College of adiministration and economics, Misan, 00964, Iraq,Email: [email protected]

Abstract

performance is the most significant attribute that has been used in all modern system software. ROA & REST are set of constraints that introduce a new concept of an architectural styles used in Distributed Systems. In DS all developers know XML files are used to transfer data services over global internet. However, these XML files have many important features, but these features are not enough to get high performance due to its huge size and complexity of processing. Then to overcome this problem, this paper introduces a new model to enhance data services transfer over internet. The proposed model state, MPI messages are advised to be used instead of XML files to send data services transfer. Also this paper provides a case study and a validation result that explains the benefit of using MPI in contrast to XML files with ROA & REST. © 2014 The Authors. Published by Elsevier B.V. Peer-review under responsibility of the Program Chairs of EUSPN-2014.

Keywords: ROA; REST; MPI;

© 2014 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/3.0/).Peer-review under responsibility of the Program Chairs of EUSPN-2014 and ICTH 2014.

Page 2: Using MPI to Improve ROA&REST Transfer Data Services · 2017. 1. 18. · Mustapha M. Baua’a et al. / Procedia Computer Science 37 ( 2014 ) 153 – 159 155 2. Resource-Oriented Architecture

154 Mustapha M. Baua’a et al. / Procedia Computer Science 37 ( 2014 ) 153 – 159

1. Introduction

Processing time is the most significant attribute in modern technology of this age. Whilst communication or transfer data services time is much more important than processing time when someone talking about Distributed Systems. Much architecture is may use for distributed systems, such as SOA (Service-Oriented Architecture), ROA (Resource-Oriented Architecture), MOA (Message-Oriented Architecture), MQ (Message-Queue), and others. However, most of these architectures are implicitly uses XML files in order to send its data services over global internet.

This paper tries to decrease the effects of XML file performance degradation through using MPI messages instead of XML files. Why MPI? Because the high performance, flexibility, and its common attributes are used in contrast of other middleware like RMI (Remote Method Invocation), RPC (Remote Procedure Call) … etc.

MPI also can add parallelism to Distributed System Architectures; can add more than one sending mode unlike SOA, ROA, and MQ, where one sending mode has been used (e.g. asynchronously sending mode used). Other advantage of MPI is the interoperability, whenever MPI applications used in any system it will be installed on all parties. So interoperability will be easy to solve, because MPI system consists of many computers that connected to each other and every computer should do its MPI configuration. In that way therefore, interoperability is being supported. The configuration is not so hard step, where the MPI configurations need just GCC\G++ compiler or other compilers and one of MPI implementations like MPICH-2 or OpenMPI.

In simple way MPI is a network that consists of many virtual tubes that connect real distributed computers over global internet. Although, MPI sending messages based on TCP where in contrast to HTTP, TCP has less transferring time. But the focus in this paper is on using MPI messages in order to reveal transferring process from XML complexity and it is huge size. Consequently, the benefit will be from two MPI attributes and TCP light overhead transferring protocol [5, 6].

Finally the proposal is to use MPI with ROA and try to enhance Distributed Systems performance as possible as we can. Consequently the new model will be hybrid through use MPI with ROA & REST as figure illustrated below.

The arrangement of this paper as follow, introduction is introduced as first section. Background for ROA &

REST is presented in section 2. MPI information details in section 3 are introduced. Proposal and case study in section 4 & 5 are also presented. Results, implementation, conclusion and future work in section 6 & 7 are introduced.

Figure 1: MPI ROA usage

Page 3: Using MPI to Improve ROA&REST Transfer Data Services · 2017. 1. 18. · Mustapha M. Baua’a et al. / Procedia Computer Science 37 ( 2014 ) 153 – 159 155 2. Resource-Oriented Architecture

155 Mustapha M. Baua’a et al. / Procedia Computer Science 37 ( 2014 ) 153 – 159

2. Resource-Oriented Architecture ROA

Resource-Oriented Architecture is an architectural style come from RESTFUL principles that stated by Roy Fielding [1] in order to build web services using traditional Web protocols such as HTTP, URIs, and XML. RESTFUL is an important implementation of Resource-Oriented Architecture and The basic atomic in ROA is resource [2]. ROA is an important when thinking to build new Distributed System Architecture. Where five concepts those are ROA consists of: Resource, Resource Name, Resource Representation, and Resource Interface. Request-Response mechanism is used in ROA in order to provide clients with data or Resources. And the common interface used between server and client is HTTP. HTTP protocol has four operations that can be used to transfer data services through internet, these operations are GET, PUT, DELETE, and POST. Also the contents of data services server provides via using XML file. Also the important thing the common interface like HTTP may not support interoperability and cooperation between resources [3, 7].

2.1. REST REpresentational State Transfer or REST is a set of constraints that implemented on a system design in order to

create new architectural style. Roy Fielding constraints just define how the data transferred between network components and they don’t care about the kind of technology that will be used [4]. Also REST is the major resource-architecture approach that used to build distributed systems using traditional internet protocols such as HTTP, HTML…etc [7]. Here in this paper the proposal try to suggest one of common middleware or connector technologies e.g. MPI to be used. And also not just to use MPI with local Distributed System architectures but also with global network.

2.2. Resource

Anything possible to be addressed on the web we can call it a resource. Address means the resource can accessed and transferred between client and server. Resource simply is the target that had been installed on the server and client needs access to it. While, address is considered as a map that are guide a client to a resource on that server [3]. A resource may be a platform, a service, an object, a function, or anything on a server can provide client’s necessary needs [4].

3. Message-Passing Interface MPI

MPI is the most common implementation of Message-Oriented Middleware. The attributes of MPI such as communicator, interoperability, portability, and others are the most important reasons that make MPI most common interface. MPI may use as an architecture to build new systems like distributed systems just like in this paper where it is used instead of XML technology. In addition to attributes MPI has a lot of implementations such as MPICH, MPICH-V, MPICH-G2, and others. Below some MPI attributes are explained briefly.

3.1. Communicator

Communicator is all the processors that connected through MPI; it is transparent environment that collect whole processors. With communicator each processor has its rank. In MPI many communicators can be created through execution and processor can participate in more than one communicator.

Page 4: Using MPI to Improve ROA&REST Transfer Data Services · 2017. 1. 18. · Mustapha M. Baua’a et al. / Procedia Computer Science 37 ( 2014 ) 153 – 159 155 2. Resource-Oriented Architecture

156 Mustapha M. Baua’a et al. / Procedia Computer Science 37 ( 2014 ) 153 – 159

3.2. Point-to-Point Communications

In communicator when two processors connected to each other, then there is a virtual sophisticated channel opened in order to sending messages. This exchanging of data between two processors called point-to-point communication. The point-to-point communication may occur among two processors directly or indirectly e.g. data exchanged may pass through different processors just to reach its destination.

3.3. Collective Operations

Collective operation or collective communication is an MPI attributes that make communicator processors connect in groups. In this case, one processor may want to send its messages to all other processors using MPI function called MPI_Bcast or he can scatter its data to a group of processors using MPI function MPI_Scattered. In MPI collective operation there are two operations one is MPI_Sum second is MPI_Reduce. Whilst MPI collective communication there are three types: MPI_Bcast, MPI_Scattered, and MPI_Gather.

Figure 2: MPI Communicator and MPI environment general idea

Figure 3: Point-to-Point Communication.

Figure 4: Collective Communication.

Page 5: Using MPI to Improve ROA&REST Transfer Data Services · 2017. 1. 18. · Mustapha M. Baua’a et al. / Procedia Computer Science 37 ( 2014 ) 153 – 159 155 2. Resource-Oriented Architecture

157 Mustapha M. Baua’a et al. / Procedia Computer Science 37 ( 2014 ) 153 – 159

4. The proposed model

Resource-Oriented Architecture is an architectural style that implements REST constraints stated by Roy Fielding. These constraints are care about how data services transfer between internet components only. However, ROA use traditional internet protocols to transfer its data services across internet such as HTTP, HTML, XML, JSON, and others. The problem is the transfer time and processing complexity of these protocols for data services transferring. Where XML files are used, then the proposal is to use MPI messages instead of all those protocols or technologies.

5. Case Study

The case study consists of two sides one is Client and second is Server, this in MPI implementation. While in ROA also two sides are case study consists of, one is Consumer and second is Producer. However in two cases one side provide a service and other side consumes that service.

In MPI implementation there are two processes one represent server and second represent Client. The client consumes UpperCase service provided by server via sending messaging request and server reply with message also contain the answer. The Dev-Cpp development tool used to compile MPI program and MPICH-2 the most MPI significant implementation used to run the program. Also the environment for these development tools was my Laptop with MPI Multi-core configuration is used.

Whilst for REST or ROA implementation also my Laptop was used as an environment. Here with RESTFUL implementation the development tool was Java Netbeans is used. Java Netbeans application with Apache Server and Web libraries used in order to provide a service for a consumer. Where producer provide a GET, PUT, POST, DELELTE services and consumer consume them. In our case study we just use a GET service.

6. Results and Implementations

Table 1: MPI and RESTFUL implementations.

Number of Requests

MPI Standard Sending Mode

MPI Synchronous Mode

MPI Ready Mode

RESTFUL Response Time

10,000 3.915303 (Sec) 4.002244 (Sec) 5.023036 (Sec) 13 (Sec) 20,000 8.69202 (Sec) 8.065255 (Sec) 7.154525 (Sec) 25 (Sec) 30,000 10.5967 (Sec) 6.74827 (Sec) 12.15065 (Sec) 36 (Sec) 40,000 15.05319 (Sec) 18.244 (Sec) 26.29148 (Sec) 49 (Sec) 50,000 20.23659 (Sec) 13.05132 (Sec) 35.1283 (Sec) 62 (Sec) 60,000 23.26727 (Sec) 26.53023 (Sec) 37.43275 (Sec) 73 (Sec) 70,000 29.25487 (Sec) 45.40424 (Sec) 42.01191 (Sec) 84 (Sec)

Average 15.85942043 17.43507986 23.59895014 48.85714286

7. Result analysis, benefits, and limits of our approach

The results above explains clearly the benefit of using our approach in order to decrease overhead of sending XML files over global internet. The first column represents the number of requests asked by client, where values from 10,000 to 70,000 requests are examined. Second column represents the response time for MPI standard sending mode. Values in column three and four are represents response time for MPI Synchronous sending mode and MPI ready sending mode respectively, where all time values in millisecond. The last column dedicated for RESTFUL response time where represented in seconds.

The benefit of our approach in this paper is to decrease the effects of performance degradation that resulted from using XML files in sending data services over global internet. Also, using MPI with any new system will add

Page 6: Using MPI to Improve ROA&REST Transfer Data Services · 2017. 1. 18. · Mustapha M. Baua’a et al. / Procedia Computer Science 37 ( 2014 ) 153 – 159 155 2. Resource-Oriented Architecture

158 Mustapha M. Baua’a et al. / Procedia Computer Science 37 ( 2014 ) 153 – 159

parallelism to that system. And make that system more manageable, high performance, portability, more system scalability, and more flexibility.

Whilst limits of our approach is determined by the problems that intended to use parallelism and also limited by distributed systems. In addition, system that wants to add more powerful to its components in term of performance enhancement.

Finally figures illustrated below the results of our approach in contrast to RESTFUL approach and how the approach has the effect to enhance distributed system performance. Also the last row of the table clearly the differences between the averages of MPI sending modes in comparisons to RESTFUL sending mode.

Figure 5: MPI standard sending mode Figure 6: MPI ready sending mode

Figure 7: MPI synchronous sending mode Figure 8: RESTFUL example response time

Figure 9: Averages Time for MPI sending modes vs. to RESTFUL sending mode

Page 7: Using MPI to Improve ROA&REST Transfer Data Services · 2017. 1. 18. · Mustapha M. Baua’a et al. / Procedia Computer Science 37 ( 2014 ) 153 – 159 155 2. Resource-Oriented Architecture

159 Mustapha M. Baua’a et al. / Procedia Computer Science 37 ( 2014 ) 153 – 159

8. Conclusion and Future work

In this paper ROA, REST, RESTFUL, and MPI technologies are presented. Also how these Distributed Systems architectures and implicitly XML files are uses. The main problem is the performance degradation of XML files that are used to transfer data services over global internet. However, the proposal is to use MPI messages instead of XML files with Resource-Oriented Architecture. Case study and validation results are showed in this paper also. The results clearly show the benefits of using MPI messages and its features in contrast to Resource-Oriented Architecture.

In future work the goal is to enhance Cloud Computing traffic, but the way will used will not cover here. Also we try to use MPI as global network in future and make all computers connected between each other through using MPI environment only.

References

1. Roy Thomas Fielding, “Architectural Styles and the Design of Network-based Software Architectures”, University of California Irvine, phD dissertation in Information and Computer Science, year 2000.

2. Wilson A. Higashino1, M. Beatriz Felgar de Toledo2, Miriam A. M. Capretz3, “ REST and Resource-Oriented Architecture”, Venturus – Innovation & Technology Center, Av. Jose de Souza Campos, 900- 10th floor13092-123, Campinas/SP, Brazil, 2University of Campinas, Av. Albert Einstein, 1261 – Cidade Universitaria 13083-970, Campinas/SP, Brazil, 3University of Western Ontario London, Ontariom N6A 5B9, Canada, published in: Alt, R., Fahnrich, K.-P., Franczy, B. (Eds.), Proceedings First International Symposium on Services Science ISSS’09, Logos, Berlin, 2009 (www.logos-verlag.de).

3. Roberto, Lucchi, Michel Millot, “Resource Oriented Architecture and REST”, European Commission, Joint Research Centre, Institute for Environment and Sustainability, EUR 23397 EN – 2008.

4. Leonard Richardson Sam Ruby, “RESTFUL Web Services”, Copyright ©2007 O’Reilly Media, Inc. All rights reserved, printed in the US of America, Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472.

5. Joachim Charzonski, “HTTP/TCP connection and flow characteristics”, Information and Communication Networks, Siemens AG, Munich, Germany, proceedings of Elsevier Science, Performance Evaluation 42 (2000) 149-162.

6. Jose Sandoval, “RESTFUL Java Web Services”, Master core REST concepts and create RESTFUL web services in Java, Copyright © 2009 Packt Publishing.

7. Dominique Guinard1,2, Vlad Trifa1,2, Friedemann Mattern1, Erik Wilde3, “5 From the Internet of Things to the Web of Things: Resource Oriented Architecture and Best Practices”, 1Institute for Pervasive Computing, ETH Zurich, 2SAP Research, Zunich, 3School of Information, UC Berkeley, year 2011, pp97-129.