• No results found

 

The  main  objective  is  this  report  was  to  improve  the  load-­‐balancing  algorithm  [1]  as   it  used  to  suffer  from  performance  issues  because  servers  used  to  get  overloaded  as   it  had  to  maintain  the  objects  in  memory  in  order  to  determine  which  the  best   available  server  for  the  client.  In  this  report,  concepts  of  server-­‐  weights  [4]  was   added  to  algorithm  [1]  so  that  it  can  perform  better  in  terms  of  scalability,  tps,   response  time  etc.  By  adding  this  concept  of  static  server-­‐weights  [4],  the  objective   of  the  project  i.e.  find  the  most  effective  load-­‐balancing  algorithm,  based  on  

performance,  measured  in  terms  of  higher  TPS  and  low  response  time,  for  the   industry  as  well  as  more  scalable  was  evaluated.      

 

After  analyzing  the  performance  results,  its  seen  that  Dynamic  Load  Balancer  with   Least  Connections  and  Fastest  Response  Time  with  Weight  table  (proposed  

Algorithm)  [1,  4]  perform  better  than  the  Dynamic  Load  Balancer  with  Least   Connections  and  Fastest  Response  Time  (original  algorithm)  [1].  The  better  the   performance,  more  is  the  transaction  being  processed  in  the  same  time.    Load  

Balancing  means  routing  the  requests  sent  by  the  client,  and  getting  response  in  fast   manner.  The  proposed  algorithm  not  only  processes  more  transactions,  it  also   reduces  or  does  not  change  the  average  time  (round  trip  time).    Not  only  the   proposed  algorithm  has  a  better  tps,  it  has  better  scalability  too  as  seen  from  the   performance  results.  Performance  results  also  confirmed  that  99%tile  of  all  the   responses  received,  the  new  algorithm  performs  better.  

 

6.1

.

Current Status

 

The  main  objective  of  this  report  was  to  determine  which  load  balancing  algorithm   should  be  used  which  can  provide  better  scalability,  higher  tps,  and  better  response   time.  I  tried  to  improve  the  load  balancing  technique  [1]  by  adding  the  concept  of   weighted  servers  [4].  Both  Load  Balancing  Techniques  were  implemented  as  web   service,  and  comparison  of  their  performance  was  done.    The  web  service  will  act  as   global  traffic  manager  (GTM),  which  will  be  called  by  the  client,  and  algorithm  will   act  as  local  traffic  manager  (LTM)  routing  the  requests  to  the  appropriate  cloud   servers  to  get  the  result  back  to  client  in  minimum  time.  Algorithms  were  evaluated   based  on  the  performance  tests  executed  on  them.  Performance  tests  like  simple   strategy,  thread  strategy,  variance  strategy,  and  hp  load  runner  tests  were  executed   against  load  balancing  web  service  for  tps,  avg  response  time,  maximum  time,  and   99%tile  response  time.  All  the  tools  that  were  used  for  performing  performance   tests  were  open  source,  and  free.  HP  Load  runner  tool  was  based  on  free  trial.    Based   on  the  analysis  of  performance  results,  it  was  seen  that  proposed  algorithm  

(Dynamic  Load  Balancer  with  Least  Connections  and  Fastest  Response  Time  with   Weight  table)  has  performed  better  than  the  original  algorithm  (Dynamic  Load   Balancer  with  Least  Connections  and  Fastest  Response  Time)  for  criteria  of  99%tile   response  time,  tps,  max  time  etc.    It  has  better  tps,  higher  scalability,  and  response   time  improves  too.    

 

6.2 Future Work

 The  future  work  for  this  master’s  project  can  be  extended  to  various  areas.  Some  of   the  few  areas  are:  

 

• The  proposed  load  balancing  technique  uses  the  concept  of  static  weights.  It   can  be  extended  to  dynamic  weights  where  weights  are  assigned  to  the   server  dynamically  based  on  the  server  performance.  The  server,  which  is   performing,  better  is  assigned  higher  weight  as  compared  to  less  performing   server.  This  can  be  achieved  by  adding  monitoring  agents  on  the  each  server,   which  monitors  the  performance.    

