Exemplo n.º 1
0
 def utilisation(self):
     if self._utilisation is not None:
         return self._utilisation
     self._utilisation = compute_load(self.df,
                                      col_begin='starting_time',
                                      col_end='finish_time',
                                      col_cumsum='proc_alloc')
     return self._utilisation
Exemplo n.º 2
0
 def utilisation(self):
     if self._utilisation is not None:
         return self._utilisation
     self._utilisation = compute_load(self.df,
                                      col_begin='starting_time',
                                      col_end='finish_time',
                                      col_cumsum='proc_alloc')
     return self._utilisation
Exemplo n.º 3
0
    def queue(self):
        '''
        Calculate cluster queue size over time in number of procs.

        :returns:
            a time indexed serie that contain the number of used processors
        '''
        # Do not re-compute everytime
        if self._queue is not None:
            return self._queue

        proc = "requested_number_of_processors"
        self._queue = compute_load(self.df, 'submission_time', 'starting_time',
                                   proc)
        return self._queue
Exemplo n.º 4
0
    def queue(self):
        '''
        Calculate cluster queue size over time in number of procs.

        :returns:
            a time indexed serie that contain the number of used processors
        '''
        # Do not re-compute everytime
        if self._queue is not None:
            return self._queue

        proc = "requested_number_of_resources"
        self._queue = compute_load(self.df, 'submission_time', 'starting_time',
                                   proc)
        return self._queue
Exemplo n.º 5
0
    def utilisation(self):
        '''
        Calculate cluster utilisation over time:
            nb procs used / nb procs available

        :returns:
            a time indexed serie that contain the number of used processors
            It is based on real time

        TODO: Add ID list of jobs running and ID list of jobs in queue to
            the returned dataframe
        '''
        # Do not re-compute everytime
        if self._utilisation is not None:
            return self._utilisation

        self._utilisation = compute_load(self.df, 'starting_time',
                                         'finish_time', 'proc_alloc',
                                         self.UnixStartTime)
        return self._utilisation
Exemplo n.º 6
0
    def queue(self):
        '''
        Calculate cluster queue size over time in number of procs.

        :returns:
            a time indexed serie that contain the number of used processors
            It is based on real time if UnixStartTime is defined
        '''
        # Do not re-compute everytime
        if self._queue is not None:
            return self._queue

        # sometimes "proc_req" is not provided
        if (self.df.proc_req == -1).any():
            proc = "proc_alloc"
        else:
            proc = "proc_req"
        self._queue = compute_load(self.df, 'submission_time', 'starting_time',
                                   proc, self.UnixStartTime)
        return self._queue
Exemplo n.º 7
0
    def queue(self):
        '''
        Calculate cluster queue size over time in number of procs.

        :returns:
            a time indexed serie that contain the number of used processors
            It is based on real time if UnixStartTime is defined
        '''
        # Do not re-compute everytime
        if self._queue is not None:
            return self._queue

        # sometimes "proc_req" is not provided
        if (self.df.proc_req == -1).any():
            proc = "proc_alloc"
        else:
            proc = "proc_req"
        self._queue = compute_load(self.df, 'submission_time', 'starting_time',
                                   proc, self.UnixStartTime)
        return self._queue
Exemplo n.º 8
0
    def utilisation(self):
        '''
        Calculate cluster utilisation over time:
            nb procs used / nb procs available

        :returns:
            a time indexed serie that contain the number of used processors
            It is based on real time

        TODO: Add ID list of jobs running and ID list of jobs in queue to
            the returned dataframe
        '''
        # Do not re-compute everytime
        if self._utilisation is not None:
            return self._utilisation

        self._utilisation = compute_load(self.df,
                                         'starting_time',
                                         'finish_time',
                                         'proc_alloc', self.UnixStartTime)
        return self._utilisation