[ 
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)

Reply via email to