• Concept  of  threads  can  be  used  too.  Threads  will  be  used  in  load  balancing   algorithms  where  requests  sent  by  client  are  added  in  a  service  pool  queue,   and  thread  fetches  requests  from  it,  performs  the  requested  operation.  It   follows  the  lifecycle  of  thread.  It  should  be  made  sure  that  all  the  threads  are   mutually  exclusive  of  each  other  so  that  the  balancing  algorithm  does  not  go   in  deadlock  state.  

• JMS  can  be  used  to.  Instead  of  using  web  service  for  the  load-­‐balancing   algorithm,  they  can  be  deployed  as  standalone  applications  on  the  

servers/instances,  which  have  the  concept  of  JMS,  coded  in  it.  JMS  is  termed   as  “Java  Messaging  Service”.  The  framework  will  use  JMS  as  mechanism  for   the  clients  to  send  the  messages.  Load  balancing  techniques  can  be  

compared  against  web  service  v/s  JMS.  

   

6.3 Lessons Learned

 

Many  things  were  learnt  during  implementation  of  the  master’s  project.  Algorithms   were  developed  using  JAX-­‐WS,  and  use  SOAP  tool  for  load  testing  was  beneficial.  

Web  service  was  created  from  top  to  bottom  approach.  I  learnt  how  to  write  script   in  order  to  use  HP  Load  runner  tool  to  call  the  web  service.    

     

     

BIBLIOGRAPHY  

 

[1]    Azzedine  Boukerche,  Robson  Eduardo  De  Grande,  “Dynamic  Load  Balancing   Using  Grid  Services  for  HLA-­‐Based  Simulations  on  Large-­‐Scale  Distributed  Systems,”  

Proceedings  of  the  2009  13th  IEEE/ACM  International  Symposium  on  Distributed   Simulation  and  Real  Time  Applications,  2009.  

 

 [2]  Patrick  Wendell,  Joe  Wenjie  Jiang,  Micheal  J.  Freedman,  and  Jennifer  Rexford.  

DONAR  :  Decentralized  Server  Selection  for  Cloud  Services.  In  Proceedings  of  the   ACM  SIGCOMM  2010  conference  on  SIGCOMM’10.  ACM,  New  Yrk,  NY,  USA,  231-­‐242      

[3]  Gowtham  Kanagaraj,  Naveen  Shanmugasundaram  And  Sathish  Prakash  

