You are not logged in.

#1 2012-07-26 04:59:23

syamajala
Member
From: here, there, everywhere
Registered: 2005-01-25
Posts: 617
Website

compute cluster

I've been writing some code in python to do some mathematical computations. Currently my code makes use of the multiprocessing module and I'm running on a quad core, but its very easy to think of something I want to compute which my quad core system can't do in a reasonable amount of time. I've been thinking about putting together a small cluster to do computations on. I've found a python module that has distributed versions of the functions from the multiprocessing module I use. Its written using MPI. Anyway, I'm having trouble deciding what CPU to get. I've looked at a few ivy bridges, some sandy bridges, and an amd fx-8150. I'm looking to spend between $1500 to $2000 for 3 to 4 systems. They would be diskless and boot over network.

I've priced an ivy bridge based system with a core i7 3770k with 16gb ram with case, power supply, and motherboard at around $600 ea. Does anyone have any experience with this type of stuff?

Offline

#2 2012-07-26 06:59:29

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,678
Website

Re: compute cluster

I just built a i7-3770K w/ 2x8 GB of RAM on an Asus P8Z77-V Pro.  What experience are you looking for here?


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#3 2012-07-26 12:47:37

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 30,330
Website

Re: compute cluster

Is this for the purpose of completing the calculations, or just for the fun of building the cluster?

If it's the former, have you considered recoding the tools in C?  You may not need additional hardware.


"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman

Offline

#4 2012-07-26 14:28:24

syamajala
Member
From: here, there, everywhere
Registered: 2005-01-25
Posts: 617
Website

Re: compute cluster

Would there be a way to rewrite a few of the computational more intense functions in c and still use python? Is it possible to use the multiprocessing module with mixed python and c code or could i just use threads instead in c? I don't want to rewrite the whole thing in c.

Also, I am using sage if that matters much. The only thing I really need from it is matplotlib. I am also using CartesianProduct and Combinations, but I heard python has those in itertools.

edit:
And yes, building the cluster would be fun.

Last edited by syamajala (2012-07-26 14:29:03)

Offline

#5 2012-07-26 15:28:49

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 30,330
Website

Re: compute cluster

Yeah, a cluster would be fun.  I've thought about it, given all the "old" computers being tossed in the garbage around here.  Then I realized I'd have absolutely nothing to do with it.

I've dabbled a bit in python, but I'm not very familiar with the tools and libraries available.  I am much more comfortable in C ... I swear, the language was designed to work just how I think.   Because of this I can't really answer most of those questions.  I do know it is possible to write sections in C, compile them into a 'library' that can be imported for use in python - but I have no hands on experience with this.

I also have no intent on flaming python, it's an absolutely wonderful language - but for anything computationally intensive C could reduce processing time by leaps and bounds.


"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman

Offline

#6 2012-07-26 17:30:50

syamajala
Member
From: here, there, everywhere
Registered: 2005-01-25
Posts: 617
Website

Re: compute cluster

I have no loyalties towards python. I picked it up during the course of this 10 week research project. Thats one of the advantages of using python in this setting; students can come in without knowing python at all and easily contribute. I went from knowing no python at all, to writing a program to do a series of nontrivial computations. Plus, python seems to be popular among the mathematicians in this department, both students and faculty.

Apart from my short time working on the arch x86_64 port, where I had 3 athlon64 systems netboooting and running distcc, I've never had a need for a cluster either. Thinking about things some more though, I already have access to a readily available cluster. I setup a bunch of old p3s and p2s in my dad's doctor office so he can view a patient's medical records when he is in the room with a patient. They netboot arch and are on their own network with a separate switch. I can install python, sage, and openmpi on them and do computations on that to test things out. All the systems currently do is run rdesktop and login in to a windows 2003 server anyway so, locally at least, no heavy lifting is being done by these systems when they are being used.

My school also has a cluster with 576 cores, but the professor I work with doesn't have access to it. I would not mind paying for a small cluster out of my own pocket. I think $1800 for 3 i7 systems is a reasonable price for the amount of computational power it gives. When I was done using the athlon64 cluster I used to own, I simply sold the systems on ebay, and was able to recover most of the cost. Another reason I am interested in building a cluster is because HPC is the area I have been focusing on for my CS degree. I have taken 1 scientific computing course so far, and will be taking the other 2 HPC related courses my school has to offer this fall and spring.

Offline

#7 2012-08-08 00:32:42

syamajala
Member
From: here, there, everywhere
Registered: 2005-01-25
Posts: 617
Website

Re: compute cluster

I've decided to go with an amazon ec2 cluster. I've got the code distributing computations between the two systems I have using scoop for python. Once I finish writing everything, I'll setup an ec2 cluster.

Offline

Board footer

Powered by FluxBB