Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 279E6200C7C for ; Mon, 5 Jun 2017 22:42:59 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 262E8160BD4; Mon, 5 Jun 2017 20:42:59 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 6CEBD160BBB for ; Mon, 5 Jun 2017 22:42:58 +0200 (CEST) Received: (qmail 96322 invoked by uid 500); 5 Jun 2017 20:39:09 -0000 Mailing-List: contact dev-help@reef.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@reef.apache.org Delivered-To: mailing list dev@reef.apache.org Received: (qmail 96088 invoked by uid 99); 5 Jun 2017 20:39:08 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 05 Jun 2017 20:39:08 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 90E2D1804F7 for ; Mon, 5 Jun 2017 20:39:07 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -99.202 X-Spam-Level: X-Spam-Status: No, score=-99.202 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id ZNl1QQ6SkN25 for ; Mon, 5 Jun 2017 20:39:06 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id 2A1445FDF2 for ; Mon, 5 Jun 2017 20:39:06 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 8431EE0BDF for ; Mon, 5 Jun 2017 20:39:05 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 6C9BB21E19 for ; Mon, 5 Jun 2017 20:39:04 +0000 (UTC) Date: Mon, 5 Jun 2017 20:39:04 +0000 (UTC) From: "Doug Service (JIRA)" To: dev@reef.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Comment Edited] (REEF-1763) Replace interop call to StartHandlerOnNext() between Java/C# bridges MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Mon, 05 Jun 2017 20:42:59 -0000 [ https://issues.apache.org/jira/browse/REEF-1763?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16037538#comment-16037538 ] Doug Service edited comment on REEF-1763 at 6/5/17 8:38 PM: ------------------------------------------------------------ Answer to comment one: Yes the goal is to replace all of the interop calls with Avro messages. There was a consensus at the time this was proposed that by providing a well defined Avro interface it would allow us to support bridges in a number of different languages. I am also concerned about the performance impact of sending the messages over the network. The existing bridge design seems to rely on the synchronous nature of the interop calls. If the interface was asynchronous or at least partially asynchronous, the throughput could still be high even though any one given message takes longer to complete since multiple messages can be in flight at the same time. The current pull request specifically addresses the fact that lot of messages will be needed to complete the work by providing a framework where all messages in org.apache.reef.bridge.message package are discovered at system startup using refection on both the C# and Java sides and then serializers and deserializers are programatically constructed. This means that replacing a given interop call requires defining the associated messages and implementing the calls on the java and C# sides as the bridge network will automatically build what is needed to send and receive the new message. was (Author: dougservice): Answer to comment one: Yes the goal is to replace all of the interop calls with Avro messages. There was a consensus at the time this was proposed that by providing a well defined Avro interface it would allow us to support bridges in a number of different languages. I am also concerned about the performance impact of sending the messages over the network. The existing bridge design seems to rely on the synchronous nature of the interop calls. If the interface was asynchronous or at least partially asynchronous, the throughput could still be high even though any one given message takes longer to complete since multiple messages can be in flight at the same time. The current pull request specifically addresses the fact that lot of messages will be needed to complete the work by providing a framework where all messages in org.apache.reef.bridge.message are discovered at system startup using refection on both the C# and Java sides and then serializers and deserializers are programatically constructed. This means that replacing a given interop call requires defining the associated messages and implementing the calls on the java and C# sides as the bridge network will automatically build what is needed to send and receive the new message. > Replace interop call to StartHandlerOnNext() between Java/C# bridges > -------------------------------------------------------------------- > > Key: REEF-1763 > URL: https://issues.apache.org/jira/browse/REEF-1763 > Project: REEF > Issue Type: Sub-task > Components: REEF Bridge, REEF Driver > Reporter: Doug Service > Assignee: Doug Service > > Currently bridge communication from Java to C# is performed via managed C++ interop which is not supported on Linux. This is the first of a number of changes to replace all of the interop calls between Java and C# with Avro messages carried by the REEF Wake networking classes. -- This message was sent by Atlassian JIRA (v6.3.15#6346)