Basics of Stock Trading Computers Part 4
Welcome to the Orbital Computers blog! In this series of articles, I am going to outline some of the most important topics to consider when purchasing a stock trading computer. I’m going to cover hardware reliability, performance, and suitability for day trading. I’ve tried to condense the info as much as possible, but when we’re dealing with a topic so complex it really requires a more thorough explanation. This will be a series of several posts, so look for updates every week until February 2014. If you have any questions about any of the topics covered in this series, or if you’d like Orbital Computers to build a stock trading computer for you, please feel free to contact us here.
Introduction
A few weeks ago, we began our series of articles on the basics of stock trading computers. We briefly discussed why reliability is the most important specification of any stock trading computer and we introduced a few key components in that ultra-reliable trading PC puzzle. We went over why SSDs make a better storage choice for most traders and we compared and contrasted that with traditional hard disk drives. We then discussed the relative merits of several Power Supplies for trading computers. If you missed the first post, click here to start from the beginning. In this installment, I will be going over trading computer system cooling. I hope you find it informational, and if you have any questions at all, please don’t hesitate to contact us!
Central Processing Unit
Now that we’ve discussed some of the important supporting components, it’s time to really dive into the most important component for your stock trading computer: the Central Processing Unit (CPU). The CPU is like the brain of the computer — it performs most of the PC’s logical functions.
Those 4 basic functions are:
- Fetch – The CPU fetches program instructions from system memory.
- Decode – It decodes those instructions into a language it understands (binary).
- Execute – The CPU executes the program’s instructions, including calculations performed by the Arithmetic Logic Unit (ALU).
- Store – It stores the results of the physical processes.
What makes for a good trading computer CPU?
There are 4 basic factors to consider when choosing a CPU for your new trading PC – number of cores/threads, operating frequency, heat output, and cost.
Number of CPU Cores/Threads:
This is probably the most important specification to consider for a new stock trading computer. To put it simply, the CPU core is where all the action happens. All the bits of data get streamed into the CPU core to be executed, providing us with useable data. If the instructions said to add ‘1+2’, the execution unit would process that request and provide the answer of ‘3’. That value is then either written back to the RAM to be sent to the hard drive for storage, or it would be sent out through, for example, the video card to be displayed on your monitor as the answer you asked for. Modern CPUs have more than just one core so, in general, they are able to process these types of requests simultaneously instead of waiting in a long line to be processed one after another. As you can imagine, this leads to significantly better performance! You can simply get a CPU with 4 cores all on the same bit of silicon and have it operate similar to if you had 4 completely separate CPUs all working together.
It’s important to quickly differentiate between single and multi-threaded applications at this point. A single-threaded application can only utilize a single core, regardless of how many cores are available for use. The program is written in such a manner that it can only be executed across one core. For these programs, it is more important to consider operating frequency over core count, as a higher frequency will usually lead to better performance over more cores (given their underlying microarchitecture is the same; more on that later). Multi-threaded applications, on the other hand, greatly benefit from more cores and threads. Their instructions can be executed simultaneously across several threads, leading to drastically improved performance. Most popular stock trading platforms and streaming chart software on the market today utilize multi-threading in one form or another. Furthermore, having more threads enables a greater level of multi-tasking. So if you have 5 different single-threaded applications running on a multi-core CPU, you’ll have better performance than if it were running on a single core CPU. The important point to remember here is that if you are just running one single-threaded application at a time, it doesn’t matter if you have 8 cores on your CPU, the data will only be processed across one core. If your are running a multi-threaded application, or if you do significant multitasking, then having more cores/threads will be beneficial.
Intel’s Hyper-Threading Technology (HTT):
Intel’s proprietary technology HTT enables a single core to process two threads of information simultaneously, significantly improving performance of multi-threaded applications. An Intel Core i7 4770 CPU with HTT has 4 physical cores and 8 so-called ‘virtual cores’ and is able to process 8 separate streams of information at once (at least until a certain point). This technology is tremendously beneficial for a stock trading PC because it allows us to keep the cost of the CPU down, while still leveraging extra virtual cores to process multi-threaded trading applications and improve multi-tasking performance.
CPU Operating Frequency:
The operating frequency of a CPU is how many cycles of the clock it can perform in one second, usually given in GigaHertz or GHz. 1 GHz is 1 billion cycles per second (1 Hz = 1 cycle per 1 second). So an Intel Core i7 4770 CPU with an operating frequency of 3.40 GHz is capable of performing 3.4 billion cycles within 1 second. If the CPU can perform X number of operations per cycle, then you can find out how many total operations it can perform per second by multiplying X by the clock speed or operating frequency. If you increase the operating frequency and assume that the CPU will still be as efficient as it was before, you can increase the total number of calculations the CPU performs per second. For example, if the CPU can perform 1000 calculations within one clock cycle, then a CPU running at 1 GHz, or 1 billion cycles per second, can perform a total of 1 trillion operations per second. (1000 operations/cycle X 1 billion cycles/second = 1 trillion operations/second.) So if you simply increased the clock speed to, for example, 1.5GHz, then the CPU would be able to perform 1.5 trillion operations/second.
So I’ve just made it sound like operating frequency is the most important factor to consider for the CPU, but it really isn’t! It is important to note that operating frequency isn’t quite as reliable of a comparison point when trying to decide between two CPUs for your trading computer. While in the past, one was able to compare, say, an AMD CPU at 4.0 GHz vs an Intel CPU at 3.5 GHz and conclude the AMD was the faster CPU, it can’t be done quite so simply today. As CPUs have evolved and improved over the years, we have to consider the underlying microarchitecture or lithography of the CPU before concluding which is faster. An Intel CPU at 3.5 GHz may be more optimized and efficient at performing calculations than it’s higher frequency AMD counterpart. As such, it may be able to get more total work done per each cycle. So if CPU A is capable of performing 1000 operations per 1 cycle and CPU B is only capable of performing 750 operations per 1 cycle, then at 1 GHz CPU A will be 25% faster than CPU B. CPU B would need to increase its clock speed to surpass CPU A in total operations per second.
In short, you can use clock speed as a comparison tool to get an idea of real-world performance for CPUs within the same family (e.g. Intel Core i7 versus Core i5) but you can’t reliably use it to compare two entirely different CPU microarchitectures (e.g. Intel Core i7 versus AMD FX-Series).
Heat output:
All these billions and trillions of calculations require significant amounts of power and output significant amounts of heat. Just think of how many electrons are coursing around in that tiny enclosure! As we discussed in the last post, heat is the reliable trading computer’s worst nightmare. Increased heat decreases the lifespan of your components and degrades their reliability and stability. You can look to a CPU’s Thermal Design Power, or TDP, to get an idea of how hot it’ll get. That value designates how hot the CPU is designed to get and thus how powerful of a cooler you’ll need to dissipate all that heat. At stock operating frequencies, the factory included CPU coolers are usually sufficient to dissipate the required amount of heat, albeit at a higher fan speed and louder operation than an aftermarket cooler.
This brings us to an important and frequently discussed topic in the custom computer world: overclocking. Overclocking is accomplished by manually raising the operating frequency of the CPU in order to increase the total operations it’s capable of performing per second (for an example, see above the operating frequency section). This is a useful tool to get more performance out of the CPU at little to no extra financial cost. While there is no financial cost to overclocking (other than the labor to perform it), it comes at the expense of drastically increased heat output and thus decreased reliability. You’ll notice that most of the Intel CPUs we offer on our stock trading computers are the locked varieties, i.e. they cannot be overclocked. This is because reliability should come before absolutely everything else in a trading computer, and overclocking inherently increases the risk of failure and decreases system stability. In short, don’t bother overclocking your trading computer, it might make the CPU operate faster, but it won’t do you any good if the computer fails in the middle of a trade.
Get on with it! What CPU do I choose?!
For a trading computer CPU, you want a healthy mix of multi-core, high operating frequency, low heat output, and reasonable cost. Our favorite, highly recommended CPU is the Intel Core i7 4770 CPU. It has 4 cores, and with Intel’s Hyper-Threading Technology, 8 threads. It has a base frequency of 3.40 GHz and can ramp up its speed, as it sees fit, all the way up to 3.90 GHz. It has a max TDP of only 84 W, making it run cool, quiet, and efficient, and it has a reasonable price tag. If you’d like a more budget oriented option, the AMD FX-6300 with 6 cores and 6 threads, or the AMD FX-8350 with 8 cores and 8 threads are both excellent choices. While these CPUs have more cores than the Intel listed above, they are based off of a less efficient microarchitecture, so even though they have more cores, they may not be as powerful as the 4770. They are still excellent, high-performance CPUs, just not quite as good as the Intel Core i7 4770 — and they’re priced to reflect that fact!
If you do some very serious multitasking, or if you do any highly intensive multithreaded work (which isn’t usually found for most regular day traders) you may want to consider stepping up to the Intel Core i7 4930k CPU with 6 cores and 12 threads. This is a top of the line trading CPU; as such, it is significantly more expensive than the 4770 and is best reserved for those who really need something so powerful.
Here are some quick comparisons of benchmark results of some of the top trading computer CPUs: