Hello..
More about data centers and about NUMA multicore servers and more..
About Snooping vs. Directory-based coherency..
Performance Scalability of a Multi-core Web Server
Read more here:
https://www.cse.wustl.edu/ANCS/slides/Bryan%20Veal%20ANCS%20Presentation.pdf
As you notice above that the Address bus saturation causes
poor scaling! And the Address Bus carries requests and
responses for data, called snoops, and more caches mean more sources
and more destinations for snoops that is causing the poor scaling.
So to solve the problem of poor scalability above, you have to use
Directory-based coherence that is a mechanism to handle Cache coherence problem in Distributed shared memory (DSM) a.k.a. Non-Uniform Memory Access (NUMA).
And you have to know that Directory-Based Cache Coherence is scalable.
Read more here about it:
http://www.cs.cmu.edu/afs/cs/academic/class/15418-s19/www/lectures/13_directory.pdf
So you have to choose Directory-Based Cache Coherence that is scalable by using NUMA systems.
And you have to know that data centers are now typically using NUMA multicore servers that provide "scalable" system performance and
"cost-effective" property and that provide Directory-Based Cache Coherence that is scalable.
Read more here:
https://books.google.ca/books?id=3iy6BQAAQBAJ&pg=PA32&lpg=PA32&dq=NUMA+systems+are+cost+effective&source=bl&ots=zXHJZ7oqqW&sig=ACfU3U24MbzxiuPXJB6W6p0JCtkl9hxCHQ&hl=en&sa=X&ved=2ahUKEwjX9o_gubTqAhVBc98KHU0WDJ8Q6AEwCnoECAgQAQ#v=onepage&q=NUMA%20systems%20are%20cost%20effective&f=false
AI system optimally allocates workloads across thousands of servers to
cut costs, save energy
Read more here:
https://techxplore.com/news/2019-08-ai-optimally-allocates-workloads-thousands.html
It is related to the following article, i invite you to read it:
Why Energy Is A Big And Rapidly Growing Problem For Data Centers
It’s either a breakthrough in our compute engines, or we need to get
deadly serious about doubling the number of power plants on the planet.
Read more here:
https://www.forbes.com/sites/forbestechcouncil/2017/12/15/why-energy-is-a-big-and-rapidly-growing-problem-for-data-centers/#1d126295a307
And it is related to my following thoughts, i invite you to read them:
About how to beat Moore’s Law and about Energy efficiency..
I am a white arab and i am also an inventor of many scalable algorithms
and algorithms, and now i will talk about: "How to beat Moore’s Law ?"
and more about: "Energy efficiency"..
How to beat Moore’s Law ?
I think with the following discovery, Graphene can finally be used in
CPUs, and it is a scale out method, read about the following discovery
and you will notice it:
New Graphene Discovery Could Finally Punch the Gas Pedal, Drive Faster CPUs
Read more here:
https://www.extremetech.com/computing/267695-new-graphene-discovery-could-finally-punch-the-gas-pedal-drive-faster-cpus
The scale out method above with Graphene is very interesting, and here
is the other scale up method with multicores and parallelism:
Beating Moore’s Law: Scaling Performance for Another Half-Century
Read more here:
https://www.infoworld.com/article/3287025/beating-moore-s-law-scaling-performance-for-another-half-century.html
Also read the following:
"Also Modern programing environments contribute to the problem of
software bloat by placing ease of development and portable code above
speed or memory usage. While this is a sound business model in a
commercial environment, it does not make sense where IT resources are
constrained. Languages such as Java, C-Sharp, and Python have opted for
code portability and software development speed above execution speed
and memory usage, while modern data storage and transfer standards such
as XML and JSON place flexibility and readability above efficiency.
The Army can gain significant performance improvements with existing
hardware by treating software and operating system efficiency as a key
performance parameter with measurable criteria for CPU load and memory
footprint. The Army should lead by making software efficiency a priority
for the applications it develops. Capability Maturity Model Integration
(CMMI) version 1.3 for development processes should be adopted across
Army organizations, with automated code analysis and profiling being
integrated into development. Additionally, the Army should shape the
operating system market by leveraging its buying power to demand a
secure, robust, and efficient operating system for devices. These
metrics should be implemented as part of the Common Operating
Environment (COE)."
And about improved Algorithms:
Hardware improvements mean little if software cannot effectively use the
resources available to it. The Army should shape future software
algorithms by funding basic research on improved software algorithms to
meet its specific needs. The Army should also search for new algorithms
and techniques which can be applied to meet specific needs and develop a
learning culture within its software community to disseminate this
information."
Read the following:
https://smallwarsjournal.com/jrnl/art/overcoming-death-moores-law-role-software-advances-and-non-semiconductor-technologies
More about Energy efficiency..
You have to be aware that parallelization of the software
can lower power consumption, and here is the formula
that permits you to calculate the power consumption of
"parallel" software programs:
Power consumption of the total cores = (The number of cores) * (
1/(Parallel speedup))^3) * (Power consumption of the single core).
Also read the following about energy efficiency:
Energy efficiency isn’t just a hardware problem. Your programming
language choices can have serious effects on the efficiency of your
energy consumption. We dive deep into what makes a programming language
energy efficient.
As the researchers discovered, the CPU-based energy consumption always
represents the majority of the energy consumed.
What Pereira et. al. found wasn’t entirely surprising: speed does not
always equate energy efficiency. Compiled languages like C, C++, Rust,
and Ada ranked as some of the most energy efficient languages out there,
and Java and FreePascal are also good at Energy efficiency.
Read more here:
https://jaxenter.com/energy-efficient-programming-languages-137264.html
RAM is still expensive and slow, relative to CPUs
And "memory" usage efficiency is important for mobile devices.
So Delphi and FreePascal compilers are also still "useful" for mobile
devices, because Delphi and FreePascal are good if you are considering
time and memory or energy and memory, and the following pascal benchmark
was done with FreePascal, and the benchmark shows that C, Go and Pascal
do rather better if you’re considering languages based on time and
memory or energy and memory.
Read again here to notice it:
https://jaxenter.com/energy-efficient-programming-languages-137264.html
Thank you,
Amine Moulay Ramdane.