views:

73

answers:

1

I want to create a fairly simple mathematical model that describes usage patterns and performance trade-offs in a system.

The system behaves as follows:

  • clients periodically issue multi-cast packets to a network of hosts
  • any host that receives the packet, responds with a unicast answer directly
  • the initiating host caches the responses for some given time period, then discards them
  • if the cache is full the next time a request is required, data is pulled from the cache not the network
  • packets are of a fixed size and always contain the same information
  • hosts are symmetic - any host can issue a request and respond to requests

I want to produce some simple mathematical models (and graphs) that describe the trade-offs available given some changes to the above system:

  • What happens where you vary the amount of time a host caches responses? How much data does this save? How many calls to the network do you avoid? (clearly depends on activity)
  • Suppose responses are also multi-cast, and any host that overhears another client's request can cache all the responses it hears - thereby saving itself potentially making a network request - how would this affect the overall state of the system?
  • Now, this one gets a bit more complicated - each request-response cycle alters the state of one other host in the network, so the more activity the quicker caches become invalid. How do I model the trade off between the number of hosts, the rate of activity, the "dirtyness" of the caches (assuming hosts listen in to other's responses) and how this changes with cache validity period? Not sure where to begin.

I don't really know what sort of mathematical model I need, or how I construct it. Clearly it's easier to just vary two parameters, but particularly with the last one, I've got maybe four variables changing that I want to explore.

Help and advice appreciated.

+1  A: 

Investigate tokenised Petri nets. These seem to be an appropriate tool as they:

  • provide a graphical representation of the models
  • provide substantial mathematical analysis
  • have a large body of prior work and underlying analysis
  • are (relatively) simple mathematical models
  • seem to be directly tied to your problem in that they deal with constraint dependent networks that pass tokens only under specified conditions

I found a number of references (quality not assessed) by a search on "token Petri net"


Chris Walton
Ahh, no, sorry maybe I wasn't clear. I see this as some kind of optimisation problem, so I was thinking about linear algebra or calculus of some kind. The graphs I'm talking about have an x and y axes. Does that make more sense?
flesh
I took your comment as slightly contradicting, rather than clarifying, your problem. You said ".. don't know what sort of mathematical model I need, or how I construct it". but that you know a solution is in linear algebra or calculus; and that 2-D graphs are the way to present this solution. Your comment suggests that you have two problems - one: exploration of the multiple variables and two: presentation of this exploration. Separating the problems might help. Also, is calculus the best way to explore a problem resident in a discrete domain?
Chris Walton
I have been thinking about it for a an hour or two and that's the conclusion I came to! Apologies if I am wrong or misunderstood your answer. It just felt like a linear optimisation problem.. for example where you have x, y and z variables and for any given arrangement of variables there is a cost. Arrange x, y and z such that the cost is minimised. How does the cost change if you vary x, what if you vary y, or what if you vary all three? That kind of thing... Do you have a gentle introduction to tokenised petri-nets?
flesh
Sorry - your comment did of course clarify your question and I hope my last comment reflected this.
Chris Walton
@flesh Beware! If you are going for Petri Nets, you need "Time dependent Petri Nets" ... the Time domain is not a trivial problem
belisarius
Linear optimisation may well be the way to go, in the way you suggest, though as originally stated it starts to get very difficult to analyse (and present) a linear optimisation of multiple variables. Apart from the search I mentioned I can't help with gentle introductions to tokenised (or coloured) petri nets as I was last dealing with these about ten years ago; have since got rid of virtually all my reference material; and am extremely rusty in this area. :-)
Chris Walton
No worries. To be totally honest, I am looking for an expedient solution at this stage, I need to present rough findings to colleagues this week. I figured there would be some area of fairly easy maths that applied and some clever soul would come along and go "oh yeah, you want *FooBar* algebra" or whatever it is.. :)
flesh
Sorry I could not address your query more specifically.
Chris Walton