Скачиваний:
50
Добавлен:
20.06.2019
Размер:
50.48 Mб
Скачать

12  Peer-to-Peer Cloud Provisioning: Service Discovery and Load-Balancing

213

architecting new applications and algorithms on Cloud infrastructures since it gives finer degree of control and flexibility as regards to runtime control.

To demonstrate the feasibility of architecting Cloud provisioning services based on peer-to-peer network models, we consider composition and execution of Mandelbrot Set computation. Mathematically, the Mandelbrot set is an ordered collection of points in the complex plane, the boundary of which forms a fractal. The Application Provisioner service implements and cloud enables the Mandelbrot fractal calculation using a multithreaded programming model. The application submission interface allows the user to configure a number of horizontal and vertical partitions into which the fractal computation can be divided. The number of independent thread units created is equal to the horizontal x vertical partitions. For evaluations, we vary the values for horizontal and vertical parameters over the interval 5 × 5, 10 × 10, and 15 × 15. This configuration results in observation points.

12.6.4  Deployment of Test Services on Amazon EC2 Platform

To test the feasibility of the aforementioned services with regard to the provisioning of application services on Amazon EC2 cloud platform, we created Amazon Machine Images (AMIs) packaged with a Cloud peer, Application Management, and Aneka Management Co-ordinator services. The image that hosts the Aneka Management Co-ordinator is equipped with Microsoft Windows Server 2003 R2 Datacenter edition, Microsoft SQL Server 2005 Express, and Internet Information Services 6, while the AMI hosts only the Management Service and has Microsoft Windows Server 2003 R2 Datacenter system installed. For every AMI, we installed only the essential software including mandatory Cloud peer service, which is hosted within a Tomcat 6.0.10, Axis2 1.2 container. Cloud peer is exposed to the provisioning and management services through WS* interfaces. Later, we built our customized Amazon Machine Images from the two instances, creating and starting up more management co-ordinator and application management services by using customized images. We configured three management co-ordinators and nine management services. The management service is divided into groups of three that connect with a single co-ordinator resulting in a hierarchical structure. The management co-ordinator services communicate and internetwork through the Cloud peer fabric service. Figure 12.4 shows the pictorial representation of the experiment setup.

12.7  Results and Discussions

To measure the performance of peer-to-peer Cloud provisioning technique in regard to response time, co-ordination delay, and Pastry overlay network message complexity, we consider simultaneous provisioning of test applications at Application Provisioner A and B (see Table 12.7). The response time for an application is calculated by subtracting the output arrival time of the last thread in the submission

214

R. Ranjan et al.

Fig. 12.4Experiment Setup in Amazon EC2

Table 12.7Response time, co-ordination delay, message count versus complexity

Problem complexity

5 × 5

 

 

10 × 10

 

 

15 × 15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Provisioner

 

A

B

 

A

B

 

A

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Response time (s)

27

27

107

104

245

229

Coordination delay (s)

5.58

7.13

26.08

24.97

60.06

48.09

Update message

3,203

 

3,668

 

3,622

 

Discovery message

75

 

400

 

450

 

Total message count

5,760

 

7,924

 

8,006

 

 

 

 

 

 

 

 

 

 

 

list from the time at which the application is submitted. The metric co-ordination delay sums up the latencies for: (i) a service discovery query to be mapped to a Cloud peer, (ii) waiting time till an update query matches the discovery query; and (ii) notification delay from the Cloud peer to the Application Provisioner that originally posted the service discovery query. Pastry overlay message complexity measures the details related to the number of messages that flow through the network in order to: (i) initialize the multidimensional attribute space, (ii) map the discovery and update queries, (iii) maintain overlay, and (iv) send notifications.

Table 12.7 (response time vs. complexity) shows the results for response time in seconds with increasing complexity/problem size for the test application. Cloud consumers submit their applications with provisioner A and B. The initial experimental results reveal that with increase in problem complexity (number of horizontal and vertical partitions), the Cloud consumers experience increase in response times. The basic reason behind this behaviour of the provisioning system is related

12  Peer-to-Peer Cloud Provisioning: Service Discovery and Load-Balancing

215

to the fixed number Application Management services, i.e. 9, available to the Application Provisioners. With increase in the problem complexity, the number of job threads (a job thread represents a single work unit, e.g. for a 5 × 5 Mandelbrot configuration, 25 job threads are created and submitted with the Application Provisioner) that are to be executed with management services increase, hence leading to worsening queuing and waiting delays. However, this behaviour of the provisioning system can be fixed through implementation of reactive provisioning of new VM instances to reflect the sudden surge in application workload processing demands (problem complexity). In our future work, we want to explore how to dynamically provision or de-provision VMs and associated Application Management services driven by workload processing demands.

