Asynchronous Middleware for Parallel Systems
Home Overview Problems Architecture Benefits Developers Products Add-Ons Contact
What problems AMPS solves ?
| Locks | Race Conditions | Concurrency problems | Multi-Threading | Blending of concerns | Multi Processing | Distribution | Cloud Computing
Problem with Threaded Design: Lack of Determinism

Thread-based programs are inherently un-predictable due to involuntary context switching between threads and the blocking nature of concurrency primitives. It is very hard to reason about the response time, throughput and scalability of an application.
Edward A. Lee Professor and Chair of EE at UC Berkeley in his famous 2006 paper “The problem with threads” commented:
“They [threads] discard the most essential and appealing properties of sequential computation: understandability, predictability, and determinism.
Threads, as a model of computation, are wildly nondeterministic, and the job of the programmer becomes one of pruning that nondeterminism. …. Rather than pruning nondeterminism, we should build from essentially deterministic, composable components. Nondeterminism should be explicitly and judiciously introduced where needed, rather than removed where not needed. The consequences of this principle are profound. I argue for the development of concurrent coordination languages based on sound, composable formalisms. I believe that such languages will yield much more reliable, and more concurrent programs.”
AMPS provides one such ‘formalism’ as suggested by Lee. Event handlers written for AMPS are always:

  • Understandable
  • Predictable
  • and above all Deterministic

By definition and design, an event handler in AMPS will terminate as soon as any operation comes that may require it to block. This requires a conscious effort on programmer’s part to remove all non-deterministic processes from the deterministic ones. This separation once done has long running consequences.

News & Events

1st October 2009
A complete Service Delivery Platform for telecommunications applications is released all built on top of AMPS. SDP is showcased name Augur is available at http://Augur.biz

1st July 2009
AdvOSS launches a complete Diameter AAA server built on AMPS. The server is tested with very high load of millions of subscribers and worked well.

1st April 2009
AdvOSS launches full suite of Diameter applications built on top of AMPS. These include a HSS (Home Subscriber Server), Offline Charging and Online Charging. These complete a full suite of AAA applications for IMS (IP Multimedia Sub-System)

1st Jan 2009
Diameter Stack Launched. AdvOSS has launched a full Diameter protocol stack. This protocol is at the heart of next generation AAA and requires implementations that support higher processing and require scalability. This stack is now an integral part of AMPS.