Internet Computing: Using Reputation to Select Workers from a Pool

Similar documents
Multi-round Master-Worker Computing: a Repeated Game Approach

Satisfaction Equilibrium: Achieving Cooperation in Incomplete Information Games

Do we have a quorum?

arxiv: v1 [cs.cc] 30 Apr 2015

: Cryptography and Game Theory Ran Canetti and Alon Rosen. Lecture 8

Coordination. Failures and Consensus. Consensus. Consensus. Overview. Properties for Correct Consensus. Variant I: Consensus (C) P 1. v 1.

How to deal with uncertainties and dynamicity?

Addendum to: Dual Sales Channel Management with Service Competition

K-NCC: Stability Against Group Deviations in Non-Cooperative Computation

Sequential Decision Problems

Genetic Algorithm: introduction

On Decentralized Incentive Compatible Mechanisms for Partially Informed Environments

Game Theory. Wolfgang Frimmel. Perfect Bayesian Equilibrium

Backwards Induction. Extensive-Form Representation. Backwards Induction (cont ) The player 2 s optimization problem in the second stage

POLYNOMIAL SPACE QSAT. Games. Polynomial space cont d

Oligopoly. Molly W. Dahl Georgetown University Econ 101 Spring 2009

MULTIPLE CHOICE QUESTIONS DECISION SCIENCE

Optimal quorum for a reliable Desktop grid

Asynchronous Models For Consensus

Game Theory. Greg Plaxton Theory in Programming Practice, Spring 2004 Department of Computer Science University of Texas at Austin

Round-Efficient Multi-party Computation with a Dishonest Majority

Towards a Game Theoretic View of Secure Computation

Lecture 09: Next-bit Unpredictability. Lecture 09: Next-bit Unpredictability

Theory Field Examination Game Theory (209A) Jan Question 1 (duopoly games with imperfect information)

6.207/14.15: Networks Lecture 16: Cooperation and Trust in Networks

Enforcing Truthful-Rating Equilibria in Electronic Marketplaces

Notes on Complexity Theory Last updated: November, Lecture 10

EC319 Economic Theory and Its Applications, Part II: Lecture 7

M340(921) Solutions Practice Problems (c) 2013, Philip D Loewen

Two-Player Kidney Exchange Game

1 Equilibrium Comparisons

Distributed Algorithmic Mechanism Design: Recent Results and Future Directions

MS&E 246: Lecture 12 Static games of incomplete information. Ramesh Johari

X Optimal Contracts for Outsourced Computation

Unreliable Failure Detectors for Reliable Distributed Systems

CS505: Distributed Systems

Multiparty Computation (MPC) Arpita Patra

Math Models of OR: Branch-and-Bound

Failure detectors Introduction CHAPTER

Balancing and Control of a Freely-Swinging Pendulum Using a Model-Free Reinforcement Learning Algorithm

Patience and Ultimatum in Bargaining

Wireless Network Pricing Chapter 6: Oligopoly Pricing

Game theory Lecture 19. Dynamic games. Game theory

Fault Tolerant Implementation

REPEATED GAMES. Jörgen Weibull. April 13, 2010

1/p-Secure Multiparty Computation without an Honest Majority and the Best of Both Worlds

Game Theory. Professor Peter Cramton Economics 300

Lecture 14: Secure Multiparty Computation

CS505: Distributed Systems

Cryptography and Game Theory

Finally the Weakest Failure Detector for Non-Blocking Atomic Commit

Simultaneous Consensus Tasks: A Tighter Characterization of Set-Consensus

arxiv: v4 [cs.gt] 13 Sep 2016

Models of Strategic Reasoning Lecture 2

Fairness with an Honest Minority and a Rational Majority

Incremental Policy Learning: An Equilibrium Selection Algorithm for Reinforcement Learning Agents with Common Interests

Towards a Game Theoretic View of Secure Computation

Intermediate public economics 6 Public goods Hiroaki Sakamoto

Ex Post Cheap Talk : Value of Information and Value of Signals

1. The General Linear-Quadratic Framework

Multi-Agent Learning with Policy Prediction

Dual Interpretations and Duality Applications (continued)

Agreement Protocols. CS60002: Distributed Systems. Pallab Dasgupta Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur

Costly Signals and Cooperation

CO759: Algorithmic Game Theory Spring 2015

Eventually consistent failure detectors

Selecting Efficient Correlated Equilibria Through Distributed Learning. Jason R. Marden

VII. Cooperation & Competition

Faster Agreement via a Spectral Method for Detecting Malicious Behavior

Randomized Protocols for Asynchronous Consensus

Bounded Rationality, Strategy Simplification, and Equilibrium

Repeated Downsian Electoral Competition

A Strategyproof Mechanism for Scheduling Divisible Loads in Distributed Systems

Introduction. 1 University of Pennsylvania, Wharton Finance Department, Steinberg Hall-Dietrich Hall, 3620

Deregulated Electricity Market for Smart Grid: A Network Economic Approach

