Tag Archives: performance

Stupid RCU Tricks: How Read-Intensive is The Kernel’s Use of RCU?

RCU is a specialized synchronization mechanism, and is typically used where there are far more readers (rcu_read_lock(), rcu_read_unlock(), rcu_dereference(), and so on) than there are updaters (synchronize_rcu(), call_rcu(), rcu_assign_pointer(), and so on). But does the Linux kernel really make heavier … Continue reading

Posted in Uncategorized | Tagged , , | Comments Off on Stupid RCU Tricks: How Read-Intensive is The Kernel’s Use of RCU?

RCU and Crowds

“A Read-Copy Update based parallel server for distributed crowd simulations” (paywalled) recently appeared in Journal of Supercomputing. Vigueras et al. apply RCU to crowd simulation (as you might guess from the title), which combines throughput (“faster is better”) and response-time … Continue reading

Posted in Uncategorized | Tagged , , | Comments Off on RCU and Crowds

Validation: Distinguishing Small Samples

Suppose that we have two small samples of performance measurements, perhaps as follows: Measurement # Sample 1 Sample 2 1 84.5 90.9 2 91.0 88.2 3 87.6 89.7 4 89.5 89.9 5 72.4 90.4 Each sample’s five measurements are in … Continue reading

Posted in Uncategorized | Tagged , | 1 Comment

Validation: How Much is an Order of Magnitude Worth?

Suppose that one implementation of a program takes ten seconds to complete, while another implementation takes only one second to complete. What can we conclude about the relative performance of the two programs?

Posted in Uncategorized | Tagged , | Comments Off on Validation: How Much is an Order of Magnitude Worth?

Parallel Programming: The Summing Up

So what can we say about parallel programming? The many answers to this question fills many a book, but the following points seem especially worth emphasizing: Parallelism is universal and intuitive. It is programming, whether parallel or not, that is … Continue reading

Posted in Uncategorized | Tagged , , , | 4 Comments

Parallel Programming: The Good, The Fad, And The Ugly

Back in the Heeding History posting in this series, I argued that the solutions put forward to deal with the Great Software Crisis of the 1970s and 1980s could be grouped into the good, the fad, and the ugly. Is … Continue reading

Posted in Uncategorized | Tagged , , , | 5 Comments

Parallel Programming: Administrators as Architects

Although IT professionals should take care to avoid engineering envy, it is often useful to learn from the experiences of other engineering disciplines. In this posting, I will compare and contrast construction of a building to implementation of a large … Continue reading

Posted in Uncategorized | Tagged , , , | Comments Off on Parallel Programming: Administrators as Architects

Parallel Programming: Selective Struggling

An Eminent Reader privately indicated some distaste for the non-technical nature of recent parallel programming posts. Given that many of the obstacles to successful development of parallel software are non-technical, there will be future non-technical posts, but there is no … Continue reading

Posted in Uncategorized | Tagged , , , | 2 Comments

Parallel Programming: Questionable Quality Assurance

An earlier post noted that parallel programming suffers more potential failures in planning than does sequential programming due to the usual suspects: deadlocks, memory misordering, race conditions, and performance/scalability issues. This should lead us to suspect that parallel programs might … Continue reading

Posted in Uncategorized | Tagged , , , | Comments Off on Parallel Programming: Questionable Quality Assurance

Parallel Programming: Terrible Tooling

In a previous life, I worked on a UNIX kernel on a team of a few tens of developers. This smallish team size resulted in a very smallish set of development tools. To see why, imagine a tool that required … Continue reading

Posted in Uncategorized | Tagged , , , | 6 Comments