The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
Anything that is unrelated to elephants is irrelephant Anonymous - The problem with quotes on the internet is that you can never tell if they're genuine Winston Churchill, 1944 - Never argue with a fool. Onlookers may not be able to tell the difference. Mark Twain
The kits are a lot of fun. I've got one Pi 2B acting as a print server, so that all the smartphones, PCs and iPads in the household can print to a Brother laser printer. Another 2B is monitoring temperature and humidity readings in the house and logging it to io.adafruit.com. A third (this one a 3B) serves as the media server for our TV, allowing me to choose which movie or TV program I want to watch from my iPad.
We got a new machine in at work. This one is in a very deep 1U package and it has two processor chips, each with twenty hyperthreaded cores. This means it can handle eighty (that's 80) threads simultaneously. WOW !
Unfortunately, I seem to be seeing a bug with the OMP library. It doesn't seem to handle that many threads correctly.
Very interesting! For quite a while Windows NT had a limit of 32 CPUs. I guess they extended that not long afterward. Back then, multi-CPU machines were a bit different. There was a company called Sequent who was bought by IBM and made machines with multiple processors on a backplane bus. There was one processor per card slot.
Neat. So how many physical CPUs would that handle, total?
I "inherited" a server box a few years back with a second physical processor slot on the motherboard. Some IBM ThinkServer model. The machine had 16GB of RAM, but could handle up to 32 (that's back when that was still considered a lot). The problem is that, strangely enough, if you wanted to make use of that second half of the memory capacity, you had to get a second processor. Which could only be purchased through IBM, and cost more than an entire brand new 32GB system you could put together at the time.
That's the only time I was ever in possession of a multi-CPU machine. So I've never really had the opportunity to decide for myself whether a multi-CPU machine was worth the extra money. I'll stick with multi-core, hyperthreading single CPUs I guess.
For most computer uses, 80 threads is a solution in search of a problem.
Some engineering and math problems are crying for massive parallelism, with weather forcasting as the primary schoolbook example. All the top supercomputers in the world are hugely, massively, parallell.
But for everyday desktop problems, it is next to impossible to split the task into 80 similar-size, independent subtasks. One action follows the other, and if you manage to split it into eight or ten action sequences (or threads), most of the time a few of them will be idling waiting for one of the others to catch up. The more threads you create, the greater is the chance that a large fraction of them will be idling.
Then, if you manage to run 80 threads at full speed for an extended period of time: In most cases, they wil block on some other resource, probably I/O capacity. When my old university got their first Cray supercomputer in the early 1980s, it didnt last more than a couple of years: The processing capacity of the CPU was more than sufficient for FEM and weather forcasting, but the CPU was idling waiting for the raw data to come into memory; the I/O channels were not wide enough. Its replacement (a newer Cray) didn't have a much faster CPU, but significantly improved I/O, giving a dramatic improvement in throghput. Look at today's supercomputers: Not only do they have massively parallell processing, but also massively parallell I/O. And by building the machine from several thousand processing nodes, the combined RAM access capacity is immense. The individual CPU chips are not very impressing at all.
Last Visit: 6-Jun-20 8:41 Last Update: 6-Jun-20 8:41