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 3EED12009E8 for ; Mon, 30 May 2016 23:05:39 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 3DAC6160A19; Mon, 30 May 2016 21:05:39 +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 613A6160969 for ; Mon, 30 May 2016 23:05:38 +0200 (CEST) Received: (qmail 67757 invoked by uid 500); 30 May 2016 21:05:37 -0000 Mailing-List: contact dev-help@flink.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@flink.apache.org Delivered-To: mailing list dev@flink.apache.org Received: (qmail 67744 invoked by uid 99); 30 May 2016 21:05:37 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 30 May 2016 21:05:37 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id C34441A048B for ; Mon, 30 May 2016 21:05:36 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.511 X-Spam-Level: X-Spam-Status: No, score=0.511 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URI_HEX=1.313] autolearn=disabled Authentication-Results: spamd2-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=outlook.com Received: from mx2-lw-us.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id 2TyxZeS9FEOk for ; Mon, 30 May 2016 21:05:34 +0000 (UTC) Received: from SNT004-OMC2S5.hotmail.com (snt004-omc2s5.hotmail.com [65.55.90.80]) by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with ESMTPS id 086055F241 for ; Mon, 30 May 2016 21:05:33 +0000 (UTC) Received: from NAM02-SN1-obe.outbound.protection.outlook.com ([65.55.90.71]) by SNT004-OMC2S5.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.23008); Mon, 30 May 2016 14:05:27 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=h7N/l/vXsLrrBH8d5dv1AzbLiFOAxrSq5SF4reEwd48=; b=Jp2u/qytDQM8Q/8BD8U299yL0HPLPOzZTo7+LW5+tnAEUBJWdh8Q+fR1UcNwEDKRnSuVx7j/s15fpFW7zwnZITOe3oRHDRbPy/ktXSTSooMWSAdm3rkhssP75owWdDFyHP28KAPlqIY3FmrDs4ArusP2PThYkokOEeK9Alr8Oclb6eP0IJnt6MqvYFZRXzs1FUQQK/6bZafgmDFQX0q8OTaLh/AF8KprikAT2agYX5XpvS75+npcNPDm3BXIYvcRrcVdlfRyB8iEkYfCj+w4inldBh8auKaYH26uUVN/6lyFwkeG/nuYhdFHVtdYYZWFx97Ujs+PSOfQ1c31ZO44+A== Received: from BL2NAM02FT048.eop-nam02.prod.protection.outlook.com (10.152.76.51) by BL2NAM02HT036.eop-nam02.prod.protection.outlook.com (10.152.77.2) with Microsoft SMTP Server (TLS) id 15.1.497.8; Mon, 30 May 2016 21:05:24 +0000 Received: from CY1PR0601MB1228.namprd06.prod.outlook.com (10.152.76.60) by BL2NAM02FT048.mail.protection.outlook.com (10.152.76.109) with Microsoft SMTP Server (TLS) id 15.1.497.8 via Frontend Transport; Mon, 30 May 2016 21:05:23 +0000 Received: from CY1PR0601MB1228.namprd06.prod.outlook.com ([10.161.214.146]) by CY1PR0601MB1228.namprd06.prod.outlook.com ([10.161.214.146]) with mapi id 15.01.0506.011; Mon, 30 May 2016 21:05:23 +0000 From: Andrew Palumbo To: "dev@flink.apache.org" Subject: Re: Iteration Intermediate Output Thread-Topic: Iteration Intermediate Output Thread-Index: AQHRt48Nuz87jLIbbE6qQwcEdxWLb5/R+7/6 Date: Mon, 30 May 2016 21:05:22 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=softfail (sender IP is 25.152.76.60) smtp.mailfrom=outlook.com; flink.apache.org; dkim=none (message not signed) header.d=none;flink.apache.org; dmarc=fail action=none header.from=outlook.com; received-spf: SoftFail (protection.outlook.com: domain of transitioning outlook.com discourages use of 25.152.76.60 as permitted sender) x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [CMbZb/VIPphGREUKPZnEJvQ1z3ZT5ye1] x-eopattributedmessage: 0 x-forefront-antispam-report: CIP:25.152.76.60;IPV:NLI;CTRY:GB;EFV:NLI;SFV:NSPM;SFS:(10019020)(98900003);DIR:OUT;SFP:1102;SCL:1;SRVR:BL2NAM02HT036;H:CY1PR0601MB1228.namprd06.prod.outlook.com;FPR:;SPF:SoftFail;MLV:ovrnspm;A:1;MX:1;LANG:en; x-ms-office365-filtering-correlation-id: 5728f225-a659-4550-402a-08d388ce1da0 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(1601124038)(5061506196)(5061507196)(1603103041)(1603101137)(1601125047);SRVR:BL2NAM02HT036; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(432015012)(82015046);SRVR:BL2NAM02HT036;BCL:0;PCL:0;RULEID:;SRVR:BL2NAM02HT036; x-forefront-prvs: 09583628E0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-originalarrivaltime: 30 May 2016 21:05:22.9803 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL2NAM02HT036 X-OriginalArrivalTime: 30 May 2016 21:05:27.0474 (UTC) FILETIME=[FDC3D920:01D1BAB6] archived-at: Mon, 30 May 2016 21:05:39 -0000 Greg, We ran into this Issue when implementing the Mahout bindings for Flink [1].= It ended up being the major bottleneck for Mahout on Flink, and makes ite= rative algorithms basically unreasonable. While it is understook that that= Flink's Delta-iterations are intended for use when iterating over Flink Da= taSet, they are not always suitable to the task. Eg. FlinkML's ALS.scala = [2][3] which must flush intermediate results to the file system. In-memory caching is a must have for any type of declarative ML DSL riding = on top of fink. Eg, SystemML, Mahout, etc, or an internal Flink DSL. The = Mahout bindings are Linear Algebra based. In close collaboration with the = Flink community [4] and based on a contribution from an intern hired by Dat= a Artisans to complete this task and other members of the community, we re= cently finished up work on the Mahout Distributed Linear Algebra bindings. Unfortunately the lack of an in-memory cache made the outcome of this effor= t very sub-optimal. After the unfinished hand-off of the bindings from the= Flink community to the Mahout community, we were forced to find a workarou= nd for the caching. We used the template of flushing and executing and flu= shing results to the File system [5], and had to release the bindings as "E= xperimental". Anyone building a declarative ML interface using the Flink Dataset API as a= backend will run into similar issues as has been reported on the stackover= flow thread u refer to and it would be great to have this feature. Its great to see this being talked about. Andy [1] http://mahout.apache.org/users/flinkbindings/flink-internals.html [2] https://github.com/apache/flink/blob/master/flink-libraries/flink-ml/sr= c/main/scala/org/apache/flink/ml/recommendation/ALS.scala#L481 [3] https://github.com/apache/flink/blob/master/flink-libraries/flink-ml/sr= c/main/scala/org/apache/flink/ml/common/FlinkMLTools.scala#L84 [4]https://issues.apache.org/jira/browse/MAHOUT-1570 [5]https://github.com/apache/mahout/blob/master/flink/src/main/scala/org/ap= ache/mahout/flinkbindings/drm/CheckpointedFlinkDrm.scala#L139 ________________________________________ From: Greg Hogan Sent: Thursday, May 26, 2016 4:41:53 PM To: dev@flink.apache.org Subject: Iteration Intermediate Output Hi y'all, I think this is an oft-requested feature [0] and there are many graph algorithms for which intermediate output is the desired result. I'd like to take Stephan up on his offer [1] for pointers. I have yet to get in deep, but I see that iteration tasks are treated specially as IterationIntermediateTask for synchronization between supersteps. Also, when OperatorTranslation and GraphCreatingVisitor are walking the program DAG an iteration must be first reached through the tail= . Greg [0] http://stackoverflow.com/questions/37224140/possibility-of-saving-partial-o= utputs-from-bulk-iteration-in-flink-dataset [1] http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Interme= diate-output-during-delta-iterations-td436.html