AMPS - 异步服务器设计框架


GPL
跨平台
C/C++

软件简介

AMPS一个中间件,它提供了一个框架,用于构建任何一个事件驱动的,异步处理的应用。与传统的基于线程的实现,AMPS允许单线程的方法,执行高并发应用程序。

AMPS is a middleware that provides a framework to write any software
application as an event driven, asynchronous process . Unlike conventional
thread based implementations, AMPS allows highly concurrent applications to
run as a single thread of execution.

AMPS实现要求,应用被设计成有限状态机的模型,状态的改变是基于事件的,每个状态的改变都要求有事件处理程序。一旦这样的设想,实现能提供多重好处。

AMPS implementations require that the application be modelled as a FSM (Finite
State Machine) that changes state based on ‘events’. ‘Event handlers’ are
written for each state change. Once envisioned in this way, implementations
provide multiple benefits.

本编程模型的好处有:

  • 所有的执行都是不需要锁的。没有锁,没有互斥,不需要请求信号。
  • 所有事件处理程序都是确定的。
  • 自然支持对称多处理,非对称多处理和多核心系统。
  • 程序是云就绪的.
  • 没有线程间上下文切换或者等待锁的系统开销。
  • 代码是在线程所产生的耦合效应应用的深入细微的错误自由。
  • 代码避免了基于线程的应用由于深度耦合而产生的bug.

Some of the benefits of this programming model are:

  • All execution is lock free. No locks, no mutexes, no semaphores required ever.
  • All event handlers are deterministic
  • Natural support for Symmetric multi-processing, Asymmetric multi processing and multi-core systems.
  • Applications are cloud ready
  • No system overhead in context switching between threads or waiting for locks.
  • Code is free of subtle bugs arising out of deep coupling effects in thread based applications.
Products developed on AMPS(基于AMPS开发的产品)
* [Augur Service Delivery Platform](http://augur.biz) * [Softswitch](http://advoss.com/softswitch.html) * [Media Server](http://my.oschina.net/haifengwang1987/admin/docs/Media Server_Design_Document.pdf) * [Home Subscriber Server](http://www.advoss.com/IMS_HSS.html) * [Diameter AAA Server](http://advoss.com/diameter_AAA_server.html) * [Radius Server](http://advoss.com/radius_server.html) * [IMS Online Charging System](http://advoss.com/IMS_onlinecharging.html) * [IMS Offline Charging System](http://advoss.com/IMS_offlinecharging.html) * [Session Border Controller](http://www.advoss.com/sessionbordercontroller.html) * [Least Cost Router](http://www.advoss.com/lcr.html)