Home
Objectives
Scenarios
MOSIX
Demand Forecast
Motion Tracking
Architecture
Participants
Publications
News & Events
Master Thesis
Contact
Links
 
 

MOSIX

Description

The MOSIX (http://www.mosix.org) market consists of three components respectively parties:

  • resource requesters who would like to submit a job to MOSIX,
  • resource providers who provide clusters and nodes to MOSIX, and
  • market allocates jobs to resources and vice versa.

Both the resource requesters (the buyers) and the resource providers respectively clusters (the sellers) connect to a central component when using MOSIX. This central component consists of middleware extensions which connect MOSIX to the market component (MOSIX market). This component consists of stable interfaces which allow pluggable market mechanisms. The economic logic is encapsulated behind these stable interfaces and transparent for the MOSIX system. Consequently, the market mechanism can be exchanged and tested without needing to modify MOSIX as such.

Participants

Resource providers

The resource providers are offering clusters of nodes with processing power (CPU) and memory to MOSIX for the solution of computational problems (jobs), either their own jobs or jobs by third parties. Each cluster consists of either heterogeneous nodes that differ regarding CPU and memory (one node with 3 GHz and 5 GB, one node with 2 GHz and 4 GB, etc.) or homogenous nodes, that is all nodes within one cluster have the same configuration. Resource providers may require a minimum payment (reservation price) in order to be willing to provide their resources to third parties. For example, a resource provider may require a minimum payment of $10 for 2 GHz CPU and 4 GB memory. Based on offers by the resource providers and the resource requesters, the market mechanism determines an actual payment which may be higher than but at least equal to the specified reservation price. In a simple scenario, all clusters might require one common reservation price, which is for simplicity assumed to be 0. Consequently we have virtually one resource provider – MOSIX – and multiple (n) buyers  1:n-relationship. In more complex scenarios, each cluster might require a different reservation price. For example, cluster C1 might claim $20 for 2 GHz CPU and 4 GB memory, cluster C2 might claim $15 for 2 GHz CPU and 4 GB memory, and cluster C3 might claim $10 for 2 GHz CPU and 4 GB memory. In this case, we have multiple (m) sellers and multiple (n) buyers and a m:n-relationship. Resource providers might be able to specify time constraints if they only want to provide resources within a certain timeframe. For example, provider (cluster) C1 might decide to offer its resources during night time from 10 pm to 7 am the following day when its cluster is idle. Consequently, resource providers submit offers to the market respectively MOSIX – so called “bids” – by specifying

  • The amount of CPU they are willing to provide;
  • The amount of memory they are willing to provide;
  • The reservation price (minimum payment) they demand in exchange for these resources;
  • Possibly the time beginning from which they are able to provide these resources;
  • Possibly the time until which they are able to provide these resources.

For example, the owner of cluster C1 might offer 2 GHz CPU and 4 GB memory for at least $20 from 10 pm to 7 am.

Resource requesters

The resource requesters have a job to be computed, generally computationally large-scale, by using MOSIX. Each job requires a certain amount of both CPU and memory , e.g. 2 GHz and 4 GB. In return for the execution of the job, the resource requesters are willing to pay a maximum amount of money corresponding to the value they associate with the results of the job. For example, the requester may be willing to pay up to $30 for the execution of a job which requires 2 GHz and 4 GB. Analogically to the resource providers, the market mechanism determines an actual payment which may be lower than but at most equal to the specified amount of money. In more complex settings, the resource requesters may specify time constraints for a job. Firstly, this may be a timeframe consisting of a starting time and a deadline until which the job has to be finished at the latest. Minimum starting time might relaxed by taking current time by default. Maximum end time might be relaxed by taking a predefined timeframe such as one day or one week by default. Additionally, as in the MACE service, users might specify the length of the actual timeslot which they want to obtain within this window. For example, a user might request 2 GHz and 4 GB for three hours between 10 pm and 7 am. However, except in specific domains and cases, users will not be able to exactly specify the runtime of their job. Consequently, resource requesters submit bids to the market respectively MOSIX specifying

  • The amount of CPU they need for the computation of their job; The required amount of memory;
  • The maximum price they are willing to pay for these resources;
  • Possibly the time beginning from which the job may start;
  • Possibly the time until which the job needs to be finished (deadline);
  • Possibly the time runtime of the job, i.e. the width of the timeslot they want to obtain within the specified window.

For example, user B1 might request 2 GHz CPU and 4 GB memory for up to $20 and three hours between 10 pm to 7 am. Time constraints might furthermore imply compensation issues for jobs which have been accepted but which are not finished in time. This also depends on the nature of the job. If the requester needs to obtain the results of the job within the specified timeframe to get any value, the user might be compensated with the full payment and possibly an additional sanction. For example, if the requester and the provider of the resource agreed on $10 for the execution of the job, the requester may receive the $10 and an additional $10 as sanction. If the requester can still use the result of the current status of the job after the specified deadline, possibly with a lower associated value, the user might be compensated with a fraction of the full payment proportional to the status of the job. For instance, if the job is only executed to 50%, the requester might receive $5 of the $10 on which he and the provider agreed and the job is finished as soon as possible. The market mechanism determines the allocation of jobs to resources. This allocation might take place continuously – when a job is finished, new request is submitted to MOSIX, or new resources are added to MOSIX – or periodically, e.g. every x seconds or minutes. A job which is not allocated right now might either be rejected or remain in the market in case this does not violate possible time constraints, i.e. the job might be started later and still be able to finish within the specified timeframe. The allocation of jobs to resources might either be static or dynamic. In the static case, a job utilizes the resources it is assigned to at the beginning until it is finished or hibernated. In the dynamic case, the job might get reallocated to other resources according to the situation in the marketplace, for example if a cheaper cluster (node) is released. Additionally, resource requesters may have budget constraints, i.e. a maximum amount of money available for the execution of jobs and the payment of the associated costs/prices. Each MOSIX user might thus possess a “prepaid” account in the MOSIX system from which the execution of jobs is paid and which can be “recharged” in case new funding is available. If the execution of a job and the associated payment would exceed the limit set by the account, the job might be rejected if it is a new job, killed if already in process, or hibernated until the account is recharged.

Use cases

Basic scenario

This is a simple scenario with a set of different clusters, e.g. three as in figure 1, where each cluster consists of homogenous nodes. For example, cluster C1 consists of three nodes with 1 GHz and 1 GB each, cluster C2 consists of four nodes with 2 GHz and 2GB each, and cluster C3 consists of five nodes with 3 GHz and 3 GB each. The requests consist of three attributes A1 to A3 as indicated in figure 1, the required resources and a maximum amount of money the user is willing to pay for these resources. The offers of the resource providers consist of two attributes, the CPU and memory the owner is willing to provide. The resource providers such as academic departments within one university offer their resources for free and have no reservation price. Consequently we have a 1:n relationship between MOSIX as the virtual seller or resource provider and the n resource requesters or buyers. Neither resource requesters nor resource providers do have any time constraint, that is requesters submit jobs to MOSIX that can be executed at any time in the future and providers in turn offer their resources 24x7. Consequently, there are no compensation payments since no deadline can be violated. Resource requesters do not have any budgetary limitations. We assume they can pay the maximum price they indicated in their request for all submitted requests. The allocation of jobs to clusters takes place periodically, e.g. every two minutes. Requests which are not accepted by the market because the requester’s willingness to pay is too low are rejected and do not stay in the system. Other requesters are willing to pay more for the same resources. The allocation of jobs to resources (clusters) is static. Once a job is assigned to a certain cluster, it does not migrate to another cluster but stays there until it is finished. The resulting parameter values are:

  • Heterogeneous clusters
  • Homogenous nodes within each cluster
  • Resource providers do not have reservation prices No time constraints, neither on the supply side nor on the demand side
  • No budget constraints
  • No compensation
  • Periodic execution of the allocation Rejection of unallocated jobs Static allocation, i.e. no reallocation of assigned jobs
Complex scenario

A derived complex scenario is characterized by the following parameter values:

  • Heterogeneous clusters
  • Homogenous nodes within each cluster
  • Resource providers do have reservation prices
  • Timeframe (min starting time and max end time) on both the supply and the demand side, no computing time.
  • Budget constraints with compensation
  • Periodic execution of the allocation
  • Rejection of unallocated jobs
  • Dynamic allocation, i.e. reallocation of assigned jobs with respect to situation in the market

Front page

News

  • Oct 16, 2009:
    Final review meeting
  • Jun 10-11, 2009:
    Live demo at the GRID collaboration days
  • Feb 15-21, 2009:
    SORMA consortium and Developers meeting in Barcelona.
  • Sep 26, 2008:
    2nd Annual Review in Brussels
  •  

  • Sep 23-24, 2008:
    The second Concertation meeting within the SORMA project.

  • Top