A question for tech heads

Discussion in 'Hardware' started by Runningbear, Feb 1, 2003.

  1. If I have an existing program that needs to crunch a huge amount of data and that program is not designed to support multiple processors, what is the best way to achieve maximum performance using desktop technology?

    I mean beyond the obvious like heaps of ram, overclocking, fastest processor or water cooling?

    For example, would a Beowulf Cluster have any value, or would it work much the same way as a multiple processor computer and be limited by the software.

    Are there any other options?

  2. Whoa there Runningbear! Before you head off on that Beowulf tangent, make sure you understand the terrain ahead. Your program WILL run through multiple processors even though its not designed to. It just may not be at its optimum. The main directive for the multiple processor piece IS the OS. But the software itself can sometimes be designed for maximizing the benefits once there. It's a new arena and many developers are just now understanding the capabilities and dipping in the "toe of testing!"

    I have a Beowulf cluster. And it takes a certain amount of understanding to operate these things. It's not like the Windows environ where you pull it out of the box and start clicking. Yes, it does have its merits but don't become intrigued because you think you might have found the holy grail. It is a challenge.

    Unless you've invented some new hyperbolic stock trading process analyzer that needs Star Trek power, stick with the existing standards of software motive power. Share where you're going and maybe you'll find someone here already walking/walked that path. Just a thought! :)
  3. CalTrader

    CalTrader Guest

    We run a beowulf clujster: we also run a windows cluster.

    On Windows multiprocessor systems the OS already knows a great deal about how to handle things. For us we have very specific numerical simulations that we run and have many lines of custom code that customize the control things like memory, synchronization etc. Warning: this type of stuff is not easy. Few people know how to do it in general and on Windows systems the numbers are very small. If you really need to do this then your best bet for talent is to use a unix variant OS and compatible hardware.

    Unless you can show a calculation that demonstrates the benefit to doing all this your best bet is to use of off the shelf software and do some customizations. A modern dual or quad processor box with a gig of ram and fast IO can do quite a bit. In fact this is part of the issue in general these days: current crops of boxes are soo fast and soo cheap that there is not as much need to go out and buy new equipment