Optimizing Both the User Requirements and the Load Balancing in the Volunteer Computing System by using Markov Chain Model

Optimizing Both the User Requirements and the Load Balancing in the Volunteer Computing System by using Markov Chain Model

Abdeldjalil Ledmi (Laboratory of Mathematics, Informatics and Systems (LAMIS), University of Larbi Tebessi, Tebessa, Algeria), Hakim Bendjenna (Laboratory of Mathematics, Informatics and Systems (LAMIS), University of Larbi Tebessi, Tebessa, Algeria) and Hemam Sofiane Mounine (ICOSI Laaboratory, University of Abbes Laghrour Khenchela, Khenchela, Khenchela, Algeria)
Copyright: © 2018 |Pages: 28
DOI: 10.4018/IJEIS.2018010103


This article describes how in volunteer cloud computing systems, some resources are volunteered by the hosts. These systems became more powerful and attractive because they provide a highest power computing. However, to satisfy the user requirements and the system performance in this kind of the system is a crucial challenge. In this article, the authors propose a new architecture for the volunteer cloud computing systems to allow balancing the load between volunteer clouds in a decentralized manner, and between resources inside a volunteer cloud in centralized manner. Moreover, their proposal shows more advantages: First, selecting a resource according to the user requirements and to the system performance. Second, estimating the volunteer resource failure probability by using the stochastic process Markov chain model. Experimental results using the PeerSim Simulator is established to verify the efficacy of the proposed system and promising results are obtained.
Article Preview

1. Introduction

Volunteer computing system is a kind of scientific computing platforms, where the resources and processing power are volunteered by computer owners. These platforms become more powerful than any existing super computer (Anderson, 2010). They provide more than 10 PetaFLOPS computing power to more than 60 scientific projects in different area such as physics, astronomy, mathematics and chemistry (Javadi, Matawie, and Anderson, 2013).

Whereas, the volunteer resources continue to get faster exponentially, the computational demands of scientific projects are growing even faster. (Anderson 2010) has mentioned that extreme requirements arise in at least three areas: 1) Physical simulation; 2) Compute-intensive analysis of large data; 3) Biology-inspired algorithms.

There exist many systems regarding the volunteer computing, the most popular is: SETI@HOME (Paul 2002), which currently has more than a million and half participants (about 4 million hosts)1. Considered as the first original project, its success led to the development of the Berkeley Open Infrastructure for Network Computing (BOINC). BOINC provides an open-source and free middleware for building volunteer computing infrastructures. It is based on a centralized architecture and follows a client/server model for job and data distribution. In the case of data, a centralized data server, or a set of mirrors servers is used to distribute data to client machines (Elwaer, Taylor, and Rana, 2011).

The volunteer cloud computing is a particular case of the volunteer computing where some of its resources are characterized by their instability since they can connect or disconnect to the system at any moment. So, these resources are characterized by their very low cost, and the degree of their availability; but together they can provide highest power computing in petaflops unit.

Many researchers such as: biologists and physicists use this kind of system in order to perform long operations and to receive response in a short time. Unfortunately, if the users choose the most efficiency resources having the lowest failure probability then the pressure on these resources will increase. This fact causes the increase of response time and the overload of these resources. So, it is difficult to choose the resource that satisfies the needs of the user, i.e. to choose the most efficient (Availability) resource that reduces the response time in one side and balances the load between resources composing the volunteer cloud computing system in the other side (Anderson and Fedak, 2006).

In this paper, we propose a new architecture based on volunteer cloud computing system, where the resources are provided by the public participants. In this environment, we tackle two important problems: the load balancing between resources and the optimization of both time response and availability criteria. These two criteria (time response and availability) are contradictory related, and have an negative impact on load between resources, i.e., if the users need to maximize the availability criterion, then the requests are routed to highest available volunteer resources provoking the increase of the response time (Hemam and Hioual, 2017). On the other hand, if the users need to minimize the time response, then the requests are routed to the volunteer resources characterized by their low availability. In these cases, some volunteer resources are over loaded and others are under loaded. To regulate this problem, we propose an architecture composed of three global components:

  • 1.

    The volunteer clouds containing unreliable volunteer resources.

  • 2.

    Users sending their requests to the super volunteer cloud by indicating their preferences requirements.

  • 3.

    The super volunteer cloud, which is composed of a set of switcher balancers (super-nodes) connected between them via a reliable connection.

Complete Article List

Search this Journal:
Open Access Articles: Forthcoming
Volume 15: 4 Issues (2019): Forthcoming, Available for Pre-Order
Volume 14: 4 Issues (2018): 2 Released, 2 Forthcoming
Volume 13: 4 Issues (2017)
Volume 12: 4 Issues (2016)
Volume 11: 4 Issues (2015)
Volume 10: 4 Issues (2014)
Volume 9: 4 Issues (2013)
Volume 8: 4 Issues (2012)
Volume 7: 4 Issues (2011)
Volume 6: 4 Issues (2010)
Volume 5: 4 Issues (2009)
Volume 4: 4 Issues (2008)
Volume 3: 4 Issues (2007)
Volume 2: 4 Issues (2006)
Volume 1: 4 Issues (2005)
View Complete Journal Contents Listing