Electronic Thesis and Dissertation Repository

Thesis Format



Master of Science


Computer Science

Collaborative Specialization

Artificial Intelligence


Bauer, Michael A.


Today, smart city technology is being adopted by many municipal governments to improve their services and to adapt to growing and changing urban population. Implementing a smart city application can be one of the most challenging projects due to the complexity, requirements and constraints. Sensing devices and computing components can be numerous and heterogeneous. Increasingly, researchers working in the smart city arena are looking to leverage edge and cloud computing to support smart city development. This approach also brings a number of challenges. Two of the main challenges are resource allocation and load balancing of tasks associated with processing data from sensors, etc. This can be particularly challenging depending on the frequency that tasks come and go, their complexity, the level of resources, etc. This is a dynamically changing environment and static allocation strategies are not effective. This thesis investigates a reinforcement learning approach to dynamically allocate tasks to resources and try to ensure balanced loads on processing elements. The agent follows a Multi-Observation Single-State (MOSS) model which allows it to observe processed features from multiple sources at a single step. Those features represent multiple registered virtual machines (executors). The agent tries to orchestrate the arriving task to one of the executor candidates based on the task's characteristics and current condition of the executor. We introduce a model of a smart city computational infrastructure, describe our approach to reinforcement learning and present our algorithm for task allocation. We illustrate the agent behavior through simulations and show how its performance improves as it learns the environment.

Summary for Lay Audience

Cities continue to grow in population, size, services and complexity. City governments need smarter ways to accommodate the needs of their citizens and are looking at ways to make their cities smarter. Small sensing and computing devices coupled with powerful computers are being used to create smart city systems. While these systems have to potential to improve city-wide operations and services and to benefit citizens, they also present challenges in their operation. These resources are costly to acquire and to operation and need to be managed wisely to prevent excessive costs. This also means that use of these computers to execute tasks needs to be as efficient as possible, to avoid over loading and wasting resources. This is the problem of resource allocation and load balancing. In this thesis, we introduce a reinforcement learning method for resource allocation and load balancing and evaluate its effectiveness.