Tag Archives: multi-core

Who knows C++ multi-core programming book

Who knows this C++ multicore programming book

Happy New Year. Welcome to 2017. I hope it will be a much more productive year for most of us despite it being my best year yet. I have just not been very happy with the results thus far so I am expediting my implementation even faster.

As some of you know, I have been looking at Intel Threading Building Blocks also known as TBB,  but after my first implementation from the Flow Graph has resulted in compiler errors which are quite complex. As a result, I need to revisit a few books on low level, multi threading environments using C++.

I have a rare request from all those that have read this newsletter on a daily basis. Thanks to those who have stayed committed. Anyhow, I have come across an old school book about multicore processing done in C++. I’m just wondering if anybody has read it to see what they thought. I’m actually wondering if there is a more up-to-date version equivalent of this book.

Here is the book info

As said, let me know if you are aware of any equivalent more modern books.



PS. I did not realize today was a nonworking day for those in North America. I was trying to figure out why the streets were quiet today but now I know. It was is day off in lieu New Year’s Day falling on Sunday. As a result I have decided to extend the sale from yesterday. Here are the details:

I actually opened up the email thingy to invite you to an introductory promo with 24 hours left!

  • I will be switching over from our Quant ELITE service to the newer Quant Analytics in the next few months. Enjoy the last of coding demos and video walkthroughs learning R, math, Matlab, .NET, serious secretive research papers from biggest the banks and hedge funds, building out new open source trading, etc etc. I could go on with this but I it will also permanently disappear in coming months.
  • We are currently doing a futures/options course taking us up to the the first week of February. This will turn into a new separate course in coming months as well.
  • This will be replaced with an entirely different service. It will involve actual live trading analysis for all major asset classes in the this global market. It will cover all forex, pair trading/arbitrage stock trading, and options with futures. Exciting times ahead
  • I have unbundled the Infrastructure Building Blocks and Interactive Brokers API workshop. These are not  yet for sale individually but will be marketed at $497 each. Moving forwards, both will be used as an introduction to those who want to to build out the same high speed system I am constructing now. That is an extra $1000 value as of today. If you take this, I will  give you access to both for 30 days.
  • Not only that, I am doing a 2 for 1 deal for those interested in this new service. As this new service advances, I will be raising the cost on a monthly basis. This time next year, this Analytics service could be about $3k to join on an annual basis. If it works out, I do believe it will be worth a lot more.  I will only be making myself available personally for my members through this service with live private event Mondays nights Eastern Standard time.

As said, if this works out, You can expect it to go up over the next few months after introduction. I will be holding this promotion until Jan 1, 2017.


P.P.S. Are you part of my Facebook programming group? There is lots of action going on it where we can all learn about software development in this exciting field.
Join here https://www.facebook.com/groups/quantlabsnet/
Also stay up to date on my Facebook Page https://www.facebook.com/quantlabsnet/
Twitter: twitter.com/quantlabs
Lasly, I do post about 20-30 Bloomberg ‘video charts’ on my Instagram at https://www.instagram.com/quantlabsnet/


NOTE I now post my TRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!

We need more than multi-core for quant development

We need more than multi-core for quant development

This artice discusses the good, the bad, and the ugly of multi-core computing; it just appeared in the HPC Source magazine, page 5-7.


I also enjoyed your article, – thank you. Notwithstanding the drive towards cluster-on-a-chip architectures, HPC customers will require workload managers (WLMs) that interface effectively and efficiently with O/S-level features/functionalities (e.g., MCOPt Multicore Manager from eXludus for Linux, to re-state your example). To me, this is a need well evidenced in the past: For example, various WLMs were tightly integrated with IRIX’s cpuset functionality (http://www.sgi.com/products/software/irix/releases/irix658.html) to allow for topology-aware scheduling in this NUMA-based offering from SGI. In present and future multicore contexts, the appetite for petascale and exascale computing will drive the need for such WLM-O/S integrations. In addition to the multicore paradigm, what makes ‘this’ future particularly interesting, is that some of these multicore architectures will exist in a hybrid (CPU/GPU) cloud – a cloud that may compliment in-house resources via some bursting capability (e.g., Bright’s cloud bursting,http://www.brightcomputing.com/Linux-Cluster-Cloud-Bursting.php). As you also well indicated in your article, it is incumbent upon all stakeholders to ensure that this future is a friendly as possible (e.g., for developers and users). To update a phrase originally spun by Herb Sutter (http://www.gotw.ca/publications/concurrency-ddj.htm) in the multicore context, not only is the free lunch over, its getting tougher to find and ingest lunches you’re willing to pay for!




NOTE I now post my TRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!

HPC: If I created a cluster out of few multi-core machines let say five 4 core with each machine has 8 thread capacity

This may be silly question but I am a little novice to HPC. If I created a cluster out of few multi-core machines let say five 4 core with each machine has 8 thread capacity
(eg. Intel® Xeon® Processor X5687 ) with more than enough memory. How many nodes would I have, 40, 20 or 5. In other words, How many identical processes can I run simultaneously and independently with maximum performance ? Is it 40, 20, 5 or any other number?. Or simply a node means a one machine and has nothing to do with the amount of processes.

Node == physical machine. It really has nothing to do with performance:capacity:parallelism of your given app(s).

Clearly a multi-core node with HT will have more raw capacity than non-multi-core node in terms of raw CPU performance; but overall performance depends on your app and its performance requirements:specs:profile.(IO, Network, CPU, etc).

Strictly speaking, you can run a ‘test cluster’ on a single physical node with virtualization software to carve it up into multiple VMs. This lets you develop your parallel app; but of course is not representative of ‘real world performance’ that would be observed with multiple physical nodes connected by some interconnect (gig, 10gig, infiniband, etc)
I hope the following summary will help you. 🙂
One node Intel X5687 chip-set has 4 physical cores. If the hyper threading (HT) is enabled (via BIOS setup), you can have 4 virtual cores in addition with your physical cores. Therefore, total CPUs=8. You can run 8 application threads on your one node x5687 machine. Even-though you have 8 CPUs and your application is more compute intensive, the performance may not be good due to virtual cores may not do the actual compute (and the computation will happen only in physical core).
I think it is pending your definition.
For example: If you have a sever scheduling tasks to your cluster then you can run one client process per machine and multithread its calculation giving you 5 nodes with up to x8 performance speedup. Or you can run a client per core calculating on a single thread giving you 40 node cluster.
You did confused me with the specs you gave, I prefer a thread per core (physical) ratio to avoid the overhead. if you are talking about 4 physical cores with hyper threading or something like that, then you should benchmark to decide if you want to configure your environment as 20 or 40 working threads.


NOTE I now post my TRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!