Hi everybody,
increasing the akka.ask.timeout solved the second issue. Anyway that was a
warning about a congestioned network. So I worked to improve the algorithm.
Increasing the numberOfBuffers and the corresponding size solved the first
issue, thus now I can run with the full DOP.
In my case enabling the off-heap memory didn't the trick.

Thank you. All the bests,
Andrea

2016-06-29 17:10 GMT+02:00 Martin Scholl <m...@funkpopes.org>:

> Other than increasing the ask.timeout, we've seen such failures being
> caused by long GC pauses over bigger heaps. In such a case, you could
> fiddle with a) enabling object reuse, or b) enabling off-heap memory (i.e.
> taskmanager.memory.off-heap == true) to mitigate GC-induced issues a bit.
>
> Hope it helps,
> Martin
>
>
> On Wed, Jun 29, 2016 at 3:29 PM Ufuk Celebi <u...@apache.org> wrote:
>
>> OK, looks like you can easily give more memory to the network stack,
>> e.g. for 2 GB set
>>
>> taskmanager.network.numberOfBuffers = 65536
>> taskmanager.network.bufferSizeInBytes = 32768
>>
>> For the other exception, your logs confirm that there is something
>> else going on. Try increasing the akka ask timeout:
>>
>> akka.ask.timeout: 100 s
>>
>> Does this help?
>>
>>
>> On Wed, Jun 29, 2016 at 3:10 PM, ANDREA SPINA <74...@studenti.unimore.it>
>> wrote:
>> > Hi Ufuk,
>> >
>> > so the memory available per node is 48294 megabytes per node, but I
>> reserve
>> > 28 by flink conf file.
>> > taskmanager.heap.mb = 28672
>> > taskmanager.memory.fraction = 0.7
>> > taskmanager.network.numberOfBuffers = 32768
>> > taskmanager.network.bufferSizeInBytes = 16384
>> >
>> > Anyway Follows what I found in log files.
>> >
>> > Follows the taskmanager log (task manager that seems failed)
>> >
>> > 2016-06-29 11:31:55,673 INFO  org.apache.flink.runtime.taskmanager.Task
>> > - CHAIN Reduce (Reduce at dima.tu.berlin.benchmark.fli
>> >
>> nk.mlr.solver.sGradientDescentL2.createInitialWeightsVector(sGradientDescentL2.scala:43))
>> > -> Map (Map at dima.tu.berlin.benchmark.flink.mlr.solver
>> > .sGradientDescentL2.createInitialVector(sGradientDescentL2.scala:69))
>> (1/1)
>> > switched to FAILED with exception.
>> > java.lang.IllegalStateException: Received unexpected partition state
>> null
>> > for partition request. This is a bug.
>> >         at
>> >
>> org.apache.flink.runtime.taskmanager.Task.onPartitionStateUpdate(Task.java:994)
>> >         at
>> > org.apache.flink.runtime.taskmanager.TaskManager.org
>> $apache$flink$runtime$taskmanager$TaskManager$$handleTaskMessage(TaskManager.scala:
>> > 468)
>> >         at
>> >
>> org.apache.flink.runtime.taskmanager.TaskManager$$anonfun$handleMessage$1.applyOrElse(TaskManager.scala:265)
>> >         at
>> >
>> scala.runtime.AbstractPartialFunction$mcVL$sp.apply$mcVL$sp(AbstractPartialFunction.scala:33)
>> >         at
>> >
>> scala.runtime.AbstractPartialFunction$mcVL$sp.apply(AbstractPartialFunction.scala:33)
>> >         at
>> >
>> scala.runtime.AbstractPartialFunction$mcVL$sp.apply(AbstractPartialFunction.scala:25)
>> >         at
>> >
>> org.apache.flink.runtime.LeaderSessionMessageFilter$$anonfun$receive$1.applyOrElse(LeaderSessionMessageFilter.scala:36)
>> >         at
>> >
>> scala.runtime.AbstractPartialFunction$mcVL$sp.apply$mcVL$sp(AbstractPartialFunction.scala:33)
>> >         at
>> >
>> scala.runtime.AbstractPartialFunction$mcVL$sp.apply(AbstractPartialFunction.scala:33)
>> >         at
>> >
>> scala.runtime.AbstractPartialFunction$mcVL$sp.apply(AbstractPartialFunction.scala:25)
>> >         at
>> > org.apache.flink.runtime.LogMessages$$anon$1.apply(LogMessages.scala:33)
>> >         at
>> > org.apache.flink.runtime.LogMessages$$anon$1.apply(LogMessages.scala:28)
>> >         at
>> > scala.PartialFunction$class.applyOrElse(PartialFunction.scala:118)
>> >         at
>> >
>> org.apache.flink.runtime.LogMessages$$anon$1.applyOrElse(LogMessages.scala:28)
>> >         at akka.actor.Actor$class.aroundReceive(Actor.scala:465)
>> >         at
>> >
>> org.apache.flink.runtime.taskmanager.TaskManager.aroundReceive(TaskManager.scala:119)
>> >         at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)
>> >         at akka.actor.ActorCell.invoke(ActorCell.scala:487)
>> >         at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:254)
>> >         at akka.dispatch.Mailbox.run(Mailbox.scala:221)
>> >         at akka.dispatch.Mailbox.exec(Mailbox.scala:231)
>> >         at
>> > scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
>> >         at
>> >
>> scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.pollAndExecAll(ForkJoinPool.java:1253)
>> >         at
>> >
>> scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1346)
>> >         at
>> > scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
>> >         at
>> >
>> scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
>> >
>> >
>> > Follows the jobmanager log
>> >
>> > 2016-06-29 11:31:34,683 INFO
>> > org.apache.flink.runtime.executiongraph.ExecutionGraph        - CHAIN
>> Reduce
>> > (Reduce at dima.tu.berlin.benchmark.fli
>> >
>> nk.mlr.solver.sGradientDescentL2.createInitialWeightsVector(sGradientDescentL2.scala:43))
>> > -> Map (Map at dima.tu.berlin.benchmark.flink.mlr.solver
>> > .sGradientDescentL2.createInitialVector(sGradientDescentL2.scala:69))
>> (1/1)
>> > (8c2d9a0a0520c2c18e07bad0a97a3911) switched from DEPLOYING to FAILED
>> > 2016-06-29 11:31:34,694 INFO
>> org.apache.flink.runtime.jobmanager.JobManager
>> > - Status of job 71542654d427e8d0e7e01c538abe1acf (peel
>> > -bundle-flink) changed to FAILING.
>> > java.lang.Exception: Cannot deploy task CHAIN Reduce (Reduce at
>> >
>> dima.tu.berlin.benchmark.flink.mlr.solver.sGradientDescentL2.createInitialWeightsV
>> > ector(sGradientDescentL2.scala:43)) -> Map (Map at
>> >
>> dima.tu.berlin.benchmark.flink.mlr.solver.sGradientDescentL2.createInitialVector(sGradientDesce
>> > ntL2.scala:69)) (1/1) (8c2d9a0a0520c2c18e07bad0a97a3911) - TaskManager
>> > (c0b308245dfc5da6d759fb5bc1bc5ad0 @ cloud-12 - 16 slots - URL:
>> akka.tcp://f
>> > link@130.149.21.16:6122/user/taskmanager) not responding after a
>> timeout of
>> > 10000 milliseconds
>> >         at
>> >
>> org.apache.flink.runtime.executiongraph.Execution$2.onComplete(Execution.java:387)
>> >         at akka.dispatch.OnComplete.internal(Future.scala:246)
>> >         at akka.dispatch.OnComplete.internal(Future.scala:244)
>> >         at akka.dispatch.japi$CallbackBridge.apply(Future.scala:174)
>> >         at akka.dispatch.japi$CallbackBridge.apply(Future.scala:171)
>> >         at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
>> >         at
>> >
>> scala.concurrent.impl.ExecutionContextImpl$$anon$3.exec(ExecutionContextImpl.scala:107)
>> >         at
>> > scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
>> >         at
>> >
>> scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
>> >         at
>> > scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
>> >         at
>> >
>> scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
>> > Caused by: akka.pattern.AskTimeoutException: Ask timed out on
>> > [Actor[akka.tcp://flink@130.149.21.16:6122/user/taskmanager#1824295872
>> ]]
>> > after [1000
>> > 0 ms]
>> >         at
>> >
>> akka.pattern.PromiseActorRef$$anonfun$1.apply$mcV$sp(AskSupport.scala:333)
>> >         at akka.actor.Scheduler$$anon$7.run(Scheduler.scala:117)
>> >         at
>> >
>> scala.concurrent.Future$InternalCallbackExecutor$.scala$concurrent$Future$InternalCallbackExecutor$$unbatchedExecute(Future.scala:694)
>> >         at
>> >
>> scala.concurrent.Future$InternalCallbackExecutor$.execute(Future.scala:691)
>> >         at
>> >
>> akka.actor.LightArrayRevolverScheduler$TaskHolder.executeTask(Scheduler.scala:467)
>> >         at
>> >
>> akka.actor.LightArrayRevolverScheduler$$anon$8.executeBucket$1(Scheduler.scala:419)
>> >         at
>> >
>> akka.actor.LightArrayRevolverScheduler$$anon$8.nextTick(Scheduler.scala:423)
>> >         at
>> > akka.actor.LightArrayRevolverScheduler$$anon$8.run(Scheduler.scala:375)
>> >         at java.lang.Thread.run(Thread.java:745)
>> >
>> >
>> > Follows the client-{$runtime.hostname}.log
>> >
>> > 2016-06-29 11:31:34,687 INFO
>> org.apache.flink.runtime.client.JobClientActor
>> > - 06/29/2016 11:31:34       CHAIN Reduce (Reduce at di
>> >
>> ma.tu.berlin.benchmark.flink.mlr.solver.sGradientDescentL2.createInitialWeightsVector(sGradientDescentL2.scala:43))
>> > -> Map (Map at dima.tu.berlin.
>> >
>> benchmark.flink.mlr.solver.sGradientDescentL2.createInitialVector(sGradientDescentL2.scala:69))(1/1)
>> > switched to FAILED
>> > java.lang.Exception: Cannot deploy task CHAIN Reduce (Reduce at
>> >
>> dima.tu.berlin.benchmark.flink.mlr.solver.sGradientDescentL2.createInitialWeightsV
>> > ector(sGradientDescentL2.scala:43)) -> Map (Map at
>> >
>> dima.tu.berlin.benchmark.flink.mlr.solver.sGradientDescentL2.createInitialVector(sGradientDesce
>> > ntL2.scala:69)) (1/1) (8c2d9a0a0520c2c18e07bad0a97a3911) - TaskManager
>> > (c0b308245dfc5da6d759fb5bc1bc5ad0 @ cloud-12 - 16 slots - URL:
>> akka.tcp://f
>> > link@130.149.21.16:6122/user/taskmanager) not responding after a
>> timeout of
>> > 10000 milliseconds
>> >         at
>> >
>> org.apache.flink.runtime.executiongraph.Execution$2.onComplete(Execution.java:387)
>> >         at akka.dispatch.OnComplete.internal(Future.scala:246)
>> >         at akka.dispatch.OnComplete.internal(Future.scala:244)
>> >         at akka.dispatch.japi$CallbackBridge.apply(Future.scala:174)
>> >         at akka.dispatch.japi$CallbackBridge.apply(Future.scala:171)
>> >         at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
>> >         at
>> >
>> scala.concurrent.impl.ExecutionContextImpl$$anon$3.exec(ExecutionContextImpl.scala:107)
>> >         at
>> > scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
>> >         at
>> >
>> scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
>> >         at
>> > scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
>> >         at
>> >
>> scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
>> > Caused by: akka.pattern.AskTimeoutException: Ask timed out on
>> > [Actor[akka.tcp://flink@130.149.21.16:6122/user/taskmanager#1824295872
>> ]]
>> > after [1000
>> > 0 ms]
>> >         at
>> >
>> akka.pattern.PromiseActorRef$$anonfun$1.apply$mcV$sp(AskSupport.scala:333)
>> >         at akka.actor.Scheduler$$anon$7.run(Scheduler.scala:117)
>> >         at
>> >
>> scala.concurrent.Future$InternalCallbackExecutor$.scala$concurrent$Future$InternalCallbackExecutor$$unbatchedExecute(Future.scala:694)
>> >         at
>> >
>> scala.concurrent.Future$InternalCallbackExecutor$.execute(Future.scala:691)
>> >         at
>> >
>> akka.actor.LightArrayRevolverScheduler$TaskHolder.executeTask(Scheduler.scala:467)
>> >         at
>> >
>> akka.actor.LightArrayRevolverScheduler$$anon$8.executeBucket$1(Scheduler.scala:419)
>> >         at
>> >
>> akka.actor.LightArrayRevolverScheduler$$anon$8.nextTick(Scheduler.scala:423)
>> >         at
>> > akka.actor.LightArrayRevolverScheduler$$anon$8.run(Scheduler.scala:375)
>> >         at java.lang.Thread.run(Thread.java:745)
>> > 2016-06-29 11:31:34,709 INFO
>> org.apache.flink.runtime.client.JobClientActor
>> > - 06/29/2016 11:31:34       Job execution switched to
>> > status FAILING.
>> > java.lang.Exception: Cannot deploy task CHAIN Reduce (Reduce at
>> >
>> dima.tu.berlin.benchmark.flink.mlr.solver.sGradientDescentL2.createInitialWeightsV
>> > ector(sGradientDescentL2.scala:43)) -> Map (Map at
>> >
>> dima.tu.berlin.benchmark.flink.mlr.solver.sGradientDescentL2.createInitialVector(sGradientDesce
>> > ntL2.scala:69)) (1/1) (8c2d9a0a0520c2c18e07bad0a97a3911) - TaskManager
>> > (c0b308245dfc5da6d759fb5bc1bc5ad0 @ cloud-12 - 16 slots - URL:
>> akka.tcp://f
>> > link@130.149.21.16:6122/user/taskmanager) not responding after a
>> timeout of
>> > 10000 milliseconds
>> >         at
>> >
>> org.apache.flink.runtime.executiongraph.Execution$2.onComplete(Execution.java:387)
>> >         at akka.dispatch.OnComplete.internal(Future.scala:246)
>> >         at akka.dispatch.OnComplete.internal(Future.scala:244)
>> >         at akka.dispatch.japi$CallbackBridge.apply(Future.scala:174)
>> >         at akka.dispatch.japi$CallbackBridge.apply(Future.scala:171)
>> >         at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
>> >         at
>> >
>> scala.concurrent.impl.ExecutionContextImpl$$anon$3.exec(ExecutionContextImpl.scala:107)
>> >         at
>> > scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
>> >         at
>> >
>> scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
>> >         at
>> > scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
>> >         at
>> >
>> scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
>> > Caused by: akka.pattern.AskTimeoutException: Ask timed out on
>> > [Actor[akka.tcp://flink@130.149.21.16:6122/user/taskmanager#1824295872
>> ]]
>> > after [10000 ms]
>> >         at
>> >
>> akka.pattern.PromiseActorRef$$anonfun$1.apply$mcV$sp(AskSupport.scala:333)
>> >         at akka.actor.Scheduler$$anon$7.run(Scheduler.scala:117)
>> >         at
>> >
>> scala.concurrent.Future$InternalCallbackExecutor$.scala$concurrent$Future$InternalCallbackExecutor$$unbatchedExecute(Future.scala:694)
>> >         at
>> >
>> scala.concurrent.Future$InternalCallbackExecutor$.execute(Future.scala:691)
>> >         at
>> >
>> akka.actor.LightArrayRevolverScheduler$TaskHolder.executeTask(Scheduler.scala:467)
>> >         at
>> >
>> akka.actor.LightArrayRevolverScheduler$$anon$8.executeBucket$1(Scheduler.scala:419)
>> >         at
>> >
>> akka.actor.LightArrayRevolverScheduler$$anon$8.nextTick(Scheduler.scala:423)
>> >         at
>> > akka.actor.LightArrayRevolverScheduler$$anon$8.run(Scheduler.scala:375)
>> >         at java.lang.Thread.run(Thread.java:745)
>> >
>> > Really appreciating your help here. :)
>> > Cheers,
>> > Andrea
>> >
>> > 2016-06-29 13:48 GMT+02:00 Ufuk Celebi <u...@apache.org>:
>> >>
>> >> Hey Andrea! Sorry for the bad user experience.
>> >>
>> >> Regarding the network buffers: you should be able to run it after
>> >> increasing the number of network buffers, just account for it when
>> >> specifying the heap size etc. You currently allocate 32768 * 16384
>> >> bytes = 512 MB for them. If you have a very long pipeline and high
>> >> parallelism, you should increase it accordingly. How much memory do
>> >> you have on your machines?
>> >>
>> >> Regarding the IllegalStateException: I suspect that this is **not**
>> >> the root failure cause. The null ExecutionState can only happen, if
>> >> the producer task (from which data is requested) failed during the
>> >> request. The error message is confusing and I opened a JIRA to fix it:
>> >> https://issues.apache.org/jira/browse/FLINK-4131. Can you please check
>> >> your complete logs to see what the root cause might be, e.g. why did
>> >> the producer fail?
>> >>
>> >>
>> >> On Wed, Jun 29, 2016 at 12:19 PM, ANDREA SPINA
>> >> <74...@studenti.unimore.it> wrote:
>> >> > Hi everyone,
>> >> >
>> >> > I am running some Flink experiments with Peel benchmark
>> >> > http://peel-framework.org/ and I am struggling with exceptions: the
>> >> > environment is a 25-nodes cluster, 16 cores per nodes. The dataset is
>> >> > ~80GiB
>> >> > and is located on Hdfs 2.7.1. Flink version is 1.0.3.
>> >> >
>> >> > At the beginning I tried with 400 as degree of parallelism but not
>> >> > enough
>> >> > numberOfBuffers was raised so I changed the parallelism to 200. Flink
>> >> > configuration follows:
>> >> >
>> >> > jobmanager.rpc.address = ${runtime.hostname}
>> >> > akka.log.lifecycle.events = ON
>> >> > akka.ask.timeout = 300s
>> >> > jobmanager.rpc.port = 6002
>> >> > jobmanager.heap.mb = 1024
>> >> > jobmanager.web.port = 6004
>> >> > taskmanager.heap.mb = 28672
>> >> > taskmanager.memory.fraction = 0.7
>> >> > taskmanager.network.numberOfBuffers = 32768
>> >> > taskmanager.network.bufferSizeInBytes = 16384
>> >> > taskmanager.tmp.dirs =
>> >> >
>> >> >
>> "/data/1/peel/flink/tmp:/data/2/peel/flink/tmp:/data/3/peel/flink/tmp:/data/4/peel/flink/tmp"
>> >> > taskmanager.debug.memory.startLogThread = true
>> >> >
>> >> > With a parallelism of 200 the following exception will raise from a
>> node
>> >> > of
>> >> > the cluster:
>> >> >
>> >> > 2016-06-29 11:31:55,673 INFO
>> org.apache.flink.runtime.taskmanager.Task
>> >> > - CHAIN Reduce (Reduce at dima.tu.berlin.benchmark.fli
>> >> >
>> >> >
>> nk.mlr.solver.sGradientDescentL2.createInitialWeightsVector(sGradientDescentL2.scala:43))
>> >> > -> Map (Map at dima.tu.berlin.benchmark.flink.mlr.solver
>> >> > .sGradientDescentL2.createInitialVector(sGradientDescentL2.scala:69))
>> >> > (1/1)
>> >> > switched to FAILED with exception.
>> >> > java.lang.IllegalStateException: Received unexpected partition state
>> >> > null
>> >> > for partition request. This is a bug.
>> >> >         at
>> >> >
>> >> >
>> org.apache.flink.runtime.taskmanager.Task.onPartitionStateUpdate(Task.java:994)
>> >> >
>> >> >
>> >> > The reduce code is:
>> >> >
>> >> > 43  val dimensionsDS = data.map(_.vector.size).reduce((a, b) => b)
>> >> >
>> >> > The map code is:
>> >> >
>> >> > 68  def createInitialVector(dimensionDS: DataSet[Int]):
>> DataSet[Vector]
>> >> > = {
>> >> > 69    dimensionDS.map {
>> >> > 70      dimension =>
>> >> > 71      val values = DenseVector(Array.fill(dimension)(0.0))
>> >> > 72      values
>> >> > 73    }
>> >> > 74  }
>> >> >
>> >> > I can't figure out a solution, thank you for your help.
>> >> >
>> >> > Andrea
>> >> >
>> >> > --
>> >> > Andrea Spina
>> >> > N.Tessera: 74598
>> >> > MAT: 89369
>> >> > Ingegneria Informatica [LM] (D.M. 270)
>> >
>> >
>> >
>> >
>> > --
>> > Andrea Spina
>> > N.Tessera: 74598
>> > MAT: 89369
>> > Ingegneria Informatica [LM] (D.M. 270)
>>
>


-- 
*Andrea Spina*
N.Tessera: *74598*
MAT: *89369*
*Ingegneria Informatica* *[LM] *(D.M. 270)

Reply via email to