Technical Report. Using Correlation for Collusion Detection in Grid Settings. Eugen Staab, Volker Fusenig and Thomas Engel

Decision Making Beyond Arrow s Impossibility Theorem, with the Analysis of Effects of Collusion and Mutual Attraction

Solution to Tutorial 9

3.3.3 Illustration: Infinitely repeated Cournot duopoly.

Weather Technology in the Cockpit (WTIC) Program Applying Cloud Technology and Crowd Sourcing to Enhance Cockpit Weather

Cooperation Stimulation in Cooperative Communications: An Indirect Reciprocity Game

The Kernel Trick, Gram Matrices, and Feature Extraction. CS6787 Lecture 4 Fall 2017

Introduction to Cryptography Lecture 13

Selecting correlated random actions

Trusting the Cloud with Practical Interactive Proofs

Toward an Optimal Redundancy Strategy for Distributed Computations

A Polynomial-time Nash Equilibrium Algorithm for Repeated Games

IMBALANCED DATA. Phishing. Admin 9/30/13. Assignment 3: - how did it go? - do the experiments help? Assignment 4. Course feedback

Grundlagen der Künstlichen Intelligenz

Interacting Vehicles: Rules of the Game

Dwelling on the Negative: Incentivizing Effort in Peer Prediction

Rationality in the Full-Information Model

Fault-Tolerant Consensus

Weighted Majority and the Online Learning Approach

Resilient and energy-aware algorithms

Detecting Stations Cheating on Backoff Rules in Networks Using Sequential Analysis

Secret sharing schemes

Lecture 1: March 7, 2018

16.4 Multiattribute Utility Functions

Equilibrium solutions in the observable M/M/1 queue with overtaking

Transcription:

Internet Computing: Using Reputation to Select Workers from a Pool Evgenia Christoforou, Antonio Fernández Anta, Chryssis Georgiou, and Miguel A. Mosteiro NETyS 216

Internet-based task computing Increasing demand for processing computationally intensive tasks. Powerful parallel machines are expensive and are not globally available. Growing use and capabilities of personal computers. Wide access to the Internet.

Internet-based task computing Increasing demand for processing computationally intensive tasks. Powerful parallel machines are expensive and are not globally available. Growing use and capabilities of personal computers. Wide access to the Internet. Internet emerges as a viable platform: Grid and cloud computing. e.g. EGEE Grid, TERA Grid, Amazon s EC2 Volunteering computing. e.g. SETI@home, AIDS@home, Folding@home Crowd computing. e.g. Amazon Mechanical Turk (human based-computing)

SETI@home by the numbers As reported in November 29: 278,832 active CPUs (out of a total of 2.4 million) in 234 countries. 769 TFLOPs.

SETI@home by the numbers As reported in November 29: 278,832 active CPUs (out of a total of 2.4 million) in 234 countries. 769 TFLOPs. Proc. power comparable with supercomputers, at a fraction of the cost! Great potential limited by untrustworthy entities.

Internet-based task computing A more dynamic and unpredictable setting: Number of tasks is not fixed or known a priori: It may be anything from one to many, even unbounded. Tasks arrive dynamically and continuously. Dynamic participation: Participating processors (workers) could change over time, not only due to failures. Increased frequency of failures: Failures are the norm rather than the exception.

Internet-based task computing A more dynamic and unpredictable setting: Number of tasks is not fixed or known a priori: It may be anything from one to many, even unbounded. Tasks arrive dynamically and continuously. Dynamic participation: Participating processors (workers) could change over time, not only due to failures. Increased frequency of failures: Failures are the norm rather than the exception. A whole new world to study tradeoffs between efficiency and fault tolerance!

5 Master-worker computing Master Worker Worker Worker

5 Master-worker computing Master task task task result result result Worker Worker Worker

5 Master-worker computing Master task task task Internet One or many s result result result Worker Worker Worker

5 Master-worker computing Master Mechanism for deciding result (e.g., majority voting) task task task Internet One or many s result result Trusted? result Trusted? Trusted? Worker Worker Worker REDUNDANCY

Types of workers Classical distributed computing approach: Malicious workers: always return a fabricated incorrect result. Altruistic workers: always compute and return a correct result. Game theoretical approach: Rational workers: choose the strategy that maximizes benefit. [Fernandez-Anta et al.; Konwar; Sarmenta] [Abraham et al;golle et al;shneidman et al; Yurkewych;NCA 8;PLOS One 15] All three types considered: Mechanisms with reward/punishment schemes that provide incentives for rationals to be honest cope with malicious actions. [IPDPS 1;NCA 11;DISC 11;TC 14]

Rewards/punishments WPC WCT WBY MCY MCA MBR MPW worker punishment for being caught cheating worker cost of computing the task worker benefit from master acceptance master cost for accepting the worker answer master cost for auditing worker answer master benefit from accepting the correct answer master punishment for accepting a wrong answer

