9 research outputs found
Redundancy Scheduling with Locally Stable Compatibility Graphs
Redundancy scheduling is a popular concept to improve performance in
parallel-server systems. In the baseline scenario any job can be handled
equally well by any server, and is replicated to a fixed number of servers
selected uniformly at random. Quite often however, there may be heterogeneity
in job characteristics or server capabilities, and jobs can only be replicated
to specific servers because of affinity relations or compatibility constraints.
In order to capture such situations, we consider a scenario where jobs of
various types are replicated to different subsets of servers as prescribed by a
general compatibility graph. We exploit a product-form stationary distribution
and weak local stability conditions to establish a state space collapse in
heavy traffic. In this limiting regime, the parallel-server system with
graph-based redundancy scheduling operates as a multi-class single-server
system, achieving full resource pooling and exhibiting strong insensitivity to
the underlying compatibility constraints.Comment: 28 pages, 4 figure
Un seul serveur vous manque, et tout est découplé !
International audienceLes infrastructures de cloud computing reposent sur des grappes de serveurs qui se partagent des requêtes. Leur dimensionnement nécessite de prédire leurs performances. L’un des principaux défis consiste à tenir compte des interactions complexes entre serveurs lorsqu’ils sont mis en commun pour traiter des requêtes en parallèle, en intégrant certaines contraintes comme la localité des données qui restreignent les affectations possibles. Pour les analyser, nous représentons ces contraintes par un graphe d’affectation entre les requêtes et les serveurs ; les ressources sont partagées selon l’équité équilibrée, qui a l’avantage de rendre les performances du système insensibles à la distribution de la taille des requêtes. Notre principale contribution est une nouvelle approche récursive pour calculer les métriques de performance, consistant à décomposer le système en éteignant les serveurs les uns après les autres. Même si la complexité des formules obtenues peut être exponentielle en la taille de la grappe dans le pire cas, nous illustrons leur intérêt pratique en identifiant de vastes familles de structures pour lesquelles elle devient polynomiale. Ceci étend considérablement l’ensemble des systèmes pour lesquels des métriques de performance explicites sont accessibles
Un seul serveur vous manque, et tout est découplé !
International audienceLes infrastructures de cloud computing reposent sur des grappes de serveurs qui se partagent des requêtes. Leur dimensionnement nécessite de prédire leurs performances. L’un des principaux défis consiste à tenir compte des interactions complexes entre serveurs lorsqu’ils sont mis en commun pour traiter des requêtes en parallèle, en intégrant certaines contraintes comme la localité des données qui restreignent les affectations possibles. Pour les analyser, nous représentons ces contraintes par un graphe d’affectation entre les requêtes et les serveurs ; les ressources sont partagées selon l’équité équilibrée, qui a l’avantage de rendre les performances du système insensibles à la distribution de la taille des requêtes. Notre principale contribution est une nouvelle approche récursive pour calculer les métriques de performance, consistant à décomposer le système en éteignant les serveurs les uns après les autres. Même si la complexité des formules obtenues peut être exponentielle en la taille de la grappe dans le pire cas, nous illustrons leur intérêt pratique en identifiant de vastes familles de structures pour lesquelles elle devient polynomiale. Ceci étend considérablement l’ensemble des systèmes pour lesquels des métriques de performance explicites sont accessibles
QoS-Driven Job Scheduling: Multi-Tier Dependency Considerations
For a cloud service provider, delivering optimal system performance while
fulfilling Quality of Service (QoS) obligations is critical for maintaining a
viably profitable business. This goal is often hard to attain given the
irregular nature of cloud computing jobs. These jobs expect high QoS on an
on-demand fashion, that is on random arrival. To optimize the response to such
client demands, cloud service providers organize the cloud computing
environment as a multi-tier architecture. Each tier executes its designated
tasks and passes the job to the next tier; in a fashion similar, but not
identical, to the traditional job-shop environments. An optimization process
must take place to schedule the appropriate tasks of the job on the resources
of the tier, so as to meet the QoS expectations of the job. Existing approaches
employ scheduling strategies that consider the performance optimization at the
individual resource level and produce optimal single-tier driven schedules. Due
to the sequential nature of the multi-tier environment, the impact of such
schedules on the performance of other resources and tiers tend to be ignored,
resulting in a less than optimal performance when measured at the multi-tier
level. In this paper, we propose a multi-tier-oriented job scheduling and
allocation technique. The scheduling and allocation process is formulated as a
problem of assigning jobs to the resource queues of the cloud computing
environment, where each resource of the environment employs a queue to hold the
jobs assigned to it. The scheduling problem is NP-hard, as such a biologically
inspired genetic algorithm is proposed. The computing resources across all
tiers of the environment are virtualized in one resource by means of a single
queue virtualization. A chromosome that mimics the sequencing and allocation of
the tasks in the proposed virtual queue is proposed