tajo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jihoon Son (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (TAJO-385) Refactoring TaskScheduler to assign multiple fragments
Date Tue, 24 Dec 2013 07:19:50 GMT

     [ https://issues.apache.org/jira/browse/TAJO-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jihoon Son updated TAJO-385:
----------------------------

    Attachment: TAJO-385_5.patch

I uploaded a new patch.
In this patch, I made some changes to the configurations as follows.
{noformat}
<property>
  <name>tajo.querymaster.lazy-task-scheduler.algorithm</name>
  <value>task_scheduling_algorithm_for_lazy_task_scheduler</value>
</property>

<property>
  <name>tajo.task.size-mb</name>
  <value>task_size_in_mb</value>
</property>
{noformat}

And, I added a new scheduling algorithm, called GreedyFagmentSchedulingAlgorithm, for LazyTaskScheduler.
When I tested DefaultFragmentSchedulingAlgorithm *after clearing the disk cache*, the query
processing performance is significantly decreased by the increased number of remote tasks.
I tried to find the reason of increased remote tasks, but i couldn't.
So, I created GreedyFagmentSchedulingAlgorithm that reduces the number of remote tasks even
when the disk cache is cleared.

I'm going to upload this patch to the RB.
Please review the patch.

Thanks and Happy Christmas!!

> Refactoring TaskScheduler to assign multiple fragments
> ------------------------------------------------------
>
>                 Key: TAJO-385
>                 URL: https://issues.apache.org/jira/browse/TAJO-385
>             Project: Tajo
>          Issue Type: Improvement
>          Components: query master
>    Affects Versions: 0.8-incubating
>            Reporter: Jihoon Son
>            Assignee: Jihoon Son
>         Attachments: TAJO-385.patch, TAJO-385_2.patch, TAJO-385_3.patch, TAJO-385_4.patch,
TAJO-385_5.patch
>
>
> In the current implementation, each task processes only one fragment.
> However, processing multiple fragments in a task will increase the query processing performance
according to the storage layout and the user queries.
> In this issue, TaskScheduler is refactored to enable assigning multiple fragments to
each task.
> Followings should be contained.
> * Schedule Fragments instead of QueryUnits in TaskScheduler
> ** The QueryUnit creation is postponed until TaskScheduler receives task requests from
workers.
> ** When TaskScheduler receives task requests from workers, it dynamically creates an
QueryUnit and assigns one or more fragments.
> ** The fragment scheduling should take into account the disk load balancing.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message