• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Build for application development, some gaming and some virtualized servers

hobbyDev

Junior Member
Hi all!

I would like some comments on the following build:

1. What YOUR PC will be used for. That means what types of tasks you'll be performing.
Gaming (GT?5) and Android development.
A Linux 64-bit virtual machine guest must run under a windows host.
VT-d support (CPU+Mobo) required! Comments are appreciated, if anyone has experience with it.

2. What YOUR budget is. A price range is acceptable as long as it's not more than a 20% spread
Around 2000$ in US-prices, such as found on http://pcpartpicker.com.

3. What country YOU will be buying YOUR parts from.
4. IF you're buying parts OUTSIDE the US, please post a link to the vendor you'll be buying from.
We can't be expected to scour the internet on your behalf, chasing down deals in your specific country... Again, help us, help YOU. Germany
They will be bought from Germany, probably from a system builder such as alternate.de.

5. IF YOU have a brand preference. That means, are you an Intel-Fanboy, AMD-Fanboy, ATI-Fanboy, nVidia-Fanboy, Seagate-Fanboy, WD-Fanboy, etc.
No brand preference.

6. If YOU intend on using any of YOUR current parts, and if so, what those parts are.
No parts is to be reused.

7. IF YOU plan on overclocking or run the system at default speeds.
Not really. Maybe memory if useful.

8. What resolution, not monitor size, will you be using?
3 Monitors at 1600x1200 for development, only one for gaming. I am not really into 16:9.

9. WHEN do you plan to build it?
Note that it is usually not cost or time effective to choose your build more than a month before you actually plan to be using it.
I will be ordering mid January, unless price cuts are expected end of January.

XX. Do you need to purchase any software to go with the system, such as Windows or Blu Ray playback software?
Windows is required.

YY. I started planing with those components:

-CPU Intel Core i7-4771 3.5GHz Quad-Core Processor
Faster than i5 for compiling? Multiplier locked, as VT-d is otherwise not available.

-CPU Cooler Noctua NH-U12S 55.0 CFM CPU Cooler
Seems to have a good cooling performance without blocking RAM-Slots or PCI-Express cards.

-Motherboard ASRock Z87 Extreme6 ATX LGA1150 Motherboard
I need a motherboard with VT-d support. Only ASRock seems to support it.

-Memory G.Skill Ripjaws X Series 16GB (2 x 8GB) DDR3-1866 Memory

-Storage 2x Samsung 840 Pro Series 256GB 2.5" Solid State Disk
Physical division between system and current data. Backups and media would be over USB.

-Video Card Asus Radeon R9 280X 3GB Video Card
Should drive the 3 monitors for development, only one for gaming.
Possibility to set up VT-d with VGA-Passthrough would be nice.
NVidia seems to only support VGA-Passthrough with Quadros or Teslas.

-Case Fractal Design Define R4 ATX Mid Tower Case

-Power Supply Be Quiet Dark Power Pro 10 550W 80+ Gold Certified Semi-Modular

-ATX Power Supply
PS must be silent and support Haswell low power modes.

-Optical Drive Asus BC-12B1ST/BLK/B/AS Blu-Ray Reader, DVD/CD Writer
to play DVDs, Bluerays

-Operating System Microsoft Windows 7 Professional SP1 (OEM) (64-bit)
Or Windows 8.1? I might have to go to some store carrying Windows 8.1 computers to try it out ...
 
VT-d is used for the android development kit, there is an Intel based image in the standard pack and presumably it can use VT-d. Seeing as how the limiting factor for me doing Android development is also the emulator I think its fair to say trying to make that as fast as possible is a good idea.

I don't personally ever notice more than about 2 cores worth of usage when compiling Java code with the ADK. So I think its fair to assume the difference between an i5 and an i7 is going to be minimal. If you run databases and other heavy applications locally for website work then you might find that you can get better performance that way but even then its going to small unless you know you have an application that really uses the cores and even then its like 20% faster (video encoding for example).

