This is a PhD thesis describing implementation of an object-oriented library for shared-memory parallel programming. Although completed in 1996, the work has become relevant again with the growth of commodity multicore processors. While some details of the programming style would differ with advances in C++ since the mid-1990s, the fundamentals of structuring code to match characteristics of the memory hierarchy still apply. Areas covered include caches and the address translation mechanism (specifically interactions with the TLB). The material is understandable for a reader with a reasonable...
This is a PhD thesis describing implementation of an object-oriented library for shared-memory parallel programming. Although completed in 1996, the w...
Martin Truscott had been a troubled child, with an obsession with computer games. Now, he found himself driven to seek the truth. A debate about climate change had been raging in the press - yet it seemed implausible that so many scientists could be lying or deluded. But what if they were? What if the "sceptics" really were modern-day Galileos? When a documentary appeared alleging just that, Martin was incensed because it was so poorly made; the mainstream scientists had little difficulty in picking it apart. Did this prove anything? No: only that the maker of the documentary did a poor job....
Martin Truscott had been a troubled child, with an obsession with computer games. Now, he found himself driven to seek the truth. A debate about clima...
Jimmy Anderson: brightest guy in his class, complete idiot around girls. Now he's hearing voices in his head. Is this it? Has he finally lost it completely, his dysfunctional love-life driven him loopy? Or has a future version of himself "really" managed to communicate through time - a lot of time? And how did his future self get to live so long? And what can he do with his future self's knowledge of his own future? Not fix his girlfriend problems, that's for sure. So how about instead tackling more solvable problems like climate change, clean energy and defeating ageing? With occasional...
Jimmy Anderson: brightest guy in his class, complete idiot around girls. Now he's hearing voices in his head. Is this it? Has he finally lost it compl...
Programming in C is close to the machine and the language was originally designed to code an operating system. The approach I take is to start from the machine layer, though in less detail than in a computer organization or logic design book, using the MIPS instruction set to illustrate principles. The first part of the book uses C syntax as "pseudocode" while demonstrating how to convert high level language code to MIPS assembly language. The second part of the book introduces C in more detail, building on the MIPS part. While using C as "pseudocode" is not strictly in keeping with the...
Programming in C is close to the machine and the language was originally designed to code an operating system. The approach I take is to start from th...