Table 12.7 (coordination delay vs. complexity) presents the measurements for average co-ordination delay for each discovery query with respect to increase in the problem complexity. The results show that at higher problem complexity, the discovery queries experience increased co-ordination delay. This happens because the discovery queries of the corresponding job threads have to wait for a longer period of time before they are matched against an update query object. However, the job thread processing time (CPU time) is not affected by the co-ordination delay; hence, the response time in Table 12.7 shows a similar trend to delay.

In Table 12.7 (message count vs. complexity), we show the message overhead involved with management of multidimensional index, routing of discovery and update query messages, and maintenance of Pastry overlay. We can clearly see that as application size (problem complexity) increase, the number of messages required for mapping the query objects and maintenance of the overlay network increase. The number of discovery and update messages produced in the overlay is a function of the multidimensional index structure that indexes and routes these queries in a distributed fashion. Hence, the choice of the multidimensional data indexing structure and routing technique governs the manageability and efficiency of the overlay network (latency, messaging overhead). Hence, there is much work required in this domain as regards to evaluating the performance of different types of multidimensional indexing structures for mapping the query messages in peer-to-peer settings.

12.8  Conclusions and Path Forward

Developing provisioning techniques that integrate application services in a peer-to- peer fashion is critical to exploiting the potential of Cloud computing platforms. Architecting provisioning techniques based on peer-to-peer network models (such as DHTs) is significant; since peer-to-peer networks are highly scalable, they can gracefully adapt to the dynamic system expansion (join) or contraction (leave, failure), and are not susceptible to a single point of failure. To this end, we presented a software fabric called Cloud peer that creates an overlay network of VMs and application services for supporting scalable and self-managing service discovery and load-balancing. The functionality exposed by the Cloud peer service is very

216

R. Ranjan et al.

powerful and our experimental results conducted on Amazon EC2 platform confirm that it is possible to engineer and design peer-to-peer Cloud provisioning systems and techniques.

As part of our future work, we would explore other multidimensional data indexing and routing techniques that can achieve close to logarithmic bounds on messages and routing state, balance query (discovery, load-balancing, coordination) and processing load, preserve data locality, and minimize the metadata. Another important algorithmic and programming challenge in building robust Cloud peer services is to guarantee consistent routing, look-up, and information consistency under concurrent leave, failure, and join operations by application services. To address these issues, we will investigate robust fault-tolerance strategies based on distributed replication of attribute/query subspaces to achieve a high level of robustness and performance guarantees.

References

1.Armbrust M, Fox A, Griffith R, Joseph A, Katz R, Konwinski A, Lee G, Patterson D, Rabkin A, Stoica I, Zaharia M (2009) Above the clouds: a Berkeley view of cloud computing. University of California at Berkley, USA. Technical Rep UCB/EECS-2009-28

2.The Reservoir Seed Team (2008) Reservoir – an ICT infrastructure for reliable and effective delivery of services as utilities. IBM Res Rep H-0262

3.Buyya R, Yeo C, Venugopal S, Broberg J, Brandic I (2009) Cloud computing and emerging IT platforms: vision, hype, and reality for delivering computing as the 5th utility. Future Gen Comput Syst 25:599–616

4.Google (2009) Google App Engine. https://appengine.google.com/. Accessed 16 Dec 2009

5.Ultra Serve Internet Pty Ltd (2009) Rejila On Demand Cloud Computing Servers. http://www. rejila.com/. Accessed 14 Dec 2009

6.Rackspace US, Inc. (2009) The Rackspace Cloud. http://www.rackspacecloud.com. Accessed 12 Dec 2009

7.Microsoft (2009) Windows Azure Platform, http://www.microsoft.com/windowsazure/. Accessed 12 Dec 2009

8.Amazon Web Services LLC (2009) Amazon Elastic Compute Cloud, http://aws.amazon.com/ ec2/. Accessed 16 Dec 2009

9.Salesforce.com (2009) Application Development with Force.com’s Cloud Computing Platform http://www.salesforce.com/platform/. Accessed 16 Dec 2009

10. Quiroz A, Kim H, Parashar M, Gnanasambandam N, Sharma N (2009) Towards autonomic workload provisioning for enterprise grids and clouds. In: Proceedings of the 10th IEEE/ACM international conference on grid computing, Banf, Alberta, Canada, 13–15 Oct 2009, IEEE Computer Society Press

11.Amazon Web Services LLC (2009) Amazon CloudWatch. http://aws.amazon.com/cloudwatch/. Accessed 22 Sept 2009

12. Amazon Web Services LLC (2009) Elastic Load Balancer http://aws.amazon.com/elasticloadbalancing/. Accessed 22 Sept 2009

13. Rochwerger B, Breitgand D, Levy E, Galis A, Nagin K, Llorente L, Montero R, Wolfsthal Y, Elmroth E, Caceres J, Ben-Yehuda M, Emmerich W, Galan F (2009) The reservoir model and architecture for open federated cloud computing. IBM Syst J 53