8 Task computing scheme Master assigns a task to n workers. Workers: Malicious: fabricates a result. Altruistic: computes the result. Rational: cheats with probability pc. Master with probability pa. If master : computes the task. rewards honest workers and penalizes cheaters. If master does not audit: accepts value returned by majority of workers. rewards those in the majority.

9 Types of computations One-shot Model the decisions (cheat or not, audit or not) as a game. Find conditions on the parameters for Nash equilibria. The pc, pa, and n obtained yield correctness at low cost for the master, even in presence of malice. Trade-off: probability of correct vs. cost. Constrains: malice, collusion, unreliable communication. [NCA 8;IPDPS 1;DISC 11;NCA 11;TC 14, PLOS One 15] Multi- Evolutionary dynamics: pc and pa updated after each (n is fixed). Reinforcement learning: update function of worker profit aspiration and master tolerance to loss. Objective: eventual correctness. Trade-off: time to correct vs. cost. Constrains/features: malice, unreliable communication, reputation system. [PODC 12, EUROPAR 12, OPODIS 13, JOSS 13, CCPE 13]

9 Types of computations One-shot Model the decisions (cheat or not, audit or not) as a game. Find conditions on the parameters for Nash equilibria. The pc, pa, and n obtained yield correctness at low cost for the master, even in presence of malice. Trade-off: probability of correct vs. cost. Constrains: malice, collusion, unreliable communication. [NCA 8;IPDPS 1;DISC 11;NCA 11;TC 14, PLOS One 15] Multi- Evolutionary dynamics: pc and pa updated after each (n is fixed). Reinforcement learning: update function of worker profit aspiration and master tolerance to loss. Objective: eventual correctness. Trade-off: time to correct vs. cost. Constrains/features: malice, unreliable communication, reputation system. [PODC 12, EUROPAR 12, OPODIS 13, JOSS 13, CCPE 13] But, workers may not be available all the time! Why not taking advantage of N>>n? (Internet scale)

1 Our contributions We present a mechanism that 1. it is resilient to non-responsive and unreliable workers: responsiveness reputation: replies/assignments ratio. 3 truthfulness reputations: ~BOINC, [OPODIS 13], [Sonnek et al.]. 2. leverages availability of N>>n workers: the master chooses the most reputable n workers for each computation.

1 Our contributions We present a mechanism that 1. it is resilient to non-responsive and unreliable workers: responsiveness reputation: replies/assignments ratio. 3 truthfulness reputations: ~BOINC, [OPODIS 13], [Sonnek et al.]. 2. leverages availability of N>>n workers: the master chooses the most reputable n workers for each computation. We study feasibility in absence of rationals: showing pools of workers such that eventual correctness cannot be achieved unless the master always achieved forever with minimal auditing.

1 Our contributions We present a mechanism that 1. it is resilient to non-responsive and unreliable workers: responsiveness reputation: replies/assignments ratio. 3 truthfulness reputations: ~BOINC, [OPODIS 13], [Sonnek et al.]. 2. leverages availability of N>>n workers: the master chooses the most reputable n workers for each computation. We study feasibility in absence of rationals: showing pools of workers such that eventual correctness cannot be achieved unless the master always achieved forever with minimal auditing. Experimental evaluation: complements analysis for scenarios where rational workers exist. reputation-types comparison showing reliability/cost trade-offs.

11 Types of reputation Responsiveness: (w) = replies(w)+1 assignments(w)+1 Truthfulness: LINEAR: [Sonnek et al.] EXPONENTIAL: [OPODIS 13] BOINC: (w) = audited-correct(w)+1 audited(w)+1 (w) = appleaudited-correct(w) apple audited(w), apple > 1 (w) =1 1 streak(w) ( if streak(w) < 1)

Protocol Algorithm 1 Master s Algorithm 1 p A x, where x 2 [p min A, 1] 2 for i to N do 3 select i ; reply select i ; audit reply select i ; correct audit i ; streak i 4 rsi 1; initialize tri // initially all workers have the same reputation 5 for r 1 to 1 do 6 W r {i 2 N : i is chosen as one of the n workers with the highest i = rsi tri } 7 8i 2 W r : select i select i +1 8 send a task T to all workers in W r 9 collect replies from workers in W r for t time 1 wait for t time collecting replies as received from workers in W r 11 R {i 2 W r : a reply from i was received by time t} 12 8i 2 R : reply select i reply select i +1 13 update responsiveness reputation rsi of each worker i 2 W r 14 audit the received answers with probability p A 15 if the answers were not audited then 16 accept the value m returned by workers R m R, 17 where 8m, trr m trrm // weighted majority of workers in R 18 else // the master 19 foreach i 2 R do 2 audit reply select i audit reply select i +1 21 if i 2 F then streak i // F R is the set of responsive workers caught cheating 22 else correct audit i correct audit i +1, streak i streak i +1 // honest responsive 23 update truthfulness reputation tri // depending on the type used 24 if trr =then p A min{1,p A + m } 25 else 26 p A p A + m ( trf / trr ) 27 p A min{1, max{p min A,p A}} 28 8i 2 W r : return i to worker i // the payoff of workers in W r \ R is zero

