locked
what's Sequential processing? RRS feed

  • Question

  • hi all,

    what's the meaning of Sequential?

    i right clicked a database in SSMS2008, click "Process", and for processing options, i chose "Sequential".

    after the processing started, i was shocked to find that many partitions were processing at the same time.

    and from the datasource side, i could find many active connections/sessions from the AS.

     

    now i'm quit confused about the "Sequential" Option.

    anyone help me out?



    Andrew
    BI, Data Mining, Analytical CRM
    Monday, December 27, 2010 10:33 AM

Answers

  • Hi Andrew,

    If you refer to the SQL Server 2008 Analysis Services Performance Guide, some server properties that control the number of jobs and threads are discussed:

    ".. The maximum number of jobs that can execute in parallel for the current operation operations (including both processing and querying) is determined by the CoordinatorExecutionMode property:

            A negative specifies the maximum number of parallel jobs that can start per core per operation.

            A value of zero indicates no limit.

            A positive value specifies an absolute number of parallel jobs that can start per server.

    The default value for the CoordinatorExecutionMode is -4, which indicates that four jobs will be started in parallel per core. This value is sufficient for most server environments. If you want to increase the level of parallelism in your server, you can increase the value of this property either by increasing the number of jobs per processor or by setting the property to an absolute value.

    While this globally increases the number of jobs that can execute in parallel, CoordinatorExecutionMode is not the only property that influences parallel operations. You must also consider the impact of other global settings such as the MaxThreads server properties that determine the maximum number of querying or processing threads that can execute in parallel (see Improving Multiple-User Performance for more information about thread settings). In addition, at a more granular level, for a given processing operation, you can specify the maximum number of processing tasks that can execute in parallel using the MaxParallel command. .." 


    - Deepak
    • Marked as answer by Raymond-Lee Wednesday, January 5, 2011 1:51 AM
    Wednesday, December 29, 2010 5:06 AM

All replies

  • The paper below describes the <Parallel> option for a sequence of <Process> commands in a batch - by default the commands are executed sequentially. But in your scenario, there is only a single process command, for the entire database - so parallel or sequential processing will be the same. You can try explicitly adding the objects you want to process sequentially to the SSIS Analysis Services Processing task.

    Analysis Services 2005 Processing Architecture

    ...

    <Parallel>

    Batch commands are always executed sequentially. However, the Parallel command within a Batch allows you to specify multiple Process commands that are executed in parallel. Parallel is a special command in that it can only appear inside a Batch; it cannot be sent by itself. It cannot contain any command other than Process. It has the following syntax:

    <Parallel MaxParallel="0">
      <Process>cmd_1</Process>
      <Process>cmd_2</Process>
      <Process>cmd_3</Process>
      ...
    </Parallel>
    

    - Deepak
    Tuesday, December 28, 2010 1:43 AM
  • Hi Deepak,

    thanks.

    u've definitely renewed my understanding of Sequential processing.

    it means executing the command one by one, but not processing the objects one by one ?!

    then how to control how many threads/jobs at the same time can read data from source?

    too many connections will pose too much pressure upon the source database.

    Thanks.


    Andrew
    BI, Data Mining, Analytical CRM
    Tuesday, December 28, 2010 3:09 AM
  • ".. then how to control how many threads/jobs at the same time can read data from source? .." - you can set the Max number of parallel processing jobs, as mentioned in the paper above:

    .. The MaxParallel attribute specifies the degree of parallelism that the Analysis server can use when executing this Parallel command. It indicates the number of processing jobs that can run concurrently. Zero indicates unlimited parallelism, constrained only by hardware and server workload. The default is zero. ..


    - Deepak
    Tuesday, December 28, 2010 3:03 PM
  • Hi Deepak,

    the MaxParallel attribute is only available for the Parallel command.

    what if i choose the Sequential processing option, which is essentially a batch command?

     

    Thanks


    Andrew
    BI, Data Mining, Analytical CRM
    Wednesday, December 29, 2010 1:06 AM
  • Hi Andrew,

    If you refer to the SQL Server 2008 Analysis Services Performance Guide, some server properties that control the number of jobs and threads are discussed:

    ".. The maximum number of jobs that can execute in parallel for the current operation operations (including both processing and querying) is determined by the CoordinatorExecutionMode property:

            A negative specifies the maximum number of parallel jobs that can start per core per operation.

            A value of zero indicates no limit.

            A positive value specifies an absolute number of parallel jobs that can start per server.

    The default value for the CoordinatorExecutionMode is -4, which indicates that four jobs will be started in parallel per core. This value is sufficient for most server environments. If you want to increase the level of parallelism in your server, you can increase the value of this property either by increasing the number of jobs per processor or by setting the property to an absolute value.

    While this globally increases the number of jobs that can execute in parallel, CoordinatorExecutionMode is not the only property that influences parallel operations. You must also consider the impact of other global settings such as the MaxThreads server properties that determine the maximum number of querying or processing threads that can execute in parallel (see Improving Multiple-User Performance for more information about thread settings). In addition, at a more granular level, for a given processing operation, you can specify the maximum number of processing tasks that can execute in parallel using the MaxParallel command. .." 


    - Deepak
    • Marked as answer by Raymond-Lee Wednesday, January 5, 2011 1:51 AM
    Wednesday, December 29, 2010 5:06 AM
  • Hi Deepak,

    If only there were an option akin to MaxParellel for Sequential processing.

    in fact, i don't want to change these server properties.

    i'm now try to use a small value, say 4, for OLAP\Process\DatabaseConnectionPoolMax.

     

    Thanks


    Andrew
    BI, Data Mining, Analytical CRM
    Wednesday, December 29, 2010 7:13 AM