“Adaptive  Load  Balancing  Algorithm  Using  Service  Queue”  2nd  International   Conference  on  Computer  Science  and  Information  Technology  (ICCSIT'2012)   Singapore  April  28-­‐29,  2012      

 

[4]    Xiao  Qin,  Hong  Jiang,  Yifeng  Zhu,  David  R.  Swanson,  “Boosting  Performance  for   I/OIntensive  Workload  by  Preemptive  Job  Migrations  in  a  Cluster  System,”  

Proceedings  of  the  15th  Symposium  on  Computer  Architecture  and  High   Performance  Computing,  2003.  

 

[5]  Aameek  Singh,  Madhukar  Korupolu,  Dushmanta  Mohapatra,  “ServerStorage   Virtualization:  Integration  and  Load  Balancing  in  Web  server,”  Proceedings  of  the   2008  ACM/IEEE  conference  on  Supercomputing,  2008.  

 

[6]  Hyotaek  Lim    “Dynamic  Load  Balancing  and  Network  Monitoring  in  iATA   Protocol  for  Mobile  Appliances”,    Multimedia  and  Ubiquitous  Engineering  (MUE),   2010  4th  International  Conference  on  11-­‐13  Aug.  2010  

 

[7]  Cardellini,  V.    “Dynamic  load  balancing  on  Web-­‐server  systems”  ,  Internet   Computing,  IEEE  

 

[8]    M.Pathan,  C.  Vecchiola  and  R.Buyya,  “Load  and  proximity  aware  request-­‐

redirection  for  dynamic  load  distribution  in  peering  CDNs”,  in  OTM,  Nov  2008.    

 

[9]  Klaithem  Al  Nuaimi,  Nader  Mohamed,  Mariam  Al  Nuaimi  and  Jameela  Al-­‐Jaroodi  

“A  Survey  of  Load  Balancing  in  Cloud  Computing:  Challenges  and  Algorithm”  

2012  Second  Symposium  on  Network  Cloud  Computing  and  Applications    

[10]  A.  Iosup,  S.  Ostermann,  M.  Yigitbasi,  R.  Prodan,  T.  Fahringer,  and  D.  Epema.  

“Performance  analysis  of  cloud  computing  services  for  many-­‐tasks  scientific   computing.  In  Parallel  and  Distributed  Systems”,  IEEE  Transactions  on,  2011.  

http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5719609.  

 

[11]  Allan,  D.  Farkas,  J.;  Mansfield,  S.  “Intelligent  load  balancing  for  shortest  path  

bridging”  ,  2012      

[12]  M.  Armbrust,  A.  Fox,  R.  Griffith,  A.  D.  Joseph,  R.  Katz,  A.  Konwinski,  G.  Lee,  D.  

A.Patterson,  A.  Rabkin,  I.  Stoica,  and  M.  Zaharia.  Above  the  clouds:  A  berkeley  viewof   cloud  computing.  In  EECS  Department,  University  of  California,  Berkeley,  2009.  http:  

//www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-­‐2009-­‐28.html.  

 [13]  T.  Harris.  Cloud  computing  services  a  comparison.  In  .,  2010.  http://www.thbs.  

com/pdfs/Comparison%20of%20Cloud%20computing%20services.pdf.  

 

[14]-­‐  http://www.eweek.com/c/a/Cloud-­‐Computing/Amazon-­‐Web-­‐Services-­‐

Delivers-­‐High-­‐Performance-­‐Computing-­‐Solution-­‐757277/  

 

[15]  How  to  create  Amazon  EC2  Instance  :  http://twiki.org/cgi-­‐

bin/view/Blog/BlogEntry201105x2    

[16]Building  Web  services  with  JAX-­‐WS  

http://docs.oracle.com/javaee/5/tutorial/doc/bnayl.html    

[17]  SOAP  UI  Tool:  www.w3.org/TR/soap/  

 

[18]  Execute  Load  Test:  http://www.soapui.org/Load-­‐Testing/loadtest-­‐

execution.html    

[19]  M.Pathan,  C.  Vecchiola  and  R.Buyya,  “Load  and  proximity  aware  request-­‐

redirection  for  dynamic  load  distribution  in  peering  CDNs”,  in  OTM,  Nov  2008.  

 

[20]  Amazon  Web  Service  Deliver  High  Performance:  

http://www.eweek.com/c/a/Cloud-­‐Computing/Amazon-­‐Web-­‐Services-­‐Delivers-­‐

High-­‐Performance-­‐Computing-­‐Solution-­‐757277/  

 

[21]  HP  Load  Runner  Tool:  http://www8.hp.com/us/en/software-­‐

solutions/software.html?compURI=1175451&action=downloadsoftware&jumpid=p s_r11374_us/en/large/eb/loadrnr_GoogleSEMdg&tcmid=tcm:245-­‐

865742&originid=8-­‐

2LDREMR&sectionid=alm_ito&k_clickid=AMS|125|59697|4cb21060-­‐4918-­‐b928-­‐

f3d6-­‐000033d159d7#!    

 

[22]  Intro  to  Load  Balancing  for  Developers:    

https://devcentral.f5.com/articles/intro-­‐to-­‐load-­‐balancing-­‐for-­‐developers-­‐ndash-­‐

the-­‐algorithms#.Un0JshB29No    

[23]  New  To  SOA  and  Web  Services:  

http://www.ibm.com/developerworks/webservices/newto/service.html      

[24]  Amazon  Web  Services:  http://aws.amazon.com/    

Related documents