Protocol for each of computation Algorithm 1 Master s Algorithm 1 p A x, where x 2 [p min A, 1] 2 for i to N do 3 select i ; reply select i ; audit reply select i ; correct audit i ; streak i 4 rsi 1; initialize tri // initially all workers have the same reputation 5 for r 1 to 1 do 6 W r {i 2 N : i is chosen as one of the n workers with the highest i = rsi tri } 7 8i 2 W r : select i select i +1 8 send a task T to all workers in W r 9 collect replies from workers in W r for t time 1 wait for t time collecting replies as received from workers in W r 11 R {i 2 W r : a reply from i was received by time t} 12 8i 2 R : reply select i reply select i +1 13 update responsiveness reputation rsi of each worker i 2 W r 14 audit the received answers with probability p A 15 if the answers were not audited then 16 accept the value m returned by workers R m R, 17 where 8m, trr m trrm // weighted majority of workers in R 18 else // the master 19 foreach i 2 R do 2 audit reply select i audit reply select i +1 21 if i 2 F then streak i // F R is the set of responsive workers caught cheating 22 else correct audit i correct audit i +1, streak i streak i +1 // honest responsive 23 update truthfulness reputation tri // depending on the type used 24 if trr =then p A min{1,p A + m } 25 else 26 p A p A + m ( trf / trr ) 27 p A min{1, max{p min A,p A}} 28 8i 2 W r : return i to worker i // the payoff of workers in W r \ R is zero

Protocol select workers according to reputation Algorithm 1 Master s Algorithm 1 p A x, where x 2 [p min A, 1] 2 for i to N do 3 select i ; reply select i ; audit reply select i ; correct audit i ; streak i 4 rsi 1; initialize tri // initially all workers have the same reputation 5 for r 1 to 1 do 6 W r {i 2 N : i is chosen as one of the n workers with the highest i = rsi tri } 7 8i 2 W r : select i select i +1 8 send a task T to all workers in W r 9 collect replies from workers in W r for t time 1 wait for t time collecting replies as received from workers in W r 11 R {i 2 W r : a reply from i was received by time t} 12 8i 2 R : reply select i reply select i +1 13 update responsiveness reputation rsi of each worker i 2 W r 14 audit the received answers with probability p A 15 if the answers were not audited then 16 accept the value m returned by workers R m R, 17 where 8m, trr m trrm // weighted majority of workers in R 18 else // the master 19 foreach i 2 R do 2 audit reply select i audit reply select i +1 21 if i 2 F then streak i // F R is the set of responsive workers caught cheating 22 else correct audit i correct audit i +1, streak i streak i +1 // honest responsive 23 update truthfulness reputation tri // depending on the type used 24 if trr =then p A min{1,p A + m } 25 else 26 p A p A + m ( trf / trr ) 27 p A min{1, max{p min A,p A}} 28 8i 2 W r : return i to worker i // the payoff of workers in W r \ R is zero

Protocol send task and collect replies Algorithm 1 Master s Algorithm 1 p A x, where x 2 [p min A, 1] 2 for i to N do 3 select i ; reply select i ; audit reply select i ; correct audit i ; streak i 4 rsi 1; initialize tri // initially all workers have the same reputation 5 for r 1 to 1 do 6 W r {i 2 N : i is chosen as one of the n workers with the highest i = rsi tri } 7 8i 2 W r : select i select i +1 8 send a task T to all workers in W r 9 collect replies from workers in W r for t time 1 wait for t time collecting replies as received from workers in W r 11 R {i 2 W r : a reply from i was received by time t} 12 8i 2 R : reply select i reply select i +1 13 update responsiveness reputation rsi of each worker i 2 W r 14 audit the received answers with probability p A 15 if the answers were not audited then 16 accept the value m returned by workers R m R, 17 where 8m, trr m trrm // weighted majority of workers in R 18 else // the master 19 foreach i 2 R do 2 audit reply select i audit reply select i +1 21 if i 2 F then streak i // F R is the set of responsive workers caught cheating 22 else correct audit i correct audit i +1, streak i streak i +1 // honest responsive 23 update truthfulness reputation tri // depending on the type used 24 if trr =then p A min{1,p A + m } 25 else 26 p A p A + m ( trf / trr ) 27 p A min{1, max{p min A,p A}} 28 8i 2 W r : return i to worker i // the payoff of workers in W r \ R is zero

