{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/115706"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/115706","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Learning based hierarchical load balancer","abstract":"Submission published under a 24 month embargo labeled 'Closed Access', the embargo will last until 2024-05-01","abstract_html":"Submission published under a 24 month embargo labeled &#x27;Closed Access&#x27;, the embargo will last until 2024-05-01","abstract_has_math":false,"creators":["Ghosh, Pathikrit"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"M.S.","degree_level":"Thesis","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Kale, Laxmikant"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2022,"date_issued":"2022-05","date_published":"2022-05","updated_at":"2026-07-22T22:24:55Z","subjects":["High Performance Computing","Load Balancer","Machine Learning"],"languages":["en","eng"],"rights":["Copyright 2022 Pathikrit Ghosh"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"https://hdl.handle.net/2142/115706","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Kale, Laxmikant"]},{"key":"dc:creator","label":"Author","values":["Ghosh, Pathikrit"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2022-05","2022-04-25"]},{"key":"dc:type","label":"Dc Type","values":["text","Thesis"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Thesis"]},{"key":"thesis:degree_name","label":"Degree Name","values":["M.S."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["High Performance Computing","Load Balancer","Machine Learning"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en","eng"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 2022 Pathikrit Ghosh"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["https://hdl.handle.net/2142/115706"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Submission published under a 24 month embargo labeled 'Closed Access', the embargo will last until 2024-05-01","The student, Pathikrit Ghosh, accepted the attached license on 2022-04-15 at 18:47.","The student, Pathikrit Ghosh, submitted this Thesis for approval on 2022-04-15 at 18:54.","This Thesis was approved for publication on 2022-04-25 at 15:16.","DSpace SAF Submission Ingestion Package generated from Vireo submission #17718 on 2022-11-11 at 12:47:04","Computer architects are finding newer ways to develop faster systems despite the restrictions with respect to the speed of each individual processing units. Often this involves complex parallel and heterogeneous design of these machines. To fully exploit these machines it is becoming necessary for parallel applications running on these machines to improve their software design and also develop better tools to use along with them. One of the major challenges in this design is the problem of load balancing. Load imbalance can lead to wastage of hardware resources and thereby slow the overall running time of the application. The nature of load balancing that we use and the properties of load balancer often is determined by the application and hardware we run the application on. We can use computation-aware, communication-aware or topology-aware load balancers. Amongst them there are a host of available static or dynamic load balancing options that an application can choose from. Often though this needs extensive domain knowledge and multiple runs of the application to tune the load balancing frequency and the list of load balancers that we will use for our final model. This requires both human time and resource utilization just to find the best possible configurations for one particular application. Inspite of doing all these, we still might not always find the best possible configurations. This makes the challenge of choosing a load balancer complex even with the diverse options available to us. Even with finely tuned load balancing configurations, we may have situations where we do not need a global load balancing step. A global load balancing step can have an overhead that affects application performance if this is done when not needed. We can instead solve the problems by having multiple within node load balancing steps, which has a smaller overhead. This creates another challenge with respect to scaling load balancers to large clusters. In the following dissertation we will focus on solving these issues with load balancers while also proposing models that run better than load balancers proposed after multiple iterations of fine-tuning. Here, we propose a load balancing algorithm that uses runtime system collected statistics to represent the state of an application and then uses learning models to predict a good choice of load balancer to use based on the collected statistics. We also propose the load balancer within a hierarchical framework that allows us to scale the load balancer better across multiple nodes. The hierarchical framework also allows us to avoid the overhead of global load balancing, when within node load balancing can solve the problems with an application."]},{"key":"dc:format","label":"Dc Format","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["Learning based hierarchical load balancer"]}]}],"canonical_facts":{"dc:contributor":["Kale, Laxmikant"],"dc:creator":["Ghosh, Pathikrit"],"dc:date":["2022-05","2022-04-25"],"dc:description":["Submission published under a 24 month embargo labeled 'Closed Access', the embargo will last until 2024-05-01","The student, Pathikrit Ghosh, accepted the attached license on 2022-04-15 at 18:47.","The student, Pathikrit Ghosh, submitted this Thesis for approval on 2022-04-15 at 18:54.","This Thesis was approved for publication on 2022-04-25 at 15:16.","DSpace SAF Submission Ingestion Package generated from Vireo submission #17718 on 2022-11-11 at 12:47:04","Computer architects are finding newer ways to develop faster systems despite the restrictions with respect to the speed of each individual processing units. Often this involves complex parallel and heterogeneous design of these machines. To fully exploit these machines it is becoming necessary for parallel applications running on these machines to improve their software design and also develop better tools to use along with them. One of the major challenges in this design is the problem of load balancing. Load imbalance can lead to wastage of hardware resources and thereby slow the overall running time of the application. The nature of load balancing that we use and the properties of load balancer often is determined by the application and hardware we run the application on. We can use computation-aware, communication-aware or topology-aware load balancers. Amongst them there are a host of available static or dynamic load balancing options that an application can choose from. Often though this needs extensive domain knowledge and multiple runs of the application to tune the load balancing frequency and the list of load balancers that we will use for our final model. This requires both human time and resource utilization just to find the best possible configurations for one particular application. Inspite of doing all these, we still might not always find the best possible configurations. This makes the challenge of choosing a load balancer complex even with the diverse options available to us. Even with finely tuned load balancing configurations, we may have situations where we do not need a global load balancing step. A global load balancing step can have an overhead that affects application performance if this is done when not needed. We can instead solve the problems by having multiple within node load balancing steps, which has a smaller overhead. This creates another challenge with respect to scaling load balancers to large clusters. In the following dissertation we will focus on solving these issues with load balancers while also proposing models that run better than load balancers proposed after multiple iterations of fine-tuning. Here, we propose a load balancing algorithm that uses runtime system collected statistics to represent the state of an application and then uses learning models to predict a good choice of load balancer to use based on the collected statistics. We also propose the load balancer within a hierarchical framework that allows us to scale the load balancer better across multiple nodes. The hierarchical framework also allows us to avoid the overhead of global load balancing, when within node load balancing can solve the problems with an application."],"dc:format":["application/pdf"],"dc:identifier":["https://hdl.handle.net/2142/115706"],"dc:language":["en","eng"],"dc:rights":["Copyright 2022 Pathikrit Ghosh"],"dc:subject":["High Performance Computing","Load Balancer","Machine Learning"],"dc:title":["Learning based hierarchical load balancer"],"dc:type":["text","Thesis"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Thesis"],"thesis:degree_name":["M.S."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:24:55Z"}