|
|
Subject:
Predicting Program Behavior
Category: Computers > Operating Systems Asked by: theorycs-ga List Price: $9.00 |
Posted:
30 Oct 2002 20:46 PST
Expires: 29 Nov 2002 20:46 PST Question ID: 93895 |
Many programs (processes) are usually running on a computer at the same time. All of these processes are fighting for resources ( memory etc). Is it possible to predict their behavior (to some level of accuracy) somehow ? I want a detailed answer, with pointers to relevant references where possible. There will be a big tip if I am satisfied (the tip will be directly proportional to my satisfaction which means you could even get $100 and above if Im impressed) . Also I would like to know which class of systems are best suited for such purposes (I mean in which systems is it easier to predict the behavior) *Please dont answer if you dont know what you are doing, I too can go to research-index etc and search for keywords but this is not what I want (although this would be helpful in providing references etc ), I want someone who knows a little about all this to answer. *You are free to give examples from any particular field/OS/group etc i dont have any restrictions on the system under consideration but do keep in mind the general context. | |
| |
| |
|
|
Subject:
Re: Predicting Program Behavior
Answered By: hedgie-ga on 31 Oct 2002 07:54 PST |
Hello CS Theory , The theory used to solve such problems is called the Theory of Queues. Here is a brief bibliography of that field: http://www2.uwindsor.ca/~hlynka/qbook.html I will not expand on that because 1) You can type this search term into a search engine yourself and get many resources which exist online. 2) The analytical approach is not useful any more, except as a means of verification of numerical models and for teaching. In other words: As with differential equations, theory has been replaced by computer models which use numerical algorithms in just about all non-trivial applications. Engineering problems are solved by DE models and I will expand on those: DE models, that is Discrete Event models, are a vast field, used to model queues in a supermarket, assembly lines, and also computer systems and networks. We want to focuse on the later and so, in the following, I am using as search terms DE in conjunction with terms, such as computer systems, OS or networks, to select references relevant to digital systems. Here is an overall introduction to DE simulation: http://www.frontrunnercpc.com/info/simulation.htm Here are some academic studies and description of tools: http://www.cl.cam.ac.uk/Research/SRG/netos/plana/PDES.html Analysisng a real system well is a complex problem, which (like most models) requires good characterization of the load, of the scheduling algorithms, and of the capabilities of the hardware. There are (some free) simulation programs, and even special languages, ,such as Simula or Simscrit written for this type of studies. However,having used several of them, I would recommend a general purpose language like C or C++, with a special package (library). Object Oriented (OO) aspect is very useful for these applications. (Actually and BTW, Simula, which was written for such studies, was one of the important sources of the OO concept.) The DE (or DES) models are ideal for simulation of digital systems. They differ from most models (CS or continuos system models)by using time as a dependent variable. The independent variables are tasks to be performed. It is an interesting concept, a new process-oriented worldview, interesting in itself, and essential for the study of behavior of the computer systems. Here is a very simple introduction to DE simulation http://www.cis.um.edu.mt/~jskl/simul.html Here a bit more, with a reference to Simscript: http://ubmail.ubalt.edu/~harsham/simulation/sim.htm Good academic sites for DE are UC Berkeley and U of Calgary in Canada, and the most sophisticated system for DE simulations is SWARM, developed at LANL: http://www.c3.lanl.gov/~rocha/complex/talks/swarmteam.html Swarm may be too much for a simple task. There is a learning curve associated with the use of these tools, and since I do not know whether you are contemplating building a model, and what scale of effort you would use, I will stop here. DE, is used not just in academia, but in real applications such as the evaluation the performance of computer systems and networks, including the evaluation of LAN protocols, under different loads and running on diverse hardware. You may want to further describe what computer system or OS you are interested in. In that case, there may be more specific references available. In any case, the search terms Discrete Event Simulationh Computer system, Network (or OS) plus terms describing your specific system of interest should bring a wealth of references of work done in that particular subfield of computer performance studies. Hedgie | |
| |
| |
|
|
Subject:
Re: Predicting Program Behavior
From: mathtalk-ga on 31 Oct 2002 18:53 PST |
Hi, theorycs-ga: I'm glad you were able to read my comments on working set modelling to your last post, before it was removed. rbnn-ga's comments about cache management reminded me of a low-level aspect of program behavior predictions, namely branch prediction (for instruction pre-fetch). While certainly more art than science, this topic is at the forefront of competition between Intel and AMD. As CPU pipelines lengthen, prediction accuracy becomes more critical to performance improvements. hedgie-ga's comments about queuing theory certainly bring up an important tool in understanding the behavior of computer systems. It brought back memories of trying to explain to management, using queuing theory, why high CPU utilization is not the best basis for cost recovery of an interactive mainframe. To throw yet another log on the fire, security considerations define respects in which it is desirable to predict program behavior. Firewalls may check programs' permissions to use certain TCP/IP ports. Language implementations may guarantee "safe" behavior of programs memory access by throwing exceptions. Database management software may limit a program's access to avoid deadlocks or to enforce a user's role permissions. Implicit in all these is a form of rules based modelling of acceptable vs. unacceptable program behavior. Certainly by circumscribing a program's behavior, it becomes easier to predict. E.g. if programs launched from a given queue are terminated on consumption of a maximum amount of CPU time, you can predict the average CPU consumption of programs in that queue will not exceed that maximum. regards, mathtalk-ga |
Subject:
Re: Predicting Program Behavior
From: mathtalk-ga on 01 Nov 2002 07:19 PST |
If anyone is interested in reading them, my comments and reply to theorycs-ga's original post appear to be in the Science > Math subsection. At least I can see them there... under basically the same title as this posting. If anyone finds that they cannot see them, I'd be curious to know that, too. As this is a new process, I think we are all still struggling with how to make it work well. regards, mathtalk-ga |
Subject:
Re: Predicting Program Behavior
From: rbnn-ga on 01 Nov 2002 08:38 PST |
theorycs-ga: A little known option in google answers is to specify that a question can only be answered by a particular researcher. Thus, if you wanted to specify that a question be answered by mathtalk-ga, you can just add the words (for mathtalk-ga only) in the subject line of the question . |
Subject:
Re: Predicting Program Behavior
From: hedgie-ga on 01 Nov 2002 09:25 PST |
Mathtalk-ga your answer is visible, both in that category and also directly at: https://answers.google.com/answers/main?cmd=threadview&id=92961 I wonder what is the history of this 'question' . Were there other answers which are not 'there' any more? hedgie |
Subject:
Re: Predicting Program Behavior
From: mathtalk-ga on 01 Nov 2002 20:34 PST |
Hi, hedgie: Thanks for checking. It looks intact, from what I can recall. regards, mathtalk |
If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you. |
Search Google Answers for |
Google Home - Answers FAQ - Terms of Service - Privacy Policy |