NPTL (Native POSIX Threading Library) Tests and Trace

pingouin

REPORTS & OTHER DOCUMENTS

gnou
 
  

 Test Campaign #2

 

Document Test Campaign 2 and Final Report
Date Nov 22, 2005
Author Sébastien DECUGIS
Link Full document
Outlines

This report is built as a HOWTO on Testing a POSIX Implementation.

It describes all the tools we have built or used during our project, and explains how to use these tools. It also gives the analysis of our second (and final) test campaign results. It finally summarizes the history of our project, with the key events.

 

 Ottawa Linux Symposium

 

Document Ottawa Linux Symposium paper and presentation
Date Jul 23, 2005
Authors Sébastien DECUGIS and Tony REIX
Links
Outlines

This content was written for the Ottawa Linux Symposium 2005 event. It shows almost all parts of our project, and the presentation can give a good idea of our work.

 

 Test Campaign #1

 

Document Test Campaign 1 Final Report
Date Nov 16, 2004
Author Sébastien DECUGIS
Link Full document
Conclusions

Ensure that the tests are bug-free and can execute on different hardware and software.

This first goal has been partly fulfilled. In each run, at least 5 testcases are killed with a segmentation fault. This may be due to bugs in the system or in the tests themselves. Further analysis is needed here.

Nevertheless, no unexpected problem was found in the 15 functions from our priority-1 list.

Check the NPTL bugs, in several situations:
 - bleeding-edge context, with vanilla kernel and glibc; or standard OS distributions
 - with large machines (many CPUs, many I/O, lot of memory)
 - with several CPU architectures (i686, Power-PC, Itanium 2)

The second goal was distrurbed by the fact that a lot of POSIX functionnalities have been recently added to the Linux kernel and to glibc (message queues for example), and most of the tested distributions are older than these additions -- and therefore a lot of header and execution problems appeared with those routines.

It is also worth to notice that it was not possible to compile the library for Power-PC linux (as the binutils package failed to install), and that the process was far less straight-forward on Itanium-2 than on i686 (needed to add some links, etc...).

On the other hand, the NPTL behaved very well on large machines, showing no scalability weakness.

Build a status on NPTL on main distributions, on the same machine (i686).
 - Suse Linux Entreprise Server 9 (SLES9)
 - RedHat Fedora Core 3 (test 2)
 - RHEL3 (updated with NPTL support and recent kernel)

The conclusion for the third goal is that the more recent the distribution components (kernel, glibc), the better the results. Indeed, this is due to the NPTL being still under heavy development, with changes almost everyday; so a two-months delay between two Linux distributions leads to a large difference in results.

It is worth noting anyway that all the tested distributions have this header problem that prevented most of the scalability tests to be run; even if their NPTL binary file contains the functionnality. This is due to NPTL-only routines being unusable in default environment -- one need special linker flags to be able to use it (actually tests are linked to linuxthreads library at compilation time).

 

 

 Other (older) Documents

 
 
 
 

Page maintained by: Tony Reix