Skip to main content
Back to USENIX
  • Conferences
  • Students
Sign in

USENIX Conference Policies

  • Event Code of Conduct
  • Conference Network Policy
  • Statement on Environmental Responsibility Policy

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.

BibTeX
@inproceedings {271409,
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
}
Download

Links

Paper: 
http://www.usenix.org/publications/library/proceedings/tcl2k/full_papers/vckovski/vckovski.pdf
Paper (HTML): 
http://www.usenix.org/publications/library/proceedings/tcl2k/full_papers/vckovski/vckovski_html/index.html
  • Log in or register to post comments

© USENIX
EIN 13-3055038

LISA is a registered trademark of the USENIX Association.

  • Privacy Policy
  • Contact Us