On 05/11/2011 07:55 AM, C K Kashyap wrote:
Hi,
I was wondering if it would be a good idea to model a software app's performance using Haskell. The idea is a little abstract in my mind right now. I'll try and illustrate it with an example - Let's say, I want to model a web app - to, model it, I could think of the following entities -

1. One or more clients and as many connections (essentially bandwidth of each connection)
2. A Load balancer ( and bandwidths to the webservers)
3. Bunch of webservers (and bandwidths to the database server)
4. A database server

Using the model, I could generate performance characteristics and figure out if database is the bottleneck or not ... if so, what level of  sharding would be useful etc

Is there already a wheel I am trying to re-invent? Has anyone attempted this?

Regards,
kashyap
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Sometimes it is possible to write the corresponded model. Then the model can be simulated to receive the performance characteristics. Much depends on that how precise the model is. The keywords are Discrete Event Simulation (DES) and Theory of Queue. It may require some maths.

I wrote a small library called Aivika[1]. Perhaps it might be helpful.

David

[1]http://hackage.haskell.org/package/aivika