Min Zhou created TAJO-602:
-----------------------------

             Summary: WorkerResourceManager  should be broke down into 3 parts
                 Key: TAJO-602
                 URL: https://issues.apache.org/jira/browse/TAJO-602
             Project: Tajo
          Issue Type: Sub-task
            Reporter: Min Zhou


Before implementing a scheduler, I think we should do some refactoring at 
first. There are 2 interfaces and 4 classes related to resource management, 
they are WorkerResourceManager , YarnTajoResourceManager, 
TajoWorkerResourceManager reside in TajoMaster, and ResourceAllocator, 
YarnResourceAllocator, TajoResourceAllocator reside in QueryMasters.

WorkerResourceManager actually plays 3 roles

1. Choose or start a QueryMaster for a query, and management it
2. allocate resource for query tasks / task runners (only for standalone mode)
3. Handle worker's heartbeat (only for standalone mode)


If the scheduler is a decentralized one, like sparrow, we can allocate resource 
for a QueryMaster as the same way for a TaskRunner.  So 1. and 2. can use the 
same interface, but called by 2 different caller.    3. is different from the 
others,  we can create another service, let's say HeartbeatService to deal with 
worker's heartbeats. 

Any suggestion?






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

Reply via email to