Threadmill: a highly configurable architecture for human communication analysis applications

  • Authors:
  • Paulo Barthelmess;Clarence A. Ellis

  • Affiliations:
  • -;-

  • Venue:
  • Threadmill: a highly configurable architecture for human communication analysis applications
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Computer applications that analyze human communication are shaped by the intrinsic complexity of the task and evolved to employ techniques that that is targeted. Closer examination of applications in this domain reveals opportunities for enhanced performance through concurrent execution. While opportunities for concurrent execution are plenty, and hold a promise of enhanced performance and quality of results, developing software that takes advantage of it can be challenging. Parallelism and distribution introduce complex coordination requirements that must be met by sophisticated architectural mechanisms. This thesis explores dealing with concurrency as an orthogonal aspect. It is argued that applications should be kept neutral to concurrency concerns and that concurrency should be weaved in at an architectural level, rather than at a programming level. The dissertation puts forth a component software architecture—ThreadMill—and associated reflective runtime infrastructure that shows how this architectural level weaving of concurrency can be successfully realized. A corollary of the above ability to weave concurrency into neutral applications is that it becomes possible for developers to tune an application so that it performs efficiently is a wide variety of execution environments, ranging from a single-processor machine to multiple interconnected nodes. ThreadMill and the tools to apply their knowledge about both an application and execution environment to get the most efficient execution configuration by tuning architectural specifications, without requiring changes to application code. ThreadMill is implemented and can be executed in multiple platforms (currently Win32 and Linux). A non-trivial vision-based probabilistic multi-target tracker of hands and face of American Sign Language signers was developed as a proof-of-concept application. Evaluation against a non-parallel (but lightly multi-threaded) version of the application shows an eight-fold performance improvement using a 10-node computational cluster. The same application was deployed unchanged on a variable number of nodes, from one to ten, in a Compaq AlphaServers DS20 cluster used in the reported experiments.