27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

state GA [11] [12] that aims the generation of a number Q<br />

of rules per class, following the Cooperative-Competitive<br />

Genetic Learning approach [8]. The generations (children)<br />

are finite and limited to the extent of the problem. The<br />

algorithm aims to keep the same amount Q of rules for<br />

each class. The fuzzy rules if-then that classify a particular<br />

problem with n attributes are represented in the following<br />

form:<br />

R j : If x 1 is A j1 ...and x n is A jn , then class C j (1)<br />

forj=1,2,3,...N<br />

where X =[x 1 ,x 2 ,...x n ] is the vector of input patterns,<br />

A ji (i = 1, 2,...,n) are the linguistic terms used and<br />

represent the antecedents of the rule R j . C j is the<br />

consequent class R j and N is the fixed number of fuzzy<br />

rules necessary to classify the input patterns. This fuzzy<br />

classification rule R j can also be expressed as A j ⇒ C j ,<br />

where A j are all the antecedents linguistic terms of the rule<br />

and C j is the class that this rule classifies.<br />

3. Load Balancer<br />

Load balancing [5] is a technique used to evenly<br />

distribute the workload between two or more resources,<br />

such as network, CPU, hard drives, etc.. Its objective is to<br />

optimize the use of these resources, maximize performance,<br />

minimize response time and avoid overloading. As<br />

illustrated in Figure 1, the balancer is able to split requests<br />

among all nodes.<br />

Two versions of load balancing problem have been<br />

investigated in the literature: static and dynamic [4]. The<br />

static version divides the workload equally among nodes,<br />

regardless of their individually load. The dynamic version<br />

changes the workload of a node as it increases. Therefore,<br />

this last type of balancer performs real time measurements<br />

of node workload in order to keep the whole system<br />

workload balanced.<br />

Generally, load balancers use a “Round-Robin” task<br />

scheduler [14] [15]. In “Round-Robin” task schedulers, the<br />

tasks are stored in a circular queue. The scheduler runs this<br />

queue and allocates the resource for each of these tasks.<br />

Thus, each task has a probability of being executed equal<br />

to 1 n<br />

, where n is the total number of tasks to be allocated.<br />

Therefore, there may be an overload on the nodes due<br />

to several factors. One of these factors, which often<br />

occurs, is when a particular request causes an excessive<br />

consumption of resources, for example, when a very large<br />

file is transmitted. The node that receives this file will<br />

suffer a significant increase in its load which, inevitably<br />

will cause an imbalance. Another factor that may also<br />

Figure 1: Scheme for use and connection of computers used<br />

in our tests.<br />

occur, is when nodes are not identical, i.e., when there<br />

are different hardware receiving files. In this case, if the<br />

same amount of requests is sent to each of nodes, those<br />

who have small amounts of resources such as processing<br />

capacity and memory will work in their operating limits,<br />

causing a significant slowdown or even may fail.<br />

4. Evolutionary Learning and Fuzzy Logic<br />

employed in a Load Balancer<br />

Evolutionary Learning (EA) [2] is a machine learning<br />

technique, which uses elements of Evolutionary<br />

Computation, to extract knowledge from a database.<br />

Generally, this knowledge is represented by if-then type<br />

rules. These rules are easily understood by humans<br />

and easily processed by machines. Several branches of<br />

Evolutionary Computation such as Genetic Algorithms,<br />

Evolution Strategy, Evolutionary Programming, Particle<br />

Swarm, among others have been used in order to extract<br />

this knowledge in the form of rules.<br />

A Fuzzy Rule Based System [8] [9] (FRBS) is composed<br />

of a <strong>Knowledge</strong> Base (KB), which contains information<br />

in the form of if-then fuzzy rules, the input layer, which<br />

contains the fuzzification interface, the fuzzy inference<br />

system, which together with the knowledge base performs<br />

inference from the input and output layer, which contains<br />

the defuzzification interface.<br />

The fuzzy rules contained in the <strong>Knowledge</strong> Base have<br />

the following structure: “if a set of conditions are met<br />

(antecedent of the rule ) then a set of consequences can be<br />

inferred (consequence of the rule).”<br />

257

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!