Protocol update responsiveness reputation Algorithm 1 Master s Algorithm 1 p A x, where x 2 [p min A, 1] 2 for i to N do 3 select i ; reply select i ; audit reply select i ; correct audit i ; streak i 4 rsi 1; initialize tri // initially all workers have the same reputation 5 for r 1 to 1 do 6 W r {i 2 N : i is chosen as one of the n workers with the highest i = rsi tri } 7 8i 2 W r : select i select i +1 8 send a task T to all workers in W r 9 collect replies from workers in W r for t time 1 wait for t time collecting replies as received from workers in W r 11 R {i 2 W r : a reply from i was received by time t} 12 8i 2 R : reply select i reply select i +1 13 update responsiveness reputation rsi of each worker i 2 W r 14 audit the received answers with probability p A 15 if the answers were not audited then 16 accept the value m returned by workers R m R, 17 where 8m, trr m trrm // weighted majority of workers in R 18 else // the master 19 foreach i 2 R do 2 audit reply select i audit reply select i +1 21 if i 2 F then streak i // F R is the set of responsive workers caught cheating 22 else correct audit i correct audit i +1, streak i streak i +1 // honest responsive 23 update truthfulness reputation tri // depending on the type used 24 if trr =then p A min{1,p A + m } 25 else 26 p A p A + m ( trf / trr ) 27 p A min{1, max{p min A,p A}} 28 8i 2 W r : return i to worker i // the payoff of workers in W r \ R is zero

Protocol audit with probability pa Algorithm 1 Master s Algorithm 1 p A x, where x 2 [p min A, 1] 2 for i to N do 3 select i ; reply select i ; audit reply select i ; correct audit i ; streak i 4 rsi 1; initialize tri // initially all workers have the same reputation 5 for r 1 to 1 do 6 W r {i 2 N : i is chosen as one of the n workers with the highest i = rsi tri } 7 8i 2 W r : select i select i +1 8 send a task T to all workers in W r 9 collect replies from workers in W r for t time 1 wait for t time collecting replies as received from workers in W r 11 R {i 2 W r : a reply from i was received by time t} 12 8i 2 R : reply select i reply select i +1 13 update responsiveness reputation rsi of each worker i 2 W r 14 audit the received answers with probability p A 15 if the answers were not audited then 16 accept the value m returned by workers R m R, 17 where 8m, trr m trrm // weighted majority of workers in R 18 else // the master 19 foreach i 2 R do 2 audit reply select i audit reply select i +1 21 if i 2 F then streak i // F R is the set of responsive workers caught cheating 22 else correct audit i correct audit i +1, streak i streak i +1 // honest responsive 23 update truthfulness reputation tri // depending on the type used 24 if trr =then p A min{1,p A + m } 25 else 26 p A p A + m ( trf / trr ) 27 p A min{1, max{p min A,p A}} 28 8i 2 W r : return i to worker i // the payoff of workers in W r \ R is zero

Protocol if NOT audited, accept majority weighted by truthfulness rep Algorithm 1 Master s Algorithm 1 p A x, where x 2 [p min A, 1] 2 for i to N do 3 select i ; reply select i ; audit reply select i ; correct audit i ; streak i 4 rsi 1; initialize tri // initially all workers have the same reputation 5 for r 1 to 1 do 6 W r {i 2 N : i is chosen as one of the n workers with the highest i = rsi tri } 7 8i 2 W r : select i select i +1 8 send a task T to all workers in W r 9 collect replies from workers in W r for t time 1 wait for t time collecting replies as received from workers in W r 11 R {i 2 W r : a reply from i was received by time t} 12 8i 2 R : reply select i reply select i +1 13 update responsiveness reputation rsi of each worker i 2 W r 14 audit the received answers with probability p A 15 if the answers were not audited then 16 accept the value m returned by workers R m R, 17 where 8m, trr m trrm // weighted majority of workers in R 18 else // the master 19 foreach i 2 R do 2 audit reply select i audit reply select i +1 21 if i 2 F then streak i // F R is the set of responsive workers caught cheating 22 else correct audit i correct audit i +1, streak i streak i +1 // honest responsive 23 update truthfulness reputation tri // depending on the type used 24 if trr =then p A min{1,p A + m } 25 else 26 p A p A + m ( trf / trr ) 27 p A min{1, max{p min A,p A}} 28 8i 2 W r : return i to worker i // the payoff of workers in W r \ R is zero

Protocol if audited, update truthfulness reputation Algorithm 1 Master s Algorithm 1 p A x, where x 2 [p min A, 1] 2 for i to N do 3 select i ; reply select i ; audit reply select i ; correct audit i ; streak i 4 rsi 1; initialize tri // initially all workers have the same reputation 5 for r 1 to 1 do 6 W r {i 2 N : i is chosen as one of the n workers with the highest i = rsi tri } 7 8i 2 W r : select i select i +1 8 send a task T to all workers in W r 9 collect replies from workers in W r for t time 1 wait for t time collecting replies as received from workers in W r 11 R {i 2 W r : a reply from i was received by time t} 12 8i 2 R : reply select i reply select i +1 13 update responsiveness reputation rsi of each worker i 2 W r 14 audit the received answers with probability p A 15 if the answers were not audited then 16 accept the value m returned by workers R m R, 17 where 8m, trr m trrm // weighted majority of workers in R 18 else // the master 19 foreach i 2 R do 2 audit reply select i audit reply select i +1 21 if i 2 F then streak i // F R is the set of responsive workers caught cheating 22 else correct audit i correct audit i +1, streak i streak i +1 // honest responsive 23 update truthfulness reputation tri // depending on the type used 24 if trr =then p A min{1,p A + m } 25 else 26 p A p A + m ( trf / trr ) 27 p A min{1, max{p min A,p A}} 28 8i 2 W r : return i to worker i // the payoff of workers in W r \ R is zero

