I have seen the clocks out of sync.  I use a MPI program that checks the
local time after syncing on a barrier.

I also use:
bgilmer@jupiter:~> srun -t 1 -N90 date +%s | sort -n | uniq -c
     90 1484229062

to see if there is a spread.  On a small job like this there should not be
any variance. As the number of tasks increase the you should begin to see a
spread.

bgilmer@jupiter:~> srun -t 1 -n 1024 date +%s | sort -n | uniq -c
      1 1484229252
    343 1484229253
    278 1484229254
    232 1484229255
    170 1484229256

This was run on a small Cray XC.

Hope this was helpful.


On Wed, Jan 11, 2017 at 1:22 PM, Pritchard Jr., Howard <[email protected]>
wrote:

> Hi SLURM folks,
>
> I recently got SLURM (16.05.6) set up on a small cluster (48 nodes x86_64
> + Intel OPA)
> and things appear to be nominal except for one odd performance problem
> as far as srun launch times go.  I don’t observe this on other clusters
> running
> SLURM at our site.
>
> What I’m observing is that regardless of whether or not the application
> being
> launched is a command (e.g. /bin/hostname) or an MPI application, I get
> reasonable
> job launch times when using one node, but as soon as I use two or
> morenodes, there
> is about a 10 second overhead to get the processes on the additional nodes
> started:
>
> For example:
>
> [hpp@hi-master ~]$ srun -n 8 -N 1 date
>
> Wed Jan 11 12:11:29 MST 2017
>
> Wed Jan 11 12:11:29 MST 2017
>
> Wed Jan 11 12:11:29 MST 2017
>
> Wed Jan 11 12:11:29 MST 2017
>
> Wed Jan 11 12:11:29 MST 2017
>
> Wed Jan 11 12:11:29 MST 2017
>
> Wed Jan 11 12:11:29 MST 2017
>
> Wed Jan 11 12:11:29 MST 2017
>
> [hpp@hi-master ~]$ srun -n 8 -N 2 date
>
> Wed Jan 11 12:10:35 MST 2017
>
> Wed Jan 11 12:10:35 MST 2017
>
> Wed Jan 11 12:10:35 MST 2017
>
> Wed Jan 11 12:10:35 MST 2017
>
> Wed Jan 11 12:10:44 MST 2017
>
> Wed Jan 11 12:10:44 MST 2017
>
> Wed Jan 11 12:10:44 MST 2017
>
> Wed Jan 11 12:10:44 MST 2017
>
> [hpp@hi-master ~]$ srun -n 8 -N 4 date
>
> Wed Jan 11 12:10:57 MST 2017
>
> Wed Jan 11 12:10:57 MST 2017
>
> Wed Jan 11 12:11:07 MST 2017
>
> Wed Jan 11 12:11:06 MST 2017
>
> Wed Jan 11 12:11:07 MST 2017
>
> Wed Jan 11 12:11:06 MST 2017
>
> Wed Jan 11 12:11:07 MST 2017
>
> Wed Jan 11 12:11:07 MST 2017
>
>
> Anyone observed this problem before?
>
>
> Any suggestions on how to resolve this problem would be much
>
> appreciated.
>
>
> Thanks,
>
>
> Howard
>
>
> --
> Howard Pritchard
> HPC-DES
> Los Alamos National Laboratory
>
>


-- 
Speak when you are angry--and you will make the best speech you'll ever
regret.
  - Laurence J. Peter
/*
  Everyone's hello world
  This one displays the current time.
 
To build: 
 sphinx:~ # module load PrgEnv-gnu
 sphinx:~ # module load craype-haswell
 sphinx:~ # module load cray-mpich
 sphinx:~ # CC tsync.c
 
To run:
  srun -N4 ./a.out %s

*/
#include "mpi.h"
#include <time.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    int rank, nprocs;
    char outstr[200];
    time_t t;
    struct tm *tmp;
    char host[MPI_MAX_PROCESSOR_NAME];
    int name_len;

    MPI_Init(&argc,&argv);

    // Get the number of processors
    MPI_Comm_size(MPI_COMM_WORLD,&nprocs);

    // Get the rank
    MPI_Comm_rank(MPI_COMM_WORLD,&rank);

    // Get the name of the processor
    MPI_Get_processor_name(host, &name_len);

    MPI_Barrier(MPI_COMM_WORLD);

    t = time(NULL);
    tmp = localtime(&t);
    if (tmp == NULL) {
        perror("localtime");
        MPI_Finalize();
        exit(EXIT_FAILURE);
    }

    if (strftime(outstr, sizeof(outstr), argv[1], tmp) == 0) {
        fprintf(stderr, "strftime returned 0");
        MPI_Finalize();
        exit(EXIT_FAILURE);
    }

    printf("%s %s %d %d\n", outstr, host, rank, nprocs);

    MPI_Finalize();
    exit(EXIT_SUCCESS);
}

Reply via email to