Interesting. Does it have a design that let's computation be structured in a locality aware way? (I'd imagine yes, but I'm Afk much of this week so it's a bit hard to read docs<span></span>)<br><br>On Saturday, December 21, 2013, Flavio Villanustre  wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Alexander,</div><div><br></div>The distributed storage in the HPCC platform relies on an underlying Posix compliant Linux filesystem (any will do), and provides an abstraction layer based on record oriented (as opposed to block oriented, like HDFS) fileparts located in the local storage of the physical nodes. It also uses a component called Dali which, among other things, is a metadata server that provides a "logical file" view of these partitioned data files, and the system provides the tooling to create them from an external data source (in a process called spray).<div>


<br></div><div>While you could conceivably use the distributed file system in HPCC as a stand alone data repository, I think that it would be more interesting to take advantage of the data processing machinery too. The HPCC platform has already a declarative dataflow language called ECL which, coincidentally, advocates purity, is non-strict (implemented through laziness) and compiles into C++ (and uses g++/clang to compile this into machine code). Since ECL already allows for embedded C++, Python, R, Java and Javascript, allowing Haskell to be embedded too (through FFI?) would be the best integration option, IMO.</div>


<div><br></div><div>I'm copying Richard, Jake and Gavin, who are the ones that wrote most of the original code base for the distributed filesystem and ECL compiler (among many other parts), and perhaps can provide some ideas/pointers.</div>


<div><br></div><div>Flavio</div></div><div class="gmail_extra"><br clear="all"><div>Flavio Villanustre</div>
<br><br><div>On Sat, Dec 21, 2013 at 8:50 AM, Alexander Kjeldaas <span dir="ltr"><<a>alexander.kjeldaas@gmail.com</a>></span> wrote:<br>

<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br>In the HPCC documentation it is hard to cut through the buzzword jungle.  Is there an efficient storage solution lurking there?<br>


<br>I searched for haskell packages related to the big data storage layer, and the only thing I've found that could support efficient erasure code-based storage is this 3 years old binding to libhdfs.  There is only one commit in github:<br>




<br><a href="https://github.com/kim/hdfs-haskell" target="_blank">https://github.com/kim/hdfs-haskell</a><br><br></div><div>Somewhat related are these bindings to zfec, from 2008, and part of the Tahoe LAFS project.<br></div>


<div><br><a href="http://hackage.haskell.org/package/fec" target="_blank">http://hackage.haskell.org/package/fec</a></div><span><font color="#888888">

<div><br><br></div><div>Alexander<br></div><div><br></div></font></span></div><div><div><div><br><br><div>On Fri, Dec 20, 2013 at 8:24 AM, Carter Schonwald <span dir="ltr"><<a>carter.schonwald@gmail.com</a>></span> wrote:<br>




<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Cloud Haskell is a substrate that could be used to build such a layer.  I'm sure the cloud Haskell people would love such experimenration. <div>




<div><span></span><br><br>On Friday, December 20, 2013, He-chien Tsai  wrote:<br><blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<p dir="ltr">What I meant is that split the data into several parts,send each splited data to different computers, train them seperately, finally send the results back and combine those results. I didn't mean to use Cloud Haskell.</p>







<p dir="ltr">2013/12/20 上午5:40 於 "jean-christophe mincke" <<a>jeanchristophe.mincke@gmail.com</a>> 寫道:<br>

><br>
> He-Chien Tsai,<br>
><br>
> >  its training result is designed for composable<br>
><br>
> Yes it is indeed composable (parallel function of that lib) but parallelizing it on a cluster changes all the type because running on a cluster implies IO.<br>
> Moreover using Cloud Haskell (for instance) implies that: <br>
> 1. training functions should be (serializable) clojures, which can only be defined as module level (not as local -let/where - bindings). <br>
> 2. train is a typeclass function and is not serializable.<br>
><br>
> So the idea behind HLearn are interesting but I do not see how it could be run on a cluster... But, unfortunately, I am not an Haskell expert.<br>
><br>
> What do you think?<br>
><br>
> Regards<br>
><br>
> J-C<br>
><br>
><br>
><br>
> On Thu, Dec 19, 2013 at 6:15 PM, He-chien Tsai <<a>depot051@gmail.com</a>> wrote:<br>
>><br>
>> have you took a look at hlearn and statistics packages? it's even easy to parallellize hlearn on cluster because it's training result is designed for composable, which means you can create two model , train them seperately and finally combine them. you can also use other database such as redis or cassandra,which has haskell binding, as backend. for parallellizing on clusters, hdph is also good.<br>







>><br>
>> I personally prefer python for data science because it has much more mature packages and is more interactive and more effective (not kidding. you can create compiled C for core datas and algorithms by python-like cython and call it from python, and exploit gpus for accelerating by theano) than haskell and scala, spark also has a unfinish python binding.<br>







>><br>
>> 2013/12/18 下午3:41 於 "jean-christophe mincke" <<a>jeanchristophe.mincke@gmail.com</a>> 寫道:<br>
>><br>
>><br>
>> ><br>
>> > Hello Cafe,<br>
>> >  <br>
>> > Big Data is a bit trendy these days.<br>
>> >  <br>
>> > Does anybody know about plans to develop an Haskell eco-system in that domain?<br>
>> > I.e tools such as Storm or Spark (possibly on top of Cloud Haskell) or, at least, bindings to tools which exist in other languages.<br>
>> >  <br>
>> > Thank you<br>
>> >  <br>
>> > Regards<br>
>> >  <br>
>> > J-C<br>
>> ><br>
>> > _______________________________________________<br>
>> > Haskell-Cafe mailing list<br>
>> > <a>Haskell-Cafe@haskell.org</a><br>
>> > <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-caf</a></p></blockquote></div></div></blockquote></div></div></div></div></blockquote>
</div></div>
</blockquote>