Abstract:
A distributed system is a network of multiple autonomous computational nodes designed
primarily for performance scalability and robustness. The performance of a distributed system
depends critically on how tasks and resources are distributed among the nodes. Thus, a main
thrust in distributed system research is to design schemes for distributing computational loads
and resource sharing in ways that boost the overall system performance. For many Internet
distributed systems such as Peer-to-Peer (P2P) networks, the optimization of loads and
resource sharing become even more important due to the higher costs of communication and
management of nodes located geographically far part. Furthermore, in many P2P-based
systems, nodes are individual users who ultimately decide whether they want to contribute
their computer resources to the system. As a result, in addition to the system performance
consideration from the engineering perspective, many recently proposed resource and task
distribution schemes are designed to provide incentives to users, in such a way to promote
resource sharing and enhancing system performance.
In this dissertation, we study different approaches for optimizing performance of distributed
systems. Specifically, the dissertation is focused on "balancing" resources and loads on each
node to improve the performance for two important models of distributed systems.
In the first model, we study incentive mechanisms to promote cooperation of users in P2P
networks. In a typical file sharing P2P network, there are uncooperative peers, or free riders who only download data from other peers without sharing their data with others. As a result,
upload bandwidth of cooperative peers are saturated, but those of uncooperative peers are
unused. This leads to overall low system utilization and performance degradation. This
dissertation proposes a scalable, decentralized mechanism to efficiently prevent free riding, and
to increase system performance. The key ingredient of the proposed mechanism is to balance
the amounts of upload and download data of each peer using the notion of global contribution
which can be efficiently calculated in a distributed manner.
In the second model, we consider a class of distributed server systems that can be used as the
underlying engines for many Internet applications, especially social networking applications.
Such a system consists of a large number of clients who communicate with each other indirectly
via a number of intermediate servers. Optimizing the overall performance of such a system then
can be formulated as a client-server assignment problem whose aim is to assign the clients to
the servers in such a way to satisfy some pre-specified requirements on the communication cost
and load balancing. We propose to solve this client-server assignment problem via relaxed
convex optimization techniques. The simulation results indicate that the proposed approach
produces superior performance than many other popular heuristics.