State of the Dongle Address
I got a good bunch of questions from a user, which prompted this post. The context here is analyzing a large amounts of 1M+ FCS3 files, ie. high-throughput analysis.
1) Do you think the PC version will sometimes catch up to the Mac version?
Yes. 7.2 is 80% there if you compare performance on single-CPU machines. Mac's big advantage is multi-threading, which we have recently implemented in a 7.5 beta version.
2) When do you plan to release PC version 8.x?
Odd numbers are used for PC, even - for mac. The next version for PC is 7.5, and after that, we start working on 9.0 & FlowDX (clinical FlowJo.)
In Version 7.5 we hope to bridge the gap by introducing support for multiple processors. This is not to say V7.5 will be "as fast" as V8, but it's going to be one step closer. Interestingly, the method we picked for scaling threads in V7 is superior to what we used on the Mac, and will support more than 4 processors as well as distributed processing across network sockets. But you, the user, won't see that difference kick in for at least several more months, since it needs fine-tuning and optimization.
3) What kind of PC hardware do you recommend for smooth operation of FlowJo?
at least 3GB RAM, for your data size. FlowJo will use up to 1.7GB, but that amount gets mirrored by the FlowJo engine's memory allocation. Since 32 bit windows doesn't use more than 3 - 3.5GB RAM, going higher won't change anything.
In therms of CPU, V7.2 series are single-threaded, so it does not matter if you have dual- or quad- core CPU, but V 7.5 will scale linearly with 2- or 4-core processors. I'm not sure what the scaling will be like with 8- or 16- threads, since disk access becomes a bottleneck.
In terms of data bandwidth, use SATA-2 based disks. Don't access big files over network.
4) Can FlowJo run with 64bit versions of Windows (XP/Vista)?
Yes, but it's not supported. That means, if you find bugs in 64 bit windows which I can't reproduce in my 32 bit development environment, I won't be able to fix them ;( But I occasionally test the software in winXP 64 bit and it seems to work OK for version beta 7.5.
Version 7.2x seems to have a problem with vista 64 bit in that it does not find the hardware address of the computer. It's not likely we'll have "official" 64 bit support in the V7 series.
5) Can FlowJo adress more than 4 GB RAM?
In 7.5, since each "thread" gets it's own PID, it will be able to allocate it's own 32bit-compatible amount of RAM (~1.7GB). So if you ran 7.5 on a 64 bit computer which has 8GB and 4 processors, with only 4 threads you should be hitting pretty close to 80% RAM utilization. This is hypothetical, I don't have a windows computer on which I can test this claim.
6) Is RAM more important or the processor's performance?
Yes. This will be true in future versions as well regardless of processor scaling. RAM is ~1000 faster than disk, on average. When computer gets low on RAM, it uses the disk to swap chunks of calculations that don't fit into . Feeding data from disk to the processor imposes a 1000 fold performance penalty. At that point, it doesn't matter how fast the processor is!
7) Do you think it's possible to reach comparable performances with the PC version at all, or should I go and get a Mac (in case, which one would you recommend?) regardless the non-existing support here?
over the next year, while we fine-tune the new multithreading in PC, you should use a Mac for the most demanding analysis.
Apple Care plan (~300 bucks) gets you full support from the source, but if your mac goes down you have to fedex it out - so it's usually down for a week. out of the 15 or so macs I use in testing, some of which have been online for 5+ years, I've only had to repair two, and they were both laptops.
For a new desktop, the best "value" is iMac. the best performance is the quad-core mac pro (the flagship model is 8-core, so the 4-core should be much cheaper by now!)
Comments