Protocol and pa Algorithm 1 Master s Algorithm 1 p A x, where x 2 [p min A, 1] 2 for i to N do 3 select i ; reply select i ; audit reply select i ; correct audit i ; streak i 4 rsi 1; initialize tri // initially all workers have the same reputation 5 for r 1 to 1 do 6 W r {i 2 N : i is chosen as one of the n workers with the highest i = rsi tri } 7 8i 2 W r : select i select i +1 8 send a task T to all workers in W r 9 collect replies from workers in W r for t time 1 wait for t time collecting replies as received from workers in W r 11 R {i 2 W r : a reply from i was received by time t} 12 8i 2 R : reply select i reply select i +1 13 update responsiveness reputation rsi of each worker i 2 W r 14 audit the received answers with probability p A 15 if the answers were not audited then 16 accept the value m returned by workers R m R, 17 where 8m, trr m trrm // weighted majority of workers in R 18 else // the master 19 foreach i 2 R do 2 audit reply select i audit reply select i +1 21 if i 2 F then streak i // F R is the set of responsive workers caught cheating 22 else correct audit i correct audit i +1, streak i streak i +1 // honest responsive 23 update truthfulness reputation tri // depending on the type used 24 if trr =then p A min{1,p A + m } 25 else tolerance to loss 26 p A p A + m ( trf / trr ) 27 p A min{1, max{p min A,p A}} 28 8i 2 W r : return i to worker i // the payoff of workers in W r \ R is zero

Protocol pay/penalize accordingly Algorithm 1 Master s Algorithm 1 p A x, where x 2 [p min A, 1] 2 for i to N do 3 select i ; reply select i ; audit reply select i ; correct audit i ; streak i 4 rsi 1; initialize tri // initially all workers have the same reputation 5 for r 1 to 1 do 6 W r {i 2 N : i is chosen as one of the n workers with the highest i = rsi tri } 7 8i 2 W r : select i select i +1 8 send a task T to all workers in W r 9 collect replies from workers in W r for t time 1 wait for t time collecting replies as received from workers in W r 11 R {i 2 W r : a reply from i was received by time t} 12 8i 2 R : reply select i reply select i +1 13 update responsiveness reputation rsi of each worker i 2 W r 14 audit the received answers with probability p A 15 if the answers were not audited then 16 accept the value m returned by workers R m R, 17 where 8m, trr m trrm // weighted majority of workers in R 18 else // the master 19 foreach i 2 R do 2 audit reply select i audit reply select i +1 21 if i 2 F then streak i // F R is the set of responsive workers caught cheating 22 else correct audit i correct audit i +1, streak i streak i +1 // honest responsive 23 update truthfulness reputation tri // depending on the type used 24 if trr =then p A min{1,p A + m } 25 else tolerance to loss 26 p A p A + m ( trf / trr ) 27 p A min{1, max{p min A,p A}} 28 8i 2 W r : return i to worker i // the payoff of workers in W r \ R is zero

Protocol Algorithm 2 Algorithm for Rational Worker i 1 p Ci y, where y 2 [, 1] 2 repeat forever 3 wait for a task T from the master 4 if available then 5 decide whether to cheat or not independently with distribution P (cheat) =p Ci 6 if the decision was to cheat then 7 send arbitrary solution to the master 8 get payoff i 9 p Ci max{, min{1,p Ci + w ( i a i )}} 1 else 11 send compute(t ) to the master 12 get payoff i 13 p Ci max{, min{1,p Ci w ( i WC T a i )}}

Protocol cheat with probability pc Algorithm 2 Algorithm for Rational Worker i 1 p Ci y, where y 2 [, 1] 2 repeat forever 3 wait for a task T from the master 4 if available then 5 decide whether to cheat or not independently with distribution P (cheat) =p Ci 6 if the decision was to cheat then 7 send arbitrary solution to the master 8 get payoff i 9 p Ci max{, min{1,p Ci + w ( i a i )}} 1 else 11 send compute(t ) to the master 12 get payoff i 13 p Ci max{, min{1,p Ci w ( i WC T a i )}}

Protocol cheat with probability pc update pc Algorithm 2 Algorithm for Rational Worker i 1 p Ci y, where y 2 [, 1] 2 repeat forever 3 wait for a task T from the master 4 if available then 5 decide whether to cheat or not independently with distribution P (cheat) =p Ci 6 if the decision was to cheat then 7 send arbitrary solution to the master 8 get payoff i 9 p Ci max{, min{1,p Ci + w ( i a i )}} 1 else 11 send compute(t ) to the master 12 get payoff i 13 p Ci max{, min{1,p Ci w ( i WC T a i )}} profit aspiration

