Return-Path: X-Original-To: apmail-mahout-dev-archive@www.apache.org Delivered-To: apmail-mahout-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5DDFF10D0E for ; Tue, 1 Apr 2014 17:57:27 +0000 (UTC) Received: (qmail 341 invoked by uid 500); 1 Apr 2014 17:57:22 -0000 Delivered-To: apmail-mahout-dev-archive@mahout.apache.org Received: (qmail 99935 invoked by uid 500); 1 Apr 2014 17:57:18 -0000 Mailing-List: contact dev-help@mahout.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@mahout.apache.org Delivered-To: mailing list dev@mahout.apache.org Received: (qmail 99458 invoked by uid 99); 1 Apr 2014 17:57:16 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Apr 2014 17:57:16 +0000 Date: Tue, 1 Apr 2014 17:57:16 +0000 (UTC) From: "Dmitriy Lyubimov (JIRA)" To: dev@mahout.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (MAHOUT-1500) H2O integration MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/MAHOUT-1500?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13956824#comment-13956824 ] Dmitriy Lyubimov commented on MAHOUT-1500: ------------------------------------------ bq. Now it seems to me (with my limited exploring of Mahout) that it might actually be viable to provide a "hadoop alternative" in the form of an alternate implementation of DistributedRowMatrix (instead of AbstractMatrix) yes that's what i meant. On Spark side, this is done by introducing mix-ins DrmLike, RLikeOps, RLikeDrmOps, RLikeVectorOps etc.etc. On java side, working with mix-ins (functionality-filled traits) is of course not easy, but the important point is that it should be an alternative hierarchy with an identical intersection of optimized linalg operators (operator-oriented semantics in linear algebra). I. e. assumption is that to the end user (developer) it is more important that notation {code} a dot b {code} means exactly the same regardless of whether a and b in-core or distributed; but it matters significantly less whether a and b descend from Matrix or DRM, as long as operator dot(A,B) is defined for all possible type combinations (sparse, dense, distributed). bq. and AbstractJob (by internally using h2o's Frame/Vec and MRTask2 APIs), and thereby allow for a runtime choice of Hadoop vs H2O. I care significantly less about Job api and Hadoop MR in particular. It is my belief they are non-essential to the math user and therefore should be avoided altogether (and such notion is eliminated in Spark Bindings) bq. This seems like a reasonable first step? Yes -- with caveat that logical mix-ins for distributed and in-core already exists in Scala and Spark Bindings. Like i said, ideally mapping this logical layer into a particular physical layer seems to be an indefinitely better architecture to me, than creating yet-another logical layer specific to a particular back. However, i see that it would be hard to converge on that, or at least i don't see how. I will extract an architecture slide from my talk and post a link to illustrate the idea a bit later. > H2O integration > --------------- > > Key: MAHOUT-1500 > URL: https://issues.apache.org/jira/browse/MAHOUT-1500 > Project: Mahout > Issue Type: Improvement > Reporter: Anand Avati > Fix For: 1.0 > > > Integration with h2o (github.com/0xdata/h2o) in order to exploit its high performance computational abilities. > Start with providing implementations of AbstractMatrix and AbstractVector, and more as we make progress. -- This message was sent by Atlassian JIRA (v6.2#6252)