I got a hexacore for development but then I work on parallel algorithms and soft real time systems so I tend to be able to use a lot of cores sometimes. I also appreciate them when profiling code, especially multithreaded code. But if you just do Android work then an i5 wont be any different. The i7 might help in games however, a few games are beginning to show performance benefits above quad cores now. Considering the budget you certainly don't need to reduce the CPU to an i5 but you could without any consequences for your intended dev work.
 
The budget in Euros would be 1700€, accounting for the fact that prices are higher here.

Thanks a lot for the infos about the ADT, about it using most of the time two cores at most. I had only compiled rather simple apps with it before, so I was not sure.

I think I am still going for the i7, since I have a background server running compiles for regression and testing. I was also thinking about an hexacore, but it seems overkill for me, and as the price jump is quite high, so I will stay with quadcore.
 
VT-d is used for the android development kit, there is an Intel based image in the standard pack and presumably it can use VT-d.

What makes you say that? What hardware device is getting passed through to the Android development emulator/VM?

EDIT: OP, still waiting for info about your specific VT-d use case. The reason I am hung up on this is that VT-d is one of those things that people think sounds cool, but it comes with so many restrictions that it is not useful. In other words, the cases I've seen demonstrated are mostly parlor tricks, and not something that people would actually for real work. I'm interested in learning about your use case, and whether you've managed to get it to do something useful in practice.

Most cases that I've seen end up being better off forgoing VT-d support and saving your money/spend it somewhere else.
 
Last edited:
https://www.ibm.com/developerworks/..._with_android_don_t_hate_the_emulator?lang=en

The Intel HAXM accelerated android image requires VT-D in order to run. Its this I am referring to and he will need VT-D support as the acceleration it provides is astounding compared to without it (its like 50x faster).

HAXM only needs VT-x and not VT-d. It's using the normal hardware virtualization extensions which allow x86 on x86 virtualization rather than having to resort to emulation. VT-d is for passing PCI(e) devices directly to VMs. It's not needed for general purpose virtualization acceleration.

Intel's docs support this:
System Requirements

Hardware Requirements:

  • Intel® processor with support for VT-x, EM64T, and Execute Disable (XD) Bit functionality
  • At least 1 GB of available RAM
Supported Operating Systems:

  • Microsoft Windows* 8 (32/64-bit)
  • Microsoft Windows* 7 (32/64-bit)
  • Microsoft Windows Vista* (32/64-bit)
  • Microsoft Windows* XP SP2 (32-bit only)


Note HAXM only applies when developing on Android for Intel, not the vastly more common Android for ARM.
 
What makes you say that? What hardware device is getting passed through to the Android development emulator/VM?

EDIT: OP, still waiting for info about your specific VT-d use case. The reason I am hung up on this is that VT-d is one of those things that people think sounds cool, but it comes with so many restrictions that it is not useful. In other words, the cases I've seen demonstrated are mostly parlor tricks, and not something that people would actually for real work. I'm interested in learning about your use case, and whether you've managed to get it to do something useful in practice.

Most cases that I've seen end up being better off forgoing VT-d support and saving your money/spend it somewhere else.

Indeed, looks like VT-x would be sufficient for Android for now.

I never had the hardware for VT-d before, so no experience yet. But then, right now it only means getting a non-K CPU, an ASRock motherboard instead of an ASUS, and an AMD graphic card instead of NVIDIA. So, no major compromise or cost yet.

I might try (discrete?) NIC passthrough, as to route traffic between virtualized server to non-virtualized clients.

Note HAXM only applies when developing on Android for Intel, not the vastly more common Android for ARM.

Currently, I am only doing java, no C++, so it should not be be a problem during development. Last tests run on actual phone hardware.
 
OK, the main things I see in your build are:

- Mobo: The ASRock Z87 Extreme6 is very expensive relative to your needs. The Z87 Extreme3 costs about 50 euros less and should do everything you need, including a potential secondary GPU.
- RAM: There's no real benefit to getting DDR3 1866 over DDR3 1600. The DDR3 1600 version of that kit saves you about 15 euros.
- SSD : Nothing in your workload suggests a need to get an SSD with a heavy focus on write performance. I also don't really see the need to separate the data onto two drives: that's what backups are for. The Crucial M500 480GB is an excellent deal right now, saving you 160 euros over dual 840 Pro 256GB.
 
Back
Top