Changes between Version 14 and Version 15 of replication_distribution


Ignore:
Timestamp:
Oct 13, 2016, 5:50:42 PM (8 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • replication_distribution

    v14 v15  
    2323
    2424ALMOS-MK defines seven vseg types:
    25 || type        ||               ||                  ||                                                                                  ||
    26 || CODE     ||  private   || localized   || Read Only one per cluster / replicated in all active clusters        ||
    27 || DATA       ||  public   || distributed || Read/Write one per process / non replicated                              ||
    28 || HEAP      ||  public   || distributed || Read/Write one per process / non replicated                              ||
    29 || STACK    ||  private  || localized    || Read/Write one per thread / in same cluster as the thread          ||
    30 || MMAP     ||  public   || distributed || one per mmap(anon)                                                 ||
    31 || FILE        ||  public   || localized    || one per mmap(file) / in same cluster as the file         ||
    32 || REMOTE ||  public   || localized    || one per remote_mmap() / user defined placement     ||
     25|| type        ||               ||                  ||                                                                                 ||
     26|| CODE     ||  private   || localized   || Read Only   || one physical mapping per cluster       ||
     27|| DATA       ||  public   || distributed || Read/Write || one single physical mapping               ||
     28|| HEAP      ||  public   || distributed || Read/Write || one single physical mapping               ||
     29|| STACK    ||  private  || localized    || Read/Write || one physical mapping per thread        ||
     30|| MMAP     ||  public   || localized    || Read/Write || one per mmap(anon)                          ||
     31|| FILE        ||  public   || localized    || Read/Write || one per mmap(file)                              ||
     32|| REMOTE ||  public   || localized    || Read/Write || one per remote_mmap()                      ||
    3333
    34  1.'''CODE''' : This vseg contains the user application code. ALMOS-MK creates one CODE vseg per cluster. For a process P, the CODE vseg is registered in the VSL(P,Z) when the process is created in reference cluster Z. In the other clusters X, the CODE vseg is registered  in VSL(P,X) when a page fault is signaled by a thread of P running in cluster X.
     34 1.'''CODE''' : This private vseg contains the user application code. ALMOS-MK creates one CODE vseg per cluster. For a process P, the CODE vseg is registered in the VSL(P,Z) when the process is created in reference cluster Z. In the other clusters X, the CODE vseg is registered in VSL(P,X) when a page fault is signaled by a thread of P running in cluster X. In each cluster X, the CODE vseg
     35being private is physically mapped in cluster X.
    3536
    3637 1. '''DATA''' : This vseg contains the user application global data. ALMOX-MK creates one single DATA vseg per process, that is registered in the reference VSL(P,Z) when the process P is created in reference cluster Z.  In the other clusters X, the DATA vseg is registered  in VSL(P,X) when a page fault is signaled by a thread of P running in cluster X. To avoid contention, this vseg is physically distributed on all clusters. For each page, the physical mapping is decided by the reference cluster Z, but the page can be mapped on any cluster Y.
    3738
    38  1. '''STACK''' : For each thread T of process P running in cluster X, ALMOS_MK creates one STACK vseg. This vseg is registered in the VSL(P,X) when the thread descriptor is created in cluster X. To enforce locality, this vseg is physically mapped in cluster X.
     39 1. '''STACK''' : This private vseg contains the execution stack of a thread. For each thread T of process P running in cluster X, ALMOS_MK creates one STACK vseg. This vseg is registered in the VSL(P,X) when the thread descriptor is created in cluster X. To enforce locality, this vseg is physically mapped in cluster X.
    3940
    4041 1. '''HEAP''' This vseg is actually used by the malloc() library. ALMOX-MK creates one single HEAP vseg per process, that is registered in the reference VSL(P,Z) when the process P is created in reference cluster Z.  In the other clusters X, the HEAP vseg is registered  in VSL(P,X) when a page fault is signaled by a thread of P running in cluster X. To avoid contention, this vseg is physically distributed on all clusters. For each page, the physical mapping is decided by the reference cluster Z, but the page can be mapped on any cluster Y.
    4142
    42  1. '''MMAP''' : This type of vseg is dynamically created by ALMOS-MK to serve an anonymous mmap() system call.
    43  1. '''FILE''' : This type of vseg is dynamically created by ALMOS-MK to serve an file based mmap() system call. This vseg being localized
    44  1. '''REMOTE''' : This type of vseg is dynamically created by ALMOS-MK to serve a remote_mmap() system call.
     43 1. '''MMAP''' : This type of vseg is dynamically created by ALMOS-MK to serve an anonymous mmap() system call executed by a client thread running in a cluster X. The first vseg registration and the physicaI mapping are done by the reference cluster Z, but the vseg is mapped in the client cluster X.
     44
     45 1. '''FILE''' : This type of vseg is dynamically created by ALMOS-MK to serve a file based mmap() system call executed by a client thread running in a cluster X. The first vseg registration and the physicaI mapping are done by the reference cluster Z, but the vseg is mapped in cluster Y containing the file cache.
     46
     47 1. '''REMOTE''' : This type of vseg is dynamically created by ALMOS-MK to serve a remote_mmap() system call executed by a client thread running in a cluster X. The first vseg registration and the physicaI mapping are done by the reference cluster Z, but the vseg is mapped in cluster Y specified by the user.
    4548
    4649