UnThread:Overview


Postulate 5's UnThread is a patent-pending API designed for use in monolithic, CPU-bound algorithms that would benefit from "mid-level" multithreading. UnThread enables developers to take advantage of multicore hardware and achieve scalable speedup via sustained concurrency that scales with additional cores/processors, all without dealing directly with threads. UnThread lets developers focus on their code, instead of thread management and the specifics of the underlying multicore hardware.

UnThread is an alternative to writing explicit/native threading:

  • Designed for monolithic, CPU-bound algorithms.
  • Ideal for tasks that are collaborative in nature. UnThread tasks often have overlapped data and work cooperatively. UnThread works well even when tasks have shared data.
  • Designed for relatively large task subdivision, i.e., tasks subdivision that is more substantial than a loop or recursion. Task subdivision in UnThread involves more complex operations, including entire loops, functions, etc. UnThread is useful when lower-level tools, such as Threading Building Blocks (TBB, from Intel), are not appropriate due to the relative size and cooperative nature of the sub-tasks.
  • For high-value applications that require fast execution, with sustained, scalable concurrency on multicore hardware.
  • For 32-bit and 64-bit Windows desktop and server operating systems
  • Supports C/C++
  • Automatic scaling with additional cores/processors, without additional source code changes
  • Lets developers focus on their code, instead of worrying about threads, cores and caches.
  • Virtually eliminates race and deadlocks, when using UnThread's data sharing features.

Next: UnThread's features.