Chapter 2: Computing Systems Survey and Scheduling Problem. 2.1 Introduction ...... method supports reservation based grid resource allocation. Third, Quality ...
F E M U Faculty of Engineering
Mansoura University
Faculty of Engineering
Computers Engineering and Systems Department
Scheduling Mechanism for Mobile Computing
By
Eng. Tamer Ahmed Farrag A thesis submitted in fulfillment of the requirement for the Master Degree of Science in Automatic Control Engineering
Supervisors
A.Prof. Aida Osman Abdel – Gawad
A.Prof. Hesham Arafat Ali
Department of Computers Engineering and Systems, Faculty of Engineering, Mansoura University
2006
Table of Contents Abstract........................................................................................................................... iv Acknowledgments.......................................................................................................... vi List of Figures................................................................................................................. viii List of Tables .................................................................................................................. x List of Abbreviations...................................................................................................... xi
Chapter 1: Introduction .....................................................................................1
Chapter 2: Computing Systems Survey and Scheduling Problem 2.1
Introduction .......................................................................................................... 9
2.2
Computing Systems Survey ................................................................................. 10 2.2.1
Grid Computing............................................................................................ 10
2.2.1.1. Grid Systems Taxonomy..................................................................... 11 2.2.1.2. Grid Organization................................................................................ 13 2.2.1.3. Grid Resource Management Systems Survey.................................... 14 2.2.2
Internet Computing ..................................................................................... 19
2.2.3
Mobile Computing ....................................................................................... 20
2.2.3.1. Mobile Devices Development ............................................................. 21 2.2.3.2. Mobile Grid.......................................................................................... 22 2.2.4 2.3
2.4
Challenges and Problems in Computing Systems....................................... 24
Scheduling Problem ............................................................................................. 28 2.3.1
Types of schedulers..................................................................................... 29
2.3.2
Scheduler organization ................................................................................ 30
2.3.3
Scheduling Parameters and Success metrics ............................................ 31
2.3.4
Scheduling Mechanisms ............................................................................. 33
Summary .............................................................................................................. 38
iii
Chapter 3: An Improved Scheduling Mechanism for Mobile Grid 3.1
Introduction........................................................................................................... 40
3.2
Connection Stability and Scheduling ................................................................... 41
3.3
Proposed Framework ........................................................................................... 43 3.3.1
Proposed Framework Entities...................................................................... 45
3.3.2
Proposed Framework Entities Relationship................................................. 47
3.4
Self Ranking Algorithm (SRA) .............................................................................. 48
3.5
Ranking Value Guided Scheduling Mechanism (RVGSM)................................... 54
3.6
3.5.1
RVGSM Philosophy ..................................................................................... 56
3.5.2
Dedicated Scheduler ................................................................................... 56
3.5.3
Opportunistic Scheduler .............................................................................. 58
3.5.4
Sort Criteria.................................................................................................. 61
3.5.5
Search Technique........................................................................................ 61
Summary .............................................................................................................. 63
Chapter 4: Validation and Experimental Results 4.1
Introduction........................................................................................................... 65
4.2
Scheduling Simulation Framework (SSF)............................................................. 66
4.3
4.4
4.2.1
Key Features and Design Issues ................................................................ 67
4.2.2
Framework Basic Entities and Modules....................................................... 68
Self Ranking Algorithm (SRA) Validation ............................................................ 71 4.3.1
Mobile Device Movement Mechanism ......................................................... 71
4.3.2
AP and Monitoring the Mobile Device.......................................................... 75
4.3.3
Parameters setting, collecting and calculating............................................. 77
4.3.4
Simulation Results Analysis and Discussion ............................................... 77
RVGSM Validation................................................................................................ 83 4.4.1
4.5
Simulation Results Analysis and Discussion ............................................... 85
Summary .............................................................................................................. 97
iv
Chapter 5: Conclusion and Future Directions 5.1
Conclusion............................................................................................................ 99
5.2
Future Directions ................................................................................................. 102
Bibliography ................................................................................................................... 103
Appendix A: Case Studies' Results of SRA Validation............................................... 110 Appendix B: Case Studies' Results of RVGSM Validation ......................................... 117
v
Scheduling Mechanism for Mobile Computing Abstract
Mobile computing is the new trend in the computing systems. It has recently received increasing attention by the research and industry corporations. Because it provides (i) improved scalability by aggregating resources and reducing reliance of traditional devices (ii) cost effectiveness by utilizing already deployed resources and eliminate the need for more infrastructures. The traditional computing systems do not consider the special criteria of the mobile resources (definitely connection stability). The originality of this research is to investigate a dynamic scheduling mechanism, which considers the mobile devices as resources. In the proposed mechanism assigning a given task to the available ranked resource is done dynamically by using two types of schedulers (dedicated and Opportunistic). Improving the performance of these algorithms is achieved by using powerfully source evaluation algorithm, so the overall performance of the mobile computing environment will increase. In the proposed mechanism a new resource evaluation and ranking method called "self ranking algorithm (SRA)", which distributing some of the functions of the vi
access point among the available attached mobile devices, is employed. The proposed mechanism is experimentally validated for the various distribution forms of the incoming jobs. Experimental results depict that, embedding of SRA within the proposed mechanism has a great impact in improving the system load balancing and increasing the system throughput by reducing the required scheduling time. Thesis Contribution: To support the new trend of mobile devices integration in the computing systems, we have: • Identify the challenges and problems that face the development of the mobile computing. • Provide a new approach in the system resource evaluation called "self ranking". • Propose "Self Ranking Algorithm (SRA)", which considers the addition of the new parameters because of the special criteria of mobile devices (i.e. connection stability). • Develop a scheduling mechanism called "Ranking Value Guided Scheduling Mechanism (RVGSM)" that uses the output of the SRA as a base of the scheduling process. • Develop "Scheduling Simulation Framework (SSF)" to help in studying the scheduling operation. This framework provides the main entities needed to be implemented in any scheduling operation.
vii
Acknowledgments The praise of Allah that by his blessing the suitable takes place. The praise of Allah on his guidance makes me finish the preparation of this thesis.
Also I head by the noblest thanks and gratitude to my father and my mother on their complete support for me and their care of me. And pray to Allah for them with the happiness and the health and the good health. As I head with the thanks to both of my sisters on their permanent encouragement for me and call to them by the happiness and the reconciliation.
I head with the thanks and the gratitude for the supervisors who surrounded me with all of the cares and that were got from their knowledge. I head with the thanks for the Assistant Professor\ Aida Othman Abdel-Gawaad and the Assistant Professor\ Hesham Arafat Ali, the supervisors of this thesis. Also I head with the thanks and the appreciation for our great professor the professor\Ali Ibrahim Al-Desoky on his directing and his opinions and call to him by an abundant of the good health and happiness.
Also I head with the thanks the professor\Mofreh Mohamed Salem - the president of department of Computers Engineering and Systems on the care and the support. Also I thank all professors the engineering department of Computers Engineering and Systems and the members of the assisting viii
organization on all what they knew him in the years of my study in the department of Computers and Systems in the Faculty of Engineering – Mansoura University.
Also I head with the thanks for all my friends Tamer Ramadan and Amgad Hanafi and Adham Mahmoud and Ahmed Al Said and Ahmed Gaballah on their permanent encouragement for me and on their confidence. And the thanks necessary for my colleagues in Scientific Calculation Center-Mansoura University
Tamer Ahmed Farrag
ix
List of Figures
Figure
Title
Page
1.1
Research topics in distributed systems
3
2.1
A Grid Systems taxonomy
12
2.2
Machines Organization taxonomy
13
2.3
An overview of integration of mobile devices with computational grid
24
2.4
Computing systems Research Areas taxonomy
25
2.5
Schedulers types' taxonomy
29
2.6
Scheduler organization taxonomy
30
3.1
Organization of the System Infrastructure
41
3.2
Framework and Components relationship
44
3.3
Request Processing Flow
47
3.4
Rank Metric Map
50
3.5
Self Ranking Algorithm
51
3.6
Ranking Value Guided Scheduling Mechanism entities
54
3.7
Jobs arrangement In RVGSM
55
3.8
Dedicated Scheduler working algorithm
57
3.9
the condition to decide the unused resource
58
3.10
Opportunistic Scheduler working algorithm
59
3.11
Ranking Value Guided Scheduling Mechanism (RVGSM)
60
3.12
An Example of ORL and Its Indexer
62
4.1
Class Diagram of SSF
70
4-2
Step 1 of Random Movement Path Generation
72
4-3
Step 2 of Random Movement Path Generation
72
4-4
Step 3 of Random Movement Path Generation
73
x
Figure
Title
Page
4-5
Step 5 of Random Movement Path Generation
73
4-6
Step 6 - Choose a Random Direction from Eight Possibilities
74
4-7
Examples of the random mobile movement paths
75
4-8
AP monitoring of the mobile device movement process
76
4-9 (a)
Total error at no of mobiles = 50
79
4-9 (b)
Link utilization at no of mobiles = 50
79
4-10 (a)
Total error at no of mobiles = 75
80
4-10 (b)
Link utilization at no of mobiles = 75
80
4-11 (a)
Total error at no of mobiles = 100
81
4-11 (b)
Link utilization at no of mobiles = 100
81
4-12
One Dedicated Scheduler Algorithm
83
4-13
Case Studies distributions of Incoming Jobs
86
4-14
Snapshots of Validation Program of RVGSM
88
4-15
The actual distribution of finished jobs for D1–Supposing Variable Job length
89
4-16
The actual distribution of finished jobs for D2–Supposing Variable Job length
90
4-17
The actual distribution of finished jobs for D3–Supposing Variable Job length
90
4-18
The actual distribution of finished jobs for D4–Supposing Variable Job length
91
4-19
The actual distribution of finished jobs for D1–Supposing Constant Job length
93
4-20
The actual distribution of finished jobs for D2–Supposing Constant Job length
94
4-21
The actual distribution of finished jobs for D3–Supposing Constant Job length
94
4-22
The actual distribution of finished jobs for D4–Supposing Constant Job length
95
xi
List of Tables Table
Title
Page
2.1
Comparison between Grid Resource Management Systems
14
2.2
Worldwide wireless LAN equipment shipments (1000s of units)
22
2.3
Comparison between Referenced scheduling Mechanisms
33
4-1
SSF Key Features and Design Issues
67
4-2
Various Case Studies of SRA Validation
78
4-3
Case Studies distributions of Incoming Jobs
86
4-4
The actual distribution of finished jobs standard deviation–Supposing Variable Job
92
length 4-5 4-6 4-7
Scheduling time of the different systems (milliseconds) –Supposing Variable Job
93
The actual distribution of finished jobs standard deviation–Supposing Constant Job 96
length Scheduling time of the different systems (milliseconds) –Supposing constant Job
xii
96
List of Abbreviations
Abbreviation .NET AP
Meaning Microsoft .Net framework Access point
Caverage
The average number of time units being connected continually
Daverage
The average number of time units being disconnected continually
DBC DSech
Deadline and Budget Constrained Scheduling Algorithms Dedicated Scheduler
FIFO
First Input First Output
GIS
Grid information System
GJL
General Job List
LAN
Local Area Network
LIFO
Last Input First Output
MDC
The Connectivity and Disconnectivity metric
ORL
Opportunistic Resources List
PC
Personal Computer
PDA
Personal Digital Assistants
QoS
Quality of Service
RMS
Resource Management System
RVGSM SC
Ranking Value Guided Scheduling Mechanism Scheduler
SRA
Self Ranking Algorithm
SSF
Scheduling Simulation Framework
TFE
The Task Farming Engine
Tr
Response Time
Tth
Threshold Time
xiii
Chapter 1 Introduction
Chapter 1
Introduction
Chapter 1
Introduction
One of the purposes of the Computer is to perform the long and complex computing mathematical operations, to monitor industry and to analyze different tasks. Therefore, the rapidly increasing needs to the computing power urged specialists to think of creative solutions to the problem of "How to increase the available computational power?" , which became one of the most important problems facing the development of human civilization. At the same time, the increases of the microprocessor power and the communication bandwidth has also helped to make the distributed computing a more practical idea. The development of the real applications based on such idea is still somewhat limited, and the challenges are still significant. So, many researches have been directed to solve these problems and face these challenges, especially if such environment includes mobile devices as shown in Figure 1.1. Mobile Computing has extended the distributed computing and distributed systems and carried them to new heights trends. The applications based on Mobile Computing have a remarkable development and they gained a lot of importance in recent years [6, 38]. On the other hand, Mobile Computing is the worst case of 2
Chapter 1
Introduction
distributed computing systems since fundamental assumptions about connectivity, mobility, and scalability are no longer valid. Distributed Systems Research Topic
Multiple processors organization and architecture
Parallel and Distributed Processing
Distributed Computing
Mobile Computing
Figure 1.1: Research Topics in Distributed Systems.
First we have established, a comparative study has been established between the most recent and popular computing systems. The most important systems, which will be the base and the reference of our work, are Condor [17, 33] and Nimrod/G [43, 58]. Condor has a novel scheduling mechanism, which introduces the idea of opportunistic scheduler to backfill the holes in the scheduling process performed by the traditional dedicated schedulers. On the other hand, Nimrod/G has an excellent organized system framework. The Nimrod/G framework can be easily modified to consider the mobile resources. These two systems and other will be dealt with thoroughly in chapter 2. Most of the recent studies, researches and scientific computing projects consider the scheduling process as one of the most important phases in any networking computing system. The first step to achieve our goal in this work is to 3
Chapter 1
Introduction
study the already existing systems and concentrate on how the scheduling process is being managed. Moreover, it points out the already existing scheduling mechanisms [17, 28, 45, 49, and 54]. It is noticed that the main difference between them is how to evaluate the available resources. Some of them use the Quality of Service (QoS), cost or other parameters as a metric to evaluate the resources. The special criteria of the mobile devices lead to the appearance of some new parameters (i.e. connection stability) and make some of the present parameters more important than before (i.e. resource location). The remarkable note is the shortage of the systems that consider the special criteria of the mobile devices. So, we propose a scheduling mechanism that handles these special criteria. Throughout the chapters of this thesis, a novel algorithm to evaluate these mobile resources will be depicted. This novel algorithm is the base of a proposed mobile computing scheduling mechanism. This Thesis identifies the challenges and problems facing the development of the mobile computing systems. The scheduling problem is the main challenge that the thesis focuses on. It also provides a new approach in the system resource evaluation called "self ranking". This approach depends on authorizing the mobile devices to rank and evaluate themselves and remove this task from the central point (the access point scheduler). Such approach increases the performance of the mobile computing environment, by distributing part of the functionality of the access point among the available attached mobile devices.
4
Chapter 1
Introduction
Then, the thesis proposes "Self Ranking Algorithm (SRA)", which focuses on the new parameters that are considered to be an addition because of the special criteria of mobile devices (i.e. connection stability). Also, SRA is the product of the new approach of self ranking. It presents a very effective and simple evaluation of algorithms as shown in the next chapters. After that, this research develops a scheduling mechanism called "Ranking Value Guided Scheduling Mechanism (RVGSM)", which uses the output of the SRA as a base of the scheduling process. The proposed RVGSM mechanism comprises a number of dedicated schedulers and one opportunistic scheduler. RVGSM has a remarkable effect of improving the system load balancing and decreases the required scheduling time when the distribution of the incoming jobs requires a large number of low and medium rank resources. The decreasing of required scheduling time means increasing the system throughput. For validation process, "Scheduling Simulation Framework (SSF)" has been developed. SSF is a general purpose framework based on .NET technology. It is designed to achieve studying and analyzing the scheduling operation. In the real grid environment, it is very difficult to perform the required load tests on the scheduling mechanism. This framework provides the main entities needed to be implemented in any scheduling operation. This thesis consists of five chapters and two appendices. The first chapter is the introduction and the other chapters are as listed below: 5
Chapter 1
Introduction
ª Chapter 2: entitled "Computing Systems Survey and Scheduling Problem" thrives informing the reader briefly of the development of the computing systems in addition to highlighting the challenges and problems related to these systems. Above all, the main focus of the thesis is to point out the scheduling problem and to elaborate on its nature presenting at hand a scheduling mechanism to manage the integration of the mobile devices into the already existing Computing systems. ª Chapter 3: entitled "An Improved Scheduling Mechanism for Mobile Grid" introduces an improved scheduling mechanism for mobile grid. Firstly, the working environment in this research has been presented. Secondly, the proposed "Self Ranking Algorithm (SRA)" has been explained. After that, the candidate introduces a scheduling mechanism called "Ranking Value Guided Scheduling Mechanism (RVGSM)", which uses the output of the SRA as a base of the scheduling process. ª Chapter 4: entitled "SRA and RVGSM Validation and Analysis" handles the validity of the proposed RVGSM system to evaluate the contribution of our proposal in improving the performance of the scheduling in Mobile Grid environment. ª Chapter 5: entitled "Conclusion and Future Directions" wraps up the results of the validation in chapter 4. The possible future directions are also introduced in this chapter. 6
Chapter 1
Introduction
 Appendix A: entitled "Case Studies' Results of SRA Validation" introduces a sample of details results of SRA validation case studies.  Appendix B: entitled "Case Studies' Results of RVGSM Validation" introduces a sample of detailed results of RVGSM validation case studies.
