While I couldn't agree more with the general point of the article, I have some small additional comments. Just as a bit of background, I think that Chris would very much agree that I am not the intended recipient of this advice, and so my comments probably aren't keeping in the spirit of the article. I've spent the last 10+ years exclusively in very large HPC environments where the average size of the problem set is…
"Big Data starts at 1.5 PB [because that's what fits in memory on Blue Waters]" -- Bill Gropp On today's top HPC installations, it currently takes about an hour to read or write the contents of memory from/to global storage. If the workflow has broad dependencies (PDEs are especially bad, but lots of network analysis also fits the bill), it's much better to use more parallelism to run for a shorter period of time wit…
Don't use Hadoop when your data isn't that big
181–190 of 235 posts
Re: Don't use Hadoop when your data isn't that big
#182Earlier quoted context omitted.
"Supercomputing" has never really been about big data. I used to work in supercomputing (NERSC) and have used most of the major machines in the field in the past. The supercomputer centers claim they're moving lots of data around, but it you look closely, it's almost entirely message passing during a calculation. And in most cases, the calculations they are doing are just wasted resources- simulating a protein over o…
I wrote a different reply but deleted it. I'm curious about something: if, as you claim, supercomputers are wasted money, why are there so many of them? Have all the world's top supercomputing sites somehow colluded to convince all the world's largest governments that they're useful?
I'm sure there are scientists who put their all into getting their code to run on a super computer, then apply for a pittance of time and sit in a queue for weeks, but they're not publishing as many (or as interesting) papers as the ones who are pulling out their credit card and building mini-supercomputers on Amazon that rely on conventional interconnects and better algorithms and data processing tools.
Don't assume I'm ignorant about what supercomputers are used for. I used to work on supercomputers; that includes writing, running and evaluating codes, and selecting proposals on some of the largest machines in the world (at the time).
But these new approaches to doing science and engineering on large computer systems have obsoleted conventional supercomputing for all but an extremely limited set of computational problems. And that set of problems becomes smaller when clever computer scientists figure out smarter ways to run things on cheaper architectures. For example, page rank is a classic eigenvector problem; you can solve it by building a big matrix on your supercomputer and doing the appropriate calculations, using 50+ years of numerical optimization (but not really very good support for nodes failing between checkpoints). However, you can also implement it as an iterative mapreduce. The mapreduce checkpoints every little bit of map work, and along the way, handles those failures quite well. It can also handle data sets larger than the sum of RAM on the machines quite well.
Guess which one works better operationally, scales to a larger data set size, and ports to a lot of architectures cheaply?
Re: Don't use Hadoop when your data isn't that big
#183Re: Don't use Hadoop when your data isn't that big
#184Earlier quoted context omitted.
It's basically what w_t_payne said. It's amusing (in a sense) because it betrays such a lack of understanding of what's actually going on, and such a willingness to simply accept the "received wisdom" and not question it and think independently.
Some of us have backgrounds in MPI, BSP and other distributed computing paradigms. I switched to high throughput computing and I can tell you that I would never go back to MPI. People who use MPI almost always use it as a crutch to avoid solving the hard problem that would make their computation a lot easier. As an example I used to write MPI code for molecular dynamics simulators. The goal was to use a large superco…
Re: Don't use Hadoop when your data isn't that big
#185Earlier quoted context omitted.
There's nothing boring about pandas
It's even more exciting mixing pandas with the IPython notebook.
Maybe I just need more discipline..
Re: Don't use Hadoop when your data isn't that big
#186Hadoop is the problem, MapReduce is not the problem. Having used both Hadoop and Disco, I can say that Disco is by far a net positive on all projects I used it on. And the overhead to coding it in Disco vs single node is about an extra 30 minutes. You can start with working single node and go multinode w/o much effort. http://discoproject.org Hadoop on the other hand is a huge, massive pain in the ass. And I am a Had…
Re: Don't use Hadoop when your data isn't that big
#187I have been looking into building simple recommendation engine (i have at max million data rows) using Python. I looked into Crab ( https://github.com/muricoca/crab ) and it seems to not have updated for 2 years. Any suggestions for libraries or just use basic numpy/scipy and implement the algorithms?
Just implement the damn algorithms. Anything else is just another library to learn, and another tool to babysit.
Re: Don't use Hadoop when your data isn't that big
#188Earlier quoted context omitted.
Yes I've worked for a couple of outfits that did this over the years. It's usually down to who sold them the solution though. It's worst if the salesperson is external. The funniest has to be the engineering company which I used to work with (not for thank fuck) back in the 90's (when 100Gb was big data!). They managed to bag 2x full 42U racks full of HP N-Class HPUX UNIX kit, PDU systems and separate disk arrays for…
Yeah... it looks like my employer is going down the same route with an EMC Isilon NAS system. We really just want high throughput for linear scans; possibly with a small amount of parallelism, which would argue for a fairly simple solution with as little cacheing as possible (ideally none whatsoever) ... but I cannot even tell (from the website & the literature that I can access) how these things are supposed to oper…
Re: Don't use Hadoop when your data isn't that big
#189I have been looking into building simple recommendation engine (i have at max million data rows) using Python. I looked into Crab ( https://github.com/muricoca/crab ) and it seems to not have updated for 2 years. Any suggestions for libraries or just use basic numpy/scipy and implement the algorithms?
Re: Don't use Hadoop when your data isn't that big
#190Earlier quoted context omitted.
Just implement the damn algorithms. Anything else is just another library to learn, and another tool to babysit.
Agreed. Take the Machine Learning class on Coursera if you need an introduction to them.
Just not a big fan of NHI. But if in this case, thats the best way - let it be :)