Top 10 List of Week 06
Eko Julianto Salim --- Jakarta

Top 10 List of Week 06

This list is written in no particular order :)

This week will list more material outside the scope of the course material.

1. Multiple Processor Systems - Computerphile

This is a video from Computerphile that explains multiprocessor systems. This video discusses why we have multiple cores and it also touch a lof of things in parallelism and concurrency including SIMD.

2. Multithreading Code - Computerphile

This is also a video from Computerphile. This time, Computerphile explains multithreading code and the gotchas we could encounter doing so.

3. Real World Haskell - Concurrent and multicore programming

This links to a Haskell Book discussing concurrent programming in Haskell. While there are elements in Haskell multicore programming that are completely the same compared with other languages, the ease that immutability and Haskell Functional Programming’s nature brought to concurrent programming is kinda stunning.

4. Fork and Threads

This links to an explanation as to the difference between a fork and a thread. Pretty basic but really useful link to understand the concepts.

5. Python Concurrency: The Tricky Bits

This has been long on my bookmark list. This links explain concurrency in Python and how it is implemented. It is a pretty interesting read and given that Python is limited by its Global Interpreter Lock, this is a nice overview to concurrency in such way.

6. Which physical core does the operating system use?

I stumbled upon this question accidentally (by misclicking :/) but it turns out that this is a fun read. This links to a question-answer thread that discusses where does the operating system/kernel run (in a multiprocessor system, which core/processor).

7. What is Hyper Threading Technology as Fast As Possible

This links to a TechQuickie video (by Linus Media Group) that explains hyper-threading which is Intel version of simultaneous multithreading quite concisely and with good analogy.

8. Why are GPUs more powerful than CPUs

WHy are GPUs more powerful than CPUS? This question is pretty flawed but the answers inside this question-answer thread is pretty interesting. This really shows that parallelism in specific workloads help tremendously.

9. Managing Process Affinity in Linux

This links to a page explaining how to manage process affinity in Linux, that is assigning which core does a thread run on. It is a nice and very practical read.

10. Process ‘niceness’ vs. ‘priority’

This links to a question-answer thread explaining what is ‘niceness’ and ‘priority’ with regards to a process. This is a good practical read that discuss historical contexts too.


© --- Eko Julianto Salim --- File Revision: .