Feasibility without rationals based mechanism in Algorithm 1. Theorem 3. Consider a system in which workers are either altruistic or malicious and there is at least one altruistic worker i with d i =1in the pool. Eventual correctness is satisfied if the mechanism of Algorithm 1 is used with the responsiveness reputation and any of the truthfulness reputations LINEAR or EXPONENTIAL. The intuition behind the proof is that thanks to the decremental way in which the of altruistic workers with partial availability have to be considered. Theorem 4. Consider a system in which workers are either altruistic or malicious and there is at least one altruistic worker i with d i =1in the pool. In this system, the mechanism of Algorithm 1 is used with the responsiveness reputation and the truthfulness reputation BOINC. Then, eventual correctness is satisfied if and only if the number of altruistic workers with d j < 1 is smaller than n.

Simulations: workers always available (d=1) n=9, : pa = pamin =.1 3 25 3 25 3 25 2 2 2 15 15 15 1 1 1 5 5 5 3 25 (a1) (b1) (c1) 3 25 3 25 2 2 2 15 15 15 1 1 1 5 5 5 (a2) (b2) (c2) Fig. 1: Simulation results with full availability. First row plots are for initial p A =.5. Second row plots are for initial p A = 1. The bottom (red) errorbars present the number of incorrect results accepted until (p A = p min A ), the middle (green) errorbars present the number of until ; and finally the upper (blue) errorbars present the number of s until, in 1 instantiations. In plots (a1) and (a2) the ratio of rational/malicious is 5/4. In plots (b1) and (b2) the ratio of rational/malicious is 4/5. In plots (c1) and (c2) the ratio of rational/malicious is 1/8. The x-axes symbols are as follows, L: LINEAR, E: EXPONENTIAL and B: BOINC reputation; p5: pool size 5, p9: pool size 9 and p99: pool size 99.

Simulations: workers always available (d=1) n=9, : pa = pamin =.1 3 25 3 25 3 25 2 2 2 initial pa=.5 15 15 15 1 1 1 5 5 5 3 25 (a1) (b1) (c1) 3 25 3 25 2 2 2 initial pa=1 15 15 15 1 1 1 5 5 5 (a2) (b2) (c2) Fig. 1: Simulation results with full availability. First row plots are for initial p A =.5. Second row plots are for initial p A = 1. The bottom (red) errorbars present the number of incorrect results accepted until (p A = p min A ), the middle (green) errorbars present the number of until ; and finally the upper (blue) errorbars present the number of s until, in 1 instantiations. In plots (a1) and (a2) the ratio of rational/malicious is 5/4. In plots (b1) and (b2) the ratio of rational/malicious is 4/5. In plots (c1) and (c2) the ratio of rational/malicious is 1/8. The x-axes symbols are as follows, L: LINEAR, E: EXPONENTIAL and B: BOINC reputation; p5: pool size 5, p9: pool size 9 and p99: pool size 99. # rational / # malicious = 5/4 4/5 1/8

Simulations: workers always available (d=1) n=9, : pa = pamin =.1 3 25 3 25 3 25 2 2 2 initial pa=.5 15 15 15 1 1 1 5 5 5 3 25 (a1) (b1) (c1) 3 25 SLOW & EXPENSIVE 3 25 2 2 2 initial pa=1 15 15 15 1 1 1 5 5 5 (a2) (b2) (c2) Fig. 1: Simulation results with full availability. First row plots are for initial p A =.5. Second row plots are for initial p A = 1. The bottom (red) errorbars present the number of incorrect results accepted until (p A = p min A ), the middle (green) errorbars present the number of until ; and finally the upper (blue) errorbars present the number of s until, in 1 instantiations. In plots (a1) and (a2) the ratio of rational/malicious is 5/4. In plots (b1) and (b2) the ratio of rational/malicious is 4/5. In plots (c1) and (c2) the ratio of rational/malicious is 1/8. The x-axes symbols are as follows, L: LINEAR, E: EXPONENTIAL and B: BOINC reputation; p5: pool size 5, p9: pool size 9 and p99: pool size 99. # rational / # malicious = 5/4 4/5 1/8

Simulations: workers always available (d=1) n=9, : pa = pamin =.1 3 25 3 25 3 25 2 2 2 initial pa=.5 15 15 15 1 1 1 5 5 5 LESS AUDITS 3 25 (a1) (b1) (c1) 3 25 3 25 2 2 2 initial pa=1 15 15 15 1 1 1 5 5 5 (a2) (b2) (c2) Fig. 1: Simulation results with full availability. First row plots are for initial p A =.5. Second row plots are for initial p A = 1. The bottom (red) errorbars present the number of incorrect results accepted until (p A = p min A ), the middle (green) errorbars present the number of until ; and finally the upper (blue) errorbars present the number of s until, in 1 instantiations. In plots (a1) and (a2) the ratio of rational/malicious is 5/4. In plots (b1) and (b2) the ratio of rational/malicious is 4/5. In plots (c1) and (c2) the ratio of rational/malicious is 1/8. The x-axes symbols are as follows, L: LINEAR, E: EXPONENTIAL and B: BOINC reputation; p5: pool size 5, p9: pool size 9 and p99: pool size 99. # rational / # malicious = 5/4 4/5 1/8