7
Chapter 2 Computing Systems Survey and Scheduling Problem
Chapter 2
Computing Systems Survey and Scheduling Problem
Chapter 2 2. Computing Systems Survey and Scheduling Problem 2.1.
Introduction Practically, the importance and the value of computer were discovered
when the mainframes computers appeared. Back then, the mainframe was a huge device, which could occupy a separate building. Users of this mainframe had to use a group of dummy terminals and wait for hours to perform their work. However, the mainframes became smaller and faster as a result of the development of electronic components industrialization, yet the problem of centralization appeared; if a person wanted to perform a task, he would go to the mainframe building and wait for his turn. In 1981, IBM introduced its personal computer (PC) to use at home, offices and schools. The number of personal computers in use doubled from 2 million in 1981 to 5.5 million in 1982. Amazingly, ten years later, 65 million PCs were in use. Computers continued their trend toward a smaller size, working their way down from desktop up to the laptop computers (which could fit inside a briefcase) to palmtop (which is able to fit inside a breast pocket) [55]. As smaller computers became more powerful, they could be linked together, or networked, to share memory space, software, information and communicate with each other. Also, the price/performance (ratio between the cost paid per unit of computational power or capability) has been decreased. All the previous 9
Chapter 2
Computing Systems Survey and Scheduling Problem
led to the appearance of new concept of computing called "Networking Computing" [14]. Mobile Computing [6, 38] is a generic term describing the application of small, portable, and wireless computing and communicating devices. This chapter provides descriptions of concepts in mobile computing systems, which are used in the following chapters. It discusses some of the important definitions in computing systems. Moreover, it presents an overview of the challenges and problems facing these systems. Special emphasis is put on the description of scheduling issue. Survey of most recent scheduling mechanism in the mobile computing infrastructure, is also introduced because of its dire importance.
2.2.
Computing Systems Survey A presentation of computing systems is necessary in order to put the work
described in this thesis into the right context. These systems are briefly described in the following subsections.
2.2.1.
Grid Computing Due to the dire need to get over the problem of centralization and the high
cost of supercomputers, the Grid Computing appeared in 1990. The Grid consists of a large number of PCs distributed geographically and communicated together through a special network. The Grid is the infrastructure of the distributed processing model in which the unused processing power of PCs is imposed by the other PCs, which have large processing needs.
10
Chapter 2
Computing Systems Survey and Scheduling Problem
2.2.1.1. Grid Systems Taxonomy [33]
There are many design objectives to establish a grid. So, the grid can be categorized to different type as shown in figure 2.1. The Computational Grids have one main objective, which is how to maximize the overall computational power available to its members. These grids have two approaches to perform this objective. The first approach depends on parallel execution of the incoming jobs on multiple machines to reduce the completion time of a job which is called Distributed supercomputing Grids. Meanwhile, the second approach tries to increase the completion rate of jobs which are called High Throughput Grid [17, 27, 43, and 58]. On the other hand, the second type is concern with the available data within such infrastructure, which is Data Grid .The main objective of this type, is to provide a way to maximize the available and accessible data to its members. Although the computational grid is interested in data access, the data management in computational grid is the applicant's responsibility. Otherwise, the data management in the data grid becomes the grid management system responsibility. Grid Systems
Service Grid
Multimedia
Collaborative
Data Grid On demand
Computational Grid High throughput
Figure 2.1: A Grid Systems taxonomy
11
Distributed Supercomputing
Chapter 2
Computing Systems Survey and Scheduling Problem
The last type of grid is Service Grid, the main objective of this type is to provide services which in their turn present services which are not provided by any single machine. This type of grids is further subdivided as on-demand, collaborative, and multimedia Grid systems. A collaborative Grid connects users and applicants into collaborative workgroups. These systems enable real time interaction between humans and applications via a virtual workspace. An ondemand Grid category dynamically aggregates different resources to provide new services. A data visualization workbench that allows a scientist to dynamically increase the fidelity of a simulation by allocating more machines to a simulation would be an example of an on-demand Grid system. Furthermore, a multimedia Grid provides an infrastructure for real-time multimedia applications. This requires supporting QoS across multiple different machines whereas a multimedia application on a single dedicated machine may be deployed without QoS.
2.2.1.2. Grid Organization [33]
One of the key features of any grid system is how it organizes its machines, because it affects the work methodology of the resource management system. The organization describes how the machines involved in resource management make scheduling decisions, form the communication structure between these machines, and assign the different roles the machines playing in the scheduling decision. Figure 2.2 shows the taxonomy of the machine organization.
12
Chapter 2
Computing Systems Survey and Scheduling Problem
Organization
Hierarchical
Cells
Flat Cells
Flat
Hierarchical Cells
Figure 2.2: Machines Organization taxonomy
In a flat organization all machines can directly communicate with each other without going through an intermediary. In a hierarchical organization machines in the same level can directly communicate with the machines directly above or below them, or peer to them in the hierarchy. In a cell structure, the machines within the cell interacts using flat organization. The internal structure of a cell is not visible from another cell, only the boundary machines are. Cells, in their turn, can be further organized in flat or hierarchical organization.
2.2.1.3. Grid Resource Management Systems Survey
When trying to taxonomy the current grid systems, no sharp edges among them will be found. So, in this subsection, we are going to present a survey about the most popular systems and projects. Table 2.1 shows a comparison between these systems [33].
13
Chapter 2
Computing Systems Survey and Scheduling Problem
Table 2.1 Comparison between Grid Resource Management Systems System
AppLeS
Condor
European DataGrid
Globus
Nimrod/G
Grid type Highthroughput
Computational Flat
Data Hierarchical
Various Hierarchical cell
Highthroughput hierarchical cell
Resources
Resource model provided by Globus, Legion, or Netsolve
Scheduling Hierarchical scheduler, predictive heuristics, online rescheduling, fixed application oriented policy
Extensible schema model, hybrid namespace, no QoS, network directory store, centralized Centralized scheduler queries discovery, periodic push dissemination Extensible schema model, hierarchical namespace, no QOS, network directory store, distributed queries discovery, periodic push dissemination Extensible schema model, hierarchical namespace, soft QoS, network directory store, distributed queries discovery, periodic push dissemination Extensible schema model, hierarchical namespace, relational network directory data store, soft QoS, distributed queries discovery, periodic dissemination
14
Hierarchical scheduler, extensible scheduling policy
Decentralized scheduler infrastructure, scheduling provided by external schedulers (AppLeS, Nimrod/G)
Hierarchical decentralized scheduler, predictive pricing models, fixed application oriented policy
Chapter 2
Computing Systems Survey and Scheduling Problem
• AppLeS: Application level Scheduler The goal of AppLeS project is to develop software, which assists and enhances the scheduling activities of the application developer on a distributed metacomputing system. Each application has its own AppLeS whose function is to select a resource, to determine an efficient performance schedule, and to implement that schedule with respect to the resource management infrastructure of the metacomputing system. AppLeS use the services of other RMSs such as Globus, Legion, and NetSolve to execute application tasks. Applications have embedded AppLeS agents that perform resource scheduling on the Grid [33]. • Condor: Cycle stealing technology for high throughput computing This project is labeled to be one of the most popular systems. The Condor is a High Throughput Computing System, which has scavenged otherwise wasted CPU cycles from desktop workstations for more than a decade. These inconsistently available resources have proven to be a significant source of computational power, enabling scientists to solve ever more complex problems. Condor efficiently harnesses existing resources, reducing or eliminating the need to purchase expensive supercomputer time or equivalent hardware [17]. The requests and offers of the resource are described in the Condor classified advertisement (ClassAd) language [33]. Class Ads use a semistructured data model for resource description. The Class Ad language includes a query language as part of the data model, allowing advertising agents to specify their compatibility by including constraints in the offers and requests of 15
Chapter 2
Computing Systems Survey and Scheduling Problem
their resources. Moreover, Condor can be considered as computational Grid with a flat organization. The resource discovery includes centralized queries with periodic push dissemination and therefore the scheduler is centralized. Later in this chapter, we will focus on the scheduling in Condor as a reference. • European DataGrid: Global physics data storage and analysis The European DataGrid Project [26] focuses on the development of middleware services in order to enable distributed analysis of physics data. The core middleware system is the Globus toolkit with hooks for data Grids. Data on the order of several petabytes will be distributed in a hierarchical fashion to multiple sites worldwide. Accordingly, global namespaces are required to handle the creation of and the access to distributed and replicated data items. Moreover, special workload distribution facilities will balance the analysis jobs from several hundred physicists to different places in the Grid in order to have maximum throughput for a large user community. Application monitoring as well as collecting of user access patterns will provide information for access and data distribution optimization. The DataGrid project has a multi-tier hierarchical RMS organization. For example, tier-0 is CERN, which stores almost all relevant data; several tier-1 regional centers (in Italy, France, U.K., U.S.A., Japan) will support smaller amounts of data, and so on. It has an extensible schema-based resource model with a hierarchical namespace organization. It does not offer any QoS and the resource information store is expected to be based on an LDAP network 16
Chapter 2
Computing Systems Survey and Scheduling Problem
directory. Resource dissemination is batched and periodically pushed to other parts of the Grid. Resource discovery in the Data Grid is decentralized and query based. The scheduler uses a hierarchical organization with an extensible scheduling policy [33]. • Globus: A toolkit for Grid computing The open source Globus Toolkit ® is a fundamental enabling technology for the "Grid," helping people to share computing power, databases, and other tools securely online across corporate, institutional, and geographic boundaries without sacrificing local autonomy. The toolkit includes software services and libraries for resource monitoring, discovery, and management, plus security and file management. In addition to being a central part of science and engineering projects that total nearly a half-billion dollars internationally, the Globus Toolkit is a substrate which leads IT companies build significant commercial Grid products [57]. The toolkit includes software for security, information infrastructure, resource management, data management, communication, fault detection, and portability. It is packaged as a set of components that can be used either independently or collectively to develop applications. Every organization has its unique modes of operation, and collaboration among multiple organizations which can be hindered by incompatibility of resources such as data archives, computers, and networks. The Globus Toolkit is conceived to remove obstacles that prevent seamless collaboration. Its core services, interfaces and protocols 17
Chapter 2
Computing Systems Survey and Scheduling Problem
allow users to access remote resources as if they were located within their own machine room that simultaneously preserving local control over the one who can use resources and when. The Globus Toolkit has grown through an open-source strategy similar to the Linux operating systems, and distinct from proprietary attempts at resourcesharing software. This encourages broader, more rapid adoption and leads to greater technical innovation, as the open-source community provides continual enhancements to the product. • Nimrod/G: Resource broker and economy grid Nimrod is a tool that manages the execution of parametric studies across distributed computers. It takes responsibility for the overall management of an experiment, as well as the low-level issues of distributing files to remote systems, above all performing the remote computation and gathering the results. EnFuzion is a commercial version of the research system Nimrod. When a user describes an experiment to Nimrod, they develop a declarative plan file which describes the parameters, their default values, and the commands necessary for performing the work. The system then uses this information to transport the necessary files and schedule the work on the first available machine [58]. Nimrod/G is a Grid aware version of Nimrod. It takes advantage of features supported in the Globus toolkit such as automatic discovery of allowed resources. Furthermore, we introduce the concept of computational economy as part of the Nimrod/G scheduler. For example, the architecture is extensible 18
Chapter 2
Computing Systems Survey and Scheduling Problem
enough to use any other grid-middleware services such as Legion, Condor and NetSolve [43]. Nimrod/G is being used as a scheduling component in a new framework called Grid Architecture for Computational Economy (GRACE) which is based on using economic theories for a Grid resource management system [33]. Nimrod/G is the base of our proposed framework as it will be detected later in this thesis.
2.2.2.
Internet Computing
The unexpected ongoing of the Internet and the huge number of PCs and resources attached to the Internet rises a question "Why we do not apply this huge Computing Power on a large scale?" Although that 200 million computers worldwide are connected to the Internet, researches assert that about 90 percent of the time these computers are on, they are idle—that is, not actively performing computing tasks. The sum of these unused computational powers is 1000 times more powerful than the most powerful supercomputer all over the world [22]. Accordingly, the concept of the Internet computing appeared to be a massively scaleable, distributed processing model in which the unused processing power of computers joined by the Internet is aggregated by an intermediary and then sold as a computational power to clients with large processing needs [22]. On the contrary of the computational grids, there is no need to establish especial network because the internet computing is based on the Internet network which already exists and grows rapidly. The advantages of
19
Chapter 2
Computing Systems Survey and Scheduling Problem
the Internet Computing against Grid computing include the low cost of establishing and developing, variety of resources, high geographical distribution and unlimited growth of the computational power.
2.2.3.
Mobile Computing
The Mobile Computing focuses on the requirement of providing access to information, communications and services everywhere, anytime and by all available means. The technical solutions for achieving this are not always easy to implement [5]. As a result this thesis focuses on the Mobile Computing as to be its main target. It is asserted nowadays that mobile computing and commerce spread rapidly replacing or supplementing wired computing. Therefore, the wireless infrastructure upon which mobile computing is built may reshape the entire IT field. It is fair to say that the mobile devices have a remarkable high profile in the most common communication devices nowadays. Individuals and organizations around the world are feverishly interested in wireless communication because of its flexibility and its unexpected and fast development. Thus, the first step to satisfy the need for mobile computing took place already; it was to make computers small enough so that they could be easily carried out. First, the laptop computer was invented; later, smaller and smaller computers, such as 3G, PDAs (personal digital assistants) and other handholds, appeared. Portable computers, from laptops to PDAs and other portables, are called mobile devices [38]. The next step will be a merging of these two
20
Chapter 2
Computing Systems Survey and Scheduling Problem
technologies leading to the Wireless Internet. The Wireless Internet will be much more than just internet access from mobile devices rather, the Wireless Internet will be almost invisible; people will use mobile services and applications directly. On the other hand, these services and applications will act as our agents, conducting searches and communicating with other services and applications to achieve our needs. Also, the integration of mobile technology and the Internet paradigm will enable development of new context-aware applications. Besides traditional features such as user preferences, device characteristics, properties of connectivity, state of service and usage history, the context includes features strictly related to user mobility such as user’s current geospatial location (time and/or space). On the other hand, direct use of existing Internet applications in a mobile environment has usually been unsatisfactory; services and applications need to take into account the specific characteristics of mobile environments.
2.2.3.1. Mobile Devices Development
The number of individuals and organizations relying on wireless devices is increasing continuously. Table 2.2 shows statistical study about the current and the future increase in the sales of wireless equipments and the very high growth in the sales of mobile phones.
21
Chapter 2
Computing Systems Survey and Scheduling Problem
Table 2.2: Worldwide wireless LAN equipment shipments (1000s of units) [56] Product Segment
2001
2002
2003
2004
2005
2006
Adapters
6890
12599
21333
30764
41417
50415
Access Points
1437
1965
3157
3919
4851
5837
Broadband Gateways
552
850
1906
3365
5550
7941
Other WLAN Equipment
47
59
82
105
132
158
Total
8926
15473
26478
38153
51950
64351
Table 2.2 represents the rapid growth in the sales ratio of wireless equipment, so it can be considered as a good metric of the excellent future of the mobile computing. From 2001 to 2005, investment on mobile devices was expected to increase by 41% and to reach $31 billion. By 2004, the laptops on the market rose to 39.7 millions. On the other hand, not only the number of mobile devices and wireless equipment increased, but also the computational power and the memory storage did. As a result of this situation, mobile computing and wireless Internet became a very rich area for research. This thesis will address it from the computational grid point of view.
2.2.3.2. Mobile Grid
There are two models to interact between mobile devices and the computational grid during the process of the integration of the mobile devices with the existed computational grids [38]. The first model is called "Mobile as a user of grid resources". In spite of the development in the computational
22
Chapter 2
Computing Systems Survey and Scheduling Problem
power of the mobile devices such as (smart phones, PDAs...), it is limited due to its size, battery life, bandwidth and storage of data. So, when this integration occurs, all of the huge computational power and stored data of the grid will be available to the mobile client. The mobile clients send their requests to the access point (AP) which can be considered as the grid gateway through which the scheduler is responsible of finding a suitable resource to perform the incoming request [38]. The second model is called "Mobile as a grid Resource". When one mobile device is considered to be a resource, it surely will be a very bad and low ranking resource when compared with a PC, however, because of the large number of the mobile devices they can be a worth computational power. Moreover, because of its large geographical distribution, it can be considered as a very excellent data collector which can be used in many applications such as (geographical information systems, weather news…). There are two approaches to integrate the mobile device into the existing grid: the first is that all information of every mobile device is recorded in the scheduler, so every device is considered to be one grid resource. The second focuses on the information of the mobile devices hidden from the scheduler (SC). In this model, all of the devices connected to an access point are considered to be part of one grid resource, and the access point responsible for schedule tasks on the mobile devices connected to it. The previous integration forms the Mobile Grid, Which can be considered a full inheritor of Grid but with the additional feature of supporting mobile users
23
Chapter 2
Computing Systems Survey and Scheduling Problem
and resources in a seamless, transparent, secure and efficient way as shown in Figure 2.3. It has the ability to deploy underlying ad-hoc networks and to provide a self-configuring grid system of mobile resources (hosts and users) connected by wireless links meanwhile forming arbitrary and unpredictable topologies [5].
Access point
Grid Sites
Figure 2.3: an overview of integration of mobile devices with computational grid
2.2.4.
Challenges and Problems in Computing Systems All the previous ordinary computing systems suffer from some common
challenges and problems. The problems of each type of these computing systems have their distinctive specific solutions. Every problem can be considered as a research area. Due to this, researches try to investigate new solutions to these 24
Chapter 2
Computing Systems Survey and Scheduling Problem
problems or to enhance the already existing solutions. Figure 2.4 introduces taxonomy of these problems and each of them can be the target of rich research areas. Here, we will provide a brief definition for every of these problems except the scheduling problem because we will focus on it as the subject of this thesis.
Scheduling Resource Discovery
Security
Computing systems Research Areas
State estimation
Job Monitoring
Data Managemen t
Protocols
Figure 2.4: Computing systems Research Areas taxonomy
1.
Resource Discovery and selection Resources are defined as geographically distributed logical entities,
coordinated by enforcing some negotiated sharing agreement. Moreover, resources may be classified as Static: relatively slow/non changing attributes, OS version and Dynamic; highly dynamic attributes, CPU utilization. The Resource Discovery problem is to find the suitable resources for the requested job with the available resources in the computing systems [39]. This operation 25
Chapter 2
Computing Systems Survey and Scheduling Problem
can be performed using two main approaches, by queries in the network database containing the full information about the available resources or by using agents which include active codes sent through the network to collect the required information.
2.
State estimation The terminology refers to the problem of knowing the current state of the
resource. This may be done in a predictive or in a non-predictive way. Predictive state estimation uses the last and the historical state of the resource to predict the current state of the resource which will be the base of the resource management work.
On the hand, non-predictive state estimation uses the
current information from the resource and the executed job characteristics to decide the state of the resource [33].
3.
Protocols Protocols are formal descriptions of message formats and a set of rules for
message exchange. The rules may define sequence of message exchanges. Protocols are generally layered [14]. Resource discovery, scheduling, security and all services and tasks in the system management need spatial protocols to perform their tasks. The protocols must not only open a general-purpose but also a standard. It is these standards that allow us to establish resource-sharing arrangements dynamically with any interested party and thus to create something which is more than a plethora of balkanized, incompatible, non-
26
Chapter 2
Computing Systems Survey and Scheduling Problem
interoperable distributed systems. Standards are also important as a means of enabling general-purpose services and tools. One of the most popular frameworks that provide protocols for different tasks in grid computing is Globus [57].
4.
Data management It is the problem of how the management system manages the huge data
available in the computing system [5, 14]. Any data management approach must provide ways to store and to secure fast retrieving of data. The term data here refers to the data which are available in the special data storage such as digital libraries or the data that are available in the resources of the computing system.
5.
Job Replication, Migration, Monitoring and Check pointing It is the problem of the actual assigning of tasks to the resources decided
by the scheduler, monitoring the execution of the tasks, controlling the process of collecting the different partitions of the job and sending the overall result to the job requester [5]. Checkpointing is the capability of capturing periodically a snapshot of the state of a running job [15], in such a way that the job can be restarted from that state in a later time in case of migration.
6.
Security It is one of the main issues involved in designing any distributed system. In
the computing systems there are many types of security. Without a standard for
27
Chapter 2
Computing Systems Survey and Scheduling Problem
the security of a grid service or for the secure distribution of work units, one runs the risk of distributing information to the “wrong” clients. Proprietary methods can provide a level of security; still they limit accessibility [14]. Security has a wide meaning including data security, resource security, communications security and system organization security. Data security aims at granting the maximum protection to the data in the digital libraries and the data in the resources from the harmful and irresponsible use. Furthermore, resource security targets allowing the use of the resource according to the rules assigned by its owner. Communications security thrives to protect the exchanging information from steal, blocked or harmful modifications. The organization security system guarantees that the internal organization stay invisible by isolating the system from the outside dangerous circumstances and surroundings.
2.3.
Scheduling Problem It is the problem of looking for an optimal assignment of jobs to
resources. The scheduling mechanism is one of the core components in any resource management system. There are three main phases of scheduling. Phase one is resource discovery, which generates a list of potential resources [54]. Phase two involves gathering information about those resources and choosing the best set to match the application requirements. In phase three the job is executed including file staging and cleanup.
28
Chapter 2
Computing Systems Survey and Scheduling Problem
The scheduling algorithm, used in phase two, may choose the best resource according to different metrics such as cost, QoS … etc [17, 28, 45, 49, and 54]. Now, the types and the organization of schedulers will be presented. The parameters, which the different scheduling mechanisms use in their work, will be presented. An overview of the already existing scheduling system will be explained and compared to each other. 2.3.1.
Types of schedulers Schedulers can be classified according to its different performance goal as
shown in Figure 2.5:
Schedulers Types
Application Scheduler
Resource Scheduler
Job Scheduler
Figure 2.5: Schedulers types' taxonomy.
Job Schedulers (high – throughput schedulers) aims to perform the larger number of jobs. Resource scheduler aims to increase the utilization of the system resources to ensure that all the requests are satisfied. Both job and resource schedulers will promote the performance of the system over the performance of individual applications. On the other hand, the application scheduler aims to increase the performance of the application (i.e. reduce the execution time, minimal cost…) [26].
29
Chapter 2
2.3.2.
Computing Systems Survey and Scheduling Problem
Scheduler organization The scheduling component can be organized in three different ways as
shown in Figure 2.6. In the centralized organization, however, there is only one scheduling controller. The advantages of this centralized organization include easy management, simple deployment, and the ability to co-allocate resources. On the other hand, the disadvantages of this organization such as the lack of scalability, lack of fault-tolerance, and the difficulty in accommodating multiple policies outweigh the advantages. Condor utilizes a centralized scheme based around the ClassAd matchmaker.
Scheduler Organization
Decentralized
Hierarchical
Centralized
Figure 2.6: Scheduler organization taxonomy.
The other two organizations, hierarchical [33] and decentralized have more suitable properties for a Grid scheduler organization. In a hierarchical organization, the scheduling controllers are organized in a hierarchy. One obvious way of organizing the controllers would be to let the higher level controllers manage larger sets of resources and lower level controllers manage smaller sets of resources. Compared with the centralized scheduling this mode of hierarchical scheduling addresses the scalability and fault-tolerance issues. It
30
Chapter 2
Computing Systems Survey and Scheduling Problem
also retains some of the advantages of the centralized scheme such as coallocation.
2.3.3.
Scheduling Parameters and Success metrics
Many parameters can be considered the base of the scheduling decision. There are different scheduling mechanisms using these different parameters. These parameters can be categorized into resource and user parameters. The resource parameters include: 1. Economic parameters a. Resource Cost (in terms of dollars that the user need to pay to the resource owner) b. Resource Cost Variation in terms of Time-scale (like high at daytime and low at night) c. Communication Cost 2. QoS parameters a. Resource computational power. b. Communication power Network Bandwidth, Load, and Latency (if jobs need to communicate) c. Resource Software Capabilities d. Resource Architecture e. Access Speed (such as disk access speed) f. Reliability of Resource and Connection (Stability and availability)
31
Chapter 2
Computing Systems Survey and Scheduling Problem
g. Resource Location (in case of mobile devices) h. Resource Security Metric i. Historical Information, including Job Consumption Rate j. Free or Available Nodes While, The user parameters include: 1. Economic parameters a. User Capacity/Willingness to Pay for Resource Usage 2. QoS parameters a. Application Deadline b. Allowed job expected time 3. Others a. Priority (that the user has) b. User Preference (Ranking of the user to the resources)
Success metrics of any scheduling mechanism includes the best usage of the available resources and the fast response to the users' requests. The load balancing between the resources is one of the most important targets of any scheduling mechanism. The increase of the overall system utilization and number of executed jobs are good metric of scheduling system success. On single job level, the small completion time is a target, however, there is no one optimum scheduling mechanism, but every type of computing systems has its situation. Next in this chapter a brief survey about some of the scheduling mechanisms will be introduced.
32
Chapter 2
Computing Systems Survey and Scheduling Problem
Scheduling Mechanisms
2.3.4.
Before starting to elaborate directly on the problem highlighted in this work, five of the most recent systems especially on the scheduling Mechanisms will be brought in focus [17, 28, 45, 49, and 54]. Although they have very different parameters and concepts, all of them have two main and common objectives. The first one is to increase the utilization of the system and the second one is to find a suitable resource (as the economic cost [3], QoS [13], deadline…). Table 2.3 shows a comparison between these systems. Undoubtedly, one of the common problems that face any system when dealing with a large number of resources is the "Load Balancing". Due to the fact that the ranking value of the resources is different, each of these systems endeavors to solve the problems which are stated underneath in table 2.3.
Table 2.3 Comparison between Referenced scheduling Mechanisms Project
DBC (2002)
Disconnected operation service (2004)
QoS Guided Scheduling (2003)
----
----
Job Proxy
----
Resource usage Accounts and Users Quotas
Improved by considering Time deadline addition to Cost
----
QoS Guided improve but not direct solution
Condor (2002)
Sphinx (2004)
----
Backfilling
Features Resource Mobility
Load Balancing
33
Chapter 2
Computing Systems Survey and Scheduling Problem
Condor (2002)
Sphinx (2004)
DBC (2002)
Disconnected operation service (2004)
QoS Guided Scheduling (2003)
Backfilling
Resource usage Accounts (Quotas)
Improved by considering Time deadline and Cost
----
----
By The User
Percent of resource usage account used
Cost
supported
----
----
supported
----
Resource Reservation
Future work
supported
Future work
----
----
QoS support
----
supported
Future work
----
supported
Scheduling Constrains
FIFO, user priorities
user priorities
Budget, deadline
----
QoS (one dimensional )
Project Features Long Beginning Time
Resource Ranking Parameters
Multi Scheduler
disconnection rate and the Availability of reconnection required QoS rate
• Condor: Combining opportunistic and dedicated scheduling [17] Most software used for controlling computing systems resources rely on dedicated scheduling algorithms. These algorithms assume the constant availability of resources to compute fixed schedules. Unfortunately, due to the hardware or software failures, dedicated resources are not always available over the long-term. Everything from routine system maintenance down-time and scheduled interactive use, to disk failures, network outages, and other unexpected problems, can cause significant problems for dedicated scheduling algorithms. No resource is always available. 34
Chapter 2
Computing Systems Survey and Scheduling Problem
Condor overcomes these difficulties by combining aspects of dedicated and opportunistic scheduling into a single system. Opportunistic scheduling involves placing jobs on non-dedicated resources under the assumption that the resources might not be available for the entire duration of the jobs. In dedicated scheduling systems, one of the most difficult problems is what to do with holes in the schedule. For a variety of reasons, there will inevitably be periods of time when certain resources cannot be used by the scheduler. This fragmentation leads to poor utilization of resources and lower overall job throughout the system. The traditional solution to this problem is called backfilling. Backfilling: is a technique that tries to fill these holes in the scheduling operation by executing the low priority functions in the low ranking resources that have not been used for a long time. This increases the system overall utilization and makes a kind of load balancing among the resources [17]. • Sphinx: Policy Based Scheduling for Simple QoS in Grid Computing This framework has several novel features as stated in [28]. First, the scheduling strategy can control the request assignment to grid resources by adjusting resource usage accounts or request priorities. Second, the scheduling method supports reservation based grid resource allocation. Third, Quality of Service (QoS) feature allows special privileges to various classes of requests, users, groups, etc. Finally, resource providers can assign usage quotas to intended resource users. This framework is incorporated as part of the SPHINX
35
Chapter 2
Computing Systems Survey and Scheduling Problem
scheduling system that is currently under development at the University of Florida. Resource usage Accounts (Quotas): each resource must be assigned to certain functions according to its usage account. So, that preventing the resource from not being used can be caused by of the presence of high QoS resources. This approach gives the scheduler force more functions to be assigned to a certain resource by maximizing its Quota. This approach enhances the load balancing of the system. • DBC : deadline and budget constrained scheduling algorithms The framework requires economy driven deadline and budget constrained (DBC) scheduling algorithms for allocating resources to apply jobs in such a way that the requirements of the users are met. Scheduling algorithm proposed is called DBC cost-time optimization [45], which extends the DBC costoptimization algorithm to optimize time, and keep the cost of computation at the minimum. The superiority of this new scheduling algorithm, in achieving lower job completion time, is demonstrated by simulating the World-Wide Grid and scheduling task farming applications for different deadline and budget scenarios using the new cost optimization scheduling algorithms. • Disconnected operation service in Mobile Grid Computing This mechanism has been developing due to the fact that the current grid architecture and algorithms do not take into account the mobile computing 36
Chapter 2
Computing Systems Survey and Scheduling Problem
environment and even mobile devices have not been seriously considered as valid computing resources or interfaces in grid communities. Accordingly, it introduces a new scheduling algorithm taking into account the spatial criteria of mobile devices in addition to presenting the idea of Job Proxy [49]. Job Proxy is created when the mobile user submits a job; moreover it is responsible for the interaction between the mobile device and the system as it can simulate the mobile action in case of mobile disconnection. It does this until the mobile is connected again. If the mission is accomplished and the mobile is still disconnected, it stores the result for certain time-out duration. • QoS Guided Scheduling The traditional parallel scheduling problem is to schedule the subtasks of an application to the parallel machines in order to reduce the turn around time. In a grid environment, the scheduling problem is to schedule a stream of applications from different users to a set of computing resources to maximize system utilization. The QoS guided scheduler is the kind of scheduler that has a kind of intelligence as not to consume the high QoS resource in performing the jobs that need low QoS. It does this to save its power to the other tasks that need this high QoS [54]. New algorithms and mechanisms have to be developed to overcome the overhead which is the result of collecting the data at the access point scheduler and storing the historical data of the mobile device performance, this will be investigated in the following chapters. 37
Chapter 2
2.4.
Computing Systems Survey and Scheduling Problem
Summary This chapter thrives informing the reader briefly of the development of
the computing systems in addition to highlighting the challenges and problems related to these systems. Above all, the main focus of the thesis is to point out the scheduling problem and to elaborate on its nature presenting at hand a scheduling mechanism to manage the integration of the mobile devices into the already existing Computing systems.
38
Chapter 3 An Improved Scheduling Mechanism for Mobile Grid
Chapter 3
An Improved Scheduling Mechanism for Mobile Grid
Chapter 3
An Improved Scheduling Mechanism for Mobile Grid 3.1 Introduction Many grid systems already exist as it was pointed out previously in chapter 2 [17, 28, 45, 49, and 54]. Thus, the new approach in network computing is the mobile computing in which the mobile devices, such as 3G, PDAs (personal digital assistants) and other handholds, integrate within the already existing computational grid. A lot of researches were developed to manage and maximize the benefits of this integration. Accordingly, this chapter introduces a new mobile computing scheduling mechanism in which the mobile clients are considered to be resources. Moreover, a "Self Ranking Algorithm" (SRA) is investigated to distribute the overhead, which is the result of collecting the data at the access point scheduler among these mobile resources. This algorithm has two key points; first, its executing location, which can create a new approach. This approach depends on authorizing the mobile devices to rank and to evaluate themselves as well as removing this task from the central point (the access point scheduler). Second, new parameters will be highlighted such as connection stability. Consequently, a calculated ranking value for each attached mobile device will be obtained by this algorithm and this value will be considered as a metric of the mobile performance. Such approach may increase the performance of the mobile computing environment by distributing part of 40
Chapter 3
An Improved Scheduling Mechanism for Mobile Grid
the functionality of the access point among the available attached mobile devices. Moreover, this value will be used to classify the mobile devices into groups to make the process of scheduling simpler and faster. A mobile computing scheduling mechanism based on the ranking value calculated by the SRA which is called "Ranking Value Guided Scheduling Mechanism" (RVGSM) will be also proposed.
3.2 Connection Stability and Scheduling The Internet computing uses the present infrastructure of the Internet, and builds its own grid using devices interconnected to the Internet. This is a very economical approach, because of the needless of building a special infrastructure.
R1
AP AP Existing Grid Existing Grid
Internet
A R2
Ri: Grid resource AP: access point
Figure 3.1: Organization of the System Infrastructure 41
Chapter 3
An Improved Scheduling Mechanism for Mobile Grid
Figure 3.1 illustrates how the infrastructure can be ordered and organized to create an infrastructure that helps integrating the mobile devices with the existing grid systems like (Condor, GriPhyN, Grid2003…) [17, 28, 45, 49, and 54].
Achieving distributed computing based on such infrastructure will help in: I.
Using the huge computational power due to the large number of internet users.
II.
Using the different services and resources available in the already existing grid projects.
III. Using the internet network to connect the mobile devices to the other parts of this infrastructure and making all these services and computational power available to the mobile device. IV. Increasing the computational power and the number of services of the system by integrating all that large number of mobile devices available around the world [56].
The most important problem that can face any grid system is to develop a scheduling mechanism to manage such integration. Previous scheduling mechanisms depend on Quality of Service (QoS) [54], cost [44, 45] or hybrid between some of other parameters [28, 7] to select the best scheduling decision. Due to this integration and the mobility of the devices new parameters must be taken into account. One of these parameters is the stability of the connection 42
Chapter 3
An Improved Scheduling Mechanism for Mobile Grid
established between the devices and the access point, in other words the rate of disconnecting and the rate of reconnecting. All the existing systems enable the scheduler to monitor and to evaluate the performance and the availability of their attached resources [20, 23, and 24]. This was acceptable with the PCs, but because of the huge number of the mobile devices expected to be attached to the scheduler, a very high overload on the scheduler can take place. Then, the scheduler slows down more and more as the number of the attached resources increases. Two important questions are raised: I. How to evaluate the attached resources from the connection stability point of view? The answer for such question is not easy, where we have to consider avoidance of overloading the access point with any further computing effort. II. How to employ such evaluation in the overall scheduling mechanism?
The answers to these questions are given in sections 3.4 and 3.5 where SRA and RVGSM have been proposed.
3.3
Proposed Framework A framework and system components relationship is proposed as shown
in figure 3.2. The framework is a modified version of Nimrod/G framework [41, 42]. It takes into account the following:
43
Chapter 3
An Improved Scheduling Mechanism for Mobile Grid
1. Using opportunistic schedulers which will first be presented in the Condor [17], because it is a very excellent idea to make a good load balance between high ranking resources and low ranking ones (e.g. Mobile devices). 2. Using the job proxy which is introduced in [49] under a new proposed name "mobile proxy". It will serve as the interface between the mobile client and the other components of the system. 3. Using multi Schedulers because of the distribution of the considered infrastructure. Queue From Static Clients to Mobile Clients
Mobile Proxy
SRA
Queue
SRA
Queue
Clients
Mobile Client
………
Static Client
Mobile Proxy
AP Scheduler
RVGSM
Grid Scheduler
Services
Task Farming Engine
Opportunistic Scheduler
Grid explorer
Dispatched
GIS Figure 3.2: Framework and components relationship 44
Queue
Dedicated Scheduler
Queue
Mobile Client
Chapter 3
3.3.1
An Improved Scheduling Mechanism for Mobile Grid
Proposed Framework Entities The following subsections will focus on the entities participating in the
given framework, their functions, and how they interact with each other. • The Scheduler It is responsible for resource discovery, resource trading, resource selection, and tasks assignment. There are two types of schedulers used in our proposed framework: I
Dedicated Scheduler: each resource is assigned to one dedicated scheduler who has all the rights to use the resource at any time except if the resource owner needs his resource. This monopoly may lead to the disfunction of some resources because they are in the resources list of certain Dedicated Scheduler in addition to other high ranked resources. So, these high ranked resources will be preferred by the scheduler. This problem may be resolved by the temporary claiming of the resource to other type of scheduler named "opportunistic scheduler" [17]. This problem causes holes in the scheduling operation.
II Opportunistic scheduler: when the dedicated scheduler claims some of its
unused resources, the Opportunistic scheduler tries to use this resource to execute some small tasks that may end before the dedicated scheduler needs these resources again. This operation is named "Backfilling” which maximize the utilization overall system.
45
Chapter 3
An Improved Scheduling Mechanism for Mobile Grid
• The Dispatcher It is responsible for the actual assigning of tasks to the resources decided by the scheduler. It monitors the execution of the tasks and controls the process of collecting the different partitions of the job. Finally, it sends the overall result to the job requester. • The Task Farming Engine (TFE) It is responsible for partitioning the requested job into small tasks. These tasks are assigned to the resources to perform them using the scheduler and the dispatcher. • Grid information System (GIS) It can be considered as the resources characteristics database used by scheduler to find a suitable resource to perform the requested tasks using the resource QoS, Cost, rank… • Mobile Proxy The first step to connect a mobile client to an access point is to create a mobile proxy object. It will be considered as a simulator of the mobile device. So, it stores the hardware specification of the mobile, its current location and it may also monitor the movement of the mobile from access point to another. This mobile proxy information is the base knowledge on which the scheduler depends on.
The SRA and RVGSM shown in the framework of figure 3.2 will be presented in the following sections. 46
Chapter 3
3.3.2
An Improved Scheduling Mechanism for Mobile Grid
Proposed Framework Entities Relationship A request processing scenario is shown in figure 3.3. If the mobile client
makes a request, this request will be stored in the mobile proxy. Then, it goes to a scheduler using the Scheduling mechanism trying to find a suitable resource to perform this request from its local connected resources. However, if the access point scheduler does not find a suitable resource, it forwards this request to a higher level scheduler which usually has static PCs. These PCs have more computational power. This scheduler uses the GIS to find a suitable resource. When the resource is located the dispatcher assigns the requested task to this resource. When the task is performed the outcome returns to the mobile proxy which is responsible for sending this result to the mobile clients in their current location. Search in its local resources Mobile Request
Mobile Proxy
Find a resource
Access point Scheduler
Perform the task and return the result
Yes
No Return false
Dispatcher
Figure 3.3: Request Processing Flow 47
Grid Scheduler
Find a resource Yes
Perform the task and return the result
No
Search in GIS for a resource
Chapter 3
3.4
An Improved Scheduling Mechanism for Mobile Grid
Self Ranking Algorithm (SRA) The idea of the SRA is to reduce the dependability on the access point
scheduler in ranking and evaluating the mobile resources by distributing this overhead among the attached mobile devices. This can be done by making every mobile able to rank and evaluate itself. Then, the access point can use this ranking value in the process of the scheduling. This is done to avoid overloading on the limited resources of the mobile devices (such as processor computational power, memory, etc …). The following issues are considered while building the proposed algorithm: I Make it as simple and fast as possible. II The storage data must be as brief as possible. III Make the resulted value a good metric about the connection stability and the historical performance of the mobile.
The triggering to start the execution this algorithm depends on the event based programming approach. The events that took into account are: I Disconnecting the mobile device and its scheduler because this event means the end of the last connected period. II Reconnecting the mobile device to its scheduler because this event means the end of the last disconnected period. III Finishing a task because this event changes the value of the mobile utilization.
48
Chapter 3
An Improved Scheduling Mechanism for Mobile Grid
The self ranking value (R) is generated from two parts: the first is the Connectivity metric (MCD) which can be considered as a metric of the performance and the connectivity of the mobile device as well. On the other hand, the second part is the utilization metric (U) which can be considered as a metric of the success of the mobile device in performing the assigned tasks. When the mobile client has a new ranking value, this value must be sent to the mobile proxy to be entered as a parameter in the scheduling process.
The considered parameters that may be used in the SRA are: I The average number of time units being connected continually (Caverage) II The average number of time units being disconnected continually (Daverage) III The previous utilization history metric (U).
The calculated values of Caverage and the Daverage will be used as a key to the proposed Rank Metric Map which is illustrated in figure 3.4 .This map is used to calculate the first part of the rank value (MCD). The overall ranking value may take a value between 1 and 10. This part represents 80% of this value; this percentage can be changed according to the system administrators.
Two roles are taken into account when the Rank Metric Map has been built: I. As the Caverage value increases, the rank must increase also. II. As Daverage value increases, the rank must decrease. 49
Chapter 3
An Improved Scheduling Mechanism for Mobile Grid
Disconnecting Units Average
Caverage MCD is 5
High
0
2
1
Daverage
Average
3
4
5
6
7
8
Low
Low
Average
High
Connecting Units Average
Figure 3.4: Rank Metric Map
The Caverage and Daverage work as coordinators of the Connectivity metric (MCD) on the Rank Metric Map. The point that must be highlighted is that the ranges used in this map which will be tuned according to the practical measurements of the system administrators. The second part of the ranking value is the metric of the utilization of the mobile devices (U). So, it is calculated by the ratio between the number of the successful tasks and the number of all tasks. Summation of the two parts will generate the overall ranking value (R) of the mobile device. The proposed algorithm calculating (R) is shown in figure 3.5.
50
Chapter 3
An Improved Scheduling Mechanism for Mobile Grid
Self Ranking Algorithm (SRA)
INPUT
Some of the collected data about mobile performance and information about some event occurs. OUTPUT
Calculate a Rank Value represents the performance of the mobile device. STEPS
0. Imports the prestored values : ts: the start of the last reconnection event. te: the end of the connection period . Tu: Time unit defined by the scheduler NC: number of reconnecting event occurring. ND: number of disconnected event occurring. Caverage: The average number of time units to being connected continually Daverage: the average number of time units being disconnected continually Ns: the number of the successfully performed tasks N: the total number of the tasks assigned to the device. 1. Wait for the incoming event and check it. 2. if the event is Disconnecting Event at time ( t ) then : 2.1. Replace the prestored value te with the new value t : te = t Figure 3.5: Self Ranking Algorithm 51
Chapter 3
An Improved Scheduling Mechanism for Mobile Grid
Self Ranking Algorithm (SRA) (continued)
2.2. Calculate the Connection Period Pc by using the stored value of ts and te: Pc = te –ts 2.3. Calculate number of time units Xc of the connection period Pc by using Tu provided by the Scheduler : X = P /T c c u
2.4. Calculate the new value of Caverage by using the prestored value of Caverage and the prestored Nc:
Caverage(new) = (Caverage
(old) *
Nc + Xc)/(Nc + 1)
2.5. Nc = Nc+1. 2.6. Calculate the connectivity metric MCD by using the new calculated Caverage and the prestored Daverage as coordinates of a point in the "rank metric map". 3. if the event is reconnecting Event at time ( t ) then : 3.1. Replace the prestored value ts with the new value t: ts = t 3.2. Calculate the disconnection Period PD by using the stored value of ts and te: PD = ts –te
Figure 3.5: Self Ranking Algorithm (continued)
52
Chapter 3
An Improved Scheduling Mechanism for Mobile Grid
Self Ranking Algorithm (SRA) (continued) 3.3. Calculate number of time units XD of the disconnection period PD by using Tu provided by the Scheduler : X D = PD / Tu
3.4. Calculate the new value of Daverage by using the prestored value of Daverage and the prestored ND:
Daverage(new) = ( Daverage
(old) *
ND + XD)/(ND + 1)
3.5. ND=ND+1. 3.6. Calculate the connectivity metric MCD by using the new calculated Daverage and the prestored Caverage as coordinates of a point in the "rank metric map". 4. If the event is Task finish notification Event at time ( t ) then : 4.1. If this is a success notification then: Ns= Ns +1. 4.2. N=N+1. 4.3. Calculate the Utilization metric U using the stored values of Ns and N : U= (Ns / N) * 2 5. Finally, Use the MCD and U values to calculate the Rank Value R as follows: R= MCD + U
Figure 3.5: Self Ranking Algorithm (continued)
53
Chapter 3
3.5
An Improved Scheduling Mechanism for Mobile Grid
Ranking Value Guided Scheduling Mechanism (RVGSM) There are different meanings of the term "Ranking Value" for various
types of scheduling mechanisms. It may mean economical cost, processing speed, network bandwidth or any metric which can lead to grouping some resources into one group with homogeneous criteria. The term "Ranking Value" is used here as a metric to the connectivity and disconnectivity behavior of the mobile resources. A new "Ranking Value Guided Scheduling Mechanism" (RVGSM) is proposed. This mechanism is derived from the Condor System [17] by focusing on the mobile computing issues. The condor is the first system that proposed the idea of opportunistic scheduling as a solution of the problems of the dedicated schedulers. Dedicated Scheduler
Dedicated Scheduler
Dedicated Scheduler
R1
Rn
Reclaim Resources
Unused Resources
Asking for dedicated resources
Sort Criteria
Search Technique
Opportunistic Scheduler Opportunistic Scheduler
Figure 3.6: Ranking Value Guided Scheduling Mechanism entities 54
Chapter 3
An Improved Scheduling Mechanism for Mobile Grid
Figure 3.6 shows an overview of the RVGSM Modules and functions and their relations. The proposed mechanism contains several Modules and functions each of them have several steps to perform its task. Two pre-processing steps of arrangement of incoming jobs and system resources are required as a prelusion of the proposed mechanism. The first step is the arrangement of the incoming jobs. A number of JobsList equal to the number of dedicated scheduler is resulted based on its ranking value and one GeneralJobsList (GJL). The JobsList and GJL are arranged according to FIFO and LIFO respectively as shown in figure 3.7. The second step is the arrangement of resources into a number of ResourcesList base on its ranking value. Incoming Jobs J6 (Rn)
J5 (Rn)
J4 (R2)
J3 (R1)
J2 (R2)
J1 (R2)
FIFO J3 (R1)
Dedicated scheduler (R1)
LIFO FIFO
J6 (Rn) J5 (Rn) J4 (R2)
J4 (R2)
Opportunistic s c h e d u le r
J3 (R1)
FIFO
J2 (R2)
J2 (R2)
J1 (R2)
J5 (Rn)
Dedicated scheduler (Rn)
GJL
Figure 3.7: Jobs arrangement in RVGSM 55
JobsList
Dedicated scheduler (R2) J6 (Rn)
J1 (R2)
JobsList
JobsList
Chapter 3
3.5.1
An Improved Scheduling Mechanism for Mobile Grid
RVGSM Philosophy The proposed RVGSM mechanism contains a number of dedicated
schedulers and one opportunistic scheduler. It is worth to say that one or more of these schedulers can be hosted on one computer. So, we can have a set of computers that represent a RVGSM Scheduler. The main function of the opportunistic scheduler is to impose the unused resources, which are claimed by the dedicated scheduler, and to execute some jobs that may end before the dedicated scheduler needs these resources again. The same jobs which are arranged into FIFO local JobsList of the dedicated schedulers are also arranged into GJL but with LIFO criteria as shown in figure 3.7. Does it mean that the same job will be scheduled to more than one resource? The answer is NO. There are fast communication channels between the schedulers to exchange information about the already scheduled jobs to avoid scheduling of the same jobs to more than one resource. Also, the difference of the jobs arranging criteria, from FIFO to LIFO between dedicated schedulers JobsList and ORL, reduces the possibility of the occurrence of this problem.
3.5.2
Dedicated Scheduler The first module in the RVGSM is the Dedicated Scheduler (DSech). The
dedicated scheduler will be employed to schedule a JobsList to be performed by a ResourcesList. At this point, we have to notice the rank values of the dedicated scheduler, the JobsList and ResourcesList are equivalent. So, the number of the 56
Chapter 3
An Improved Scheduling Mechanism for Mobile Grid
created instances of dedicated scheduler equals to the number of distinguished values of the ranking values. The dedicated scheduler owns all the rights to impose the resources in the ResourcesList at any time except if the resource original owner needs it. The proposed dedicated scheduler module is shown in figure 3.8. Dedicated Scheduler module INPUT
Set of dedicated resources and FIFO list of jobs asking for a resource. OUTPUT
Assign the jobs to be performed by the dedicated resources. STEPS
1. For each job in local JobsList 2. If no resource: try to reclaim its dedicated resources from ORL. 2.1. Assign jobs to the first resource in local ResourcesList and set the job status to Inprocess and the resource status to NotAvailable. 2.2. Remove job from the local JobsList and GJL (removeFromAllLists). 2.3. Remove resource form the local ResourcesList. 3. If no waiting job in local JobsList or no Available resource in ResourcesList : Suspend the current scheduling process and start it again if a. New job in the local JobsList. b. Available resource and there are waiting jobs in local JobsList. 4. When a resource ends the processing of a job: Set the job status to Finished and the resource status to Available. Figure 3.8: Dedicated Scheduler Module working algorithm 57
Chapter 3
3.5.3
An Improved Scheduling Mechanism for Mobile Grid
Opportunistic Scheduler Second module in the RVGSM is the Opportunistic Scheduler.
The
Opportunistic Scheduler tries to impose the unused resources in the dedicated schedulers ResourcesLists. It joins these unused resources with its own resource list which is called Opportunistic Resources List (ORL). Figure 3.9 shows the condition to decide the unused resources which lead to join them to the ORL.
Resource Finish Job Processing
Yes
No
DSech JobsList Count >0
Rejoin resource to DSech ResourcesList
Join resource to ORL
Figure 3.9: the condition to decide the unused resource
Then, Opportunistic Scheduler schedules the reset of unperformed jobs in the GJL to be performed by the suitable resources in the ORL. Figure 3.10 shows the working algorithm of the Opportunistic Scheduler.
58
Chapter 3
An Improved Scheduling Mechanism for Mobile Grid
Opportunistic Scheduler Module INPUT
Set of Unused (by dedicated scheduler) resources and LIFO list of jobs asking for a resource. OUTPUT
Assign the jobs to be performed by suitable resources. STEPS
1. Start the Opportunistic scheduling process if there is a job in GJL and an 5. Available resource in ORL. 2. Set a CurrentPosition, which represent the index of the job will be processed, variable to one. 3. While the count of unprocessed jobs in GJL and the count of resources in ORL greater than zero: 3.1. Get a job which has the position CurrentPosition in the GJL. Get a suitable resource from the ORL using a proposed search 3.2. technique will be shown later: If there is a suitable resource: 3.3. a. Assign the job to this resource and set the job status to Inprocess and the resource status to NotAvailable. b. Remove job from its local JobsList and GJL. c. Remove resource form the ORL. d. Ensure that the value of CurrentPosition is one. 3.4. Else if there is not a suitable resource: a. Increment the value of CurrentPosition to get the next job. b. Continue the while statement 4. If no waiting job in GJL or no Available resource in ORL: Suspend the current scheduling process and start it again if : b. New job in GJL and Available resource in ORL. c. New resource in ORL and there are waiting jobs in GJL.
Figure 3.10: Opportunistic Scheduler Module working algorithm 59
New Resource
Available Resource and waiting jobs
Available Resource ORL In and waiting jobs in GJL
New Job in empty GJL
CurrentPosition=1 No
JobsList Count >0 Yes ResourcesList Count >0
Yes
No
No
ORL Count >0
Reclaim Resources
Yes
Yes
Assign first job to first resource
No
GJL Count >0
ResourcesList Count >0
Remove job
Search for suitable Resource Suspend the Scheduling
Remove Resource
Increment CurrentPosition
No
Find suitable Resource
Yes
Job Process Finished
Assign CurrentPosition job to suitable resource
Job status = Finished Remove job Resource status = Available
chapter 3
Remove Resource Rejoin to ResourcesList
Yes
JobsList Count >0
No
Suspend the Scheduling Join to ORL
CurrentPosition=1
60
New Job in empty JobsList
Figure 3.11: Ranking Value Guided Scheduling Mechanism
An Improved Scheduling Mechanism for Mobile Grid
Start the scheduling
Chapter 3
An Improved Scheduling Mechanism for Mobile Grid
An overview about the RVGSM is shown in figure 3.11. In this figure we try to present the previous algorithms in a flow chart for more clarification.
3.5.4
Sort Criteria The resources in ORL have to be sorted with special sort criteria to speed
up the search for suitable resource process. The objective of the sort criteria is to use the smaller and not heavy loaded resources by the Opportunistic Scheduler to improve the load balance of the system; moreover the low rank value resource may mean low cost resource. The proposed sort criteria is given bellow: a. The resource of the smaller rank value will be on the top of the list. b. If there is equality in rank value the resource which has smaller number of finished jobs. c. If the equality continued the resource joined first to the system on the top.
3.5.5
Search Technique The search problem in the ORL, which contains a large number of
entities, may slow down the overall scheduling process. So, a special search technique is used to solve this problem. During the processes of joining and reclaiming the resources to and from the ORL, a parallel process to create an indexer will be done. This indexer represent a table consists of the rank value and the number of resources has the same rank value. This indexer will be used 61
Chapter 3
An Improved Scheduling Mechanism for Mobile Grid
for the direct access of the ORL instead of the sequential access used to find a suitable resource. As shown before, there is one requirement of any search technique in the ORL; to find a resource that has a rank equal or greater than the job rank. Figure 3.12 shows an example of ORL and its indexer. The proposed search technique is given as follows: a. Start from R1 in the indexer to the rank value less than the required by one then, get the summation of resources numbers. b. This summation will represent the index of the first resource has the required rank value or greater.
R1
R1
R1
R1
R2
R2
R4
R4
R4
R4
R4
R6
R6
R6
0
1
2
3
4
5
6
7
8
9
10
11
12
13
ORL Rank Count R1
4
R2
2
R3
0
R4
5
R5
0
R6
3
Indexer Figure 3.12: An Example of ORL and Its Indexer.
62
Chapter 3
An Improved Scheduling Mechanism for Mobile Grid
Examples: If we use the example shown in figure 3.12 to find a suitable resource for job of Rank 3, the summation = 4 + 2 = 6. As shown the index 6 is the index of first resource with rank 4 because these no resource of Rank 3. If we use the example shown in figure 3.12 to find a suitable resource for job of Rank 5, the summation = 4 + 2 + 0 + 5 = 11. As shown the index 11 is the index of first resource with rank 6 because these no resource of Rank 5.
3.6
Summary In this chapter, an improved scheduling mechanism for mobile grid is
proposed. Firstly, the working environment we considered in this research was presented. Secondly, the proposed "Self Ranking Algorithm (SRA)" was explained. After that, we introduced a scheduling mechanism called "Ranking Value Guided Scheduling Mechanism (RVGSM)" that utilizes the output of the SRA as a base of the scheduling process. During the following chapters these algorithms and mechanisms will be examined by simulation and a conclusion about the results will be presented.
63
Chapter 4 Validation and Experimental Results
Chapter 4
SRA and RVGSM Validation and Analysis
Chapter 4
SRA and RVGSM Validation and Analysis
4.1
Introduction As it is previously stated, Mobile Grid represents an important research
area. Connection stability may be considered as the most intricate challenge, especially when the mobile device is supposed to be a resource. So, a perfect managing of such environment based on powerful scheduling mechanism can be achieved. In chapter 3, a new scheduling mechanism RVGSM was proposed, and the innovation of this mechanism lies in investigating a new way of ranking the available resources based on SRA. As most of the previous efforts were done in this area, validation of the proposed mechanism is done via simulation. In this chapter, the efficiency and the performance of the proposed mechanism will be discussed and analyzed. The main objective of this chapter is to introduce two simulation models. In the first one, simulation of the mobile grid environment is established, by considering all of the parameters in such situation. SRA is embedded within such simulation and tested under various conditions. Next in the second simulation model, validation and analysis of RVGSM will be represented for different case studies. Moreover, design issues and key features of
65
Chapter 4
SRA and RVGSM Validation and Analysis
the framework for both of the simulation models, which called scheduling simulation framework (SSF), is also presented at hand.
4.2
Scheduling Simulation Framework (SSF) In order to evaluate any scheduling mechanism, there are some basic
entities which must be simulated such as: resource, user, job, scheduler, and sometimes special types of data structures. In the real grid environment, it is very difficult to perform the required load tests on the scheduling mechanism. This happens because it is not graduated to have the suitable number and specifications (incoming jobs distributions) of jobs and the suitable number and specification of resources needed. So, the simulation will be very helpful to study and compare the various types of scheduling mechanisms. The simulation must provide methods to implement any scheduling mechanism and it must be suitable for any scenario of jobs and resources available to study the algorithm under various conditions.
A general purpose framework based on .NET technology has been designed to enhance our study and analysis of the scheduling operation. This proposed framework provides the main entities needed to be implemented in any scheduling operation, some of these entireties are abstract and the designer must implement them (i.e. scheduler) while the other can be used directly as will be shown in subsection 4.2.2 .
66
Chapter 4
SRA and RVGSM Validation and Analysis
4.2.1. Key Features and Design Issues Firstly, we have to define what is meant by framework. By Framework we mean the "Generation of software platform that supports the various conditions, parameters and management control functions; which enable us to meet our proposal". In the investigated framework, the key features and design issues are reported in the following table 4.1. Table 4-1: SSF Key Features and Design Issues
Feature
Description
Jobs and resources ordering
The ability to order the jobs and resources into special type of sorted list data structure which provides very useful events to monitor the list.
Resources manager
Provide implementation for resources manager synchronizing between the different types of lists and queues of resources.
Jobs manager
Provide implementation for jobs manager to synchronize between the different types of lists of jobs.
Simulate jobs
Provide the ability to simulate different types of jobs with different job length and job demands.
Simulate Resources
Different Resource specification can be modeled
Simulate Scheduler
The framework provides implementation for two types of schedulers: dedicated and opportunistic. Also, the ability to simulate parallel scheduling operation.
Provide Statistics
Statistics of all the wanted metrics can be collected easily.
Event Based
The framework depends on event based programming model. So it provides a large number of events which the designer can use to provide especial implementation or to collect data. 67
Chapter 4
SRA and RVGSM Validation and Analysis
4.2.2. Framework Basic Entities and Modules The designed framework provides a set of classes that can help simulating the scheduling process. These classes can be summarized as follow:
MySortedList – class: it is an enhanced type of the sorted list data structure. It has very useful events such as newEntety event, EmptyList event and newEntetyAfterEmptyList event. All of these events are used to fire and control the scheduling operation. It allows sorting its contents by different metrics. So, the framework provides some of comparators classes such as: i. FifoJobComparator ii. OpportunisticJobComparator iii. OpportunisticResoureComparator.
Resource – class: Using this class, a resource with certain specification can be simulated. The key feature is the SRA can easily be implemented. This class has many properties and events. The main properties are ID, RankValue and number of finished jobs. The main events are ResourceAvailable and ResourceNotAvailable events, which will be used by scheduler to know the current status of the resource and its ability to process new job.
Job – class: Using this class, a job with certain specification can be simulated, such as: required resource rank value, predicted job length and current 68
Chapter 4
SRA and RVGSM Validation and Analysis
job status. All the job statuses defined in JobStatus enumeration include: waiting, in process, finished and suspended.
Scheduler – class: this class can be considered as a base to build a scheduler. It is the most important class in this framework. It uses the events of Job, resource and mySortedList classes to control its execution. All the Scheduler statuses defined in SchedulerStatus enumeration include: Running and stopped. The OpportunisticScheduler is a driven class from scheduler.
GeneralResourceListsManager – class: the system has usually one instance of this class. It is responsible for managing the resources lists and queues for the different schedulers in case of multiScheduling.
GeneralJobListsManager – class: the system has usually one instance of this class. It is responsible for managing the jobs lists and queues of the different schedulers in case of multiScheduling.
Figure 4.1 shows the class diagram of the Scheduling Simulation Framework.
69
Chapter 4
SRA and RVGSM Validation and Analysis
Figure 4.1: class diagram of SSF
70
Chapter 4
4.3
SRA and RVGSM Validation and Analysis
Self Ranking Algorithm (SRA) Validation The validation of SRA is done via simulation. In the proposed simulation
firstly the movement and the relation between the mobile device and the AP is implemented. Then the steps of determining the Rank value of each device are applied. The investigated simulation program consists of three modules. The first one is responsible for generating a random movement path for the mobile devices while the second is responsible for tracking the generated path. This will be done by the access point. Finally, the third is responsible for tuning of critical parameters values and collecting outputs parameters required for calculating Caverage and Daverage.
4.3.1.
Mobile Device Movement Mechanism
The simulation of the mobile device environment can be done by generating a specific area containing connection and disconnection fields .Various paths of the mobile device within this area are determined. The mobile device movement path is generated based on a mechanism that grantee a random path as follows:
1.
Generate random black and white areas as shown in Figure 4-2, white areas mean that there is an available connection between mobile device and scheduler access point, on the other hand black areas depict disconnection.
71
Chapter 4
SRA and RVGSM Validation and Analysis
Figure 4-2: step 1 of Random movement path generation
2.
Divide the whole area into small rectangular areas as shown in Figure 4-3. Note that reducing the size of the generated rectangles will lead to more accuracy.
Figure 4-3: Step 2 of Random Movement Path Generation
72
Chapter 4
3.
SRA and RVGSM Validation and Analysis
Generate a point within each rectangle at random position as shown in Figure 4-4.
Figure 4-4: Step 3 of Random Movement Path Generation
4.
Save the position of the generated points in an array.
5.
Select one point from the previous array in random fashion to be the start point of the movement path as shown in Figure 4-5.
Start point
Figure 4-5: Step 5 of Random Movement Path Generation
73
Chapter 4
6.
SRA and RVGSM Validation and Analysis
Select one of the possible eight directions randomly as in Figure 4-6 for the next hop. 2
3
4
1 8
5 7
6 Start point
Figure 4-6: step 6 - Choose a Random Direction from Eight Possibilities.
7.
Continue the movement towards the previous selected direction for a random number of hops.
8.
Repeat step 6 and 7 until having the required length of the movement path.
9.
Store all the selected points in step 6, 7 and 8 to represent a path for a mobile device movement.
10. Repeat steps 2 to 9 to generate another mobile movement path.
Figure 4-7 shows some examples of the generated random mobile movement paths based on the previous mechanism.
74
Chapter 4
SRA and RVGSM Validation and Analysis
Figure 4-7: Examples of the random mobile movement paths
Figure 4.7 depicts three different possible paths generated randomly according to our mechanism for three mobile devices. At this point we have to notice that each of them moves from a connection area to another one having a connection to the AP. Also, a great portion of the path is set within the connection area because in real life the mobile device has a connection most of the time with the AP. So, we adjust the seed of the randomized function to generate the connection and disconnection fields to be generated as it is already done.
4.3.2. Access Point and Monitoring the Mobile Device This module, as stated before, simulates the AP monitoring of the mobile device movement process [11]. In such process AP sends "Are you alive?" message, if there is an available connection, the mobile device responses by an "I'm alive" message. The time between sending and receiving messages is called the response time Tr, this time can be determined experimentally, the AP waits for
75
Chapter 4
SRA and RVGSM Validation and Analysis
another threshold time Tth before sending the next monitoring message . On the other hand, if there is no response for Tr, the access point will send a message again. According to the response of the previous simulation the AP reports the mobile device status. Figure 4-8 shows this process. At this point we have to notice that reducing Tth will lead to more accurate results, but on the other hand, the number of messages will be increased; that means high link usage which is considered a bad usage from the application point of view.
Mobile Device
Mobile Device
Access Point Tr
Tr
Access Point Tr Tth
Tth (a) "Are you alive" with response
(b) "Are you alive" with no response "I'm alive" Message
"Are you alive" Message
Figure 4-8: AP monitoring of the mobile device movement process
76
Chapter 4
SRA and RVGSM Validation and Analysis
4.3.3. Parameters Setting, Collecting and Calculating The different parameters required for comparing the self ranking against the traditional AP ranking from network utilization and accuracy point of view, are calculated in this module. Firstly, the speed of the mobile device movement and Tth and Tr are tuned. Some parameters from the first and second modules colleted and stored include: the length of the generated path, the number of connection and the disconnection during the movement on the path, the total number of "Are you alive?" messages, a number of messages that has response and number of messages with no response. So, Caverage and Daverage can be calculated as stated before in Figure 3.5 which depicts SRA algorithm.
4.3.4. Simulation Results Analysis and Discussion Based on the previous discussion, various case studies are implemented. They are based on changing the number of mobile devices used during the study (50, 75 and 100 mobiles) and changing the value of Tth (2, 4 and 6 seconds). Two fixed factors are used, the first is the length of the movement path, which is selected to be long relatively (10000 hops) and the second is Tr, which is selected to be relatively small (0.5 second). Each of these case studies is repeated for different movement speed from a low mobility (with average movement speed 1.76 m/s) to a high mobility (with average movement speed 30 m/s). Table 4.2 reports some of the cases, which are studied.
77
Chapter 4
SRA and RVGSM Validation and Analysis
Table 4-2: Various Case Studies of SRA Validation
Case Studies C1
Number of Mobile Devices 50
Tth (seconds) 2
C2
50
4
C3
50
6
C4
75
2
C5
75
4
C6
75
6
C7
100
2
C8
100
4
C9
100
6
Speed
Tr
1.76 -30 m/s
0.5 second
The average error in calculating the Caverage and Daverage has been calculated for each case study at each used speed, which their summation represents the total error in the experiment. Also, the number of network messages exchanged between AP and the mobile device, in both cases AP monitoring and self monitoring, has been counted. Appendix A shows a sample of detailed results, which are reached from the simulation.
78
Chapter 4
SRA and RVGSM Validation and Analysis
Total Error (%)
30.00 25.00
Tth = 6
20.00
Tth = 4
15.00 10.00
Tth = 2
5.00 0.00 0.00
10.00
20.00
30.00
40.00
Mobile Movement Speed (m/s)
number messages
Figure 4-9 (a): Total error at no of mobiles = 50
200000 180000 160000 140000 120000 100000 80000 60000 40000 20000 0
no. of messages Using Self Monitoring no. of messages Using AP Monitoring speed 30 m/s
2
4
6
Value of Tth (seconds) Figure 4-9 (b): Link utilization at no of mobiles = 50
79
Chapter 4
SRA and RVGSM Validation and Analysis
Total Error (%)
50.00
Tth = 6 Tth = 4
40.00 30.00 20.00
Tth = 2
10.00 0.00 0.00
10.00
20.00
30.00
40.00
Mobile Movement Speed (m/s) Figure 4-10 (a): Total error at no of mobiles = 75
number messages
600000 no. of messages Using Self Monitoring
500000
no. of messages Using AP Monitoring
400000 300000
speed 30 m/s
200000 100000 0
2
4
6
Value of Tth (seconds) Figure 4-10 (b): Link utilization at no of mobiles = 75
80
Chapter 4
SRA and RVGSM Validation and Analysis
Total Error (%)
35.00
Tth = 6
30.00
Tth = 4
25.00 20.00 15.00
Tth = 2
10.00 5.00 0.00 0.00
10.00
20.00
30.00
40.00
Mobile Movement Speed (m/s) Figure 4-11 (a): Total error at no of mobiles = 100
number messages
400000 350000
no. of messages Using Self Monitoring
300000
no. of messages Using AP Monitoring
250000
speed 30 m/s
200000 150000 100000 50000 0
2
4
6
Value of Tth (seconds) Figure 4-11 (b): Link utilization at no of mobiles = 100
81
Chapter 4
SRA and RVGSM Validation and Analysis
Figures 4-9, 4-10 and 4-11 show that, The percentage of the total error increases rapidly as the movement speed of mobile devise increases, this result was expected, because as the movement speed increases, the ability of AP to sense the change in the mobile connectivity will be more and more limited. Also the Figures show that, when the value of Tth increases, the percentage of the total error increases also and the number of the exchanged network messages decreased, also this result was expected, because Tth represents the time between two monitoring messages, as this time increases, the ability of AP to sense the change in the mobile connectivity is reduced. Also, the figures show a comparison between the number of exchanged messages between AP and mobile devices in the case of self monitoring and case of AP monitoring. It is noted that, in case of AP monitoring that number approximately doubled more than 8 – 70 times compared with the case of self monitoring. These results mean that SRA has a great impact on decreasing the usage of the link between the AP and the mobile devices in the processing of mobile monitoring. Moreover, it distributes the processing effort, which is supposed to be done at AP for evaluating the rank of the mobile devices, among the mobile resources. So, these results encourage us to propose RVGSM as a mobile grid scheduling mechanism based on SRA. In the following we will present the validation process of RVGSM.
82
Chapter 4
4.4
SRA and RVGSM Validation and Analysis
RVGSM Validation The validation of RGVSM is done also via simulation. A number of case
studies are performed, and the performance of the proposed RVGSM against two systems is depicted in the next subsections. First system uses one dedicated scheduler in which all the jobs are organized into one group and all the resources are organized also into one group and it uses the FIFO methodology to assign jobs to its suitable resource. The diffract steps that compose the scheduling algorithm used in this system are shown in figure 4-12.
One Dedicated Scheduler Algorithm INPUT
Set of resources and FIFO list of jobs asking for a resource. OUTPUT
Assign the jobs to be performed by suitable resources. STEPS
1. Arrange the available jobs into FIFO sorted list called JobsList. 2. Arrange the available resources into sorted list called ResourcesList using the following criteria: 2.1. The resource of the smaller rank value will be on the top of the list 2.2. If the equality continued the resource would join first to the system on the top.
Figure 4-12: One Dedicated Scheduler Algorithm 83
Chapter 4
SRA and RVGSM Validation and Analysis
One Dedicated Scheduler Algorithm (continued)
3. Start the scheduling process if there is a job in JobsList and an Available resource in ResourcesList. 4. While the count of unprocessed jobs in JobsList and the count of resources in ResourcesList are greater than zero: 4.1. Get a job First in the JobsList. 4.2. Get a suitable resource from the ResourcesList 4.3. If there is a suitable resource: a. Assign the job to this resource and set the job status to Inprocess and the resource status to NotAvailable. b. Remove job from its local JobsList. c. Remove resource form the ResourcesList. 4.4. Else, if there is not a suitable resource: a. Get the next job. b. Continue the while statement 5. If no waiting job in JobsList or no Available resource in ResourcesList: Suspend the current scheduling process and start it again if : a. New job in JobsList and Available resource are in ResourcesList. b. New resource in ResourcesList and there are waiting jobs in JobsList.
Figure 4-12: One Dedicated Scheduler Algorithm
84
Chapter 4
SRA and RVGSM Validation and Analysis
Second system uses multi dedicated schedulers in which each of them has its own JobsList and ResourcesList without any interaction between them. The principle of saying that this resource is suitable or not to perform a job varies from one to another. The principle in this study is that the Rank value of the resource must equal or be greater than the rank required by the job. The rank value was the principle taken into account when the resources and jobs need to be categorized. 4.4.1. Simulation Results Analysis and Discussion Four various distributions of incoming Jobs have been studied. Each of the three mechanisms, RVGSM, one dedicated scheduler and multi dedicated scheduler and used to schedule these distributions to be performed by a uniform distribution of resources. Table 4-3 and Figure 4-13 shows the incoming jobs distributions, which represent case studies to study the performance of RVGSM at different number and specifications of incoming jobs. As noticed, these various distributions can simulate almost all the distribution of incoming jobs, which can face any real scheduling system. Assuming eight possible rank values from R1 to R8, each distribution contains 3600 jobs, which have value from R1 to R8. In our validation process we have two propositions. Firstly, we propose the constant length of jobs and secondly, we propose random length of jobs. Appendix B shows a sample of detailed results which we obtained from the simulation.
85
Chapter 4
SRA and RVGSM Validation and Analysis
Table 4-3: Case Studies distributions of Incoming Jobs
Distribution Rank
D1
D2
D3
D4
R1
2200
200
200
200
R2
200
200
1200
200
R3
200
200
200
200
R4
200
1200
200
200
R5
200
1200
200
200
R6
200
200
200
200
R7
200
200
1200
200
R8
200
200
200
2200
Total No. of Jobs
3600
3600
3600
3600 2500 2500
1500 1500 1000 1000 D1 D1
D4 D4
D2 D2
R1 R1 R2 R2 R3 R3 R4 R4 R5 R5 Rank Rank Value Value R6 R6
D3 D3
Number of ofJobs Jobs Number
2000 2000
500 500 00
R7 R7
R8 R8
Figure 4-13: Case Studies distributions of Incoming Jobs
86
Chapter 4
SRA and RVGSM Validation and Analysis
Performance metric can be collected and computed to evaluate the performance of the various mechanisms including the following:
1. The form of the actual distribution of finished jobs against the form of the incoming job distribution. 2. Standard Deviation of the actual distribution of finished jobs by the resources. As that number decreases, a good load balancing is done by the scheduler. 3. Scheduling time refers to the time consumed by the scheduler to schedule all the incoming jobs to be performed by the available resources. The decrease of this time is considered a good metric of the scheduler performance.
To achieve the previous case studies, we design a program based on SSF to generate the required incoming jobs and resources distribution and then collect the required results to study the performance of our proposal. Figure 4-14 shows snapshots of this program.
87
Chapter 4
SRA and RVGSM Validation and Analysis
Figure 4-14: Snapshots of Validation Program of RVGSM 88
Chapter 4
SRA and RVGSM Validation and Analysis
The following highlights the results of RVGSM performance validation process of different incoming jobs distributions.
I.
Variable Job length In this section, we presume that all the tested distributions of the jobs length
are done randomly. Figures 4-15, 4-16, 4-17 and 4-18 show the actual distribution of finished jobs by the resources in the case of every job incoming distribution and every compared system.
RVGSM one Dedicated
2500
Multi-Didecated
Number of Jobs
2000
1500
1000
500
0 1
2
3
4
5
6
7
8
Rank Value
Figure 4-15: the actual distribution of finished jobs for D1 - Supposing Variable Job length
89
Chapter 4
SRA and RVGSM Validation and Analysis
RVGSM one Dedicated
1400
Multi-Didecated
Number of Jobs
1200 1000 800 600 400 200 0 1
2
3
4
5
6
7
8
Rank Value
Figure 4-16: the actual distribution of finished jobs for D2 - Supposing Variable Job length
RVGSM one Dedicated
1400
Multi-Didecated
Number of Jobs
1200 1000 800 600 400 200 0 1
2
3
4
5
6
7
8
Rank Value
Figure 4-17: the actual distribution of finished jobs for D3 - Supposing Variable Job length
90
Chapter 4
SRA and RVGSM Validation and Analysis
RVGSM one Dedicated
2500
Multi-Didecated
Number of Jobs
2000
1500
1000
500
0 1
2
3
4
5
6
7
8
Rank Value
Figure 4-18: the actual distribution of finished jobs for D4 - Supposing Variable Job length
The remarkable note is that the actual distribution of finished jobs in case of multi-dedicated system equals the incoming jobs distribution. This is expected because each scheduler schedules its local JobsList to its dedicated ResourcesList without using other resources available for other schedulers. As shown in Figure 4-16, for D1 the RVGSM has almost a uniform distribution that means a very excellent load balancing between resources in the system. The general remark is that the RVGMS actual distribution of finished jobs always has a peak less than the two other systems, which means an improvement in system load balancing. Table 4-4 shows the standard deviation of the actual distribution of finished jobs for different examined systems. Standard deviation has been calculated as follows:
91
Chapter 4
SRA and RVGSM Validation and Analysis
∑ (x - x)
2
(n − 1)
Where X the Average of the sample numbers and n is is the sample size.
The table shows the RVGSM has a remarkable small standard deviation for the distributions. It contains a large number of low rank jobs accordingly, as that number decreases, it means that there is a good load balancing done by the scheduler.
Table 4-4: the actual distribution of finished jobs standard deviation - Supposing Variable Job length
System Distribution D1
RVGSM
Multi-Dedicated
one Dedicated
1.414
707.107
147.998
D2
215.078
462.910
331.651
D3
342.880
462.910
377.796
D4
707.107
707.107
708.829
Table 4-5 shows the scheduling time of the different systems for different incoming jobs distributions. It is worth noting that while the distributions contain a small number of high rank jobs, the use of RVGSM decreases the scheduling of the other two systems. On the contrary, as the distributions contain high number of high rank jobs, the scheduling time of the RVGSM remained the same or
92
Chapter 4
SRA and RVGSM Validation and Analysis
increased if compared to the scheduling time of other two systems. This happened due to the overload resulted from of the opportunistic scheduler work, which made the scheduler performance fall down. In spite of this longer scheduling, time may be acceptable and neglected if compared with the improvement in the system load balancing. Table 4-5: scheduling time of the different systems (milliseconds) – Supposing Variable Job length
System Distribution D1 D2 D3 D4
II.
RVGSM
Multi-Dedicated
one Dedicated
164031.25 199750.00 177828.125 273765.63
200218.75 188171.88 184687.5 181078.13
181015.63 212093.75 179265.625 223312.50
Constant Job length In this section we propose the idea that all the tested jobs length are
constant.
Figures 4-19, 4-20, 4-21 and 4-22 show the actual distribution of
finished jobs by the resources concerning every job incoming distribution and every compared system.
93
Chapter 4
SRA and RVGSM Validation and Analysis
RVGSM one Dedicated
2500
Multi-Didecated
Number of Jobs
2000
1500
1000
500
0 1
2
3
4
5
6
7
8
Rank Value
Figure 4-19: the actual distribution of finished jobs for D1 – Supposing constant Job length RVGSM one Dedicated
1400
Multi-Didecated
Number of Jobs
1200 1000 800 600 400 200 0 1
2
3
4
5
6
7
8
Rank Value
Figure 4-20: the actual distribution of finished jobs for D2 - Supposing constant Job length
94
Chapter 4
SRA and RVGSM Validation and Analysis
RVGSM one Dedicated
1400
Multi-Didecated
Number of Jobs
1200 1000 800 600 400 200 0 1
2
3
4
5
6
7
8
Rank Value
Figure 4-21: the actual distribution of finished jobs for D3 - Supposing constant Job length
RVGSM one Dedicated
2500
Multi-Didecated
Number of Jobs
2000
1500
1000
500
0 1
2
3
4
5
6
7
8
Rank Value
Figure 4-22: the actual distribution of finished jobs for D4 - Supposing constant Job length
95
Chapter 4
SRA and RVGSM Validation and Analysis
As noted before, the actual distribution of finished jobs in case of multidedicated system is equal to the incoming jobs distribution. Also, the general remark is that the RVGMS actual distribution of finished jobs always has a peak less than the two other systems, which means an improvement in the system load balancing. Table 4-6 shows the standard deviation of the actual distribution of finished jobs for different examined systems. The table shows the RVGSM has relatively small standard deviation for the distributions that contains a large number of low rank jobs. Table 4-6: the actual distribution of finished jobs standard deviation - Supposing constant Job length
System Distribution D1 D2 D3 D4
RVGSM
Multi-Dedicated
357.354 225.389 302.343 707.107
707.107 462.910 462.910 707.107
one Dedicated 143.968 354.048 387.225 707.107
Table 4-7 shows the scheduling time of the different systems for different incoming job distributions. Table 4-7: scheduling time of the different systems (milliseconds) - Supposing constant Job length
System Distribution D1 D2 D3 D4
RVGSM
Multi-Dedicated
138171.88 188046.88 196187.50 223656.25
132343.75 173390.63 132578.13 111531.25
96
one Dedicated 241437.50 417968.75 416890.63 107859.38
Chapter 4
SRA and RVGSM Validation and Analysis
If we make a comparison between the results obtained in case of the variable jobs length versus the case of constant job length we will conclude that the improvement in load balancing will be remarkable in the first case compared with the second one. With reference to the constant jobs length, the holes in scheduling process will be small when compared with the other case. So, the opportunistic scheduler has a small impact on imposing these scheduling holes. On the contrary, the scheduling time will increase in case of RVGSM when compared with the other systems because of the overload resulted from the opportunistic scheduler working, which makes the scheduler performance fall down. Meanwhile, it has been positively noted that in the real world the variable length of jobs is the default. Accordingly, the first proposition of the variable jobs length is the one on which furnish our final conclusion.
4.5
Summary Along this chapter, the validating of the proposed RVGSM system was tested
via simulation to evaluate the contribution of our proposal in improving the performance of the scheduling in Mobile Grid environment. Furthermore, we tried to test and study our proposal in different cases and situations. All the results and discussions reached will help us to verify the final conclusion of this thesis.
97
Chapter 5 Conclusion and Future Directions
Chapter 5
Conclusion and Future Directions
Chapter 5 Conclusion and Future Directions
5.1
Conclusion Throughout this thesis, the candidate has investigated the Mobile computing
that is the new trend in the computing systems. He has reached that mobile computing recently received an increasing attention of researchers and industrial corporations. Because it provides (i) improved scalability by aggregating resources and reducing reliance of traditional devices (ii) cost effectiveness by utilizing already deployed resources and eliminating the need for more infrastructures. Moreover, the scheduling process is the most importance phase in any networking computing system. The traditional computing systems do not consider the special criteria of the mobile resources (definitely connection stability). The originality of this research is to investigate a dynamic scheduling mechanism, which considers the mobile devices as resources. In the proposed mechanism, a given task to the available ranked resource is done dynamically by using two types of schedulers (dedicated and Opportunistic). Improving the performance of these algorithms could be done through using powerfully source evaluation algorithm, so the overall performance of the mobile computing
99
Chapter 5
Conclusion and Future Directions
environment will increase. A new resource evaluation and ranking method called "self ranking algorithm (SRA)" was also proposed in order to improve the performance of such mechanism. SRA distributing some of the functions of the access point among the available attached mobile devices was employed. The proposed mechanism is experimentally valid for the various distribution forms of the incoming jobs. Experimental results depicted that, embedding of SRA within the proposed mechanism had a great impact on improving the system load balancing and increasing the system throughput by reducing the required scheduling time. Also, it was noticed that the SRA minimized the amount of the stored data at the scheduler and simplified the scheduling process by grouping the mobile devices according to their self ranking value and assigned tasks to these groups. It was also found that speeding up the movement to restrict the ability of AP and to sense the change in the mobile connectivity. On contrary, in case of SRA the movement speed had no effect on its accuracy of the ranking value calculation. Moreover, the comparison between the traditional approach of AP monitoring and the self ranking (self monitoring) showed a great impact of SRA in decreasing the usage of the link by the scheduler. It was also noted that, in case of AP monitoring, the number of exchanged messages between AP and mobile devices approximately was doubled more than 70 times compared to the case of self monitoring. That means more available link bandwidth for data exchange
100
Chapter 5
Conclusion and Future Directions
between AP and the mobile devices instead of imposing it by the AP monitoring process. One of the most important benefits of SRA is that it makes the system more flexible to integrate any new devices without any increase in the system complexity. That is because each resource responsible of the evaluation and ranking process of itself. These results encourage us to propose the RVGSM mechanism based on SRA. A special framework is needed to build a simulator of scheduler in mobile computing environment. This framework, which is called SSF, has been introduced. The scheduling mechanism based on SRA makes the scheduler concentrate on the scheduling operation. Using opportunistic scheduler beside the dedicated schedulers improves the load balancing between the resources within the computing system and fills the scheduling holes of dedicated schedulers. The proposed RVGSM has a remarkable effect in improving the system load balancing and decreases the required scheduling time especially when the distribution of the incoming jobs has required a large number of low and medium rank resources. Decreasing the required scheduling time means increasing the overall system throughput. A remarkable improvement in load balancing has been gained in case of variable jobs length more than the case of constant jobs length.
101
Chapter 5
5.2
Conclusion and Future Directions
Future Directions This thesis formulates the new approach of self ranking in mobile computing
systems. It demonstrates the benefits of this new approach. This work opens up venues for future work in scheduling of mobile computing systems.
1.
Dispersal the affrights of the confidence in self ranking value One of the most important issues is to provide guarantees that the self ranking
value is an authorized value and prevents this value from unbelief. This may take place through securing the operation of transfer this value from the mobile device to the AP.
2.
Considering more parameters within SRA More parameters may be important for some systems to be considered in the
SRA (i.e. resource computational power, signal clearance and resource location).
3.
Enhancing SSF to be more global SSF may need more enhancements to be able to simulate various scheduling
mechanisms. The originality of this framework was its support of mobile resources. Wireless networks component need to be supported to build a simulator considering the different parameters and activities of the Mobile Grid.
102
Bibliography
Bibliography
Bibliography
[1]
A. Waananen, M. Ellert, A. Konstantinov, B. Konya, O. Smirnova, "An overview of an Architecture Proposal for a High Energy Physics Grid", Applied Parallel Computing Advanced Scientific Computing, 6th International Conference, PARA 2002, Espoo, Finland, June 15-18, 2002.
[2]
Abhishek Agrawal, "Clustering Hosts in P2P and Global Computing Platforms", 3rd IEEE International Symposium on Cluster Computing and the Grid (CCGrid 2003), 1215 May 2003, Tokyo, Japan. IEEE Computer Society 2003, ISBN 0-7695-1919-9, pages (363 -373).
[3]
Alexander Barmouta, Rajkumar Buyya, "GridBank: A Grid Accounting Services Architecture (GASA) for Distributed Systems Sharing and Integration ", Workshop on Internet Computing and E-Commerce, Proceedings of the 17th Annual International Parallel and Distributed Processing Symposium (IPDPS 2003), IEEE Computer Society Press, USA, April 22-26, 2003, Nice, France.
[4]
Andraž Bežek, "An Agent Version of a Cluster Server", Cluster Computing and the Grid, 2003 Proceedings. CCGrid 2003. 3rd IEEE/ACM International Symposium, 2003.
[5]
Anthony Sulistio, Chee Shin Yeo, and Rajkumar Buyya, "Visual Modeler for Grid Modeling and Simulation (GridSim) Toolkit", International Conference on Computational Science (ICCS)2003: Saint Petersburg, Russia / Melbourne, Australia ,2003.
[6]
Antonios Litke, Dimitrios Skoutas and Theodora Varvarigou, "Mobile Grid Computing: Changes and Challenges of Resource Management in a Μobile Grid Environment", presented in Workshop: “Access to Knowledge through Grid in a Mobile World”, PAKM 2004 Conference, Vienna.
[7]
Atsuko Takefusa, "A Study of Deadline Scheduling for Client-Server Systems on the Computational Grid", 10th IEEE International Symposium on High Performance Distributed Computing (HPDC-10 2001), 7-9 August 2001, San Francisco, CA, USA IEEE Computer Society 2001, ISBN 0-7695-1296-8, pages(406-415).
[8]
Atsuko Takefusa, Osamu Tatebe, Satoshi Matsuoka, Youhei Morita, "Performance Analysis of Scheduling and Replication Algorithms on Grid Datafarm Architecture for High Energy Physics Applications", Proceedings of the 12th IEEE International Symposium on High Performance Distributed Computing (HPDC-12), pages (34-43), 2003.
104
Bibliography
[9]
B.J. Overeinder, N.J.E. Wijngaards, M. van Steen,, "Multi-Agent Support for InternetScale Grid Management", he AISB'02 Symposium on AI and Grid Computing, pages (18-22), London, UK, April 2002.
[10] Carmelo Ragusa, Antonio Liotta, George Pavlou, "Dynamic resource management for Mobile Services", 5th International Workshop on Mobile Agents for Telecommunication Applications (MATA'2003), Marakesh, Morocco, pages (156-169), Springer, October 2003. [11] Charles E. Perkins, "Mobile Networking Through Mobile IP", IEEE Internet Computing, January 1998. [12] Christoph Ruffner, Pedro José Marrón, Kurt Rotherm, "An Enhanced Application Model for Scheduling in Grid Environments", Technical Report 2003/01, Institut für Informatik, Universität Stuttgart, January 2003. [13] Dan Chalmers, Morris Sloman, "QoS And Context Awareness For Mobile Computing", 1st Intl. Symposium on Handheld and Ubiquitous Computing (HUC'99) Karlsruhe, Germany, pages (380-382) ,1999. [14] Daniel Minoli, "A Networking Approach to Grid Computing", BOOK, Wiley Series in Communications Networking & Distributed Systems, 2005, ISBN 0-471-68756-1. [15] Daniel Nurmi, Rich Wolski, John Brevik, "Model Based Checkpoint Scheduling for Volatile Resource Environments", University of California Santa Barbara, Department of Computer Science, Technical Report(2004-25), Santa Barbara, CA. [16] Dantong Yu, "Divisible Load Scheduling for Grid Computing", Conference on Parallel and Distributed Computing and Systems (PDCS 2003) ,2003. [17] Derek Wright, "Cheap cycles from the desktop to the dedicated cluster: combining opportunistic and dedicated scheduling with Condor", Conference on Linux Clusters: The HPC Revolution, June, 2001, Champaign - Urbana, IL. [18] E. Laure, F. Hemmer, A. Aimar, M. Barroso, P. Buncic,, "Middleware for the Next Generation Grid Infrastructure", Computing in High Energy Physics (CHEP) 2004, Interlaken, Switzerland September, 2004. [19] Eila Niemelä and Teemu Vaskivuo, "Agile Middleware of Pervasive Computing Environments", 2nd IEEE Conference on Pervasive Computing and Communications Workshops (PerCom 2004 Workshops), 14-17 March 2004, Orlando, FL, USA pages (192 -197).
105
Bibliography
[20] F. Berman, H. Casanova - University of California, "New Grid Scheduling and Rescheduling Methods in the GrADS Project", International Journal of Parallel Programming, Volume 33, Number 1, February 2005. [21] Fran Berman, Geoffrey Fox and Tony Hey, "Grid Computing: Making the Global Infrastructure a Reality", BOOK, Wiley Series in Communications Networking & Distributed Systems, 2005, ISBN 0-470-85319-0. [22] Frontie, "The Premier Internet Computing http://wwwparabon.com/clients/clientWhitePapers.jsp.
Platform",
WhitePaper,
[23] HN Lim Choi Keung, L Wang, DP Spooner, SA Jarvis, W Jie and GR Nudd, "Grid Resource Management Information Services For Scientific Computing", International Conference on Scientific and Engineering Computation 2002 (IC-SEC 2002) December 2002. [24] Holly Dail, Henri Casanova and Fran Berman, "A Decoupled Scheduling Approach for the GrADS Program Development Environment", IEEE/ACM SC2002 Conference, 2002. [25] Hongtu Chen and Muthucumaru Maheswaran, "Distributed Dynamic Scheduling of Composite Tasks on Grid Computing Systems", 11th IEEE Heterogeneous Computing Workshop (HCW 2002), Apr 2002. [26] Ian Foster, "The Grid Blueprint for a New Computing infrastructure", BOOK,Morgan Kaufmanm Publishers Inc., 1999, ISBN:1-556680-475-8. [27] James Frey, "Condor-G: A Computation Management Agent for Multi-Institutional Grids", 10th IEEE International Symposium on High Performance Distributed Computing (HPDC-10 2001), 7-9 August 2001, San Francisco, CA, USA IEEE Computer Society 2001, ISBN 0-7695-1296-8. [28] Jang-uk In, Paul Avery, "Policy Based Scheduling for Simple Quality of Service in Grid Computing", 18th International Parallel and Distributed Processing Symposium (IPDPS 2004),Santa Fe, New Mexico, USA IEEE Computer Society 2004. [29] Junwei Cao, "Agent-based Resource Management for Grid Computing", PhD Thesis, University of Warwick, 2001. [30] Junwei Cao, "Agile Computing on Business Grids, An Introduction to AgileGrid", Agile Computing Series White Paper, 2003. [31] Junwei Cao, "Agile Computing, Enabling Mass Customization of Computing Services", Agile Computing Series White Paper, 2003.
106
Bibliography
[32] Junwei Cao, "From Scientific Grids to Business Grids, the State-of-the-Art of Grid Computing", Agile Computing Series White Paper, 2003. [33] Klaus Krauter, Rajkumar Buyya and Muthucumaru Maheswaran, "A taxonomy and survey of grid resource management systems for distributed computing ", Software: Practice and Experience (SPE), ISSN: 0038-0644, Volume 32, Issue 2, Pages: 135-164, Wiley Press, USA, February 2002. [34] Lee W. MCKNIGHT and James HOWISON, "Towards a Sharing Protocol for Wireless Grids", the International Conference on Computer, Communication and Control Technologies, 2003. [35] Lee W. McKnight, "Wireless Grids Distributed Resource Sharing by Mobile, Nomadic, and Fixed Devices", IEEE Internet Computing 8(4), pages (24–31), July - August 2004. [36] M. Satyanarayanan, Brian Noble, Puneet Kumar, Morg, "Application-Aware Adaptation for Mobile Computing", the Sixteenth ACM Symposium on Operating Systems Principles ( SOSP ), pages 276 (Citation). [37] Ming Wu and Xian-He Sun, "A General Self-adaptive Task Scheduling System for Non-dedicated Heterogeneous Computing", 2003 IEEE International Conference on Cluster Computing (CLUSTER 2003), , Kowloon, Hong Kong, China IEEE Computer Society 2003, ISBN 0-7695-2066-9 pages (354 -361) ,December 2003. [38] Mustafa Sanver, Sathya Priya Durairaju, Ajay Gupta, "Should one incorporate Mobileware in Parallel and Distributed Computation?", 10th International Conference on High Performance Computing (HiPC 2003), Hyderabad, India. [39] Muthucumaru Maheswaran and Klaus Krauter, "A Parameter-based Approach to Resource Discovery in Grid Computing Systems", 1st IEEE/ACM International Workshop on Grid Computing (Grid 2000), Dec 2000. [40] Peter A. Dinda, "A Prediction-based Real-time Scheduling Advisor", 16th International Parallel and Distributed Processing Symposium (IPDPS 2002), 15-19 April 2002, Fort Lauderdale, FL, USA, CD-ROM/Abstracts Proceedings. IEEE Computer Society 2002, ISBN 0-7695-1573-8. [41] Rajkumar Buyya, "Economic-based Distributed Resource Management and Scheduling for Grid Computing", PHD Thesis, School of Computer Science and Software Engineering Monash University, Melbourne, Australia, April 2002. [42] Rajkumar Buyya, David Abramson, and Jonathan Gid, "Grid Resource Management, Scheduling and Computational Economy", 2nd International Workshop on Global and Cluster Computing (WGCC’2000), Tsukuba/Tokyo, Japan, March 15 - 17, 2000.
107
Bibliography
[43] Rajkumar Buyya, David Abramson, and Jonathan Giddy, "Nimrod/G: An Architecture for a Resource Management and Scheduling System in a Global Computational Grid", The 4th International Conference on High Performance Computing in Asia-Pacific Region (HPC Asia 2000), Beijing, China IEEE Computer Society Press, USA, 2000. [44] Rajkumar Buyya, David Abramson, Jonathan Giddy, an, "Economic Models for Resource Management and Scheduling in Grid Computing", Special Issue on Grid Computing Environments, Concurrency and Computation: Practice and Experience (CCPE) Journal, Volume 14, Issue 13-15, Pages: 1507-1542, Wiley Press, USA, November - December 2002. [45] Rajkumar Buyya, Manzur Murshed, and David Abramson, "A Deadline and Budget Constrained Cost-Time Optimization Algorithm for Scheduling Task Farming Applications on Global Grids", Proceedings of the 2002 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA'02), , Las Vegas, USA , June 24 – 27 ,2002. [46] Rajkumar Buyya and Manzur Murshed, "GridSim: a toolkit for the modeling and simulation of distributed resource management and scheduling for Grid computing", Concurrency and Computation: Practice and Experience (CCPE) Journal, Volume 14, Issue 13-15, Pages: 1175-1220, Wiley Press, USA, November - December 2002. [47] Rashmi Bajaj and Dharma P. Agrawal, "Improving Scheduling of Tasks in a Heterogeneous Environment", IEEE Transactions on Parallel and Distributed Systems, Volume 15(2), pages(107-118), 2004. [48] Rui Min and Muthucumaru Maheswaran, "Scheduling Advance Reservations with Priorities in Grid Computing Systems", Thirteenth IASTED International Conference on Parallel and Distributed Computing Systems (PDCS '01), Aug 2001, pages (172176). [49] Sang-Min Park, Young-Bae Ko, and Jai-Hoon Kim - Ajou University, South Korea, "Disconnected Operation Service in Mobile Grid Computing", International Conference on Service Oriented Computing ICSOC 2003: Trento, Italy , 2003. [50] Shashank Shetty, Pradeep Padala and Michael P Frank, "A Survey of Market-Based Approaches to Distributed Computing", Technical Report TR03-013, Aug, 2003. [51] Sugree Phatanapherom and Voratas Kachitvichyanukul, "Fast Simulation Model For Grid Scheduling Using Hypersim", Winter Simulation Conference 2003: 1494-1500. [52] Weizhe Zhang, Binxing Fang, Hui He, Hongli Zhang, Mingzeng Hu, "Multisite Resource Selection and Scheduling Algorithm on Computational Grid", 18th International Parallel and Distributed Processing Symposium (IPDPS 2004), CD-ROM /
108
Bibliography
Abstracts Proceedings, 26-30 April 2004, Santa Fe, New Mexico, USA. IEEE Computer Society 2004, ISBN 0-7695-2132-0. [53] Wolfgang Hoschek, Javier Jaen-Martinez, Asad Samar,Heinz Stockinger, and Kurt Stockinger, "Data Management in an International Data Grid Project", IEEE/ACM International Workshop on Grid Computing Grid'2000 - 17-20 December 2000 Bangalore, India. [54] Xiaoshan He, "A QoS Guided Scheduling Algorithm for Grid Computing", International Workshop on Grid and Cooperative Computing (GCC02), Hainan, Chian, Dec 2003. [55] "Computers: History and Development", http://wwwdigitalcentury.com/encyclo/update/comp_hd.html.
WWW-source:
[56] WWW-source: http://www.gartner.com, Gartner Dataquest, July 2002. [57] WWW-source: http://www.globus.org. [58] WWW-source: http://www.csse.monash.edu.au/~davida/nimrod/, Nimrod/G.
109
Appendix (A)
Appendix A
Case Studies Results of SRA Validation
Appendix A Case Studies Results of SRA Validation
During chapter 4, the results of SRA validation Case studies have been presented. As mention before there ware nine different Cases from C1 to C9 each of them repeated for different mobile movement speed from 2-30 m/s. At the following, a sample of details results of C1 at speed 30m/s will be presented. Next, a sample of details results of C2 at speed 2.31m/s will be presented. Where: Caverage: The average number of time units being connected continually measured by milliseconds. Here, two values of Caverage are calculated using two different approaches. First, is using AP monitoring approach. Second, is using self ranking approach introduced in chapter 3. The difference between these two values represents the error in Caverage calculation. Daverage: The average number of time units being disconnected continually measured by milliseconds. Here, two values of Daverage are calculated using two different approaches. First, is using AP monitoring approach. Second, is using self ranking approach introduced in chapter 3. The difference between these two values represents the error in Caverage calculation. Num of Msg: represent the number of exchanged monitoring messages between AP and the mobile device. As this number increased, that means imposition on the link between them.
111
Appendix A
Case Studies Results of SRA Validation
Case Study C1: (at Speed 30 m/s) Number of Mobiles = 50 device, Tth =2 seconds Mobile ID
Caverage by Self Ranking
Caverage by AP
Daverage by Self Ranking
Daverage by AP
Num of Msg
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
1065.37 1162.46 1282.96 1076.33 1178.65 911.36 1120.04 947.50 1124.25 847.40 1067.46 1108.39 1282.11 1002.89 1139.76 949.94 1066.89 1015.29 951.53 1009.68 1129.10 1153.32 1116.43 932.34 1362.75 1031.41 998.49 1003.86 1252.23 1018.54 1196.29 1207.03 948.68 1013.25 1045.87 839.96
1113.28 1228.64 1452.88 1167.63 1234.96 920.95 1170.92 977.36 1174.02 900.43 1091.15 1192.36 1309.90 1082.85 1175.25 999 1149.13 1072.62 1043.79 1078.66 1168.67 1207.39 1182.49 1000 1412.33 1146.95 1064.81 1046.15 1276.93 1101.47 1267.27 1267.05 991.16 1069.25 1089.06 882.58
301.19 288.49 322.27 281.61 290.59 324.45 317.46 329.07 299.54 317.81 328.87 332.03 336.04 288.46 302.14 330.54 290.95 377.92 338 308.38 355.22 319.82 358.99 327.97 379.86 258.45 293.99 345.88 328.54 353.65 299.64 313.88 323.17 286.40 280.40 342.06
302.27 296.07 350.34 291.02 289.36 315.26 319.36 325.23 303.80 322.09 317.89 345.42 330.95 298.90 295.99 336.19 299.33 384.16 357.62 315.41 354.10 323.40 368.91 341.26 379.12 276.81 301.72 350.92 325 368.12 307.71 313.53 319.36 289.87 281.60 347.42
3508 3568 3479 3500 3620 3629 3598 3701 3489 3598 3476 3351 3498 3489 3828 3632 3839 3692 3289 3548 3467 3471 3523 3652 3797 3741 3520 3482 3586 3610 3538 3593 3759 3507 3628 3485
112
Appendix A
Case Studies Results of SRA Validation
Mobile ID
Caverage by Self Ranking
Caverage by AP
Daverage by Self Ranking
Daverage by AP
Num of Msg
37 38 39 40 41 42 43 44 45 46 47 48 49 50
915.09 1203.13 1023.60 1032.26 1040.01 912.40 1128.86 1011.59 1263.36 1094.89 1074.85 1268.71 975.90 11273.44
971.08 1331.12 1106.18 1154.20 1071.98 997.67 1209.96 1080.92 1324.06 1157.45 1152.78 1297.71 1018.20 11304.69
301.66 305.78 274.43 312.33 311.47 300.20 295.94 273.88 322.29 304.40 294.49 356.46 305.85 65.63
307.35 322.92 280.54 334.64 310.22 316.13 304 281.06 327.04 313.92 301.17 349.24 305.98 31.25
3494 3570 3597 3660 3599 3322 3566 3371 3551 3371 3463 3623 3511 2154
Case Study C2: (with Speed 2.31 m/s) Number of Mobiles = 50 device, Tth =4 seconds Mobile ID
Caverage by Self Ranking
Caverage by AP
Daverage by Self Ranking
Daverage by AP
Num of Msg
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
9581.90 10452 11541.10 9682.11 10596.20 8193.84 10070.40 8516.41 10113.14 7612.44 9602.21 9973.69 11533.18 9019.87 10242.54 8542.41 9590.66
9603.27 10470.44 11566.78 9706.90 10617.09 8219.37 10091.36 8552.50 10133.09 7640.19 9622.06 10000.79 11562.71 9041.27 10266.67 8567.28 9618.49
2706 2589.75 2891.49 2523.26 2613.57 2907.02 2842.65 2957.54 2694.17 2848.76 2938.24 2976.37 3011.13 2588.60 2708.39 2952 2611.35
2684.63 2571.65 2865.67 2498.18 2592.42 2882.66 2821.69 2921.56 2674.35 2821.05 2918.34 2950.98 2982.23 2567.31 2684.69 2927.19 2583.39
15471 15803 15370 15445 16012 15925 15885 16282 15431 15773 15297 14771 15468 15411 16923 15985 16972
113
Appendix A
Case Studies Results of SRA Validation
Mobile ID
Caverage by Self Ranking
Caverage by AP
Daverage by Self Ranking
Daverage by AP
Num of Msg
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
9127.21 8562.32 9076.43 10156.64 10374.61 10039.25 8381.41 12247.89 9177.71 8980.51 9030.02 11259.13 9160.71 10763.09 10856.25 8527.27 9110.05 9399.53 7555.98 8227.27 10817.58 9197.64 9280.07 9350.79 8122.53 10150 9101.12 11362.87 9850.61 9672.06 11410.98 8775.60 101460.94
9143.51 8583.10 9102.41 10181.05 10407.42 10068.79 8402.66 12268.58 9195.23 8999.50 9055.30 11282.06 9192.65 10789.65 10877.93 8553.31 9139.78 9425.07 7576.76 8245.90 10845.12 9222.24 9297.71 9371.39 8146.88 10170.59 9127.46 11395.56 9875 9697.49 11436.47 8801.36 101515.63
3392 3031.25 2772.49 3184.93 2873.22 3211.81 2948.91 3417.23 2323.34 2641.64 3105.11 2954.98 3165.97 2686.12 2807.95 2902.07 2573.15 2519.19 3058.52 2712.53 2737.94 2447.81 2788.98 2798.76 2697.31 2658.67 2455.76 2895.21 2733.22 2639.15 3176.46 2733.54 562.50
3375.69 3010.78 2746.57 3160.21 2839.99 3182.48 2928.28 3396.96 2306.12 2622.62 3080.08 2932.57 3134.20 2659.81 2786.39 2876.24 2543.27 2493.38 3037.68 2693.88 2710.44 2424.04 2771.34 2779.02 2673.20 2638.39 2429.95 2862.71 2708.72 2613.42 3150.63 2708.44 500
16224 14449 15652 15285 15344 15535 16075 16785 16584 15563 15340 15906 15919 15701 15905 16566 15536 16085 15281 15438 15807 15915 16147 15922 14644 15824 14943 15791 14931 15342 16035 15529 9762
The summary of these results are shown blow. These values are used to draw all the curves and charts presented in chapter 4.
114
Appendix A
Case
C1
C2
C3
C4
C5
C6
C7
Case Studies Results of SRA Validation
Speed (m/s)
Average Error In Caverage
Average Error In Daverage
Total Error
Total Number of monitoring Msg
Number of Msg By Self Ranking
Tth
Number of devices
1.76
0.08
0.35
0.43
1951529
8634
2
50
2.31
0.16
0.58
0.73
1596275
8634
2
50
3.33
0.24
0.85
1.09
1063408
8633
2
50
6
0.25
0.95
1.20
708654
8633
2
50
30
5.79
3.46
9.24
176543
8632
2
50
1.76
0.23
0.76
0.99
953469
8633
4
50
2.31
0.25
1.06
1.31
779989
8634
4
50
3.33
0.59
1.51
2.10
519675
8633
4
50
6
1.53
1.70
3.24
346152
8632
4
50
30
14.11
5.14
19.25
86022
8634
4
50
1.76
0.28
1.06
1.35
759641
8633
6
50
2.31
0.63
2.40
3.03
622142
8633
6
50
3.33
0.90
1.49
2.38
414011
8632
6
50
6
2.80
1.47
4.27
275789
8632
6
50
30
18.85
7.61
26.47
68397
8634
6
50
1.76
0.09
0.52
0.61
2890705
12764
2
75
2.31
0.15
0.78
0.93
2364082
12764
2
75
3.33
0.22
1.17
1.38
1575676
12764
2
75
6
0.24
1.93
2.16
1048972
12764
2
75
30
13.42
4.59
18.01
532996
12764
2
75
1.76
0.22
1.40
1.62
1410590
12764
4
75
2.31
0.27
1.58
1.85
1218738
12764
4
75
3.33
0.44
2.10
2.54
769714
12764
4
75
6
2.94
1.99
4.93
512666
12764
4
75
30
29.39
8.89
38.27
127974
12764
4
75
1.76
0.28
1.78
2.06
1126150
12764
6
75
2.31
0.63
3.28
3.91
922162
12764
6
75
3.33
1.02
2.38
3.40
613084
12764
6
75
6
4.31
2.89
7.19
408569
12764
6
75
30
33.98
11.26
45.24
102018
12764
6
75
1.76
0.14
0.27
0.41
3883386
18038
2
100
2.31
0.22
0.74
0.96
3178842
18038
2
100
3.33
0.29
1.08
1.37
2117432
18038
2
100
6
0.19
0.63
0.82
1411088
18038
2
100
30
6.95
3.95
10.90
370644
18045
2
100
115
Appendix A
Case
C8
C9
Case Studies Results of SRA Validation
Speed (m/s)
Average Error In Caverage
Average Error In Daverage
Total Error
Total Number of monitoring Msg
Number of Msg By Self Ranking
Tth
Number of devices
1.76
0.26
0.73
0.99
1894557
18038
4
100
2.31
0.30
1.29
1.58
1550488
18038
4
100
3.33
0.53
1.46
1.99
1032852
18038
4
100
6
1.23
1.36
2.58
688215
18038
4
100
30
15.62
15.76
31.38
191485
18045
4
100
1.76
0.31
1.33
1.64
1509724
18038
6
100
2.31
0.66
2.84
3.50
1237158
18038
6
100
3.33
1.16
1.60
2.76
823040
18038
6
100
6
2.80
1.79
4.60
548005
18038
6
100
30
19.79
12.15
31.93
138668
18045
6
100
116
Appendix (B)
Appendix B
Case Studies Results of RVGSM Validation
Appendix B Case Studies Results of RVGSM Validation
During chapter 4, the results of RVGSM validation Case studies have been presented. As shown, we have four tested input jobs distribution. Each of them is used in two cases of constant and variable job length. That represents eight case studies. Here, the details results of case study of D2 in case of variable length jobs will be presented. The form of D2 is shown in figure B-1. In this case study we use 400 uniformly distributed resource. Table B-1 shows the number of jobs performed by each resource.
D2 1200
800 600
R1
400 R2
R3
Number of Jobs
1000
200
R4 R5 Rank Value
R6
0 R7 R8
D2
Figure B-1: input jobs distribution of D2
118
Input Job Distribution
Appendix B
Case Studies Results of RVGSM Validation
Table B-1:Tthe number of jobs performed by each resource of case study D2 with variable length jobs. Number of performed jobs in case of Mobile ID RVGSM 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
Multi Dedicated 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
Number of performed jobs in case of Mobile ID
One Dedicated 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
RVGSM 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
119
4 4 4 4 4 4 4 4 4 4 5 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
Multi Dedicated 4 4 4 4 4 4 4 4 3 4 5 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
One Dedicated 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Appendix B
Case Studies Results of RVGSM Validation
Number of performed jobs in case of Mobile ID RVGSM 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 3 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
Multi Dedicated 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 3 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
Number of performed jobs in case of Mobile ID
One Dedicated 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 2 2 2 3
RVGSM 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
120
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 3 15 14 14 14 14 14 14 15 14 14 14 14 14 14
Multi Dedicated 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 3 25 25 26 28 27 24 26 20 18 17 27 22 26 24
One Dedicated 2 2 3 2 2 2 2 2 2 3 2 2 2 2 2 3 2 2 2 3 2 2 2 2 2 2 3 3 7 7 7 7 8 7 7 7 8 8 7 7 7 7
Appendix B
Case Studies Results of RVGSM Validation
Number of performed jobs in case of Mobile ID RVGSM 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206
14 14 14 14 14 13 13 15 14 14 13 14 14 14 14 14 14 14 13 13 14 13 14 13 13 14 13 14 14 13 13 13 13 13 13 13 14 14 14 15 14 14
Multi Dedicated 22 25 25 23 28 24 18 26 26 24 29 26 28 17 18 26 17 21 26 24 24 27 24 27 21 27 20 23 24 25 24 23 26 25 26 26 24 25 25 25 26 25
Number of performed jobs in case of Mobile ID
One Dedicated 7 7 7 8 7 7 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 7 7 7 7 7 7 7 7 7 7 7 7 7 13 13 13 13 13 13
RVGSM 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248
121
14 14 14 14 14 10 14 14 14 14 14 14 14 14 14 13 10 14 14 14 14 14 13 13 14 10 14 14 14 14 13 14 13 14 14 13 14 9 13 13 13 13
Multi Dedicated 26 23 24 24 26 25 24 23 26 23 24 23 23 23 25 25 27 24 23 24 24 24 24 23 25 23 24 23 24 24 23 24 24 21 24 22 22 23 24 22 24 25
One Dedicated 13 13 13 13 13 13 14 13 13 13 14 13 13 14 13 14 13 13 13 13 13 14 13 13 14 13 13 14 13 13 13 14 13 13 13 13 12 13 13 13 13 13
Appendix B
Case Studies Results of RVGSM Validation
Number of performed jobs in case of Mobile ID RVGSM 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290
14 14 7 15 14 14 14 14 15 9 13 14 14 14 14 14 14 14 14 14 14 9 14 10 13 4 12 4 13 14 5 13 4 6 4 6 5 13 4 5 13 13
Multi Dedicated 24 25 5 5 5 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4
Number of performed jobs in case of Mobile ID
One Dedicated 13 13 14 14 14 14 14 14 14 15 14 14 15 14 14 14 14 14 14 14 14 14 14 14 14 15 14 14 14 14 14 15 15 14 13 14 14 15 14 14 14 14
RVGSM 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332
122
14 6 14 10 14 7 13 13 13 13 7 14 8 14 14 14 14 14 14 14 11 14 14 9 6 15 6 14 15 14 4 5 14 14 7 14 14 13 14 13 13 14
Multi Dedicated 4 4 3 4 4 3 3 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
One Dedicated 14 13 14 14 14 13 14 14 13 14 15 15 15 15 15 15 14 15 14 15 14 14 15 14 15 15 14 14 14 14 15 15 15 15 14 15 14 15 14 14 15 16
Appendix B
Case Studies Results of RVGSM Validation
Number of performed jobs in case of Mobile ID RVGSM 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366
14 13 13 14 5 8 13 7 13 13 13 6 13 4 5 14 8 13 14 14 9 14 5 8 14 5 8 14 4 14 5 5 14 14
Multi Dedicated 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 3 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4
Number of performed jobs in case of Mobile ID
One Dedicated 14 14 14 15 14 15 15 15 14 15 14 13 15 15 15 14 15 15 18 19 18 18 18 17 18 19 18 18 19 18 18 18 18 19
RVGSM 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400
14 13 5 14 14 14 12 13 4 13 13 14 14 7 13 9 5 4 6 13 13 13 4 4 14 5 13 13 5 13 13 8 4 13
Multi Dedicated 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4
One Dedicated 19 18 18 18 18 18 18 18 18 18 18 17 17 17 17 17 17 18 17 17 18 17 17 17 18 17 17 17 17 16 17 17 17 17
Next, Table B-2 shows the summary of the results shown in table B1. This summary is the base of all charts of D2 in case of variable length
123
Appendix B
Case Studies Results of RVGSM Validation
jobs shown in chapter 4. Table B-3 presents some of collected parameters used to study the efficient of the proposed mechanism.
Table B-2: the summary of the results shown in table B-1.
Number of Scheduled Jobs
Rank
Input jobs Distribution
System RVGSM
Multi-Dedicated
one Dedicated
R1
200
200
200
50
R2
200
200
200
100
R3
200
200
200
123
R4
1200
687
1200
356
R5
1200
674
1200
657
R6
200
556
200
702
R7
200
573
200
729
R8
200
510
200
883
462.91
215.08
462.91
331.65
Stander Deviation
Table B-3: Collected parameters of case study D2 with variable length jobs System Collected parameters RVGSM
Multi-Dedicated
One Dedicated
Scheduling Time (milliseconds)
199750
188171.875
212093.75
Number of Jobs where Resource Rank > Job Rank
1208
0
2473
Number of Jobs where Resource Rank > Job Rank
2391
3600
1127
124