Clock Speed: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
No edit summary
Line 6: Line 6:
*Thus, computer speed is a question of software now more than hardware. Software to take advantage of multiple cores. As we saw in FreeCAD, little of FreeCAD takes advantage of multiple cores.  
*Thus, computer speed is a question of software now more than hardware. Software to take advantage of multiple cores. As we saw in FreeCAD, little of FreeCAD takes advantage of multiple cores.  
*Thus the central question for performance becomes: '''How do you program to use multicores?''' [[Multicore Programming 101]].
*Thus the central question for performance becomes: '''How do you program to use multicores?''' [[Multicore Programming 101]].
*For multithreading, there are 4 implementations in software: Pthreads where programmer has to manage threads (errorprone) (C), Threading Building Blocks in C++ (TBB) runs on top of native threads - programmers manage tasks, not threads; OpenMP runs on top of native threads as linguistic extensions of C, C++, and FORTRAN; and Cilk++ from MIT (http://supertech.csail.mit.edu/cilk/) acquired as Cilk++ by Intel - where Cilk can run on Linux laptop networks to many computers in parallel.


=Summary=
=Summary=

Revision as of 15:18, 1 May 2019

  • 3D transistors invented in 2011 to continue Moore's Law - [1]
  • Top speeds around 4GHZ and 9 GHZ with liquid gas cooling - [2]
  • Multicore concept - less powerful processors, but multiples of them. They thus use less energy, but have higher combined speed.
  • But: with multi cores - programs have to be written a different way to take advantage of multiple cores. This means that only specialized programs gain the benefit of multicores.
  • Many applications do not realize yet large speedup factors: parallelizing algorithms and software is a major on-going research area. - [3]
  • Thus, computer speed is a question of software now more than hardware. Software to take advantage of multiple cores. As we saw in FreeCAD, little of FreeCAD takes advantage of multiple cores.
  • Thus the central question for performance becomes: How do you program to use multicores? Multicore Programming 101.

Summary

Summary: Imagine a 'Global Brain' where all computing power is tapped like a network to make complex calculations really fast. That happens now with the internet, but with nodes that do individual tasks, not shared tasks. You can figuratively say that computing is shared, but not in the specific way of executing a single program. Multithreading is dividing a single program to run on multiple computers or cores - whereas the internet today is primarily based on servers - or single computers doling out computing power to many devices.

For OSE, right now multithreading is relevant only to doing high speed CAD or video processing. These are the only current OSE functions that are blocked by computer speed. Other applications to core OSE functions will likely emerge.