%0 Conference Proceedings %T Leader Election for Replicated Services Using Application Scores %+ Technische Universität Dresden = Dresden University of Technology (TU Dresden) %+ Yahoo! Research [Barcelona] %A Becker, Diogo %A Junqueira, Flavio %A Serafini, Marco %Z Part 6: Replication and Caching %< avec comité de lecture %( Lecture Notes in Computer Science %B 12th International Middleware Conference (MIDDLEWARE) %C Lisbon, Portugal %Y Fabio Kon %Y Anne-Marie Kermarrec %I Springer %3 Middleware 2011 %V LNCS-7049 %P 289-308 %8 2011-12-12 %D 2011 %R 10.1007/978-3-642-25821-3_15 %K leader election %K replicated services %K fault tolerance %K performance %Z Computer Science [cs] %Z Computer Science [cs]/Networking and Internet Architecture [cs.NI]Conference papers %X Replicated services often rely on a leader to order client requests and broadcast state updates. In this work, we present POLE, a leader election algorithm that select leaders using application-specific scores. This flexibility given to the application enables the algorithm to tailor leader election according to metrics that are relevant in practical settings and that have been overlooked by existing approaches. Recovery time and request latency are examples of such metrics. To evaluate POLE, we use ZooKeeper, an open-source replicated service used for coordinating Web-scale applications. Our evaluation over realistic wide-area settings shows that application scores can have a significant impact on performance, and that just optimizing the latency of consensus does not translate into lower latency for clients. An important conclusion from our results is that obtaining a general strategy that satisfies a wide range of requirements is difficult, which implies that configurability is indispensable for practical leader election. %G English %Z TC 6 %Z WG 6.1 %2 https://inria.hal.science/hal-01597756/document %2 https://inria.hal.science/hal-01597756/file/978-3-642-25821-3_15_Chapter.pdf %L hal-01597756 %U https://inria.hal.science/hal-01597756 %~ IFIP-LNCS %~ IFIP %~ IFIP-TC %~ IFIP-WG %~ IFIP-TC6 %~ IFIP-WG6-1 %~ IFIP-MIDDLEWARE %~ IFIP-LNCS-7049