Simulations: workers partially available (d 1) N=9, n=5, : pa = pamin =.1 2 18 16 2 18 16 14 14 12 12 1 1 8 8 6 6 4 4 2 2 25 2 L S1 L S2 L S3 E S1 E S2 E S3 B S1 B S2 B S3 reputation type/scenario (a1) incorrect results after. 25 2 L S1 L S2 L S3 E S1 E S2 E S3 B S1 B S2 B S3 reputation type/scenario (b1) incorrect results after. 15 15 1 1 5 5 L S4 L S5 L S6 E S4 E S5 E S6 B S4 B S5 B S6 L S4 L S5 L S6 E S4 E S5 E S6 B S4 B S5 B S6 reputation type/scenario reputation type/scenario (a2) (b2) Fig. 2: Simulation results with partial availability: (a1)-(a2) initial, (b1)-(b2) initial

Simulations: workers partially available (d 1) N=9, n=5, : pa = pamin =.1 M A 2 18 16 2 18 16 14 14 S1 9)d=1 12 12 S2 1)d=1 8)d=.5 1 8 6 1 8 6 S3 8)d=.5 1)d=1 4 2 4 2 M R 25 2 L S1 L S2 L S3 E S1 E S2 E S3 B S1 B S2 B S3 reputation type/scenario (a1) incorrect results after. 25 2 L S1 L S2 L S3 E S1 E S2 E S3 B S1 B S2 B S3 reputation type/scenario (b1) incorrect results after. S4 9)d=1 15 15 S5 1)d=1 8)d=.5 1 1 S6 8)d=.5 1)d=1 5 5 L S4 L S5 L S6 E S4 E S5 E S6 B S4 B S5 B S6 L S4 L S5 L S6 E S4 E S5 E S6 B S4 B S5 B S6 reputation type/scenario reputation type/scenario (a2) (b2) Fig. 2: Simulation results with partial availability: (a1)-(a2) initial, (b1)-(b2) initial initial pa =.5 1

Simulations: workers partially available (d 1) N=9, n=5, : pa = pamin =.1 M A 2 18 16 2 18 16 WITH LOTS OF MALICIOUS BOINC IS BETTER 14 14 S1 9)d=1 12 12 S2 1)d=1 8)d=.5 1 8 6 1 8 6 S3 8)d=.5 1)d=1 4 2 4 2 M R 25 2 L S1 L S2 L S3 E S1 E S2 E S3 B S1 B S2 B S3 reputation type/scenario (a1) incorrect results after. 25 2 L S1 L S2 L S3 E S1 E S2 E S3 B S1 B S2 B S3 reputation type/scenario (b1) incorrect results after. S4 9)d=1 15 15 S5 1)d=1 8)d=.5 1 1 S6 8)d=.5 1)d=1 5 5 L S4 L S5 L S6 E S4 E S5 E S6 B S4 B S5 B S6 L S4 L S5 L S6 E S4 E S5 E S6 B S4 B S5 B S6 reputation type/scenario reputation type/scenario (a2) (b2) Fig. 2: Simulation results with partial availability: (a1)-(a2) initial, (b1)-(b2) initial initial pa =.5 1

Simulations: workers partially available (d 1) N=9, n=5, : pa = pamin =.1 M A 2 18 16 2 18 16 14 14 S1 9)d=1 12 12 S2 1)d=1 8)d=.5 1 8 6 1 8 6 S3 8)d=.5 1)d=1 4 2 4 2 M R 25 2 L S1 L S2 L S3 E S1 E S2 E S3 B S1 B S2 B S3 reputation type/scenario (a1) incorrect results after. 25 2 L S1 L S2 L S3 E S1 E S2 E S3 B S1 B S2 B S3 reputation type/scenario (b1) incorrect results after. CONVERGENCE EVEN WITH LOW AVAILABILITY S4 9)d=1 15 15 S5 1)d=1 8)d=.5 1 1 S6 8)d=.5 1)d=1 5 5 L S4 L S5 L S6 E S4 E S5 E S6 B S4 B S5 B S6 L S4 L S5 L S6 E S4 E S5 E S6 B S4 B S5 B S6 reputation type/scenario reputation type/scenario (a2) (b2) Fig. 2: Simulation results with partial availability: (a1)-(a2) initial, (b1)-(b2) initial initial pa =.5 1

Ongoing and future work Application of repeated games framework for provable guarantees in multi computations. Experimental comparison of both approaches. Integration of our mechanisms into emboinc.

Thank you!