You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@reef.apache.org by "Markus Weimer (JIRA)" <ji...@apache.org> on 2015/02/20 02:41:11 UTC

[jira] [Created] (REEF-167) Add a lock object for each Evaluator on the Driver side.

Markus Weimer created REEF-167:
----------------------------------

             Summary: Add a lock object for each Evaluator on the Driver side.
                 Key: REEF-167
                 URL: https://issues.apache.org/jira/browse/REEF-167
             Project: REEF
          Issue Type: Improvement
          Components: REEF-Common
            Reporter: Markus Weimer
            Assignee: Markus Weimer


The Driver manages a set of objects per Evaluator that are charged with managing that Evaluator. Hence, the state and management of each Evaluator is implemented in several classes. 

_Side Note:_ This situation is actually an improvement over the earlier design where all of this logic was in a single, large class.

Having many objects manage one Evaluator creates a challenges, as these objects might not all adhere to the same locking principle. Hence, I propose that we create yet another class, {{EvaluatorLock}}, that all classes dealing with Evaluator state need to synchronize on.

An instance of this object would be generated implicitly via Tang in {{EvaluatorManagerFactory.getNewEvaluatorManagerInstance}}. Hence, we only need to add the class, and make every place that should synchronize on it depend on it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)