PDA

View Full Version : Help with custom build



sredmyer
11-04-2009, 03:57 PM
I am about to begin building a PC which will be used as the brains for a CD Ripping robot. The robot itself is controlled via serial (RS232) interface and is used to move discs from spindle type stacks of discs to one of the drives in a stack of optical drives.

As a software engineer, I will have no problem creating the apps to do the required work but I am not really up on the hardware side of things. What I am looking for is advice on the components best suited for the build. Here are some factors which I believe will have a bearing on what my best choices might be.

1) I have a few different versions of these robots. The only difference is the number of optical drives. The smallest robot only has a single drive while the biggest has six.
2) The optical drives I will use (based on their DAE features and performance) will be IDE Plextors. Although I suspect they will be interfaced to the host PC via an adaptor and eSata.
3) Within the robot case, space will be limited such that a micro ATX board is probably the biggest board I can use.
4) The ripping software will be multithreaded allowing the system to be ripping from all drives simultaneously.
5) Additionaly the encoding (from PCM to flac) will also be done as part of the ripping process and will also be multi-threaded.
6) The Plextor drives I plan to use are rated at between 40X and 52X (three different models) read speed.
7) Encoding will be done mostly in RAM so the mother board has to be able to support large amounts (4GB maybe more) of RAM.
8) To support the large amounts of RAM the PC will be running a 64bit version of Windows (most likely WinXP pro x64).

I expect that data throughput will be the bottleneck while ripping and processor/memory speed will be the bottleneck for encoding.

Speed of the ripping/encoding process is THE main concern. As such I think that (due to the multiple threading) the mother board will need to support a hyperthreaded multi-core CPU (possibly multiple CPUs for the multi drive robots) and fast RAM.

No fancy audio or video is required, simple inexpensive on-board solutions would probably be best. Also the PSU is of no real concern, I will use whatever is least expensive and provides the required power.

Given these requirements can some of you hardware gurus out there suggest some options.

Thanks,
Steve

The Wise Monkey
11-05-2009, 04:13 AM
Sounds interesting! :)

I would recommend going for an i7 CPU, probably the 920 as this offers hyper threading capabilities and supports triple channel RAM - micro ATX usually offers up to 24GB.

This ASUS board is a good starting point:
http://www.newegg.com/Product/Product.aspx?Item=N82E16813131371

If you are thinking about a multi-CPU configuration, then you won't be able to find that on a micro ATX board - you would need a full size server board, which would really bump up the costs.

Also, Windows 7 64bit would be a better option than XP as it has better multi-threading support.

sredmyer
11-05-2009, 10:09 AM
Thanks Wise Monkey. I think I may have left out an important consideration. I mentioned in my first post that the disc throughput (ripping/encoding speed) was the main concern, well that is not entirely accurate. Equally important will be the cost.

Having absolutely no experience building PCs I have no idea what a reasonable cost might be so I do not really have a budget other than to say the cheaper the better (provided disc throughput is not compromised).

The goal is to build a PC (as cheaply as possible) for each robot that results in the speed of the ripping process being limited only by the time required to load the drives and read speed of the drive(s) themselves. So the PC in a single drive robot will not require as much horsepower as one in a six drive version.

The PCs in the robots will not be running any software other than the OS, the ripping/encoding software and the robot control software. There won’t even need to be a monitor keyboard or mouse connected (though connecting them for setup and debugging purposes will need to be possible). All user interaction will be through a 14 key keypad and a 2X20 character LCD display both of which will be managed by the robot control software.

This (I think) means that I can probably keep cost to a minimum by utilizing older technology which can be sourced via the secondary market (ie. EBay, Craigslist, etc.). That said I have no real idea what (if any) of the older technology (processors, boards or memory) is capable of the task when there are six drives ripping/encoding simultaneously.

Can anyone shed some light on that on that.

On the multiple CPU question, if it turns out that that much horsepower is required for the larger robots, I may be able to rearrange the guts of the robot to get some more room for the mobo. What size (length x width) would I need to accomodate for a dual processor board?

Thanks,
Steve

The Wise Monkey
11-05-2009, 10:59 AM
Well, a full size ATX board (one that can support two CPUs) is 305mmx244mm, so anything larger than that. You should bear in mind that this will then require two Xeon CPUs (for Intel) or Opteron CPUs (AMD), which can get very expensive very quickly, even when buying them from eBay.

Perhaps the best balance of cost/performance would be the last generation Core 2 Quads e.g. Q9xxx or a Q6xxx, as these should offer much better multi-threading capabilities than a dual core. For the one drive robots, you might be able to get away with a decent dual core or one of AMD's tri-cores, but the CPU will start to be the bottle neck with anything below that.

Just out of interest, what are these going to be used for?

sredmyer
11-05-2009, 12:35 PM
Well, a full size ATX board (one that can support two CPUs) is 305mmx244mm, so anything larger than that.

Thats not to bad...I can probably squeeze a 12"X9" board in there.


