MATLAB Answers


Simulate Data Movement in an Enterprise Computer System

Asked by Antonio
on 8 Dec 2011
Hi there,
I am new to MatLab. I have been reading tutorials and looking at examples to answer my question but have been unsuccessful at finding something related.
What I would like to do is simulate an Enterprise Computer System, and specifically look at Data Movement within this system.
Things such as server location (geographical), connection line length, bandwidth, data size etc. would need to be considered.
(Please let me know if you need further details)
My question(s):
- Is this achievable in MatLab?
- If so, where do I start from?
- Would I use SimLink or would I program it manually?
I am sure once I am pointed in the correct direction, I will be able to navigate all the user content to help me through.
Thanks for any help, it is appreciated.


Sign in to comment.



2 Answers

Answer by Walter Roberson
on 10 Dec 2011

Sure you can write such simulations in MATLAB.
There is, however, a large (and language-independent) problem in getting realistic ranges for the probabilities of the various factors.
Granularity of the simulation is also a problem: an examination of the large scale computing outages even just for the last 6 months would very likely show that there are events that can drive the system chaotic (and indeed take large portions of the system down), but that if you were to model at reasonable time steps (to be able to get through the entire target period) that the approximation involved would leave the system well-behaved.
SimEvents might perhaps be an appropriate tool, but Simulink itself would probably not be: it is oriented towards ODE, which are fixed calculations, but you need randomness such as a stochastic or Markov model at the very least.


Show 1 older comment
The finance system where I work are a cluster of well-equipped computers, and all our major branches are connected at 1 gigabit per second or faster. And yet on the last day of the month, the finance system is slow enough that people joke about it, and on the last day of the fiscal year, they send around email asking people to refrain from using it unless they are doing year-end work.
If your model does not have bottlenecks under loads that occur during the course of the simulation, then your model is not realistic: the model would either be ignoring some factors that matter in practice, or else the model will have been engineered unrealistically high.
Real enterprise computer systems "just grow" a lot of the time, and when they become a problem, corporate governance makes strategic business decisions about where to apply funding. A lot of departmental self-censorship tends to be involved: the projected costs of fixing a network tends to be high enough that divisions do not even submit proposals for it, as they often feel that there are a lot of other things they would prefer to do if that kind of money were available.
Decisions that fixing a network does not have sufficient ROI (Return On Investment) are common. And fixing a network while keeping users going, takes a *lot* more effort and cost than if you could just send everyone home for a couple of months while you tore out the old wiring and put in new wiring and network equipment.
Even complete professionally designed networks such as telephone networks are not provisioned to accommodate the peak usage ever expected: they are instead provisioned to measures such as 99.9% availability. The rule of thumb in network engineering is that each extra "9" costs ten times as much as the previous one.
If your simulation model and parameters are such that your network cannot be driven in to over-capacity conditions, then your simulation is not representative of real-world situations.
There is also an important difference between theory and practice that you must take in to account. In theory, triple redundancy on (say) a DNS server should be enough for practical purposes. In practice, when one of the DNS servers goes down, part of the building will lose connectivity or have inconsistent connectivity. Systems (especially those configured by users) tend to get stuck on ideas about which resources to use.
In my time as a network admin, I built network monitoring software and monitored availability and throughput, and did projections and theoretical capacity and MTBF (Mean Time Between Failure) analysis, and studied best-practice network design. There was never ever enough money to solve the systemic problems my modeling and analysis found -- I was, after all, telling them that to repair the network to reach our corporate standards would cost about half a million dollars for one building, for the first year alone.
Again, I MUST stress out, I do not care about network anomalies. If the network can achieve the bandwidth and throughput it is designed to do, then that is what I need to model.
I am not conducting research into networks, but rather research on Data Movement, so as mentioned, worst case scenario of network anomalies is irrelevant to my research.
Though i do understand it is a problem in real life, but for now it is one research topic at the time.
In my opinion, one cannot meaningfully study Data Movement without taking in to account network bottlenecks. People adapt because of network bottlenecks and change their data access patterns, resulting in different Data Movement than would otherwise be expected.
Would you simulate the shipment of goods on trucks without accounting for "rush hour" or traffic accidents or snow storms? Not unless you were averaging out months at a time.
Networks are never designed to be able to accommodate everyone being active simultaneously: there is always queuing for resources. The expected queuing time goes up exponentially with the number of simultaneous accesses.
Anyhow, if you want to simulate situations with no connection to reality, it will at least get you accustomed to working with the tools.
Perhaps you should clarify what you are asking from us at this time. Yes, you can do the modeling in MATLAB itself, or Yes, MathWorks SimEvents product could be used. Where do you start? With the links Devdatt gave you, or read through the links in

Sign in to comment.

Answer by Devdatt Lad on 12 Dec 2011

Agree with Walter. Check out the following demo as a starting point:
Other demos are at:


Sign in to comment.