I am trying to use the work-stealing scheduler, but could not find detailed
documentation.

If I have 16 tasks, which I want to parallelize on 4 threads, static
scheduling would be:

for i= 1 to 4
     async(i, i*4, (i+1)*4) *// do tasks i*4 to (i+1)*4-1*

This assigns equal tasks to those threads. Now, if I have to use
work-stealing scheduler: is no change required? Only flag has to be
different? If the program itself needs to implement logic of work-stealing,
then work-stealing scheduler itself will have nothing to do. Please let me
know how should I implement this. I will be thankful for your help.


Thanks and Regards
Sparsh Mittal



On Wed, Apr 17, 2013 at 2:56 PM, Olivier Tardieu <tard...@us.ibm.com> wrote:

> Hi,
>
> This option has not been properly maintained lately.
> So it may have problems when running with trunk.
> It was developed for X10 2.2 and was mostly tested with r22646.
> It has some limitations that we described in our PPoPP'12 paper "A
> Work-Stealing Scheduler for X10?s Task Parallelism with Suspension".
> It also has a few bugs: it does not handle complicated loops properly and
> shortcut assignment operators.
>
> No change is required to the program.
> In fact, it is designed to deliver better performance than the default
> scheduler in the presence of many small tasks.
> With sequential programs or programs with few large tasks, it performs
> worse however.
> As usual, X10_NTHREADS needs to be set to the number of cores available to
> each place (no change).
>
> Olivier
>
>
> Sparsh Mittal <sparsh0mit...@gmail.com> wrote on 04/15/2013 10:26:31 AM:
>
> > From: Sparsh Mittal <sparsh0mit...@gmail.com>
> > To: x10-users@lists.sourceforge.net
> > Date: 04/15/2013 10:35 AM
> > Subject: [X10-users] Inquiring about how to properly x10's work-
> > stealing scheduler
> >
> > Hello
> >
> > I saw:
> >
> > There is an experimental Cilk-style workstealing scheduler available
> > in recent X10 releases (use x10c++ -WORK_STEALING=true to compile
> > your program), however it is still in development and may have
> > implementation limitations that prevent it from working on some
> > input programs.
> >
> > I wanted to use this scheduler. I have a program which does say 10,
> > 000 tasks. I have parallelized it using say 8 threads.
> >
> >  Each task is independent and there is no communication required for
> > solving any task. There is no dependency b/w tasks. Once my program
> > is written, I can use
> > x10c++ -WORK_STEALING=true Program.x10
> >
> > I wanted to ask, does my program have to spawn 4 threads and
> > distribute the tasks specifically & individually to them and use -
> > WORK_STEALING=true option; or is there any other way to use this
> > work-stealing scheduler.  In other words, how do I use this scheduler?
> >
> > I will be thankful for your reply.
>
> > Thanks and Regards
> > Sparsh Mittal
> >
>
> ------------------------------------------------------------------------------
> > Precog is a next-generation analytics platform capable of advanced
> > analytics on semi-structured data. The platform includes APIs for
> building
> > apps and a phenomenal toolset for data science. Developers can use
> > our toolset for easy data analysis & visualization. Get a free account!
> > http://www2.precog.com/precogplatform/slashdotnewsletter
> > _______________________________________________
> > X10-users mailing list
> > X10-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/x10-users
>
>
>
> ------------------------------------------------------------------------------
> Precog is a next-generation analytics platform capable of advanced
> analytics on semi-structured data. The platform includes APIs for building
> apps and a phenomenal toolset for data science. Developers can use
> our toolset for easy data analysis & visualization. Get a free account!
> http://www2.precog.com/precogplatform/slashdotnewsletter
> _______________________________________________
> X10-users mailing list
> X10-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/x10-users
>
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
X10-users mailing list
X10-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/x10-users

Reply via email to