From: Karl Malbrain Date: Sat, 25 Jan 2014 01:03:41 +0000 (-0800) Subject: explain latch manager options X-Git-Url: https://pd.if.org/git/?p=btree;a=commitdiff_plain;h=e9e90ddd341b614dfe898aa5440172dd44a673f4 explain latch manager options --- diff --git a/README.md b/README.md index 691c7b7..48568f2 100644 --- a/README.md +++ b/README.md @@ -3,22 +3,23 @@ Btree-source-code A working project for High-concurrency B-tree source code in C -There are three major code sets in the btree source code: +There are four major code sets in the standard btree source code: btree2q.c Single Threaded/MultiProcess with latching supplied by advisory file locking. Works with network file systems. -threads2h.c Multi-Threaded/Multi-Process with latching implemented with test & set locks in the btree pages. +threads2h.c Multi-Threaded/Multi-Process with latching implemented with pthreads/SRW latches in a latch manager. -threads2i.c Multi-Threaded/Multi-Process with latching implemented with test & set locks in the btree pages with Linux futex system calls for contention. +threads2i.c Multi-Threaded/Multi-Process with latching implemented with test & set locks in the btree pages with thread yield system calls during contention. -The Foster set includes three types of latching: +threads2j.c Multi-Threaded/Multi-Process with latching implemented with test & set locks in the btree pages with Linux futex system calls duriing contention. -Fosterbtreee.c Multi-Threaded/Single Process with latches hosted by the buffer pool manager +The Foster set includes three types of latching: -Fosterbtreef.c Multi-Threaded/Multi-Process with latches hosted by a latch manager using the first few pages of the btree. +Fosterbtreee.c Multi-Threaded/Single Process with latching implemented with pthreads/SRW latches in a latch manager. -Fosterbtreeg.c Multi-Threaded/Multi-Process with latches implemented with test & set locks in the btree pages. +Fosterbtreef.c Multi-Threaded/Multi-Process with latching implemented with test & set locks in the btree pages with thread yield system calls during contention. +Fosterbtreeg.c Multi-Threaded/Multi-Process with latching implemented with test & set locks in the btree pages with Linux futex system calls duriing contention. Compilation is achieved on linux or Windows by: @@ -26,6 +27,6 @@ gcc -D STANDALONE threads2h.c -lpthread or -cl /D STANDALONE threads2h.c +cl /Ox /D STANDALONE threads2h.c Please see the project wiki page for documentation