Libraries

1988, Chare Kernel, University of Illinois at Urbana-Champaign

In 1988, it was simply a C library. The key notion was to break a program into small bits of work, called chares, and the scheduler would take care of packing these efficiently (in both space and time) onto processors. Mapping tasks onto threads instead of programming threads directly is an important concept. The Chare Kernel was later extended with some features for marshalling to address distributed memory machines, becoming Charm++ (http://charm.cs.uiuc.edu/research/charm/index.shtml).

Key influences on design of Intel Threading Building Blocks

Figure 12-1. Key influences on design of Intel Threading Building Blocks

1993, Standard Template Library (STL) for C++, Hewlett-Packard

STL was presented in November 1993 to the ANSI/ISO C++ committee and HP made it freely available in 1994. It was adopted into the C++ standard. Arch Robison related: “I once heard Stepanov give a great talk on generic programming, where he went through how to write a really generic greatest-common-factor algorithm. [The paper at http://www.stepanovpapers.com/gcd.pdf is similar to that talk, but with more mathematical emphasis.] In its full glory, generic programming is not just parametric types, but programming with concepts.” There is a very good explanation of generic programming in the box on Benefits of http://www.osl.iu.edu/publications/prints/2003/comparing_generic_programming03.pdf. More ...

Get Intel Threading Building Blocks now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.