Abstract
The generalized cluster characteristics and the multi-user target requirements are analyzed, based on which an improved contract net model is constructed in order to resolve the low communication efficiency and the low task completion quality of the contract net protocol negotiation mechanism under the generalized cluster. In addition, a temporary monitoring unit is configured as a medium for task broadcasting and negotiation to reduce the communication consumption and improve the communication efficiency. In order to provide the tenderers and the bidders with the bidirectional screening constraints, QoS multi-objective constraints are introduced, which can improve the quality of task completion significantly. We also propose the concept of task priority and the tasks are performed sequentially, which can significantly reduce the unwanted task congestion caused by the concurrent multitasking. The simulation results show that this method reduces both the total time of task completion and the communication overhead of the negotiation process under the generalized cluster, and completes the desired task with a high-quality. This fully verified the rationality of the model and the effectiveness of the algorithm.
Keywords
Introduction
With the rapid development of the pervasive computing model, Generalized-Cluster is widely used, and which is different from a closed computing environment. Generalized cluster, a carrier of pervasive computing [1], is a large-scale computing environment constituted by numerous standalone, cheap compute nodes through the net. The compute node may be the compute elements like PC, WS or cellphone, or the loose “computational swarm” comprised by multiple compute elements, with the purpose of providing the cost-benefit computing power [2]. In addition to the instability, the generalized cluster is also featured by expansibility, perceptibility, autonomy, sociality, as well as extended self-organization capability, learning capability and inferential capability.
Generalized cluster, a carrier of pervasive computing [3], with the deepening of theoretical research on Multi-agent Systems (MASs), the members of generalized cluster gradually present the characteristics of Agent. Compared with MASs, cloud computing, grid computing and other technologies, expansibility and affordability are highlighted in generalized cluster. Therefore, generalized cluster boasts “5M” advantages: more extensive application scenarios, more powerful processing capacity, cheaper resource cost, more loose member relationship and more contracted architecture [4]. And it is very suitable to solve many large-scale scientific computing problems through the cooperation of its own organization, especially repeated, large number of scientific experiments or mathematical operations which can be granular.
As the foundation of generalized cluster operation, task allocation relates to how generalized cluster accomplishes tasks and how compute nodes coordinate. Task allocation is to improve the comprehensive performance of generalized cluster tasks according to the specific conditions, such as reducing the execution time of the total tasks [5], the total communication consumption in task execution [6], and the collision probability of generalized cluster in performing tasks [7], and improving the adaptability of the generalized cluster to the dynamic environment when performing tasks [8].
In the field of distributed intelligent control, task assignment mainly includes Contract net, load balancing, Biological immune mechanism, acquaintance mechanism and so on [9, 10, 11, 12, 13, 14]. Contract net is proposed by Smith to solve the issue of task and resource allocation, the aim of it is to make the distributed system complete the task with lower cost and higher quality. The contract network has the characteristics of simple modeling and can simulate various benefit relationships and so on. At present, it has been widely applied to the manufacturing scheduling, engineering scheduling, satellite autonomous planning and UAV task scheduling [15, 16, 17, 18].
Distributed task allocation is available in the contract net, but it has the following deficiencies, which results in the inefficient actual task allocation:
Communication efficiency: all bidders can participate in the bidding and the tenderees need to evaluate a large number of bid documents. This may lead to large communication costs and resource occupancy, which results in information congestion in invitation for bids. Quality of task completion: the tasks in the traditional contract net are assigned randomly, which causes retention of some tasks; the bidder has a poor ability of screening constraint for the tenderees during allocating task, resulting in the low quality of task completion.
In view of the above problems, the related scholars have improved the traditional contract net.
According to the literature [19], task allocation is to minimize the cost and maximize the effectiveness of the task as to the quality of task completion, therefore, the assignable maximum number of tasks is limited to reduce the complexity of the computation. Zhang et al. put forward a semi-autonomous multi-Agent task allocation method, which combines the mental model with the extended contract net mechanism to eliminate the defect of the large amount of information in the traditional task allocation [20]. In order to reduce the communication cost and improve the system’s index of task completion, Jian et al. introduced strategies of interactive trust, acquaintance trust and threshold value based on the classic contract net [21].
For the communication efficiency, Zhang et al. proposed to simulate the negotiation process of contract net with the cost time Petri net, which can reduce the coordination time between Agents [22]. Liang and Ju designed the circular trust area on the basis of the traditional contract net to narrow the scope of the bid and improve the communication efficiency [23]. Sang et al. proposed an improved contract net protocol based on cycle period to improve the efficiency of the contract net protocol, where the bidding is proposed in an orderly manner through the cycle period, and the bid is limited on quotes by the threshold strategy [24].
The traditional contract net based improvement above can solve the problem of the task completion quality and individual communication efficiency, however, in the face of the situation that the task cannot be completed due to a unit is apoptotic or withdraws from the alliance, no corresponding solution is described in the above literature. Therefore, for the instability of the generalized cluster, the classical contract net model was improved by designing a temporary monitoring unit to replace the tenderee’s broadcast task message and communicate with the bidder, which not only helps reduce the communication consumption between the tenderees and the bidders, but also improves the communication efficiency; QoS was introduced by adopting execution time, trust and utility multi-objective constraints in the two-way screening between the tenderees and the bidders to improve the quality of task completion. Moreover, we proposed the concept of task priority, where the tasks are performed sequentially, to reduce task congestion caused by multi-task concurrency and improve the quality of task completion.
The task assignment in a Generalized cluster environment is essentially a Combinatorial Optimization Problem and a NP hard problem. Aiming at the multi-objective and complex constraint of the problem, the conditions for the multi-objective constraint satisfaction are summarized as follows.
Problem description
The improved contract net task allocation model under the generalized cluster can be described by three tuples.
Tasks represent a task set. CE indicates the role in the improved contract net. T stands for the tenderee, the decision based computing unit, and B is the bidder, the task based compute node; TMU is the temporary monitoring unit, the communication based compute node, and S is the winning bidder, the task based compute node that is assigned with tasks. Strategies represent the task allocation strategy set based on the improved contract net. TSS is the task selection strategy and determines the tasks to be performed according to the task priority; TS stands for the tenderee’s tendering strategy and determines the contents of the tender, and BS for the bidding strategy of the bidder after receiving the tender; SDS refers to the bid evaluation strategy of the tenderee, and TES to the strategy of the bidder in task execution.
The main variables and their meanings are defined and explained in Table 1.
Symbols and meanings of the main variables
Symbols and meanings of the main variables
We developed the following assumptions in the paper:
Assumption 1 The tasks in the task set are relatively independent and not associated with each other. They have no mutual influence in executing. Assumption 2 The compute-intensive task data flow is studied in this paper.
If the task
QoS target constraints include execution time, reliability and utility.
Where Usually, the bidder can only perform one task at the same time. At
One task can only be assigned to one tenderee or the task is not assigned. For
The execution time of assigned tasks must be greater than or equal to the time required by tasks. For
The start time and the arrival time of the task are related to the available time of the bidder’s resources.
Where The tasks assigned in the generalized cluster are executed according to the task priority, and the tasks in execution cannot be preempted. If
If the bidder
If
The trustworthiness of the bidder
The utility sum for the bidder
In this paper, the large-scale scientific computing is processed under the scenario of the generalized cluster. Expansibility and cheapness are highlighted in the generalized cluster. Hence, the compute-intensive task processing under the generalized cluster has the following advantages: the strong processing ability, the low resource cost, the loose member relationship, the simple architecture. The structure of the generalized cluster is shown in Fig. 1.
Structure of generalized cluster.
The compute nodes in the generalized cluster can be the individual of any computing entity, such as a server, PC, tablet computer and cellphone. It can also be the alliance of computing units or the generalized cluster. The compute nodes in the generalized cluster are unstable and can be detached from the alliance or the generalized cluster at any time.
Based on the generalized cluster theory, the computing units are divided into the decision based computing units and the task based computing units. The former refers to the computing unit with a good communication ability, which is responsible for releasing the bidding information of the task observed and communicating with other compute nodes; the latter has a good behavior execution capability, receives the bidding notice sent by the decision based computing units, and assesses the QoS needs according to its own needs to decide whether to participate in the tender.
The computing unit with good communication ability, the optimal autonomy and sociality are selected from the generalized cluster as the decision based computing unit, which is responsible for the task management and allocation.
The task of the decision based computing unit is to screen the optimal task based compute nodes in executing the tasks through the QoS target requirement.
Task based computing unit
The capability of the unit, as the basis for the computing unit to complete the task, is described in this paper, including the way and the effect of completing the task [26]. The computing unit’s capabilities include the basic capabilities and the behavior execution capabilities. The basic capabilities are autonomy, sociability and responsiveness; the execution capability determines the probability of task execution and the effect of task completion, at the same time, it also reflects the differences of the individual abilities among different computing units, and provides an effective guidance for task allocation. The behavior execution capability of the computing units in this paper is defined as the QoS target of the tenderee.
The behavior execution capability is composed of the basic capability BC. BC can be described with the following three tuples:
Where Action describes the QoS target of the task; Property represents the value that satisfies the QoS index; Status indicates whether the state of the QoS index is satisfied.
The satisfactory values of the QoS index can be represented by the following two-tuples:
max_property is the maximum value that satisfies the index Action; cur_property represents the current value.
Temporary communication unit
The temporary communication unit comprises a temporary broadcast unit and a temporary monitoring unit.
The monitoring unit in the generalized cluster is temporary. First, the computing unit without participating in the task competition in task release is screened by the generalized cluster as the candidate monitoring set; second, the dominant set with the communication ability to satisfy the threshold value
The temporary monitoring unit is formed with the release of the task and terminates with the completion of the task.
The monitoring unit mainly realizes the following purposes in the process of monitoring the performance of the winning bidder:
It lightened the burden of the tenderer’s correspondence; For the task which cannot be completed due to a unit is apoptotic or withdraws from the alliance, it realized task redistribution.
The working mechanism of the temporary monitoring unit is as follows:
Monitoring the status of the winning bidders performing the task; If the winning bidders are performing the tasks then continue listening, repeat Step1 else recycling the task. After the task is recovered, the task is put into the task set. At this time, the task has priority execution. The tenderer bids for the task again. After the bid, the successful bidder will start the task, and The monitoring unit will repeat Step1.
Under the generalized cluster, the task is usually a series of activities to be completed by a computing unit, Ma Qiaoyun believes that task is a work to be done to achieve the specific goals [25]. In the task allocation process based on the contract net protocol, the bidder needs to evaluate the task and its ability according to the QoS requirement of the task. Therefore, the reasonable description of the task is the key for the bidder to make a reasonable bidding.
Under the complex generalized cluster, because of the diversity of the computing units, the task has deemed an activity that converts the specific input to the specific output. Input and output reflect the constraints and the result of task execution respectively. The task can be represented by one tuple:
Where TaskID represents the unique identity of the task; TaskName describes the name of the task;
Extended contract net model based on generalized cluster
Task allocation framework of extended contract net model
According to the generalized cluster theory, the decision based computing unit is mapped to the tenderee, the task based computing unit to the bidder, and the temporary communication unit to the temporary monitoring unit and the temporary broadcast unit. Besides, the open tendering is adopted, and the design of the bidding mechanism is shown in Fig. 2. The task allocation mechanism of the extended contract net is designed in detail from four stages of tendering, bidding, bid evaluation and task execution.
Task allocation mechanism of the improved contract net.
In the tendering stage, the decision based computing unit, the tenderee, sends such information as the detail of the tendering task, the deadline for the bid evaluation and the QoS constraint of tendering to the temporary broadcasting unit, which will send the task bid to the bidder according to the task priority. In the bidding stage, after the task based computing unit, the bidder, receives the bidding information, the bidder assesses whether its task execution ability meets the requirements according to the task QoS target requirements. If it is satisfactory, it will bid to the tenderee; otherwise, it will give up and wait for the next task notice. In the bid evaluation stage, the bidders form the bidding set after the bid deadline. The tenderee chooses the best bidder from the bidding set as the task executor and sends the notice of award according to the target needs of the task QoS. The successful bidder will join the winner set and complete the winning bid. The winner cannot receive any bid information for other tasks to be processed before completing the task. In the task execution stage, the winner will be monitored in real time by the temporary monitoring unit which may reflect the basic situation of the successful bidder who completes the task to the bidder. If an accident happens on the successful bidder under emergency, the temporary monitoring unit will take back the tasks and put them into the task set; when completing the task, the winning bidder withdraws from the winner set and may continue to receive other tendering information of the tasks to be allocated.
The requirement of QoS (quality of service) is introduced as the two-way screening constraint between the tenderees and the bidders, and three key indexes in the task allocation process are considered respectively: execution time, degree of trust, and utility.
Time objective function
The time objective function indicates that the tenderee assigns the task to the bidder with the shorter task completion time during task allocation. If the time for the bidder
Similarly, the minimum time to complete the task
Therefore, the time objective function
According to the Eq. (12),
The trust objective function indicates that the tenderee assigns the task to the bidder with a high reliability in task allocation. The maximum reliability of the tenderee in the tendering set is:
Similarly, the minimum reliability of the tenderee in the tendering set is:
The objective function
The Eq. (13) shows that
The objective function indicates that the tenderee selects the least effective bidder from the bidder set to assign the task in task allocation. If the expenditure utility for the bidder
On the contrary, the minimum consumption utility required to accomplish the task
Therefore, the utility function
According to the trust objective function, the time objective function and the utility objective function, the comprehensive evaluation criteria for the tenderees to select the tenderee
Where
Task selection strategy
The task selection strategy (TSS) is to determine the tasks in the current bidding round. The task comes from the unallocated task set
Where level is the priority of the Task. The higher level means the higher the priority, and the higher priority task will be executed preferentially. That is, the task with the highest level in
Tendering strategy
The tendering strategy (TS) is to determine the content of the tender. In the traditional contract net protocol, the tenderee broadcasts the task and sends the tender to the task based compute node in the system. This strategy requires a higher communication ability of the tenderee. Therefore, the temporary broadcasting unit is designed and the most powerful computing unit under the generalized cluster is selected as a temporary broadcast unit to broadcast the task, which may reduce the communication load capacity of the bidder. At the same time, QoS requirements are incorporated into the bid design, to enable the bidder to assess whether its ability meets the QoS needs, in order to screen the bidders.
The tender RfP can be formalized as:
Where
Bidding strategy
The bidding strategy (BS) is to determine whether the bidder will bid after receiving the tender. After receiving the tender, the bidder will assess its ability and decide whether to bid according to the requirement of the task QoS in the tender. With the satisfactory ability, it will send the bid document to the tenderee; if not, the bid is waived. The bidding process is designed as shown in Fig. 3.
Bidding strategy diagram of task based compute node.
(1) The content of bid document
The contents of the bidder’s bid document can be formally described as follows:
Where the bid document BTB is described in detail. From is the identification of the task based compute node for sending the bid document; TaskID is the task sign of the bid;
(2) Bidding strategy
The specific algorithm of the bidding process is described as follows.
The bid evaluation strategy (SDS) selects the best bidder from the received bid documents as the executor of the task and send the notice of award. The specific steps of the winning strategy are listed as follows:
Sort out the bid document of the task Evaluate the optimal task based compute nodes that satisfy the QoS target service demand in the bidding set. The detailed bid evaluation strategy of the task
The priority strategy with the shortest time For the task
The priority strategy of the highest trust For task
The priority strategy with minimum utility For task
The comprehensive bid evaluation strategy is adopted:
Where When the bid evaluation is concluded, the best bidder performing the current task is chosen and sent the notice of award. The content of the winning bid can be formally described as follows:
Where the winning bid STB is described in detail, and TaskID is the identification of the winning bid;
The task execution stage (TES) means that the successful bidder starts the task after receiving the notice of award. Because the computing unit in the generalized cluster is unstable, the following 4 cases are considered in the task execution:
Task execution strategy of case 3.
Carry out the task continuously and accomplish it. In executing the tasks, if the compute nodes suddenly become apoptotic or detach from the cluster, and the task cannot be completed. At this point, the temporary monitoring unit takes back the task to the task set and notifies the tenderee that the task is not completed, and it has to wait for re-tendering. In the alliance to receive tasks, a computing unit is apoptotic or withdraws from the alliance. At this point, the alliance needs to decide whether the task can be completed within the specified time limit. If it can be completed, the task will continue to be performed. Otherwise, the latest completion time should be returned to the temporary monitoring unit. The temporary monitoring unit, through consultation and communication with the tenderee, will notify the task performer whether it will continue to perform the task. If it continues, the latest completion time in the winning bid shall be amended and the task will continue to be performed; if it is not allowed to continue, the task will be recovered by the temporary monitoring unit and put into the task set, waiting for the re-tendering. The task execution strategy of case 3 is shown in Fig. 4. In an alliance to receive tasks, if a unit is apoptotic or withdraws from the alliance, and the task cannot be completed, the temporary monitoring unit will recover the unfinished task, puts it in the task set, notifies the tenderee that the task is not completed and it has to wait for the re-tendering.
Simulation environment.
In this study, Netlogo6.0.3 [27, 28] simulation platform is employed to build generalized cluster simulation scenarios and the arithmetic system scenario. In the simulation scenario, the mathematical operation task executed by the computing unit is simulated under the generalized cluster. Furthermore, improved contract net and traditional contract net are coordinated to complete the task assignment.
The experimental parameters are set as follows:
The simulation experiment was completed on the personal PC of the WIN7 system, Intel Core i5 processor, 3.2GCPU and 4.0GRAM. The number of the initial computing units is 50; the number of the tasks to be allocated is 50 to 200; the number of the returned alliances is 2.
The scenario of the test simulation is shown in Fig. 5.
50 task execution time comparison
By taking the execution tasks as variables, the total execution time of the tasks is investigated under the task allocation strategy of the traditional contract net and the improved contract net respectively. In view of the randomness of the algorithm, the experiment was carried out by using the traditional contract net protocol and the improved contract net protocol as the simulation environment, three sets of data were randomly selected in each experiment. When there are 50 tasks in a Generalized Cluster, the execution time of MCNP and CNP tasks is shown in Table 2, the change trend of the task execution time is shown in Fig. 6.
In Fig. 6, CNP indicates the traditional contract net protocol and MCNP indicates the improved contract net protocol. When the number of tasks is less than 50, the time of the two methods is almost same. Because the two-way QoS evaluation is needed by the MCNP, the advantage of the fast speed is not shown when the number of tasks is less than 50.
50 task execution time trends.
When the number of tasks is 100, the time change trend of CNP and MCNP execution tasks is shown in Fig. 7. As the number of tasks increases, the execution time of MCNP is gradually separated from the task execution time of CNP.
100 task execution time trends.
200 task execution time trends.
When the number of tasks is 200, the change trend of the task execution time of CNP and MCNP is shown in Fig. 8. With the increase of the number of tasks, the time of completing the total task by the improved contract net is significantly superior to that of the traditional contract net when the number of tasks exceeds 50. Therefore, the improved contract net can improve the efficiency of task completion as well as the quality of task completion.
The task allocation based on the traditional contract net has some deficiencies, such as the low communication efficiency and the inefficient task completion quality and unable to handle outstanding remaining tasks under the generalized cluster. Therefore, we propose an improved contract net model and design a temporary monitoring unit to broadcast and negotiate the task in this paper, which improves the communication efficiency and remains tasks by real-time monitoring. Furthermore, the QoS bilateral constraint is introduced to improve the task completion quality, and the task priority is designed to reduce the task congestion rate. The simulation results show that the improved model can reduce the total time of task completion when the number of tasks exceeds 50, improve the efficiency of task execution and the quality of task completion.
However, the following two issues are not discussed in depth in the study.
The allocation algorithm for task reallocation caused by the emergency of the computing unit. The rational utilization of the surplus resources when the computing units execute the tasks under the generalized cluster.
Therefore, the above issues will be studied in the future work.
Footnotes
Acknowledgments
This work was supported by the National Natural Science Foundation of China under Grants 51774090, 61170132, 21306022, the Natural Science Foundation of Heilongjiang Province under Grant F2015020, and the Fundamental Research Funds for the Northeast Petroleum University under Grants NEPU80142, NEPU90115. The authors would like to express their gratitude to the anonymous reviewers, whose helpful comments and suggestions were advantageous to improve the quality of this paper.