You should bear in mind that this will then require two Xeon CPUs (for Intel) or Opteron CPUs (AMD), which can get very expensive very quickly, even when buying them from eBay.

This is exactly where my knowledge begins to become non-existant. What processors (Xeon or Opteron) are mulit-core (and not simply hyperthreaded). What mobo (with what socket(s)) are required for what processor(s). What FSB speeds are available and how important is that? What memory speed would mate to what processor and how important is that. Which of these processors have the largest cache and how important is that.

As you can see I really am quite ignorant here :) having only enough understanding to realize that these things might be important. Further although I realize these things (mentioned above) may impact disc throughput, I imagine that there are other things which I am unaware of (or have simply overlooked) which might have just as significant an impact.


Perhaps the best balance of cost/performance would be the last generation Core 2 Quads e.g. Q9xxx or a Q6xxx, as these should offer much better multi-threading capabilities than a dual core. For the one drive robots, you might be able to get away with a decent dual core or one of AMD's tri-cores, but the CPU will start to be the bottle neck with anything below that.

Although my data (if we can call it that) is all anecdotal, I have come to believe from my own experience that I will begin to see slow downs when there are more drives then processors (cores). That is to say that for two optical drives ripping/encoding simultaneously I see a speed improvement by adding processors (cores) up to two. Beyond that I see no speed improvement. But again this is merely anecdotal, I have no real numbers (nor do I have any idea how to get them) to use in calculations and I have no idea what numbers or calculations to use.


Just out of interest, what are these going to be used for?

Thats kind of a long story...here is the cliff notes version.:)

I own and run a small CD Ripping company (www.RipitDigital.com). We try to cater to the more sophisticated client (ie. those for whom audio quality is THE important factor). Over the years we have been moderately successful (nobody is getting rich here) but in the last several months our business has dropped off dramaticaly. I attribute this in part to the economy but also to the fact that there just aren't that many CDs left out there to rip. One thing I have found is that there are many "audiophiles" with extremely large CD collections (>2000 discs) who would love to have the benefits (playlists, easy browsing, etc.) associated with a digital media library.

There are esentialy two issues which prevent us from winning these individuals as customers. The first is that for most of these individuals, there is just absolutely no way they would box up their beloved CDs and ship them cross country to be ripped. The second is most of these individuals (being somewhat sophisticated) have very specific ideas about what the end result should be and just do not trust somebody else to "do it right".

I recently had the idea that I could attract these customers by "bringing the service to them". Over the years I have accumulated several of the robotic loader type CD duplicators (here is an example currently for sale on EBay http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=350178784267&ssPageName=STRK:MEWAX:IT) which we have re-engineered for our purpose and use in-house to automate the ripping process. However, although some of these robots did include embedded PCs in their original configuration, the way we have re-engineered them, they use a separate host PC with a serial connection for the robot control and Firewire connection(s) for the drives.

The idea is to take some of the robots I have, put a purpose built PCs inside, direct connect the drives (eSATA??) and add a simple user control panel. These PCs would have a small harddrive with the OS and ripping software already loaded and configured with what we believe are the "best practice" settings. A simple control panel consisting of a small membrane style keypad and a 2X20 character display would allow a user to simply place his discs on the robot plug the thing in and press one button to rip his entire collection. If the user wanted, they could connect a monitor, keyboard and mouse to modify the ripping program settings to their liking but that would not be required.

These robots would then be rented out as stand-alone ready-to-go batch ripping solutions.

Thanks,
Steve

The Wise Monkey
11-05-2009, 01:48 PM
OK cool, sounds a useful service for the right people. :)

Since there isn't really an exact science to these kind of things, I would advise starting with the smallest one first and see how it performs; better to spend too little than too much to start off with.

Get the cheapest stuff you can, and see how well it performs when ripping one CD - don't spend more than about $200. You should be able to get a reasonable dual core and 4GB of RAM for that much, along with a case and PSU. Make sure that the motherboard has onboard graphics so you don't need a separate graphics card.

Something like this, but get them from eBay or cheaper places if needs be:
CPU - http://www.newegg.com/Product/Product.aspx?Item=N82E16819103716
Mobo - http://www.newegg.com/Product/Product.aspx?Item=N82E16813186155
PSU - http://www.newegg.com/Product/Product.aspx?Item=N82E16817165023
RAM - http://www.newegg.com/Product/Product.aspx?Item=N82E16820148163

This comes to about $153. You could probably get away with XP 64-bit to save some money, but make sure you can find the right drivers for your hardware as XP64 is notoriously bad for it. It might be worth sticking with XP 32-bit, as this supports up to 4GB (or thereabouts) and has much better hardware support.

Try this system with a few drives and see how it works - you may find that this spec is capable of all you need, thus potentially saving a large amount of money, which is always a good thing!

sredmyer
11-07-2009, 12:44 AM
Wise Monkey, I like the price of those components. I have a couple of questions though.

First, is that mobo compatable with quad core CPUs as well as dual core? If so then I could simply upgrade the processor (assuming 4GB is enough RAM) when/if this setup starts to run out of horsepower with larger robots.

