usenix conference policies
A Multi-Threaded Server for Shared Hash Table Access
This paper presents a multi-threaded socket server allowing access to shared hash tables. It is implemented using Tcl 8.1 multi-threading capabilities and runs multiple Tcl interpreters to service client requests. The application is designed as a pre-threaded server which allows a single working thread to handle many requests. The central shared data object is a hash table with structured values which allows access by all threads. Synchronization is based on a reader/writer lock implementation using the synchronization primitives available in Tcl, i.e., mutexes and condition variables. The application achieves insert rates that are significantly higher than what current commercial database management systems achieve. The usage of third-level language programming in C and application-specific scripting in Tcl allows a design based on a light-weight, robust kernel on the one hand and easily modifiable application-domain code on the other. The experiences with thread-safety and other threading features in Tcl 8.1 have been largely positive in this real-world application.
title = {A {Multi-Threaded} Server for Shared Hash Table Access},
booktitle = {13th Systems Administration Conference (LISA 99)},
year = {1999},
address = {Seattle, WA},
url = {https://www.usenix.org/conference/lisa-99/multi-threaded-server-shared-hash-table-access},
publisher = {USENIX Association},
month = nov
}
connect with us