Coping with Selfishness in Distributed Systems: Mechanism Design in Multi-Core and Peer-to-Peer Systems [thesis]

Raphael Eidenbenz, Dov Monderer, Roger Wattenhofer
2012
Distributed systems with autonomous and self-interested participants often exhibit deficiencies due to selfishness of its participants. Mechanism design is the discipline that optimizes systems by taking selfish behavior into account. In the first part of this thesis, we study how a mechanism designer can influence games by promising payments to the players. We first investigate the cost of implementing a desirable behavior. Whereas a mechanism designer can decide efficiently whether strategy
more » ... ofiles can be implemented at no cost at all computing an optimal implementation is generally NP-hard. Second, we introduce and analyze the concept of leverage in a game. The leverage captures the benefits that a benevolent or a malicious mechanism designer can achieve within economic reason, i.e., by taking the implementation cost into account. Mechanism designers can often manipulate games and change the social welfare by a larger extent than the amount of money invested. Unfortunately, computing the leverage is generally intractable as well. In the second part of this thesis, we study the incentives exhibited by transactional memory systems. We find that with most current contention managers, transactional memory systems do not incentivize good programming practice, i.e, programmers are encouraged to make transactions coarse rather than fine-grained. We show how Timestamp-like contention managers can be modified so as to feature beneficial incentives. In general, however, priority-based conflict resolution policies are prone to be exploited by selfish programmers. In contrast, a simple manager that resolves conflicts at random is compatible with good-programming incentives. In the third part of this thesis, we investigate the potential of barter across swarms and along cycles of interest to boosting the market liquidity of tit-for-tat based peer-to-peer file sharing systems. By means of simulations, we find that the proposed measures shorten the median download completion time by more than one third. Furthermore, we study the problem of guiding participants of an established system to using an improved system in a smooth transition. As an entailed problem, we discuss how a conspiring peer can safely determine a connected peer's type, i.e., how can she learn whether the connected peer is a conspirer or a regular peer without giving away her conspiring identity in the latter case. Our solution is a steganographic handshake. Finally, we look at the problem of how a conspirer can broadcast a message secretly to all fellow conspirers in a monitored environment. For several levels of monitoring, we propose distributed and efficient algorithms that transmit hidden information by varying the block request sequence meaningfully. Zusammenfassung Verteilte Systeme mit autonomen, eigennützigen Teilnehmern weisen oft Mängel auf, die auf den Egoismus ihrer Teilnehmer zurückzuführen sind. Mechanismus-Design ist die Disziplin, welche Systeme optimiert unter Einbezug egoistischen Verhaltens. Im ersten Teil dieser Dissertation gehen wir der Frage nach, wie ein Mechanismus-Designer durch das Anbieten von Zahlungen Spiele beeinflussen kann. Als Erstes untersuchen wir die Implementationskosten gewünschten Verhaltens. Während ein Mechanismus-Designer effizient entscheiden kann, ob Strategieprofile kostenlos implementiert werden können, ist das Berechnen einer optimalen Implementation NP-hart. Als Zweites führen wir das Konzept von Leverage ("Hebelwirkung") in Spielen ein. Leverage beziffert den Nutzen, den sich ein wohlwollender oder ein böswilliger Mechanismus-Designer unter Einbezug der Implementationskosten erwirtschaften kann. Oft kann ein Spiel so manipuliert werden, dass das resultierende Gemeinwohl grösser ist als das investierte Geld. Leider ist auch die maximale Leverage schwer zu berechnen. Im zweiten Teil dieser Dissertation untersuchen wir die Anreize in Transactional-Memory-Systemen. Wir finden heraus, dass die meisten gängigen Transactional-Memory-Systeme Anreize zu schlechter Programmierpraxis schaffen, d.h. Programmierer werden ermutigt Transaktionen lang statt kurz zu machen. Wir zeigen wie man Timestamp-artige Contention-Manager modifizieren muss, um Anreize für eine gute Programmierpraxis zu schaffen. Im Allgemeinen sind prioritätsbasierte Contention-Manager jedoch anfällig gegenüber egoistischem Verhalten. Im dritten Teil dieser Dissertation untersuchen wir das Potenzial von schwarmübergreifendem Tauschhandel entlang Interessenszyklen, um die Liquidität eines auf Tit-For-Tat basierten Peer-to-Peer Filesharingsystems zu erhöhen. Mittels Simulationen finden wir heraus, dass die Einführung derartigen Tauschhandels die Dauer eines Downloads im Median um mehr als einen Drittel verkürzt. Überdies zeigen wir, wie man Teilnehmer eines etablierten Systems mittels einer glatten Übergangsphase dazu bringen kann, ein verbessertes System zu benutzen. Als Folgeproblem betrachten wir die Frage, wie ein konspirierender Peer gefahrlos den Typ eines verbundenen Peers feststellen kann, d.h. wie er erfahren kann, ob der verbundene Peer auch ein Verschwörer ist oder nicht, ohne dabei in letzterem Fall seinen eigenen Typ preiszugeben. Unsere Lösung ist ein steganographischer Handshake. Schliesslich untersuchen wir, wie ein Verschwörer in einem überwachten Netzwerk eine geheime Nachricht an alle Verschwörer übermitteln kann. Für verschiedene Überwachungsstufen schlagen wir effiziente, verteilte Algorithmen vor, welche Information in der Reihenfolge der Block-Requests verstecken.
doi:10.3929/ethz-a-007161144 fatcat:gdq26yuj3jaynh6oh7hustrivi