Abstract
Most of current research in grid computing is still focused on the improvement of the performance of grid schedulers. However, unlike traditional scheduling, in grid systems there are other important requirements to be taken into account. One such a requirement is the secure scheduling, namely achieving an efficient allocation of tasks to reasonable trustful resources. Trust brings a novel means to improve the security and enable interoperability of current heterogeneous independent grid platforms. In this paper, we present a new task scheduling mechanism based on trust model named TSTM (Task Scheduling mechanism based on Trust Model) in grid environment according to success and failure transaction between grid nodes based on the properties and semantics of trust so that, first the direct trust relation is calculated based on direct experiences between trustor and trustee also, trustor can builds an indirect trust relation with trustee through his acquaintances and then the tasks are assigned to the resources with higher trust values according to our new scheduling method. Theoretical analysis and experimental results prove that the heuristic TSTM algorithm can efficiently meet the requirement of grid computing in trust, and assuring the execution of tasks in a security way and it can obtain higher quality solutions when compared with other ones.
Introduction
In the recent years, grid computing is rising as a viable paradigm to convince the continuous growth of computation power requirement, which frequently cannot be fulfilled exploiting the internal resources of a single organization [1]. Grid computing is a collection of autonomous and distributed resources available over virtual organizations, and collaborate works with effective, efficient, and reliable way.
Grid computing systems have become popular for the resolution of large-scale complex problems from science, engineering, finance, etc. As large-scale infrastructures for parallel and distributed computing systems, grids enable the virtualization of a whole range of resources, despite their high degree of heterogeneity. Thus, different types of grid systems have been defined. Such systems are currently comprising computational grids, desktop grids, enterprise grids, scavenging grids, data grids, etc. [2]. As a unified computing platform grid tries to connect and share all resources in the Internet, including computation resource, storage resource, information resource, knowledge resource and equipment for scientific research, and then solves the problems of large-scale scientific engineering computing [3, 4].
However, with the characteristics of dynamic, heterogeneity, distribution, openness, voluntariness, uncertainty and deception, how to obtain trustworthy grid resource becomes a key issue in grid research. The traditional method to solve the security problem of these application tasks is to encrypt the data of execution and analysis, or isolate them from the Internet, and then schedule them to local resources to compute and analyze. In grid environment with uncountable numeric nodes, resource is inevitably unreliable, which has a great effect on task execution and scheduling. As grid becomes the next generation of computation and information platform, novel algorithms are needed to schedule the tasks on the trusty nodes to execute, assure the high speed of communication, reduce the tasks execution time, lower the ratio of failure execution, and improve the security of execution environment of important data.
In heterogeneous computing, grid computing, distributed computing and cluster computing environments, many static, dynamic, and even hybrid algorithms have been proposed [5, 6, 7, 8, 9, 10]. At the same time, some issues related to distributed scheduling, center scheduling, autonomy scheduling, intelligent scheduling and Agent negotiation scheduling are also in exploration. However, little of these algorithms takes the characteristics of nodes into account, such as uncertainty, unreliability and deception, and the scheduling length and trustworthiness of nodes cannot be considered synchronously.
Resources and security guarantee are the two fundamental requirements in grid applications [11, 12]. On the other hand, significant challenges also arise. The computational grid exhibits dynamic and unpredictable behavior, namely; the computational performances of each node vary significantly from time to time; the network connections may become unreliable; nodes may join or leave the grid system at any time; nodes may become unavailable without any notifications. As a result, a computational task running on different nodes on the grid will lead to a wide range of completion times. In some extreme cases, a task may never be able to complete. Therefore, how to effectively schedule the grid resources to minimize the task execution time is an issue of prime importance.
One of the important aspects of a grid is task scheduling. Since there exists high heterogeneity of resources such as PCs, workstations, clusters in grid which are not only distributed geographically but also have different time zone, scheduling policies, application requirements and design patterns. A major issue is how to distribute tasks among nodes. In traditional scheduling, tasks are assigned to any of the available nodes. Grid applications that require faster task execution do not perform well since tasks are assigned according to node availability and not according to the computing capability of any node.
With the characteristics of dynamic, uncertainty and deception, how to select trustworthy compute resources and data hosts for applications becomes an urgent problem. The trust mechanism should be used in grid environment [13]. Unfortunately, trust metrics which includes security and reliability is considered rarely in existing scheduling algorithms. Without verifying the justification of the trust, the user is compelled to trust the provider [14]. Users are able to submit tasks to remote resources and typically have no explicit control over the resources themselves. Therefore, mutually users and resources can be viewed as independent agents, having control of their own behavior. Since an individual cannot forecast the response of another to changing situations, this autonomy provides rise to inherent insecurity [15]. The grid service providers must guarantee the users with definite security, privacy protection, and dependable accessibility of all grid enabling platforms. Most grid computing environments spotlight their security concerns in properly authenticating users and hosts and in the communications between them.
To automatically and clearly ensure the fulfillment, the effective and efficient exploitation of grid computing facilities requires advanced and secured resource management systems [16]. The wide range of selection and the high degree of strangeness leads to the problem in secured selection of the resources in grid. Without the assurance of a higher degree of trust relationship, competent resource allocation and utilization cannot be attained. In recent times, with larger applications in ecommerce and on-line communities, trust models have become one of the most important techniques underpinning the distributed application and system safety for its better scalability and flexibility [2]. Recently, a great interest of researchers in grid computing domain has been focused on the secure scheduling, which aims to achieve an efficient assignment of tasks to reasonable trustful machines. Resource management and scheduling in grid is a complex undertaking, lots researches have been developed on the scheduling algorithm. However, existing scheduling algorithms largely ignore the security induced risks involved in dispatching tasks to remote sites.
The most important target of this research is to develop a solution that could afford trust aware security for resource selection in grid for scheduling large number of tasks. The proposed approach aims the schedule of incoming tasks to available resource sites based on the TSTM (Task Scheduling mechanism based on Trust Model). Our approach is meant to enforce security in grids with security-assured resource allocation, and presents a trust model of computation, which classifies compute nodes by their degree of trustworthiness based on their historical direct and recommendation transactions. The major contributions of this paper are as follows:
We develop a trust model to evaluate the trust value of the resource provider based on historical transactions so that we consider penalties to punish malicious nodes that have selfish or malicious behaviors and as well as the effect of time for both successful and failure transactions. We present a trust based task scheduling mechanism by integrating the proposed task scheduling and trust model between the grid nodes so that nodes (resources, machines) with higher trust values have higher priority for receiving tasks. We also propose the task scheduling and resource allocation framework based of our proposed trust based task scheduling mechanism.
The rest of the paper is organized as follows. Section 2 presents a brief review of related work. In Section 3, we first present the proposed trust model base on the historical transactions between nodes in grid environments. Also, we have described our task scheduling mechanism based on trust model named TSTM furthermore the trusted scheduling framework is presented in this section. In Section 4, experimental results are given. Finally, concluding remarks and future work are mentioned in Section 5.
Security is one of the critical concerns in distributed computing environment. Security issues in grid computing have attracted a lot of attention of researchers in the literature. The integration of the security mechanism with the scheduling algorithms to be one of the most important issues in grid scheduling. Nevertheless, only few groups of researchers have investigated security-driven scheduling policy for applications.
Humphrey and Thompson [17] provided usage models for security-aware grid computing. However, they did not elaborate on how a scheduler should be designed to address the security concerns in collaborative computing over distributed cluster environment. Kashyap and Vidyarth [18] proposed a security-driven scheduling algorithm for Computational grid, which can achieve the dual objectives of minimizing the security overhead and maximizing the total security. Song et al. [18] modeled the risk and insecure conditions in grid job scheduling and developed three risk-resilient strategies to provide security assurance of grid job execution. Kołodzie and Xhafa [2] presented an approach combined game-theoretic and Genetic Algorithms for independent task scheduling with security requirements in Computational grids. Heuristic methods, due their robustness, have been successfully applied to solve the large-scale task scheduling problem in the dynamic grid environment [19, 20, 21]. Ge et al. [22] studied the problem of achieving a tradeoff between energy cost and service quality for Internet data centers and proposed a heuristic algorithm to select appropriate security services to guarantee the job security. Xie and Qin [23] built a security overhead model to reasonably measure security overheads incurred by the security-critical tasks and proposed a security-aware real-time heuristic strategy for clusters.
As pointed out by many researchers [24, 25, 26], trust and security are two different notions. Security is a notion associated with the assurance of secure computing services by a grid site or by a cluster node, whereas trust is reflected by the behavior of a resource node.
Wu and Sun [27] defined the risk relationship between jobs and nodes by the security demand and the trust level, and proposed a genetic algorithm to address the heterogeneity of fault-tolerance mechanisms problem in a computational grid. Wang et al. [28] introduced a model which incorporated trust to manage the life cycle of a scientific workflow to assure the execution of tasks in a security environment. Wang et al. [29] explored a kind of trust mechanism based trusted dynamic level scheduling algorithm, which could decrease the failure probability of the task assignments by evaluating the trustworthiness of machines in cloud environment. Tang et al. [30] designed a security-driven scheduling architecture for directed acyclic graph (DAG) applications, which can dynamically measure the trust level of each node in heterogeneous distributed systems by using differential equations. Lin [26] developed a trust management architecture for trust enhanced grid security, incorporating a novel trust model which is capable of capturing various types of trust relationships that exist in a grid system and providing mechanisms for trust evaluation, recommendations and update for trust decisions. Lohr et al. [14] proposed an approach to enhance the grid security using a combination of trusted computing and virtualization technologies. Azzedin and Maheswaran [31] suggested integrating the trust concept into grid resource management. They modified well-known ad hoc heuristics that incorporate the security implications into scheduling algorithms using a trust model for grid systems. Also in another work [32] they proposed a trust brokering system for grid environments that operates in a peer-to-peer manner. They have developed a security-aware model between resource providers and the consumers that separates the concepts of accuracy and honesty. Even though all the solutions mentioned above can improve the efficiency of the computing platform, they ignore the key factor which influences the performance of desktop grid platforms. Dyson et al. [15] described a trust framework model for grid computing, which enables users to execute their jobs on reliable and efficient resources, thereby satisfying clients’ quality-of-service (QoS) requirements.
Proposed trust-based task scheduling mechanism
The conceptual model of our proposed task scheduling mechanism based on trust model is presented in Fig. 1. As shown in Fig. 1, the users deliver requests (such as Information services, network services, security services, storage services, etc.) to the Task Management layer. After that, the Task Management layer communicates with the Trust Management middleware and obtains the trust value of resources based on their previous execution of tasks as historical transaction that will be fully explained in following.
The conceptual model of our proposed task scheduling mechanism.
Accordingly, in this section, we first present the basic concepts of the trust model used in the proposed mechanism, which is in line with our previous work [33]. Then, the proposed task scheduling mechanism based on trust model (TSTM) is presented. After that, a trusted scheduling framework with respect to the proposed TSTM model is presented in the grid environments.
Trust is a level of subjective probability between a source node (trustor) and a target node (trustee), which is formed through the direct observation and/or recommendation from trusted nodes, to fulfilling a particular service within a specific time and context [34, 35, 36]. Trust is usually evaluated by trust degree [37]. Trust degree
where
When there is a direct transactional relationship between node
Direct trust between node 
To calculate trust degree we consider the transactions between trustor
where
A node behavior is not always constant but often changes with time, therefore, the recent experience is more credible than the general historical experience. Therefore, we have considered the functions to determine the successful and unsuccessful experiences over time. These functions calculate the successful transaction rate based on historical successful transaction and failure transaction rate based on historical unsuccessful transaction between trustor
Similarly, for unsuccessful transactions:
where
In order to punish the behavior of selfish and malicious nodes, we have considered amounts as penalty
Therefore, the value of failure or unsuccessful transactions over time is calculated as follows:
According to the above, the direct trust value between trustor node
If the trustor
Recommendation trust between 
The recommendation trust degree between node
where
An indirect trust relation
Indirect trust between 
In this paper, we have used min-max composition [42] to integrate direct trust value and recommendation value according to our previous work [33]. We provide a general overview of this composition for computational trust modeling. More detailed information about min-max composition can be found in [33, 44]. Therefore, the indirect trust relation for Fig. 4 is given by:
In the above equation, we calculated one-level indirect trust value which includes one level recommendation based on Fig. 4. If node
According to the trust model presented in Sub-section 3.1, in this sub-section we propose a task scheduling mechanism based on trust model in the grid environment. We have extended the traditional dynamic level scheduling (DLS) algorithm [10] by considering trustworthiness of resource nodes. This algorithm meets the requirement of user tasks in trust, and makes tasks scheduling based on directed acyclic graph more reasonable. First, a directed acyclic graph is introduced for modeling the problem. Then, we introduce the task scheduling mechanism based on our proposed trust model named TSTM. Also, we assume that the resources are heterogeneous and the tasks have precedence order. Heterogeneity of resources refers to the different capability of resources that execute tasks. This helps us to model a realistic grid situation.
Tasks with precedence order in the grid environments can be modeled as a DAG,
Figure 5 depicts a sample of seven tasks with eight precedence relation among them. To start processing tasks
Sample of tasks with precedence relation.
Supposing that task
where
where
It should be considered, in addition to the three factors mentioned in the scheduling algorithm, namely, priority of the task in executing, the earlier starting time, and identify the fastest idle machine, it is important to consider the trust value of resources (machines or nodes) providers. Actually when a task is scheduled to execute on a machine, the trustworthiness of the node reflects the reliability of the service it supplies. Therefore, we have developed the task scheduling mechanism based on trust model (TSTM) in grid environment and can be defined as follows:
where
Trusted scheduling algorithm can be implemented as a middleware to plug into the gird environment, which the tasks can be executed on trust nodes efficiently. On one hand, the ratio of failure task execution is reduced and on the other hand, the security of data executive environment is improved. In this section, a basic integrated framework based on TSTM is presented.
In grid environment, the user nodes can enroll the grid at any time, deliver requests to the schedule center, and monitor the implementation of themselves’ tasks. The framework of task scheduling and resource allocation is shown in Fig. 6. In the trust scheduling based our TSTM framework, the whole process of the task submission and execution is in the following steps:
Proposed task scheduling mechanism based on trust model (TSTM) framework.
The user delivers a request (such as Information services, network services, security services, storage services, etc.) to the Request Service as task pool. Task Submission exploits and classifies the tasks according to the requested services and the execution time. Task Submission not only divides and classifies tasks but also manages them relating to their nature and required services. This component considers all aspects of a task, including its status, priority, requested time, and requested resource. Also, it is responsible for processing a task and submitting the created tasks to the task queues. After dividing and classifying the user request, Task Submission submits the task to the Task Scheduler. Task Scheduler is the most important component of grid that allocates a set of tasks which are received from Task Submission to the appropriate resources based on our proposed task scheduling mechanism as mention in Sub-section 3.2 as well as communicates with the Schedule Advisor. The main purpose of Task Scheduler is to shorten the response time to users and enhance the resource utilization to increase organization efficiency. The Schedule Advisor communicates with the trust management middleware and obtains the trust value of resources based on their previous execution of tasks as historical transaction, and transfers them to both Task Scheduler and Task Dispatcher. Task Dispatcher delivers the task to the selected resource mapped task for execution, and gives transfer delay and actual task assignment result to the Resource Monitor. The Task Dispatcher maintains a scheduled task queue, when some task is finished or failed, the dispatcher delete the task in the queue or put the task back to unscheduled task queue, and notifies the resource monitor. The Resource Monitor maintains the up to date state of every resource (all kinds of available resources such as computing, data, storage, network, software, etc.) and discovers the resources available and send resources status to Task Scheduler. The task can be executed on the most trustworthy resource node in the gird.
In this section, to demonstrate the benefits of task scheduling mechanism based on trust model (TSTM), we will present a couple of illustrative examples plus empirical evaluations of the model according to the parameters set them. Also we have tried to show the differences of the proposed model with the commonly used classical models and illustrate what the proposed model can bring to the computational grid domain. Hence, in the following section, we first discuss the effect of our proposed task scheduling mechanism based on trust model (TSTM), and then we compared the TSTM with other models.
Results for the proposed task scheduling mechanism (TSTM)
In this section, In order to evaluate the proposed algorithms, a simulation program that can be used to emulate the execution of randomly created or real application task graphs on a simulated computing system was developed. Hence, in the following section, we first consider a small-scale scheduling scenario to understand the simulation process more clearly, and then we have verified our proposed task scheduling mechanism (TSTM) by comparing our algorithm with others such as TDL (trusted dynamic level scheduling) model [43] and give systematic analysis on how our proposed model can enhance the task scheduling process.
Therefore, assume that the gathered data from information sources such as task user and grid services providers are as shown in Tables 1–3. In this scenario, we consider 5 task users and 3 machines so that 10 tasks are submitted to the machines and the length of each task is considered as a random number within the range of [1, 15] that shown in Table 1. Also, the initial trust value between task users and machines nodes are generated randomly that shown in Table 2. Moreover, Table 3 shows the execution time of each task of task graph.
Configuration parameters
Configuration parameters
Initial trust value between task users and machines nodes
Execution time of each task
Comparison of the amount of task scheduling.
Comparison of task scheduling mechanism based on trust model (TSTM).
Figures 7 and 8 show the amount of task scheduling and task scheduling mechanism based on trust model according to equations 11 and 13, respectively. As shown in Figs 7 and 8, the TSTM values have been reduced compared with TS values due to the direct impact of trust value on scheduling. In other words, in TSTM, there is a direct relationship between the task scheduling and the value of trust between the task users and the machines. For example, as shown in Table 2, the machine 3 has a higher trust value between task users, hence the TSTM value for this machine is higher than others and therefore has a higher priority to execute the tasks.
In another experiment, we evaluated the makespan that is an important performance criterion of scheduling heuristics in grid computing systems. It is defined as the maximum completion time of application tasks executed on grid resources. Simulation result of this experiment is shown in Fig. 9. Also, Figs 10 and 11 show the starting time and the execution time of different tasks according Table 1.
Comparison of final completion time (makespan) of different tasks based on Table 1.
Comparison of starting time of different tasks based on Table 1.
Comparison of execution time of different tasks based on Table 1.
An important application of the proposed task scheduling mechanism based on trust model (TSTM) is to facilitate comparison among different task scheduling mechanisms. There are some task scheduling mechanisms proposed for grid environment, so, it is difficult to list all task scheduling mechanisms to compare with each other. Therefore, we make a comparison with two task scheduling mechanisms, i.e., TDL (trusted dynamic level scheduling) [43] and proposed model without considering trust, i.e., TS (task scheduling without considering trust).
Comparison of average scheduling length under varying number of tasks. TSTM: task scheduling mechanism based on trust model, TDL: trusted dynamic level scheduling, TS: task scheduling without considering trust.
Comparison of average scheduling length under varying number of machines.
Comparison of final completion time under varying number of tasks.
Comparison of final completion time under varying number of machines.
The schedule length is one of important factor for evaluation of the task scheduling mechanisms. Therefore, we compare the average scheduling length of TSTM with TDL and TS under varying number of tasks and varying number of machines. Figures 12 and 13 show the average scheduling length under varying number of tasks and varying number of machines, respectively. In first simulation experiment, task graph with 10 to 100 tasks is generated, and the number of machine nodes set to 30. Also, in second simulation, we consider the number of machine nodes from 10 to 60, and the number of tasks is set to 100.
Experiment results as depicted in Fig. 12 show that with the increasing the number of tasks, the average scheduling length of the three algorithms also increases. The average scheduling length at the beginning of the simulation – when the number of tasks is low – in three algorithms is almost equal to each other, but with increasing the number of tasks, the average scheduling length of TSTM is little more than TS, due to the calculation of trust value, but it little less than TDL. Also, as shown in Fig. 13, the number of machines has an inverse relationship with the average scheduling length, so that with the increasing the number of machines, the average scheduling length decreases. The simulation results indicate that TSTM has a better status than TDL. However, because of calculating the trust value between task users and machine nodes, the average scheduling length is slightly more than TS.
As mention above, makespan is an important performance criterion of scheduling heuristics in grid computing systems. The comparison experiments’ result about final completion time is shown in Figs 14 and 15 under varying number of tasks and varying number of machines, respectively.
The result indicates that (TSTM shortes the final completion time compared to the model TS which does not load trust model and also TDL. TDL try to shorten the execution time of tasks on the path by assigning them to the shortest execution time resources. But it ignores resources’ integrity which possibly leads to the result that tasks are sent to resources that needed to re-scheduling. So the final completion time is postponed. While our model took into account the trust included comprehensive performance of the candidate resources in the tasks’ scheduling process and the probability of failure scheduling is low.
In this paper, we model the problem of task scheduling to decrease the failure probability of the task assignments, and improve the trustworthiness of execution environment while minimizing both execution time and makespan. A new task scheduling mechanism based on Trust Model named (TSTM) is proposed in grid environments so that we first calculate the trust value between task users and resource providers according to success and failure transaction between them and then we compute task scheduling based on trust value. We also proposed the framework of task scheduling and resource allocation. Moreover we compared it with other two algorithms. The experimental results show that the TSTM algorithm can achieve better solutions than other ones and also can be effective in selecting secured resource for task execution from the available ones.
Future studies in this research can be performed in the following directions. First, considering other aspects of security in grid environment such as the probability failure of links and security software deployed in the nodes. Second, task scheduling algorithms with optimization objectives such as cost and minimizing energy consumption will be considered.
Footnotes
Author’s Bios