14. Chu X et al (2007) Aneka: next-generation enterprise grid platform for e-Science and e-Business applications. In: Proceedings of the 3rd IEEE international conference on e-Science and grid computing, Bangalore, India

12  Peer-to-Peer Cloud Provisioning: Service Discovery and Load-Balancing

217

15. Ranjan R, Chan L, Harwood A, Karunasekera S, Buyya R (2007) Decentralised resource discovery service for large scale federated grids. In: Proceedings of the 3rd IEEE international conference on eScience and grid computing (eScience’07), Bangalore, India, IEEE Computer Society, Los Alamitos, CA

16. Eucalyptus Systems Inc (2009) Eucalyptus Systems. http://www.eucalyptus.com/. Accessed 22 Sept 2009

17. Amazon Web Services LLC (2009) Auto Scaling. http://aws.amazon.com/autoscaling/. Accessed 22 Sept 2009

18. GoGrid Cloud Hosting (2009) F5 Load Balancer. GoGrid Wiki. http://wiki.gogrid.com/wiki/ index.php/(F5)_Load_Balancer. Accessed 21 Sept 2009

19. Bakhtiari S, Safavi-Naini R, Pieprzyk J (1995) Cryptographic Hash Functions: A Survey. http://citeseer.ist.psu.edu/bakhtiari95cryptographic.html. Accessed 22 Sept 2009

20. Balakrishnan H, Kaashoek MF, Karger D, Morris R, Stoica I (2003) Looking up data in peer-to-peer systems. Commun ACM 46(2):43–48

21. Karger D, Lehman E, Leighton T, Panigrahy R, Levine M, Lewin D (1997) Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the World Wide Web. In: Proceedings of the 29th annual ACM symposium on theory of computing (STOC ’97), New York. ACM Press, pp 654–663

22. Preneel B (1999) The state of cryptographic hash functions. In: Lectures on data security. Modern cryptology in theory and practice. Springer, London, pp 158–182

23. Lua K, Crowcroft J, Pias M, Sharma R, Lim S (2005) A survey and comparison of peer-to- peer overlay network schemes. IEEE Commun Surv Tutorials 7(2), IEEE Communications Society Press, Washington DC, USA

24. Li J, Stribling J, Gil TM, Morris R, Frans Kaashoek M (2004) Comparing the performance of distributed hash tables under churn. In: Proceedings of the 3rd international workshop on peer-to-peer systems (IPTPS04), San Diego, CA

25. Bharambe A, Agarwal M, Seshan S (2004) Mercury: supporting scalable multi-attribute range queries. In: Proceedings of SIGCOMM 2004 (SIGCOMM’04). ACM, Portland, OR

26. Castro M, Costa M, Rowstron A (2004) Should we build Gnutella on a structured overlay? SIGCOMM Comput Commun Rev 34(1):131–136

27. Linga P, Demers A, Gupta I, Birman K, van R (2003) Kelips: building an efficient and stable peer-to-peer DHT through increased memory and background overhead. In: Proceedings of the 2nd international workshop on peer-to-peer systems (IPTPS03), Berkeley, CA

28. Spence D, Crowcroft J, Hand S, Harris T (2005) Location based placement of Whole Distributed Systems. In: Proceedings of the 2005 ACM conference on Emerging network experiment and technology (CoNEXT’05). ACM Press, New York, pp 124–134

29. Ganesan P, Yang B, Garcia-Molina H (2004) One torus to rule them all: multi-dimensional queries in peer-to-peer systems. In: Proceedings of the 7th International Workshop on the Web and Databases (WebDB ’04). ACM Press, New York, pp 19–24

30. Ranjan R, Harwood A, Buyya R (2008) Peer-to-peer based resource discovery in global grids: a tutorial. IEEE Commun Surv Tutorials 10(2):6–33

31. Samet H (1989) The design and analysis of spatial data structures. Addison–Wesley, Reading, MA

32. Rowstron A, Druschel P (2001) Pastry: scalable, decentralized object location, and routing for large-scale peer-to-peer systems. In: IFIP/ACM international conference on distributed system platforms, Heidelberg

33. Ranjan R (2007) Coordinated resource provisioning in federated grids. Ph.D. thesis, The University of Melbourne

34. Tanin E, Harwood A, Samet H (2007) Using a distributed quadtree index in peer-to-peer networks. VLDB J 16(2):165–178, Springer, New York

35. Gupta A, Sahin OD, Agrawal D, Abbadi AEl (2004) Meghdoot: content-based publish/ subscribe over peer-to-peer networks. In: Proceedings of the 5th ACM/IFIP/USENIX international conference on Middleware (Middleware ’04), New York. Springer, New York, pp 254–273

Соседние файлы в папке CLOUD COMPUTING