Is Parallel Programming Hard, And, If So, What Can You Do About It?

Is Parallel Programming Hard, And, If So, What Can You Do About It?” is a free book written by Paul E. McKenney from the Linux Technology Center IBM Beaverton, and covered by the terms of the Creative Commons Attribution-Share Alike 3.0 United States license.

As stated by the book’s author, this book focuses on shared-memory parallel programming, with an emphasis on software that lives near the bottom of the software stack, such as operating-system kernels, parallel data-management systems, low-level libraries, and the like.
The programming language used by this book is C.

The latest PDF versions (two columns and single column) are available here.
You can also browse its public git tree code and why not, contribute to this project by creating some patches or pull requests.

The Spark Certified Developer program


Databricks and O’Reilly have partnered to create a certified developer exam.

According to databriks, the Spark Developer Certification is the way for a developer to:

  • Demonstrate recognized validation for your expertise.
  • Meet the global standards to ensure compatibility between Spark applications and distributions.
  • Stay up to date with the latest advances and training in Spark.
  • Be a part of the Spark developers community.

Developers can tak the exam online here.

You will take the test on your own computer, under the monitoring of a proctoring team. The test is about 90 minutes with a series of randomly generated questions covering all aspects of Spark.

The test will include questions in Scala, Python, Java, and SQL. However, deep proficiency in any of those languages is not required, since the questions focus on Spark and its model of computation.

To prepare for the Spark certification exam, they recommend that you:

  • Are comfortable coding the advanced exercises in Spark Camp or related training (example exercises can be found here).
  • Have mastered the material released so far in the O’Reilly book, Learning Spark.
  • Have some hands-on experience developing Spark apps in production already.

See also this article from the Spark Summit 2014 Training Archive.