10,313 research outputs found
Non-Cooperative Scheduling of Multiple Bag-of-Task Applications
Multiple applications that execute concurrently on heterogeneous platforms
compete for CPU and network resources. In this paper we analyze the behavior of
non-cooperative schedulers using the optimal strategy that maximize their
efficiency while fairness is ensured at a system level ignoring applications
characteristics. We limit our study to simple single-level master-worker
platforms and to the case where each scheduler is in charge of a single
application consisting of a large number of independent tasks. The tasks of a
given application all have the same computation and communication requirements,
but these requirements can vary from one application to another. In this
context, we assume that each scheduler aims at maximizing its throughput. We
give closed-form formula of the equilibrium reached by such a system and study
its performance. We characterize the situations where this Nash equilibrium is
optimal (in the Pareto sense) and show that even though no catastrophic
situation (Braess-like paradox) can occur, such an equilibrium can be
arbitrarily bad for any classical performance measure
Considering Human Aspects on Strategies for Designing and Managing Distributed Human Computation
A human computation system can be viewed as a distributed system in which the
processors are humans, called workers. Such systems harness the cognitive power
of a group of workers connected to the Internet to execute relatively simple
tasks, whose solutions, once grouped, solve a problem that systems equipped
with only machines could not solve satisfactorily. Examples of such systems are
Amazon Mechanical Turk and the Zooniverse platform. A human computation
application comprises a group of tasks, each of them can be performed by one
worker. Tasks might have dependencies among each other. In this study, we
propose a theoretical framework to analyze such type of application from a
distributed systems point of view. Our framework is established on three
dimensions that represent different perspectives in which human computation
applications can be approached: quality-of-service requirements, design and
management strategies, and human aspects. By using this framework, we review
human computation in the perspective of programmers seeking to improve the
design of human computation applications and managers seeking to increase the
effectiveness of human computation infrastructures in running such
applications. In doing so, besides integrating and organizing what has been
done in this direction, we also put into perspective the fact that the human
aspects of the workers in such systems introduce new challenges in terms of,
for example, task assignment, dependency management, and fault prevention and
tolerance. We discuss how they are related to distributed systems and other
areas of knowledge.Comment: 3 figures, 1 tabl
- …