Second, I see the mobo is microATX. I have heard that although the standard dimensions for mATX are 9.6x9.6, this form factor can actually come in several different physical dimensions. Do you know what size (LxW) this board is?

Third, the blurb on newegg says the board supports "up to four SATA devices". For the largest robot I would need to connect 6 optical drives via SATA. Any way to know if any of the onboard SATA ports would support a port multiplier?

Lastly, what kind of cooling would be neccessary for the CPU?

Thanks,
Steve

The Wise Monkey
11-07-2009, 05:11 AM
1. Yes, this motherboard is capable of running all AM2+ quad core CPUs, such as this:
http://www.newegg.com/Product/Product.aspx?Item=N82E16819103471

2. This particular board is 9.6" x 8.0"

3. If you need to support up to six SATA ports, then you are probably better off getting a slightly better motherboard. For example, this one supports up to 8GB of RAM, and has six SATA ports, plus is still only 9.6" x 7.8":
http://www.newegg.com/Product/Product.aspx?Item=N82E16813157153

4. Both CPUs I linked are retail versions, so they will both come with a CPU fan complete with thermal paste.


Hope this helps. :)

sredmyer
11-08-2009, 11:22 AM
Wise Monkey, thanks for all the help.

I am still a bit confused about the data throughput and the various options for interfacing the optical drives. You seem to be very knowledgable about these hardware issues, I wonder if you can help me understand the pros and cons of the various options.

As I see it my options for connecting the drives (which are IDE) are:
1) IDE
(would require PCI - IDE expansion card(s) for multiple drives)
2) SATA/eSATA
(would require IDE to SATA adaptor & poosibly a port multiplier)
3) Firewire
(would require IDE/Firewire birdge & Firewire hub)
4) USB
(would require IDE/USB bridge & USB hub)

The drives themselves are rated at 48x (for the fastest) read speed. How does this relate to the data transfer rates (USB 480Mbps, Firewire 400 or 800 Mbps, SATA 3Gbps) of the various interface options? At what point does all of this become a moot point due to other bandwidth (cache?) limitations?

Steve

The Wise Monkey
11-08-2009, 12:41 PM
It depends on how urgently you need these PCs. USB 3.0 has started being released, and this offers up to a potential 4.8 Gbps transfer speeds.

Alternatively, there are adapters you can get such as this (but perhaps a bit cheaper than this):
http://www.newegg.com/Product/Product.aspx?Item=N82E16812232004

IDE is pretty much deprecated as a technology now, but you could look for an older motherboard which should have several IDE ports. I would recommend going for the adapter though.

sredmyer
11-08-2009, 02:44 PM
It depends on how urgently you need these PCs. USB 3.0 has started being released, and this offers up to a potential 4.8 Gbps transfer speeds.

I have seen reports on this new USB spec. I think though that I would probably want something more immediate.


Alternatively, there are adapters you can get such as this (but perhaps a bit cheaper than this):
http://www.newegg.com/Product/Product.aspx?Item=N82E16812232004

I realize that, of the options I listed, SATA is the fastest (and, based on this adaptor you suggest, also the cheapest) but my question was not so much about which I should choose but rather I was curious as to the limitations of the various technologies as it relates to their transfer rates. For instance I know that USB is rated at 480 Mbps but in reality one would likely see less than half of that. As for SATA, I know that when a port multiplier is used, all connected devices share the same 3GBps bandwidth. On the board you suggested with 6 SATA ports do those all have 3GBps bandwidth each or do they also share the bandwidth?

Also I was looking for some information that would help me understand the relationship between the drive read speed and the interface's data rate.

Lastly I was wondering whether or not there were other factors involved which would limit data throughput and therefore make the drive speed or the interface transfer rate a moot point.


IDE is pretty much deprecated as a technology now, but you could look for an older motherboard which should have several IDE ports. I would recommend going for the adapter though.

Yes I realize that IDE has seen it's day but that is the interface of the drives I will be using so any connection I use will need to be IDE at least on the drive side. I have decided to stick with these drives for two reasons. The first is I already own dozens of them so cost is nothing. Second, they have excellent DAE capabilities and are extremely good at ripping from even the worst discs (there are other models that may do better for some types of issues, but on average, in my experience these legacy Plextors are as good as it gets).

Thanks,
Steve

The Wise Monkey
11-08-2009, 07:12 PM
Well, the base read speed of a CD is always 150KiB/s, so 48x is about 7200KiB/s, or about 59Mbps, so you aren't going to saturate any of the bandwidth for any of the mentioned technologies. :)

With multiple SATA ports, they are usually all connected to the same controller, and so share the bandwidth. Still, that leaves more than enough bandwidth to cope with any CD drives.

If you are still worried, you can also get PCI IDE adapters to spread the load a bit. PCI offers a bandwidth up to about 1Gbps, but again this is shared between slots. This adapter offers a couple of IDE slots:
http://www.newegg.com/Product/Product.aspx?Item=N82E16816132004