Check out the new USENIX Web site.

Home About USENIX Events Membership Publications Students
USENIX Technical Program - Abstract - 7th Tcl/Tk Conference - February 2000

A Multi-threaded Server for Shared Hash Table Access

Andrej Vckovski and Jason Brazile, Netcetera AG


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.

  • USENIX Members may view the full text of this paper in HTML form, PDF form, and PostScript form. (Use your membership number as the username for access.)

  • If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.

  • To become a USENIX Member, please see our Membership Information.

  • Current USENIX Members may change their password.
?Need help? Use our Contacts page.

Last changed: 7 Feb 2002 ml
Technical Program
Conference index