reef-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Jeong <culex496...@gmail.com>
Subject Re: .NET Driver-side threads
Date Thu, 28 Jul 2016 20:05:14 GMT
Hi all,

I found the cause; the answer's in
org.apache.reef.javabridge.generic.JobDriver.
The handlers for the job start event and evaluator allocated event both try
to take locks on the JobDriver instance (synchronized (JobDriver.this)),
meaning that blocking the driver thread without letting go of the lock will
also block threads for the evaluator allocated event too.
There is no such default synchronization for Java REEF applications, so
that's why this problem wasn't seen on the Java side.

It seems that the JobDriver class is using some thread-unsafe data
structures, hence the synchronization.
I'm not sure if simply converting them to thread-safe counterparts can
allow us to remove synchronization.

Thanks,
Jason

On Tue, Jul 26, 2016 at 12:24 PM, Dudoladov, Sergey <
sergey.dudoladov@tu-berlin.de> wrote:

> Hi,
>
> I've found ThreadPoolStage.cs in Org.Apache.REEF.Wake.Impl on the .NET
> side.
> Not sure if REEF actually uses it, though.
>
> Best,
> Sergey.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message