ESWAR RAO wrote:
Hi Joshua,

Thanks for the response.

As you mentioned, I went through below which has taskflow as celery
front end:

https://etherpad.openstack.org/p/TaskFlowWorkerBasedEngine

https://blueprints.launchpad.net/taskflow/+spec/distributed-celery

I think the idea way-back-when was celery would be a backend, not a front-end, although my memory might be fuzzy in this area (since it was a few years ago).



I guess if we have a job = task1 + task2 ; if we execute them through a
taskflow parallel pattern, they will be executed in parallel.

Just curious to know that since this threading is built on
eventlets/green threads/python threads they will be affected by GIL and
we may not utilize multi-core capability of our systems.

So that assumes u are using a taskflow engine which is powered by threads (or greenthreads), there are two types that do not use threads but actually run out of process:

http://docs.openstack.org/developer/taskflow/engines.html#types

1. http://docs.openstack.org/developer/taskflow/workers.html (runs out of process, across different machines, using kombu for triggering start/status... of tasks on other machines)

2. A parallel engine that uses a process pool executor (https://docs.python.org/dev/library/concurrent.futures.html#processpoolexecutor) will then execute tasks using out of process child-processes.

So both of these don't have the same GIL issue (although greenthreads by there very nature are not affected by the GIL either).

The example (aptly named hello world) shows these different types (although it doesn't show the worker based one, since that requires more things to setup) @ https://github.com/openstack/taskflow/blob/master/taskflow/examples/hello_world.py#L82

-Josh


It seems in celery, we can have these tasks run as multiple processes so
that they are not affected by GIL.

Right, the above starts to show why taskflow is really a super-set of celery (for some combination/interpretation of what taskflow or celery do).


Please correct me if my understanding is wrong ??

Thanks
Eswar


On Sat, Jan 9, 2016 at 3:06 AM, Joshua Harlow <harlo...@fastmail.com
<mailto:harlo...@fastmail.com>> wrote:

    I also updated
    https://wiki.openstack.org/wiki/DistributedTaskManagement to denote
    that said wiki is no longer active (it was an attempt to back a
    taskflow engine[1] with celery); although if u are interested in
    continuing down this path feel free.

    Hopefully that clears up some 'confusion' around that wiki.

    [1] http://docs.openstack.org/developer/taskflow/engines.html


    Joshua Harlow wrote:

        So actually they are quite different, (although similar at some
        level),

        Given that celery isn't really a replacement for taskflow
        although one
        could say, from what I've heard from others, that taskflow is a
        super-set of what celery is so taskflow likely can replace parts of
        celery (but not vice-versa).

        Feel free to jump on #openstack-state-management IRC channel if
        u want
        to chat in person more about why (it gets into details that
        might just
        be easier to explain in person).

        ESWAR RAO wrote:

            Hi All,

            Please let me know whether celery is replacement for taskflow.

            As per my understanding, task-flow can break jobs into tasks
            and execute
            them.

             From celery wiki, it also does almost similar behaviour.

            I guess in most of openstack components taskflow is widely used.
            Any places where its being replaced with celery ??

            Celery: https://wiki.openstack.org/wiki/Celery
            Distributed:
            https://wiki.openstack.org/wiki/DistributedTaskManagement
            TaskFlow: https://wiki.openstack.org/wiki/TaskFlow

            Thanks
            Eswar

            
__________________________________________________________________________

            OpenStack Development Mailing List (not for usage questions)
            Unsubscribe:
            openstack-dev-requ...@lists.openstack.org?subject:unsubscribe 
<http://openstack-dev-requ...@lists.openstack.org?subject:unsubscribe>
            http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


        _______________________________________________
        Mailing list:
        http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
        Post to : openst...@lists.openstack.org
        <mailto:openst...@lists.openstack.org>
        Unsubscribe :
        http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack


    _______________________________________________
    Mailing list:
    http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
    Post to     : openst...@lists.openstack.org
    <mailto:openst...@lists.openstack.org>
    Unsubscribe :
    http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack



__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to