<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5489210309954185487</id><updated>2012-02-16T05:59:58.032-08:00</updated><category term='notes: queuing networks'/><category term='introductory ideas and objectives of the dissertation project'/><title type='text'>Pretty Damn Quick</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>38</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-1406973381152440497</id><published>2007-11-15T07:33:00.001-08:00</published><updated>2007-11-15T07:33:39.686-08:00</updated><title type='text'>e-mail why PDQ has no GUI</title><content type='html'>Neil Gunther has sent you a link to a blog: &lt;br /&gt;&lt;br /&gt; Athanasios, Here is my more considered response to the issue of a GUI for PDQ. Hope this clarifies. Best wishes. &lt;br /&gt;&lt;br /&gt; Blog: Performance Dynamics Agora &lt;br /&gt; Post: Why Doesn't PDQ Have a GUI? &lt;br /&gt; Link: http://perfdynamics.blogspot.com/2007/09/why-doesnt-pdq-have-gui.html &lt;br /&gt;&lt;br /&gt; --&lt;br /&gt; Powered by Blogger &lt;br /&gt; http://www.blogger.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-1406973381152440497?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/1406973381152440497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=1406973381152440497' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/1406973381152440497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/1406973381152440497'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/11/e-mail-why-pdq-has-no-gui.html' title='e-mail why PDQ has no GUI'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-4088697990281583993</id><published>2007-08-27T15:45:00.000-07:00</published><updated>2007-08-31T16:09:14.520-07:00</updated><title type='text'>PDQ BUGS</title><content type='html'>- over 10 nodes in a network throws Exception when EXACT solve method / with APPROX it works but I don't whats the quality of the results.&lt;br /&gt;&lt;br /&gt;- GetThrouput() / GetResidenceTime() / GetUtilization() methods have a problem when they are about o return results for a ISRV node (delay cetre)... totally unexpected results are shown instead of 100 and 0 ... I really don't know why.&lt;br /&gt;&lt;br /&gt;Lack of support for MSQ nodes:&lt;br /&gt;    I have implemented multiserver queues in the PDQ C-language only library, and it is now in beta test.&lt;br /&gt;    The goal is to allow you to create OPEN-circuit models (initially) by defining any sequence of M/M/m queues. Instead of introducing a completely new procedure, like PDQ_CreateMultiNode (or PDQ::CreateMultiNode described in Chapter 6 of the Perl::PDQ book), I have come up with a simpler idea. You will call PDQ_CreateNode() in the usual way but, by asserting a new MSQ flag to tell PDQ the node is multi-server queue, you then specify the integer number of servers (m) for that node. For example, an m = 10 multiserver PDQ node named "mserver" would be instantiated using the standard CreateNode procedure with the following arguments:&lt;br /&gt;&lt;br /&gt;        PDQ_CreateNode("mserver", 10, MSQ). &lt;br /&gt;&lt;br /&gt;    The PDQ generic report has also been altered to include the new MSQ node.&lt;br /&gt;    More details will be forthcoming as the implementation unfolds. Stay tuned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-4088697990281583993?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/4088697990281583993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=4088697990281583993' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/4088697990281583993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/4088697990281583993'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/08/pdq-bugs.html' title='PDQ BUGS'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-4469617680016411117</id><published>2007-08-23T17:44:00.000-07:00</published><updated>2007-08-29T17:57:01.643-07:00</updated><title type='text'>PageRank Algorithm</title><content type='html'>PageRank(DirectedGraph graph, double bias, String edgeWeightKeyName) &lt;br /&gt;Specialized constructor that allows the user to specify an edge key if edges already have user-defined weights assigned to them.&lt;br /&gt;&lt;br /&gt;This algorithm measures the importance of a node in terms of the fraction of time spent at that node relative to all other nodes. This fraction is measured by first transforming the graph into a first-order Markov chain where the transition probability of going from node u to node v is equal to (1-alpha)*[1/outdegree(u)] + alpha*(1/|V|) where |V| is the # of vertices in the graph and alpha is a parameter typically set to be between 0.1 and 0.2 (according to the authors). If u has no out-edges in the original graph then 0 is used instead of 1/outdegree(v). Once the markov chain is created, the stationary probability of being at each node (state) is computed using an iterative update method that is guaranteed to converge if the markov chain is ergodic.&lt;br /&gt;&lt;br /&gt;PageRank:&lt;br /&gt;PageRank is a link analysis algorithm that assigns a numerical weighting to each element of a hyperlinked set of documents, such as the World Wide Web, with the purpose of "measuring" its relative importance within the set. The algorithm may be applied to any collection of entities with reciprocal quotations and references. The numerical weight that it assigns to any given element E is also called the PageRank of E and denoted by PR(E).&lt;br /&gt;&lt;br /&gt;PageRank was developed at Stanford University by Larry Page (hence the name Page-Rank[1]) and later Sergey Brin as part of a research project about a new kind of search engine. The project started in 1995 and led to a functional prototype, named Google, in 1998. Shortly after, Page and Brin founded Google Inc., the company behind the Google search engine. While just one of many factors which determine the ranking of Google search results, PageRank continues to provide the basis for all of Google's web search tools.[2]&lt;br /&gt;&lt;br /&gt;Simplified PageRank algorithm&lt;br /&gt;&lt;br /&gt;Assume a small universe of four web pages: A, B, C and D. The initial approximation of PageRank would be evenly divided between these four documents. Hence, each document would begin with an estimated PageRank of 0.25.&lt;br /&gt;&lt;br /&gt;If pages B, C, and D each only link to A, they would each confer 0.25 PageRank to A. All PageRank PR( ) in this simplistic system would thus gather to A because all links would be pointing to A.&lt;br /&gt;&lt;br /&gt;    PR(A)= PR(B) + PR(C) + PR(D).\,&lt;br /&gt;&lt;br /&gt;But then suppose page B also has a link to page C, and page D has links to all three pages. The value of the link-votes is divided among all the outbound links on a page. Thus, page B gives a vote worth 0.125 to page A and a vote worth 0.125 to page C. Only one third of D's PageRank is counted for A's PageRank (approximately 0.083).&lt;br /&gt;&lt;br /&gt;    PR(A)= \frac{PR(B)}{2}+ \frac{PR(C)}{1}+ \frac{PR(D)}{3}.\,&lt;br /&gt;&lt;br /&gt;In other words, the PageRank conferred by an outbound link L( ) is equal to the document's own PageRank score divided by the normalized number of outbound links (it is assumed that links to specific URLs only count once per document).&lt;br /&gt;&lt;br /&gt;    PR(A)= \frac{PR(B)}{L(B)}+ \frac{PR(C)}{L(C)}+ \frac{PR(D)}{L(D)}. \,&lt;br /&gt;&lt;br /&gt;In the general case, the PageRank value for any page u can be expressed as:&lt;br /&gt;&lt;br /&gt;    PR(u) = \sum_{v \in B_u} \frac{PR(v)}{L(v)},&lt;br /&gt;&lt;br /&gt;i.e. the PageRank value for a page u is dependent on the PageRank values for each page v out of the set Bu (this set contains all pages linking to page u), divided by the number L(v) of links from page v.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Reference &lt;br /&gt;&lt;br /&gt;[] "The Anatomy of a Large-Scale Hypertextual Web Search Engine by L. Page and S. Brin, 1999"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-4469617680016411117?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/4469617680016411117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=4469617680016411117' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/4469617680016411117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/4469617680016411117'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/08/algorithm.html' title='PageRank Algorithm'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-20061278262342763</id><published>2007-08-22T16:18:00.000-07:00</published><updated>2007-08-22T16:19:12.225-07:00</updated><title type='text'>The Evolution of Queueing Networks for Computer System Analysis</title><content type='html'>The interaction between the system workload and the system resources determine the behaviour of a system in general. During the early period of queueing analysis the system was treated as a single queue which was serving an infinite population of tasks or jobs. This kind of model, which is based on the classical queueing theory, gives no clues to the relation between the external behaviour and the internal structure of the computing system. Additionally, this model has the limitation of the infinite population. Thus it can not represent the common situation of existing only a finite population of users. &lt;br /&gt;&lt;br /&gt;Fig 1.0&lt;br /&gt;&lt;br /&gt;In order to overcome this limitation, another model was created, which introduces a number of N terminals to the system, one for each user. In this model the number of jobs is N, and each of these jobs can be in one of the following states:&lt;br /&gt;- “thinking” at the terminal,&lt;br /&gt;- waiting in the queue of the central system,&lt;br /&gt;- or being served by the central system.&lt;br /&gt;&lt;br /&gt;Fig 1.1&lt;br /&gt;&lt;br /&gt;However, this model, which is known as the “machine repairman” model, fails to represent the complexity of a typical computing system.&lt;br /&gt;&lt;br /&gt;A significant step for the evolution of queueing networks occurred with Jackson's model. Jackson has developed a technique for solving a special category of queueing networks. These networks of queues were only involving a single class of jobs. There was also a distinction between open and closed queueing networks. In an open queueing network the jobs were only permitted to enter or leave the network, while in a closed queueing network the jobs were remaining inside. In Jackson's approach each node/queue contains one or more parallel servers, while the service time distributions, for each of these nodes, are assumed to be exponential. &lt;br /&gt;&lt;br /&gt;A state of a network which contains M nodes/stations can be expressed a vector:&lt;br /&gt;&lt;br /&gt;and  expresses the number of jobs at node/station i.&lt;br /&gt;&lt;br /&gt;The objective of analysing a Jackson's queueing network model is to find a closed form expression for the equilibrium probability of finding the network in any given state , which is:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Knowing the probabilities of this equilibrium state, several performance variables for the evaluation of the system can be derived, such as the utilization and the average queue length of each node and the throughput of the workload of the network.&lt;br /&gt;&lt;br /&gt;If is the marginal probability of finding n jobs at the node then:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The probability of a node to be busy is called utilization it is computed as:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Jackson also proved  something that it is termed as a “product form” which defines that, in an open network, the equilibrium probability of state , factors into the product of each of the marginal distributions:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Later, and without knowing about the earlier work of Jackson, two scientists, Gordon and Newell, obtained the equilibrium state probabilities for closed queueing networks. Again the service time distributions for each node was assumed to be exponential. The closed network they studied had a finite number of jobs, N and a finite number of nodes, M. Additionally, each node, i, may have a finite numberof parallel identical servers which have exponentially distributed service times as well. Independently of the state of the network, one job that has just serviced from the node i will be transmitted to the node j with probability .&lt;br /&gt;A state of a network which contains M nodes and N jobs can be expressed as a vector again:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now, because the network is closed, the sum of all the , must be N.&lt;br /&gt;Gordon and Newell proved what exactly Jackson has proved for the open queueing networks some time ago, but applied to closed queueing networks this time. The equilibrium probability of state  in a closed queueing network also satisfies a “product form”:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;where G(N) is the normalisation constant which has been chosen to make all the feasible state probabilities sum to one:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;where  depends on the characteristics of the  node:&lt;br /&gt;&lt;br /&gt;, if node i is load dependent&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;OR , if node i is load independent.&lt;br /&gt;&lt;br /&gt;In order to evaluate the normalisation constant G(N), a large number of operations is required. Thus, though the above product form solutions are easily expressed, the evaluation of the state probabilities can be computationally expensive. Additionally, the accuracy of the results is in doubt because there is a large number of finite precision arithmetic operations involved.&lt;br /&gt;&lt;br /&gt;An efficient computational algorithm for evaluating the normalisation constant was developed by Buzen in the early seventies. Moreover, he studied ways of obtaining the performance measures of a queueing network, like utilisation, throughput and queue length, creating algorithms with simple functions that involve the normalisation constant and the model parameters. In that way more complex systems could be effectively studied.&lt;br /&gt;Continuing his research, Buzen, tried to construct models of queueing networks, that would represent accurately the flow of the several jobs through a computer system. The result of his research was the construction of the “Central Server Model” of a multiprogramming system. In this model the nodes represent the processors of the computer system, while the several jobs/programs move in the direction of the arrows. A Job in this model can visit one node/processor at a time and when one job arrives to a node/processor which is busy, then a queue is formed. Using this type of queueing network models, bottlenecks of a system could be traced easier.&lt;br /&gt;&lt;br /&gt;Fig 1.2.&lt;br /&gt;&lt;br /&gt;There are two principal limitations to the models that Jackson and Gordon and Newell have studied. In these queueing networks, there is only one class of jobs, and all service time distributions are exponential. However, in a real system these principals are not generally valid, because time distributions are seldom exponential, while each job has its own service parameters for each node.&lt;br /&gt;There are several queueing models that have been proposed in order to represent more accurately real computer systems. The truth is that all of these models expand and actually constitute special cases of the model developed by Baskett, Chandy, Muntz and Palacios (BCMP) in 1975.&lt;br /&gt;&lt;br /&gt;The model described by Baskett, Chandy, Muntz and Palacios, in its general form, does not contain the two principal limitations of the previous models. Jobs are divided into R distinct classes, while each class may have different parameters such as a unique set of transition frequencies which has the form:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This expression describes the fraction of departures from node i in class r that go next to node j in class s. The above transition frequency expresses also an additional property of the jobs, which is that they can change class while they are moving through the system. A state of this kind of queueing network represents a distribution of jobs over classes and nodes. &lt;br /&gt;A state of a network which contains M nodes can be expressed as a vector:&lt;br /&gt;&lt;br /&gt;,  where each component of  is also a vector:&lt;br /&gt;&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;These vectors express the number of class r jobs at node .&lt;br /&gt;These kind of queueing networks, that have been described by  Baskett, Chandy, Muntz and Palacios in 1975, are also called BCMP networks (or models), and they constitute, until now, the most commonly used types of models for system performance evaluation. They can describe accurately a large variety of computer systems, much wider than the restrictive and simple models, introduced by Jackson and Gordon and Newell, are capable to.  In general, a BCMP model is capable to describe an open, closed or mixed queueing network. A mixed system is closed for a specific set of classes of jobs and open for the other classes of jobs. However, the complexity of these systems, makes the calculation of their performance measures much more expensive in computing resources. &lt;br /&gt;&lt;br /&gt;In a BCMP model each server can have one of the following queue disciplines (service policies):&lt;br /&gt; - FCFS (First Come First Served): The job that arrives earlier in the queue is always served earlier than the one that arrives later, independently to the class that this job belongs to.&lt;br /&gt; - PSHR (Processor Sharing): A single server chooses, using the round robin method, and  serves one of the jobs that are waiting in its queue, for a quantum of time. &lt;br /&gt; - ISRV (Infinite Server): An Infinite Server or Delay Centre is considered to be a node in which the number of servers it contains is always at least the maximum number of jobs coming at the node. In this way there is never a job waiting to be served in the queue.&lt;br /&gt; - LCFS (Last Come First Served): The most recent job that arrives to the node, is the one that is served first.&lt;br /&gt;&lt;br /&gt;In order to solve queueing network models it is essential to make some assumptions about the properties that influence the transition of the model, from one state to another. Buzen and Denning have studied these necessary assumptions that need to be made in order to simplify the procedure of balancing the flow into and out of system states. In order to simplify this procedure, it is assumed that there are no multiple job arrivals or departures in the system. This assumption, known as “one step transitions”, implies that the rate of job flow between the nodes is the only parameter that determines the rate a system enters or leaves a state. A second assumption declares that the queue length of the specific node is only a parameter that influences the flows out of a node, and not the queue lengths of the other nodes of the system. This assumption is known as “homogeneity”. []&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;References&lt;br /&gt;&lt;br /&gt;[] Steven C. Bruell and Gianfranco Balbo, “Computational Algorithms for Closed Queueing Networks”, Elsevier North Holland, Inc. 1980.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-20061278262342763?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/20061278262342763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=20061278262342763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/20061278262342763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/20061278262342763'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/08/evolution-of-queueing-networks-for.html' title='The Evolution of Queueing Networks for Computer System Analysis'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-4550426155280019909</id><published>2007-08-18T12:08:00.000-07:00</published><updated>2007-08-18T13:00:05.662-07:00</updated><title type='text'>Jung and Visualization</title><content type='html'>The Java Universal Network/Graph Framework (JUNG) is a freely provided, under the BSD open-source licence, software library that offers a common and extendible language for the manipulation, analysis, and visualization of graphs and networks. It has been developed in Java programming language so it is portable and extendible. JUNG is not itself a stand alone tool, but it constitutes an object oriented framework which can be used to support the construction of applications and tools for manipulating data that can be represented as a graph or network. []&lt;br /&gt;The architecture of this library supports a variety of representations of entities and their relations. It has been designed to support directed and undirected graphs, graphs with parallel edges, multi-modal graphs, and hypergraphs. Moreover, it provides a built in mechanism for annotating graphs, entities (Vertices) and relations (Edges) with data structures (metadata). It supports complex filtering mechanisms, which extract subsets of a network, and dynamic graphs. Additionally, the JUNG software includes implementations of a number of algorithms. These algorithms are used in exploratory data analysis, social network analysis, graph theory and machine learning. They can be used for clustering, optimization, statistical analysis, decomposition, random graph generation and calculation of network distances, flows, and ranking measures.&lt;br /&gt;The developers of JUNG, in order to reduce the duplication of effort required for implementing certain functions that their software needed to perform, have used other, also platform-independent, Java libraries. Jung uses the following Java libraries: &lt;br /&gt;Commons Collections (Apache Jakarta Project (2004)) library which enhances the basic Java API for collections of objects.&lt;br /&gt;Colt (CERN (2004)) is a set of libraries for matrix algebra functions and generally for high-performance scientific and technical computing.&lt;br /&gt;Xerces (Apache XML Project (2004)) is the common library, used for implementing the GraphML I/O capabilities, for XML parsing.&lt;br /&gt; &lt;br /&gt;Building JUNG-based applications will require all of the above, plus the Java SDK (version 1.3 or later).&lt;br /&gt;Except from the powerful JUNG API, there exist a number of other packages and tools for manipulating and visualizing network data such as the: Pajek (Batagelj and Mrva (2004)), the UCINET (Borgatti, Everett, and Freeman (2004)), the R (R Development Core Team (2004))  with sna (Butts (2004)), the NetMiner (Cyram Company, Ltd. (2004)), the MultiNet (Richards and Seary (2004)), the GFC (IBM Corporation (1999), the StOCNET (Boer, Huisman, Snijders, and Zeggelink (2003)), the Info Vis Cyberinfrastructure (Penumarthy, Mane, and Borner (2004)), the Info Vis (Fekete (2004)), the Visone (Brandes and Wagner (2003)), the Jgraph (Alder (2005)), The yFiles (yWorks (2004)) and the Boost (Siek, Lee, and Lumsdaine (2001)).  []&lt;br /&gt;Additionally, some extra open source projects for graph or network visualization written in Java are the: GiNY, HyperGraph, JDigraph, WilmaScope, JGraphT, TouchGraph, GVF, JgraphEd, VGJ, GUESS, Zoomgraph, Walrus, Prefuse, ZVTM, Large Graph Layout, NV2D, Otter, Gravisto, Linguine Maps, JIGGLE, Zest, Relo and SoNIA.&lt;br /&gt;It should be reported that initially, the JGraphT software was selected for creating the GUI for the present project. JGraphT seems to be a simple and helpful software for creating graphical representations of network data, only if these data are already known. It does not seem to be appropriate for creating dynamic graphs. That was the reason why the powerful and flexible JUNG API was used in the end.&lt;br /&gt;There is a long list of software projects that use JUNG for network data visualization. Some of them are listed here: Djinn (Fabien Benolt), RDF Gravity (Sunil Goyal, Rupert Westenthaler), GUESS (Eyatan Adar, David Feinberg), ADAPTNet (Michal Okoniewski, Tim Yates), Augur (Jon Froehlich), Ariadne (Cleidson de Souza et al.), Netsight (Yan-Biao Boey, Joshua O' Madadhain, Scott White, Padhraic Smyth), InfoVis CyberInfrastructure (Penumarthy, Mane, and Borner (2004)), PWComp (Joshua Adelman, Josh England, Alex Chen), Google Cartography (Richard Jones), GINY (Rowan Christmas), GraphExplore (Quanli Wang), TOTEM (Toolbox For Traffic Engineering Methods (S. Balon, O. Delcourt, J. Lepropre and F. Skivee),  D2K (“Data to Knowledge”), graphBuilder (Ben Raymond), Semiophore, Xholon (Ken Webb), and Flink (Peter Mika). []&lt;br /&gt;Additionally, there is another long list with papers and research projects that involve the JUNG software, which has been decided not to be mentioned. JUNG is a dynamically involving software and its second edition, called Jung 2.0, is currently in its alpha version. It is available to be downloaded from the Open Source Technology Group (SourceForge.net).  In this point it is worthwhile to mention that during the first period of developing the GUI for the PDQ library, an effort has been made in order to implement the GUI using the newer second version of JUNG, instead of the 1.7.6. version. Using the second version of the software initially seemed to be an interesting challenge, since it is difficult to  combine one quite under engineered software like PDQ with one like Jung2.0, which in its first sight looks quite over engineered. Finally, it was decided that the, very well done, 1.7.6 version could provide enough help to create a GUI for the Pretty Damn Quick library, since Jung2.0 is still in its alpha version and probably some changes will take place in the near future.    &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;References &lt;br /&gt;J O 'Madadhain, D Fisher, S White, Y Boey, “The JUNG (Java Universal Network/Graph) Framework”, (preprint by http://jung.sourceforge.net), 2007&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-4550426155280019909?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/4550426155280019909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=4550426155280019909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/4550426155280019909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/4550426155280019909'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/08/jung-and-visualization_18.html' title='Jung and Visualization'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-8008223726742553320</id><published>2007-08-17T09:32:00.000-07:00</published><updated>2007-08-17T09:33:33.199-07:00</updated><title type='text'>Millennium Performance Problems and the contribution of the Jung API</title><content type='html'>The first of the Millennium Performance Problems, as expressed by Neil J. Gunther, is the performance Visualization. The idea is to find alternative ways of representing performance data. The traditional reports which contain a set of tables with numbers and a variety of two dimensional diagrams, seem not to provide the expected help, when a special set of problems is involved. These are usually complex problems which need a special way of representation in order to become comprehensive from the human brain, and problems that demand a special analysis and solution methodology. Alternative ways of data representation should be considered which would take into account the new discoveries that have been made recently around the humans vision area of research, and generally around the way the human brain can perceive some certain types of information and knowledge. For this reason physicists and biologists use, and also are involved into, projects that have to do with animation and special GUIs, that are used to represent complex data in ways that could help their users to derive and solve problems easier. [Neil J. Gunther]&lt;br /&gt;Thus, in order to achieve more effective representations of complex network data, several graphical analysis tools and frameworks have been developed to provide help to programmers and consultants. In this section, a quick reference to the several open source and freely available software projects, that have been developed for this purpose, will be made, and a short presentation of the Jung API capabilities, will be provided. But in order to complete the reference to the Millennium Performance Problems, it would be better to provide a short description of the other four remaining problems first, as expresses by Neil J. Gunther.&lt;br /&gt;The second millennium performance problem has to do with the so called “Self-instrumented Applications”. It is well-known that object orientation logic has improved the way software is managed and organised. Primarily, this is achieved because in object orientated programming, code can be reused and maintained easier. The idea behind the self-instrumented applications is based on the same rationale, applied to the programmers or generally to the productive resources, themselves. These kind of objects should be then added to the object library as well. In this way, the performance analyst could have the ability to turn objects on and off selectively, achieving a more flexible and probably more efficient management, since paths to find bottlenecks through applications code, could be traced easier. Obviously, applying this logic could contribute to the analysis of production systems&lt;br /&gt;The Von Neumann Bottleneck is the third millennium performance problem. Parallelism, is the technical term for doing more than one thing at once in order to achieve computational efficiency.  In parallel computing centres, where supercomputers made either with clusters or with Grid computing techniques, the maximum efficiency for the system can be achieved if only a single thread is running in each of the processing units and this thread is not terminated until the end of the computation. Unfortunately to achieve practically something like that or to achieve general-purpose parallelism, seems to be an utopia for performance analysts, despite the intense effort that has been done over the last two decades. The paradigm of the human brain architecture has lead to the idea of using neural networks to achieve a higher degree of parallelism. Another idea is to construct quantum computers.&lt;br /&gt;The fourth millennium performance problem as expressed by Neil J. Gunther has to do with the performance analysis of the Internet. Internet communication is based mostly on the concept of receiving and transmitting information coded as a packet of data. Internet packet analysis, which has taken place over the last fifteen years, showed that “long-term correlations can persist over several orders of magnitude in time” [Neil J. Gunther]. It is true that in the packet level, all the conventional queueing theory techniques are no longer valid. Packet arrivals don't follow the Poison distribution, while there are no constant service times. Thus the question is how the Internet could be modelled. A very challenging task could be the development of an Internet Simulator or a new theory for expressing complex systems of the same type.&lt;br /&gt;The final millennium challenge for the performance analysts has to do with the performance analysis of Quantum Computers. The development of Quantum Computers may still sound like a science fiction story, but it is true that there have already been developed and used quantum communication devices for encryption. Maybe they are still very specialised and expensive but it is expected that during the following years, devices like those will be easier and cheaper to a be produced in a large scale. The question is how the wide use of this technology will affect performance. [Neil. J Gunther] &lt;br /&gt;These five millennium performance problems, as they have been expressed by Neil J. Gunther, seem to reveal some interesting points about the upcoming challenges in the area of systems performance evaluation. The present project aims to perform a research and hopefully contribute to the first of these challenges. The visualization of complex data that have to do with the relations between distributed  entities expressed as networks of data, and the analysis of the several ways that this can or already has been done, could be the subject of this project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-8008223726742553320?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/8008223726742553320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=8008223726742553320' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/8008223726742553320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/8008223726742553320'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/08/millennium-performance-problems-and.html' title='Millennium Performance Problems and the contribution of the Jung API'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-5128045761931488991</id><published>2007-08-17T09:19:00.000-07:00</published><updated>2007-08-17T09:31:31.913-07:00</updated><title type='text'>User Data in Jung</title><content type='html'>There are two ways to associate data with graphs, edges or vertices.&lt;br /&gt;&lt;br /&gt; 1st. Class Extension, creating a class that extends one of the Graph, Vertice or Edge implementations.&lt;br /&gt;&lt;br /&gt; 2nd. Jung Annotation, using the existing built-in mechanism (the UserData class) for annotating graph elements with data. Several methods are used to manipulate these data.&lt;br /&gt;&lt;br /&gt;I think that the first way is more appropriate for the needs of my project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-5128045761931488991?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/5128045761931488991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=5128045761931488991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/5128045761931488991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/5128045761931488991'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/08/user-data-in-jung.html' title='User Data in Jung'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-1753502796009982770</id><published>2007-08-15T15:07:00.000-07:00</published><updated>2007-08-15T16:00:43.793-07:00</updated><title type='text'>OverEngineering vs UnderEngineering</title><content type='html'>It has fun when you are trying to combine one quite under engineered software like PDQ with one like Jung2, which produces very impressive graphic representations but, in its first sight looks quite over engineered. I decided that, the very well done, 1.7.6 could provide enough help to my project since Jung2.0 is still in its alpha version and probably some changes will take place in the near future.&lt;br /&gt;&lt;a href="industriallogic.com/papers/StopOverEngineering.pdf"&gt;leffe&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-1753502796009982770?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/1753502796009982770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=1753502796009982770' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/1753502796009982770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/1753502796009982770'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/08/overengineering-vs-underengineering.html' title='OverEngineering vs UnderEngineering'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-8514646050143859739</id><published>2007-08-13T01:59:00.000-07:00</published><updated>2007-08-15T16:06:08.871-07:00</updated><title type='text'>Compiling a JUNG2 based code</title><content type='html'>- Exception in thread "main" java.lang.NoClassDefFoundError: com/perfdynamics/pdq/examples/ClosedPassport&lt;br /&gt;&lt;br /&gt;*/ Probably something is wrong with the classpath&lt;br /&gt;&lt;br /&gt; - The type javax.vecmath.Point3f cannot be resolved. It is indirectly &lt;br /&gt; referenced from required .class files&lt;br /&gt;&lt;br /&gt; - Could not instantiate class, error in the constructor&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-8514646050143859739?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/8514646050143859739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=8514646050143859739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/8514646050143859739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/8514646050143859739'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/08/compiling-jung-based-application.html' title='Compiling a JUNG2 based code'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-7245046000000155316</id><published>2007-08-11T02:38:00.000-07:00</published><updated>2007-08-11T02:41:31.498-07:00</updated><title type='text'>The Millennium Performance Problems</title><content type='html'>The Millennium Performance Problems are:&lt;br /&gt;&lt;br /&gt;   1. Performance Visualization:&lt;br /&gt;      The idea here is to find ways of representing performance data that are a better impedance match for our cognitive computer (our brain). One role model is the techniques used in so-called Scientific Visualization where physicists and biologists have learned to use things like special GUIs and animation to represent complex data in ways that help them solve problems. Why should they have all the fun?&lt;br /&gt;&lt;br /&gt;   2. Self-instrumented Applications:&lt;br /&gt;      Object-oriented programming has been promoted as a good thing primarily for reasons of reusability. If people are going to re-use objects, how about they come with their own instrumentation? This really should be part of the object library so that a programmer need nevre be concerned with adding such code. Then I, as the performance analyst would have the ability to turn objects on selectively and thereby trace paths through application code to find bottlenecks, even on production systems.&lt;br /&gt;&lt;br /&gt;   3. The Von Neummann Bottleneck:&lt;br /&gt;      An efficient way to compute something on a machine is to do more than one thing at once. The technical term is parallelism. Unfortunately, despite a lot of intense effort over the last two decades, general-purpose parallelism remains a holy grail of performance analysis. One reason for this barrier seems to stem from the influential success of early electronic computer designers such as Alan Turing and John von Neumann. The fundamental paradigm of sequential programming and operation seem to be almost impossible to break away from in the modern digital computer. But there is an obvious role model for a non-von computer architecture: our brain. This has led to the idea neural networks as way of achieving a higher degree of parallelism. Quantum computers are another.&lt;br /&gt;&lt;br /&gt;   4. Performance Analysis of the Internet:&lt;br /&gt;      The results of analyzing Internet packet traces 15 years ago at Bellcore (now Lucent) showed that long-term correlations can persist over several orders of magnitude in time. Packet arrivals are not Poisson, and service times are not constant. In other words, all the conventional queueing theory techniques near and dear to our hearts as performance analysts, are no longer valid at the packet level. How are we to model the Internet? Perhaps we need to think big. The climatologists use things like the Earth Simulator to address complex questions about global warming. Maybe we need an Internet Simulator of similar scale?&lt;br /&gt;&lt;br /&gt;   5. Performance Analysis of Quantum Computers:&lt;br /&gt;      Quantum Computers are probably a long way off, but quantum communication devices are already here. The only reason you are not aware of them is because they are expensive and therefore a specialty item for institutions like banks. In the next 3 to 5 years, I believe these things will reach commodity prices and will therefore become more ubiquitous. I am also working on these technologies now. The question for us is, How will they affect performance?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.perfdynamics.com/"&gt;CMG Materials&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-7245046000000155316?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/7245046000000155316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=7245046000000155316' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/7245046000000155316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/7245046000000155316'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/08/millennium-performance-problems.html' title='The Millennium Performance Problems'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-5808026780674508535</id><published>2007-08-10T17:55:00.001-07:00</published><updated>2007-08-10T17:55:21.016-07:00</updated><title type='text'>JGraphT</title><content type='html'>- JGraphT supports various types of graphs including: directed and undirected graphs, graphs with weighted / unweighted / labeled or any user-defined edges, various edge multiplicity options, including: simple-graphs, multigraphs, pseudographs, unmodifiable graphs - allow modules to provide "read-only" access to internal graphs, listenable graphs - allow external listeners to track modification events, subgraphs graphs that are auto-updating subgraph views on other graphs and all compositions of mentioned graphs. Powerful, but simple.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-5808026780674508535?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/5808026780674508535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=5808026780674508535' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/5808026780674508535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/5808026780674508535'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/08/jgrapht.html' title='JGraphT'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-8528496434680151934</id><published>2007-08-10T15:39:00.001-07:00</published><updated>2007-08-11T02:33:10.265-07:00</updated><title type='text'>JUNG</title><content type='html'>- JUNG — the Java Universal Network/Graph Framework--is a software library that provides a common and extendible language for the modeling, analysis, and visualization of data that can be represented as a graph or network. The JUNG architecture is designed to support a variety of representations of entities and their relations, such as directed and undirected graphs, multi-modal graphs, graphs with parallel edges, and hypergraphs. It provides a mechanism for annotating graphs, entities, and relations with metadata. The current distribution of JUNG includes implementations of a number of algorithms from graph theory, data mining, and social network analysis, such as routines for clustering, decomposition, optimization, random graph generation, statistical analysis, and calculation of network distances, flows, and importance measures (centrality, PageRank, HITS, etc.). Comprehensive, everything but the kitchen sink!&lt;br /&gt;&lt;br /&gt;In order to run a JUNG-based application, you will need all the packages listed on the JUNG download page. (As of this writing, this includes .jar files for JUNG, version 1.3 (or later) of a Java runtime environment (JRE), Apache Jakarta commons-collections, the CERN Colt scientific library, and Xerces.&lt;br /&gt;&lt;br /&gt;Building JUNG-based applications will require all of the above, plus the Java SDK (version 1.3 or later).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jung.sourceforge.net"&gt;jung&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Check here for more open source graph network visual tools in Java ;-)&lt;br /&gt;&lt;a href="http://www.manageability.org/blog/stuff/open-source-graph-network-visualization-in-java/view"&gt;http://www.manageability.org/blog/stuff/open-source-graph-network-visualization-in-java/view&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-8528496434680151934?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/8528496434680151934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=8528496434680151934' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/8528496434680151934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/8528496434680151934'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/08/jung.html' title='JUNG'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-3225075824224542264</id><published>2007-08-10T03:35:00.000-07:00</published><updated>2007-08-10T03:45:08.904-07:00</updated><title type='text'>Algorithm for calculating the Time Share Ratio between the Queues</title><content type='html'>v(j) = Σv(i)p(i→j)&lt;br /&gt;&lt;br /&gt;p(i→j) = probability for the Job (Workload) to leave Queue (Node) i and go to j&lt;br /&gt;&lt;br /&gt;in order to make the calculation, firstly one of the v(i) should be considered =1, (v(i) = 1)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-3225075824224542264?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/3225075824224542264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=3225075824224542264' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/3225075824224542264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/3225075824224542264'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/08/algorithm-for-calculating-time-share.html' title='Algorithm for calculating the Time Share Ratio between the Queues'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-3050950927978466991</id><published>2007-08-08T14:26:00.000-07:00</published><updated>2007-08-08T15:41:14.481-07:00</updated><title type='text'>Potential GUI Approach for the existing PDQ Java version</title><content type='html'>As I've mentioned before, I believe that in order to develop a correct, in matters of software engineering, software tool with a fully functional GUI, and potentials for further development, it is essential to perform some refactoring to the already existing Java code. &lt;br /&gt;On the other hand, if the only purpose is to develop a GUI based just on the already existing code with just the current functionality, an approach could be:&lt;br /&gt; - Initially represent graphically a queueing model with Nodes(Queues) and Arcs with parameters, &lt;br /&gt; - keep the information and parameters into some additional memory structures (ArryList/Hashmap),&lt;br /&gt; - perform a validation, and after the visually defined model is valid, &lt;br /&gt; - export the buffered parameters of the visual model into the actual PDQ model and then &lt;br /&gt; - solve it using the PDQ_solve(). After that&lt;br /&gt; - take the results using the appropriate "PDQ_get" functions and&lt;br /&gt; - represent them graphically, using some external of the PDQ library functions again.  &lt;br /&gt;&lt;br /&gt;Having this approach, in the case that a queueing model has defined, then validated and finaly solved, if the user would like to change just one parameter of the model then after the first execution of the MVA algorithm the pdq model should be deleted (actually calling the PDQ_Init()) and then recreated from the beginning since no changes can be done to an already defined PDQ model.&lt;br /&gt;This approach doesn't extend the functionality of the existing PDQ library. It just creates a visual shell, which gives the impression that the PDQ tool is more high level.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-3050950927978466991?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/3050950927978466991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=3050950927978466991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/3050950927978466991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/3050950927978466991'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/08/potential-gui-approach-for-existing-pdq.html' title='Potential GUI Approach for the existing PDQ Java version'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-6601225403739768023</id><published>2007-08-08T14:00:00.001-07:00</published><updated>2007-08-08T14:04:27.694-07:00</updated><title type='text'>braju.jar</title><content type='html'>Why braju.jar?&lt;br /&gt;&lt;br /&gt;An additional quite old library called "braju" is used from the PDQ library. In contrast with the PDQ library, the braju library is not open source (it is freely available though). This library is commonly used in order to represent the C - like functions: fprintf(), printf() and sprintf() in Java. I don't really understand what is the purpose of using this package in the Java PDQ implementation. I suppose that the only purpose of doing this is to create an as much as relevant and close to the C version, PDQ Java code version. &lt;br /&gt;&lt;br /&gt;The API of the Package com.braju.format contains:&lt;br /&gt;&lt;br /&gt;Class Summary&lt;br /&gt;Format:  This class provides static C-style methods like sprintf(), printf() and fprintf() with variable number of parameters.&lt;br /&gt;Parameters:  This class makes it possible to simulate parameter lists to method with arbitrary length.&lt;br /&gt;ParametersAutoClear:  This class is an empty class with no extra methods.&lt;br /&gt; &lt;br /&gt;Exception Summary&lt;br /&gt;ParseErrorException:  Exception thrown when there is an unexpected character or a syntax error in the format string passed to a *printf method.&lt;br /&gt; &lt;br /&gt;It is possible that refactoring just the pdq.jar open source code, is going to be enough for creating the demanded functionality of the library, but I can not be sure about it. The truth is that even if it is feasible, an additional effort will be required in order to learn how the braju.jar library works if I still want to use it, but probably, in the case of refactoring, its use is going to be redundant.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-6601225403739768023?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/6601225403739768023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=6601225403739768023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/6601225403739768023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/6601225403739768023'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/08/brajujar.html' title='braju.jar'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-4512726147411813493</id><published>2007-08-03T11:36:00.000-07:00</published><updated>2007-08-08T15:43:22.726-07:00</updated><title type='text'>Sofware Engineering Issues</title><content type='html'>In my mind I had two potential approaches for developing the Graphical Queueing Networks Analysis Tool:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;1. Just use the library as it is (don't change the functionality).&lt;/span&gt;&lt;br /&gt;Ignore the details of the implementation of the PDQ software, and focus on the functionality. In other words, just use the functionality PDQ API provides, mostly just using the PDQ class which can be pretty much enough, in order to define models. Decipher how this can be done through the several examples and the PDQ users manual. Try to automate the modeling procedure and then represent the required code visually creating classes - elements of a GUI.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2. Develop the API (add more functionality) after studying its code.&lt;/span&gt;&lt;br /&gt;Understand thoroughly not only the way PDQ API can be used in order to define Queueing networks models (probably using examples and the manual), but also the several details of the software implementation. Which are the attributes and functions each of the classes of the API provide? Which of these classes should be expanded and how? What kind of functions should be added in order create a higher level of the library and after that a GUI? This is essential because of Software Engineering reasons. Do I just need to create a GUI for an already complete API or I need to expand the functionality of the PDQ API as well, adding more attributes and methods? &lt;br /&gt;&lt;br /&gt;I think that the second approach is the only rational approach cause the PDQ API is really very low level. Thus re-engineering is essential, otherwise the result will be a clumsy, non-functional GUI, based only on the already existing functionality of the library.&lt;br /&gt;&lt;br /&gt;Some of the PDQ library functions are grouped here in order of most frequent invocation:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;PDQ_Init()&lt;/span&gt;  Initializes all internal PDQ variables. Must be called prior to any other PDQ function.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;PDQ_CreateOpen()&lt;/span&gt;  Defines the characteristics of a workload in an open-circuit queueing model.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;PDQ_CreateClosed()&lt;/span&gt;  Defines the characteristics of a workload in a closed-circuit queueing model.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;PDQ_CreateNode() &lt;/span&gt; Defines a single queueing-center in either a closed or open circuit queueing model.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;PDQ_SetDemand()&lt;/span&gt;  Defines the service demand of a specific workload at a specified node.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;PDQ_SetVisits() &lt;/span&gt; Define the service demand in terms of the service time and visit count.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;PDQ_SetDebug()&lt;/span&gt;  enables diagnostic printout of PDQ internal variables.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;PDQ_Solve()&lt;/span&gt;  The solution method must be passed as an argument.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;PDQ_GetResponse()&lt;/span&gt;  Returns the system response time for the specified workload.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;PDQ_GetThruput()&lt;/span&gt;  Returns the system throughput for the specified workload.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;PDQ_GetUtilization()&lt;/span&gt;  Returns the utilization of the designated queueing node by the specified workload.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;PDQ_Report()&lt;/span&gt;  Generates a formatted report containing system, and node level performance measures.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- It seems that there are no implemented methods for deleting Nodes and Workloads in the PDQ class. PDQ_RemoveNode(), PDQ_RemoveClosed(), etc.&lt;br /&gt;&lt;br /&gt;- Nodes and Workloads can only be created. Then they are stored in a simple static array structure defined in the PDQ class.&lt;br /&gt; &lt;br /&gt;- Should I create a subclass of the PDQ class called eg. class ThePDQ expands PDQ {}, which implements these required methods?&lt;br /&gt;&lt;br /&gt; - Should I create a subclass of the Node class called eg class TheNode expands PDQ {}, which gives more attributes to the Node Object, such as displayed Image as well as complementary methods for manipulating the behavior of a Node such as a method that calculates automatically the Demand of this Node?&lt;br /&gt;&lt;br /&gt; - Should I do something similar and create an additional Workload() class?&lt;br /&gt;&lt;br /&gt; - What about the Arc() class? Which are the attributes of this about-to-be implemented class? How the Arcs that join the several Nodes should behave? Should this potential Arc() class expand some other relative class of the PDQ API?   &lt;br /&gt;&lt;br /&gt; - Which other classes should be expanded in order to have a coherent set of classes and methods?&lt;br /&gt;&lt;br /&gt; - Apparently, the existing Java version of the PDQ library can be considered under-engineered. How can I avoid this and how can I avoid potential over-engineering as well? Is it preferable instead of expanding one class, just to develop a separate class in which an instance of the about to be expanded class is created?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-4512726147411813493?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/4512726147411813493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=4512726147411813493' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/4512726147411813493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/4512726147411813493'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/08/sofware-engineering-issues.html' title='Sofware Engineering Issues'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-5601080494406250151</id><published>2007-08-02T17:00:00.000-07:00</published><updated>2007-08-04T04:44:51.821-07:00</updated><title type='text'>New Challenges For The Professional Modellers and the Systems Modelling Methodology: Grid Computing</title><content type='html'>Professional modellers deal with a variety of real problems and their main objective is to “translate” each of these problems into a strict mathematical form. In order to achieve something like that, several stages of the modelling process should be preceded. Initially, all the aspects of the problem should be clarified, and then the several variables of the problem should be identified. Finally the modeller should be able to estimate and approximate a set of courses of action that may cost money and time. It is a very important skill for the modeller to be able to identify the critical parts of a problem in order to create an optimised, abstract version, which constitutes the mathematical model of the problem. Generally, any model can be defined as a simplified representation of certain aspects, preferably the most important, of a real system. A mathematical model can be defined as a model which is created using several mathematical concepts such as functions and equations.&lt;br /&gt;It should never be forgotten the fact that modelling, compared to simulation, is usually a less accurate but faster methodology for estimating the behaviour of a system, and that the main purpose of using this methodology is its high performance. Additionally, it is essential to underline, for one more time, the role of systems modelling in industry and business. Optimising the procedures of decision making and systems performance evaluation, a significant competitive advantage in matters of time and money may be gained for the company. A not so naïve observer could possibly identify a gap between the reasoning required for creating a mathematical principle, and this required for creating a mathematical model. It is true that mathematical principles are based on sound reasoning and development but, when we come to model a given real problem, we must feel free to construct the model using whatever mathematical relationships and techniques seem appropriate. In the case of creating a mathematical model, nothing can be considered as totally true or totally false and there are always several ways in which a model of a real problem can be created. [1]&lt;br /&gt;Moreover, new achievements in the area of distributed and parallel computing systems have raised the need for developing models and modelling mechanisms, that can evaluate effectively the behaviour of highly complex systems, such as supercomputers, which have been created using clusters or idle desktop computers connected to the Internet. The second method of creating a supercomputer is based on the principles and the technology that define the term Grid Computing. Using the computational power of idle non-dedicated desktop machines that are connected in the Internet reveals another, more modern, approach to the way supercomputers can be created. This methodology called cycle-scavenging, which is based on volunteer computing, is currently used effectively to projects like BOINC, which was initially developed to support the SETI@home computationally intensive project. SETI was aiming to detect intelligent life outside Earth, after analysing a large amount of data coming from a telescope. There are several freely available technologies, which have been developed around the idea of Grid Computing. Distributed Resource Management Application API (DRMAA) is a high level specification API, provided by the Global Grid Forum (GGF). which is a community which aims to standardise Grid Computing globally. DRMAA tries to specify the way in which the several jobs, within  one or more Distributed Resource Management (DRM) systems,  are submitted and controlled. “Condor” is a popular open source software framework for course-grained distributed parallelization of computationally intensive tasks.  It is commonly used to manage workload on a dedicated cluster of machines or on a Grid of idle non-dedicated desktop computers connected to the Internet. Alternative and complementary frameworks  are the Cactus Grid Project and the Sun Grid Engine. Some other popular open source software middlewares for building computing grids are the “Globus Toolkit”, and the “Parallel Virtual Machine” (PVM). OGSA (Open Grid Service Architecture) describes an architecture for grid computing environment, based around services, developed within the GGF (Global Grid Forum) for scientific and business use. It actually constitutes a distributed interaction and computing architecture which assures interoperability on heterogeneous systems, so that different types of resources can communicate and share information in order to provide several services. There are several other applications and middlewares created to support the Grid Computing technology, while additionally several low or higher level APIs have been developed such as the “Message Passing Interface” (MPI) which is used for non-shared memory programming (computer clusters) , the OpenMP API used for shared memory multiprocessing programming, and the most recent “Simple API for Grid Applications” (SAGA), which is an open standard that describes an interface for high level Grid applications programming. Additionally, combining the MPI and OpenMP technologies, several other hybrids have been developed, by different distributors, in a variety of supported programming languages. The main objectives of these technologies are: high performance, scalability and portability.  Parallel, multiprocessing programming in a lower level, is based on the use of threads (eg. POSIX Threads), and a key task for achieving maximum efficiency in shared memory parallel architectures is to both use exactly one thread per processor and keep these threads running during the whole lifetime of the parallel program. There are several techniques that can optimise this procedure. Additionally, the most popular and supportive languages for parallel programming are C/C++ and Fortran. Java programming language assures portability, ease of software engineering, automatic garbage collection (using the finalize() method), thorough type checking and absence of pointers. These attributes make Java development less error prone. On the other hand there are some characteristics that make the Java programming language inappropriate for parallel systems programming such as lower performance because of slower compilers, lack of support for complex numbers and multidimensional arrays, lack of suitable standards for parallel programming (no standardised interface for MPI / OpenMP), and problems using native Java Threads instead of a directive system (OpenMP). However there are some efforts to create specifications using OpenMP-like directives, in order to standardise somehow the parallel programming with Java. Similar efforts have been done for other languages as well, such as Perl and Python. &lt;br /&gt;To sum up, having as a task to evaluate the behaviour of a highly complex system, such as a supercomputer, can be very demanding. This is another challenge for professional system modellers. Taking into account the recent evolution in the area of supercomputers, several questions can be derived. Which is the way, and what kind of tools could be developed and used in order to help modellers, to evaluate and optimise modern, large-scale systems, such as projects based on Grid Computing technology? How could the Queueing Networks be used in order to model and evaluate the quite complex procedures taking place within a multi-platform, shared memory (or not), multiprocessing environment. Although the low level technology and middlewares related to the Grid computing have been already matured, there are not many high level Grid applications created yet. This lack of experience in the particular field, makes the Grid computing systems modelling and evaluation even more demanding and challenging.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Reference&lt;br /&gt;[1] Edwards &amp; Hamson, “Guide Mathematical Modelling”, Palgrave 2001.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-5601080494406250151?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/5601080494406250151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=5601080494406250151' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/5601080494406250151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/5601080494406250151'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/08/challenges-for-systems-modelling.html' title='New Challenges For The Professional Modellers and the Systems Modelling Methodology: Grid Computing'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-5452485712626825725</id><published>2007-07-27T04:24:00.000-07:00</published><updated>2007-07-27T04:26:15.480-07:00</updated><title type='text'>Eclipse has the problem not the PDQ library</title><content type='html'>&lt;a href="http://dev.eclipse.org/newslists/news.eclipse.newcomer/msg02312.html"&gt;http://dev.eclipse.org/newslists/news.eclipse.newcomer/msg02312.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-5452485712626825725?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/5452485712626825725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=5452485712626825725' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/5452485712626825725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/5452485712626825725'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/07/eclipse-has-problem-not-pdq-library.html' title='Eclipse has the problem not the PDQ library'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-4412323632518145867</id><published>2007-07-26T11:57:00.000-07:00</published><updated>2007-07-27T04:27:05.976-07:00</updated><title type='text'>Problem: PDQ Java distribution is not compatible with Java 6?</title><content type='html'>These 3 kind of errors occur during the compile of the API:&lt;br /&gt;&lt;br /&gt;Severity and Description Path Resource Location Creation Time Id&lt;br /&gt;&lt;br /&gt;The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, Parameters) Thesis/src/com/perfdynamics/pdq MVA.java line 432 1185383257573 64&lt;br /&gt;&lt;br /&gt;The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, String) Thesis/src/com/perfdynamics/pdq PDQ.java line 381 1185383257470 51&lt;br /&gt;&lt;br /&gt;The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String) Thesis/src/com/perfdynamics/pdq PDQ.java line 379 1185383257470 50&lt;br /&gt;&lt;br /&gt;I should try to backdate the java version to 5.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-4412323632518145867?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/4412323632518145867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=4412323632518145867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/4412323632518145867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/4412323632518145867'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/07/pdq-java-distribution-is-not-compatible.html' title='Problem: PDQ Java distribution is not compatible with Java 6?'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-973371301093948013</id><published>2007-07-10T06:01:00.000-07:00</published><updated>2007-07-10T06:25:23.464-07:00</updated><title type='text'>Notes for Observational/Operational Laws</title><content type='html'>A = number of arrivals at the queueing center&lt;br /&gt;C = number of completions departing the queueing center&lt;br /&gt;T = Measurement or observation period&lt;br /&gt;B = Total time the system was busy during T&lt;br /&gt;&lt;br /&gt;arrival rate: lamda = A/T&lt;br /&gt;&lt;br /&gt;throughput: X = C/T&lt;br /&gt;&lt;br /&gt;mean service time: S = B/C&lt;br /&gt;&lt;br /&gt;utilization: U = B/T      (it is actually a special case of Little's Law)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Little's LAW: Q = lamda x R  (or L=AW)&lt;br /&gt;Q: average queue length&lt;br /&gt;R: average residence time spent at the center (time waiting in line + service time)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-973371301093948013?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/973371301093948013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=973371301093948013' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/973371301093948013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/973371301093948013'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/07/notes-for-observationaloperational-laws.html' title='Notes for Observational/Operational Laws'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-6704408614297831936</id><published>2007-07-09T13:41:00.000-07:00</published><updated>2007-07-10T06:01:42.348-07:00</updated><title type='text'>Constrains</title><content type='html'>- no blocking mechanisms involved.&lt;br /&gt;- this means that only nodes with infinite servers (delay centers), or nodes with infinite capacity servers are going to be used.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-6704408614297831936?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/6704408614297831936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=6704408614297831936' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/6704408614297831936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/6704408614297831936'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/07/constrains.html' title='Constrains'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-9046009485586729381</id><published>2007-05-27T13:38:00.000-07:00</published><updated>2007-05-27T23:27:48.940-07:00</updated><title type='text'>PROJECT DESCRIPTION</title><content type='html'>Introduction&lt;br /&gt;&lt;br /&gt;Queueing Network Modelling and Analysis is the subject of this proposed project. Nowadays, the need for tools and techniques that assist in understanding the behaviour of the even more complex, modern  systems has become essential. Additionally, it is very important for these tools and techniques to provide results quickly, even if they are less accurate. These needs have encouraged the idea of modelling, rather than simulating, the behaviour of one system. Thus, a more abstract model, which contains only the most significant elements of the real system, is preferable to a more accurate but inflexible and costly one. &lt;br /&gt;In the Queueing Network Modelling approach, the system is represented as a network of queues.  A network of queues is a collection of queueing nodes (service centres) that represent resources of the system, and workload (customers) that represent transactions or users of the services that are provided by the system.  After the model of the queueing network is created, it can be evaluated analytically using a combination of algorithmic and numerical procedures. Specialised software is commonly used to solve efficiently a set of equations that have been derived from the queueing network and its properties. For the needs of this project, an open source library, called PDQ, will be used to define the parameters and solve the user-defined queueing network.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Project Description&lt;br /&gt;&lt;br /&gt;The proposed project constitutes a Graphical Analysis Tool for Closed Queueing Networks. Its purpose is to analyse a large variety of general closed queueing networks. Actually the mathematical algorithms that represent and solve queueing networks are already provided by an open source, freely distributed software called pretty damn quick PDQ. This software constitutes a considerable low level implementation of a set of functions, originally written in C programming language, that can be used to define the properties of a queueing network and then solve it. The solution is derived after applying one appropriate version of the powerful Mean Value Analysis (MVA) algorithm to the previously defined model.   &lt;br /&gt;&lt;br /&gt;Features related to the GUI&lt;br /&gt;The rationale of undertaking this project is summarised to the need of creating a user friendly tool set, which will provide a more high level approach to the existing low level PDQ software. Users that are not familiar with the API of the PDQ library, should be able to make use of the capabilities of this powerful tool in a simple and straightforward way, using the features  that the GUI of the proposed client, will provide. In this point it is worthwhile to mention that the purpose of this tool will be mostly educational, rather than strictly scientific or commercial. Thus, it is a primary goal to be user-oriented and minimalistic.&lt;br /&gt;&lt;br /&gt;Basic requirements of the potential user-friendly Graphical User Interface are presented below:&lt;br /&gt;The GUI should allow the creation of queueing networks using drag and drop elements in an adjustable design area. Queues and the way they are connected should be represented graphically, using icons and other design elements like forks and arrows. Generally, a simple and comprehensive visual representation of the queueing network should be encouraged by the program.&lt;br /&gt;Clicking on each inserted queue should provide a menu, or a dialogue window, which will show the properties of the queue. if this action takes place during the definition of the model (before the execution), the shown parameters are going to be editable by the user. In an already solved queueing network, the indicated properties should demonstrate the execution results that the program has produced for the specific queueing node. Alternative ways of demonstrating queueing parameters and properties of the queueing network, should be also available (e.g. by selecting an option from the general application menu bar).&lt;br /&gt;A control algorithm should be developed which will identify if the designed representation of the model constitutes a closed queueing network. This tool will be able to handle only closed queueing circuits. Generally additional methods should be implemented, which will indicate errors in the design of the queueing network. Additionally, if an error occurs during the design process, descriptive error messages should be generated.&lt;br /&gt;The creation and modification of a queueing model should be flexible and easy. The need to implement “add/delete element” options is essential, while additional element handling options could be created, to enhance flexibility and user's control when creating or modifying a queueing circuit. &lt;br /&gt;The output after solving the queuing model should be presented graphically to the user. Different indicative colours for each queue can be used, as well as plots and diagrams. The support of printable reports, with all the details of the model and its solution, is also a good additional feature. Moreover, analysis results should be printed into files for keeping data records.&lt;br /&gt;Finally, constructed queueing networks should be able to be saved, while previously saved networks should be able to open.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Features of the proposed tool:&lt;br /&gt;Some of the basic technical characteristics, related to the function of the proposed software are presented below:&lt;br /&gt;Only closed queueing networks will be supported.&lt;br /&gt;The capacity of each queue could be finite or infinite.&lt;br /&gt;Single as well as multiple classes of workload will be able to be supported (actually up to 2 types of class workload are going to be available, one with zero think-time and one with nonzero think-time).&lt;br /&gt;For finite capacity queues, a wide range of blocking mechanisms should be handled.&lt;br /&gt;For networks of infinite capacity queues, multiple workload classes should be able to be handled, and for a single class of workload, fork or joined nodes should be able to be handled.&lt;br /&gt;&lt;br /&gt;More specifically the Queueing Networks analysed by the tool can potentially be:&lt;br /&gt;&lt;br /&gt;Closed networks of multi-server infinite capacity queues with multiple workload classes.&lt;br /&gt;Closed networks of multi-server infinite capacity queues with a single workload class, with fork/join nodes, and with/without synchronizing queue.&lt;br /&gt;Closed networks of multi-server finite or infinite capacity queues with a single workload class and with transfer blocking.&lt;br /&gt;Closed networks of multi-server finite or infinite capacity queues with a single workload class and with repetitive service blocking.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Additional requirements:&lt;br /&gt;Additional requirement for the proposed program is to be available for a big variety of computer systems. The property of this requirement will to be accomplished by implementing the above software in a platform independent programming language, such as Java. The version of Java release, which is intended to be used for the needs of developing this software, is the recent Java 6 version. The GUI will be probably created using the well-known AWT and SWING APIs included in every Java version. The system requirements for executing the developed software are expected to be low, but it depends to the size and the complexity of the defined model. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Summary&lt;br /&gt;&lt;br /&gt;To sum up this report is intended to provide a general description of the project. It demonstrates the rationale and the significance of undertaking a project like that as well as the user requirements. Its purpose is to indicate what work will be conducted in pursuit of meeting the aims and objectives of the project. Finally it demonstrates a basic set of features, that the intended created software should include, indicating significant aspects of the project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-9046009485586729381?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/9046009485586729381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=9046009485586729381' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/9046009485586729381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/9046009485586729381'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/05/project-description.html' title='PROJECT DESCRIPTION'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-4191897433207027115</id><published>2007-05-27T10:32:00.001-07:00</published><updated>2007-05-27T10:32:50.310-07:00</updated><title type='text'>AIMS &amp; OBJECTIVES</title><content type='html'>Aims &amp; Objectives&lt;br /&gt;&lt;br /&gt;Aim of this project is to provide a general tool set with a GUI, which will allow the user to specify models of closed queueing networks in a simple and efficient way, using simple graphical "drag and drop" elements and flexible correcting and designing tools. &lt;br /&gt;The defined problem should be solved using the “Pretty Damn Quick” (PDQ) library, which is a free open source software. Actually, an objective is to create a tool set,  which will provide a more high level approach to the existing low level PDQ software, hiding the mathematical details as much as possible. Users that are not familiar with the underlined API, should be able to make use of the PDQ library capabilities in a simple and straightforward way, through the designed GUI of the software tool.&lt;br /&gt;Additionally, the output of the program should demonstrate the results in a comprehensive way, that does not demand detailed knowledge of the underlined mathematical model from the user. The solution should be represented in a graphical way as well (plot diagrams, colour use, etc.). In this point it should be declared that the purpose of this tool is mostly educational rather than commercial. &lt;br /&gt;Additional objective is to investigate the possibly different existing approaches in designing an interface, for representing closed queuing network models, then analyse the alternatives, and finally select one of these approaches or propose a new approach, explaining the rationale and the reasons of choosing this design approach.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-4191897433207027115?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/4191897433207027115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=4191897433207027115' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/4191897433207027115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/4191897433207027115'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/05/aims-objectives.html' title='AIMS &amp; OBJECTIVES'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-140345305030143577</id><published>2007-05-26T06:39:00.001-07:00</published><updated>2007-05-27T07:50:30.170-07:00</updated><title type='text'>LITERATURE REVIEW</title><content type='html'>Literature Review&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.Introduction&lt;br /&gt;&lt;br /&gt;Day by day the need for taking decisions, and performing tasks in a correct way and within tight time constrains, is becoming more and more essential. Today's real time systems are demanded to be effective and quick. An important performance factor, that may be the key to the success of a system implementation,  is the system's throughput. Different approaches have been suggested for increasing system's performance. [23]&lt;br /&gt;Additionally, the need for creating effective tools that can perform system performance evaluation (for measuring and optimising system's throughput, for example) has become more essential than ever. There are three approaches to the performance evaluation of computer and communication systems: Benchmarking, Simulation, and Analytical Modelling. The third one, is the most significant for the purposes of this project, and its idea is to construct, via a combination of algorithmic and numerical procedures, a mathematical model of the system. Commonly, the system resources are represented as a queueing network. &lt;br /&gt;The mathematical study of queues, known as  Queueing Theory, provides the appropriate background for developing several algorithms that solve queueing networks. Some of the well known algorithms are the Convolution and the Mean Value Analysis algorithm. As soon as the model has been constructed, it can be solved using one of the several computational algorithms. Probability Theory and Stochastic Processes constitute the relevant mathematical background for comprehending the mechanisms behind these computational algorithms.&lt;br /&gt;Several performance modelling software tools have been developed to provide help to the system analyser, in order to define the model of the system and interpret the results, in an effective and comprehensive way. The accuracy of each of these tools is depended on the computational algorithms it uses and the type of the problem it solves. Usually, different computational algorithms, solve a specific class of problems in an effective way.&lt;br /&gt;Pretty Damn Quick (PDQ) is an open source software, originally written in C,  which solves queueing networks in an effective way. It is free, and the aim of this proposed dissertation is to create a toolkit with a GUI based on the functions of this library, for computer system performance evaluation.&lt;br /&gt;This literature review aims to provide information about what knowledge and ideas have been established on a the topic of queueing networks and system performance analysis, and what their strengths and weaknesses are.&lt;br /&gt;&lt;br /&gt;2.Performance Modelling&lt;br /&gt;&lt;br /&gt;High-speed networking, which has been recently developed placed in a demanding business market, has resulted into changing the approach of performance analysis techniques applied to a system. Simple models, even if less precise, are preferred of complex and more accurate models, . A more modern approach compared to simulation is to create simple and easier to define models -even if less precise-, rather than complex and more accurate, because decisions are expected to be taken up right away so the answers to problems should not take too long to be formed. [15]&lt;br /&gt;&lt;br /&gt;In 1990 Tehany A. Fergany and Howard A. Sholl, in their paper under the title: "Performance-Based Multiple Server Support for Distributed Real-Time Applications” [23], present two different solutions for the problem of having a heavily requested computation, or, another characteristic that may effect the performance of a system, which is the occurrence of a demanding subtask which requires long service time. A pipeline subtask decomposition is used in the first approach, while in the second approach is used a set of parallel servers. The analysis of the system is performed using a queuing model. This paper constitutes a representative application of the relevant to the dissertation topic, and demonstrates how queuing theory can be applied to system analysis.&lt;br /&gt;&lt;br /&gt;Neil J. Gunther, in his book "The Practical Performance Analyst, Performance-By-Design Techniques For Distributed Systems" (McGraw-Hill, 1998) [15], presents in a simple and understandable way the main ideas of queuing theory (single and multi server queues, finite and infinite source queues, Markovian and non-Markovian models), including examples and sampling programs in a disk. The software in which the book is referred to is the same that is going to be used for the implementation of the dissertation project except from the fact that this version (it is the first one) of the PDQ library has been written in C, while the implementation makes use of the more recent Java version of the software. Pretty Damn Quick (PDQ) software library is presented in an Appendix in the end of the book. This book is highly associated to the library, so it constitutes the basic guide for the programmer who wants to create, using the PDQ open source software.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The high cost of designing and developing a system and the even higher cost of modifying or redesigning the system, when the requirements have failed to be met, has led to different approaches in systems' performance modelling and measurement. There are three approaches to the performance modelling of computer and communication systems:&lt;br /&gt;The first approach, known as “benchmarking”, suggests that the system first can be built, then modified and finally measured. This approach has the advantage that "performance estimate is perfectly accurate" [19], which means that there have not been introduced any errors that are not in the real system as well, since the whole procedure is based on the real system. The disadvantages of this approach is its high cost, its inflexibility, and the fact that it is particularly time consuming.&lt;br /&gt;The second common approach is simulation. The idea of this approach is to build a simulation model of the system, which can be validated against the already existing system. After the validation several needed modifications can be indicated and applied. This approach permits an arbitrary level of detail to be included, this fact has the benefit that any system feature can be included and checked making the model more and more precise. On the other hand  there is the danger to include too many features (which are not so essential for the performance of the required system) of the real system to the simulation, increasing, in this way, the complexity and the cost of applying the methodology.&lt;br /&gt;Finally, the third, and the most significant for the purposes of this project, approach is called “analytic modelling”, and its idea is to construct a mathematical model (via a combination of algorithmic and numerical procedures) of the system and then perform validation, as in simulation. The benefit of this method is that the model is constructed much faster, the solution is calculated much faster than in simulation or benchmarking, and the fact that it provides a significant estimation of the behaviour of the potential system without first implementing it. Thus it is a much cheaper technique. [19]&lt;br /&gt;&lt;br /&gt;The potential system analyst need to have the basic modelling, simulation, and analysis background in order to understand performance terminology and the various analysis techniques such as statistics, probability theory, experimental design, and queuing theory. The potential system analyst need to know how to use queuing or simulation models, how to combine skills (applying techniques of measurement and modelling) to solve queuing problems and how to interpret the results.&lt;br /&gt;The book “The Art of Computer Systems Performance Analysis” by Raj Jain focuses on the above needs and it is mostly practical than queuing theoretic. It suggests that "in practice, one needs to use both measurements as well as modelling techniques to solve performance problems" [21], and both aspects of the field are thoroughly demonstrated.&lt;br /&gt;&lt;br /&gt;Moreover, an additional book in the area of computer system performance evaluation, called “Introduction to Computer System Performance Evaluation”, by K. Kant, provides fundamental techniques and algorithms, covering both the theory and practice, emphasising analytic modelling methodology. This book constitutes a basic guide for someone who wants to explore the field of performance evaluation, providing examples and exercises, that are very helpful for establishing a firm background, both theoretical and practical, in the area. The view of the author suggests the analytic modelling methodology, as more appropriate for evaluating computer systems' performance, compared to measurement and simulation methodologies. [8]&lt;br /&gt;&lt;br /&gt;3.Queueing Theory&lt;br /&gt;&lt;br /&gt;Queueing Theory could be defined as the mathematical study of waiting lines (queues), and it is generally considered a branch of “operations research” because the outcomes of the theory are applicable to make business decisions about the resources needed to provide service. It can be applied in several fields such as engineering, industry, business, commerce and systems' performance evaluation. &lt;br /&gt;Queuing network analysis technique is used widely to estimate the performance of systems. Firstly, the process that is about to be investigated should  in some way be modelled in queues. After this is applicable, this analysis method can help to design, gain experience about and optimize the process. “The main idea of this theory is to describe the system with interconnected queues and servers. Of course, for large systems the representing queuing model becomes rather large as well”. [12]&lt;br /&gt;&lt;br /&gt;Queuing Networks and Markov Chains are commonly used for the performance and reliability evaluation of computer, communication and manufacturing systems. [7]&lt;br /&gt;The book “Queuing Networks and Markov Chains” aims to offer a detailed treatment of queuing systems, queuing networks and continues and discrete Markov chains. It provides in depth numerical solution algorithms and a set of examples. It discusses stochastic Petri nets, solution of Markov Chains. Additionally, it describes and applies 4 software packages (PEPSY, SPNP, MOSES, SHARPE) and also provides problems as exercises. This content of the book, makes it an appropriate guide for someone who wants to investigate the area of queueing networks and Markov Chains in theory and the applications of these concepts using the 4 suggested software packages. [7]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Mathematical Background (Probability theory, Stochastic processes)&lt;br /&gt;&lt;br /&gt;Moreover, in order to understand someone how the derived algorithms and methodologies related to queueing networks and Markov Chains are applied in systems' performance evaluation, it is essential a relevant mathematical background of Probability Theory and Stochastic Processes to be provided. There are several books in the literature that provide this demanded fundamental background such as, the first chapters of “Computer and Communication Systems Performance Modelling” by Peter J. B. King [18] and the first chapters of the book “Queueing Networks and Markov Chains” by Gunter Bolch, Stefan Greiner, Hermann de Meer, and Kishor S. Trivedi [7].  Additionally, the appendices of the book “Queuing Networks” by Xiouli Chao, Maskiyo Miyazawa and Michael Pinedo [27] provide the fundamental ideas of Probability Theory, Stochastic processes, and Markov and Poisson processes .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Queueing Networks (M/M/1, M/G/1, M/M/c, M/M/%)&lt;br /&gt;&lt;br /&gt;After this mathematical background is established the contents of queueing networks should be investigated. There are several types of queues, and of different complexities. Basically, there is the discrimination between the single server and the multi server queueing networks. Simple queues (M/M/1), and more complex queues like M/G/1, M/M/c, and M/M/∞ are analytically presented in the book “Introduction to Queueing Networks” by Erol Gelenbe and Guy Pujolle [6]. This book also provides some very useful application examples, of the theoretically described content of queues, in the end of every chapter. In this way the practical significance of the underlined queueing concepts are derived. More advanced types of queues are described in the book “Queuing Networks” by Xiouli Chao, Maskiyo Miyazawa and Michael Pinedo [27], but the focus of this book is mainly theoretical than practical. A specialised book devoted to product-form results for queueing networks is: “Queueing Networks and Product Forms” by Nico M. van Dijk, which provides a more tight to the product forms context, revealing aspects that the queueing networks can be applied.  &lt;br /&gt;Additional book in the area of Queueing Theory is an edition that constitutes a collection of papers published from 1952 to 1983. This collection is particularly interesting because it indicates the process during which the queueing theory has evolved from a new mathematical study to a mature one. [11]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Computational Algorithms&lt;br /&gt;&lt;br /&gt;There are several computational algorithms that solve queueing problems, which have been proposed by different scientists during times. These algorithms make use of the mathematical concepts around the area of queueing theory, in order to solve models of systems, which have been  represented by queueing networks. The literature around these algorithms and their transformations is vast, so only few of them are presented in this literature review.&lt;br /&gt;&lt;br /&gt;In 1983 Charles H. Sauer working for IBM, has developed the two most important computational algorithms for State Dependent Queueing Networks. Convolution and MVA (Mean Value Analysis). In his paper he demonstrated that they are both of equal generality, contrary to common belief. [3]&lt;br /&gt;&lt;br /&gt;A new approach using Mean Value Analysis for polling systems in heavy traffic is presented in the homonym paper of R. D. van der Mei and E. M. M. Winands, published in 2006, which provides (including numerical examples) a demonstration of “results that reveal a number of insensitivity properties of the covariances with respect to the system parameters under heavy traffic assumptions, and moreover, lead to simple approximations for the covariances between the successive visit times for stable systems”. [22]&lt;br /&gt;&lt;br /&gt;Another algorithm for computing the mean performance measures of product-form multiple-chain closed queuing networks, called Recursion by Chain Algorithm (RECAL) is presented in a paper A. E. Conway and N. D. Georganas have published in 1989, with title “RECAL – A New Efficient Algorithm for the Exact Analysis of Multiple- Chain Closed Queuing Networks”. in this paper it is indicated that this algorithm is more efficient than the convolution or MVA algorithms, when the network contains many routing chains. [1]&lt;br /&gt;&lt;br /&gt;For soft real-time scheduling, an approximate analysis of the Shortest Queue Policy (JSQ) is developed and presented in a paper of Weiping Zhu. This study compares the results produced after applying the JSQ policy to soft real-time systems, with the results of the simulation. The paper indicates that the approximate analysis produces highly accurate results. [25]&lt;br /&gt;&lt;br /&gt;An algorithm applied to closed product-form multiclass networks has been proposed by Wu-Lin and Colm Art O' Cinneide in 1998. It is actually a Markov Chain, Monte Carlo method  for class throughputs, which simplifies the original network producing a network with a simpler structure, which is then simulated and solved. This method is supposed to perform well in a broad range of problems.  [26]&lt;br /&gt;&lt;br /&gt;There is vast literature on TCP modelling. Indicatively, an algorithm, for closed queueing network models of interacting long- lived TCP flows, is demonstrated by Michele Garetto. In his paper a new analytical model which estimates the performance of TCP connections is presented and compared against detailed simulation experiments. The numerical results show that the model estimates performance variables in an accurate way in all situations. [13]&lt;br /&gt;&lt;br /&gt;A multi-thread memory scheduler that targets high performance chip multiprocessors is proposed and evaluated in the paper of  Kyle j. Nesbit, Nidhi Aggarwal, James Laudon, and James E. Smith called “Fair Queuing Memory Systems”. The algorithm which is proposed is fair and provides Quality of Service (QoS) and improves system performance as well. This is an interesting applied example in the area of hardware development. [9]&lt;br /&gt;&lt;br /&gt;Finally a series of computational algorithms for product form queueing networks are presented by Peter J. B. King in the book “Computer and Communication Systems Performance Modelling”, including the Convolution algorithm, MVA, LBANC, and RECAL algorithm. [19]&lt;br /&gt;&lt;br /&gt;4.Existing Tools in the area&lt;br /&gt;&lt;br /&gt;The increased complexity of modern systems has made the development of performance analysis tools very essential. The existing tools usually have a graphical user interface (GUI) or a special input language or both. in some cases it is difficult to acquire system measurements so the development of a system's model is an effective method of performance assessment. [7]&lt;br /&gt;&lt;br /&gt;The solution methods that are usually provided by performance modelling software tools are:&lt;br /&gt;DES (Discrete-event simulation).&lt;br /&gt;CTMC and DTMC  (generation of the state space and solution).&lt;br /&gt;Exact/Approximate solution of product-form queueing networks (for example MVA, SCAT and Convolution algorithms).&lt;br /&gt;Approximate solution of non-product-form queueing networks.&lt;br /&gt;Hierarchical models (multiple levels) that combine one or more of the above methods.  &lt;br /&gt;&lt;br /&gt;For accurate description of system behaviour, the DES is used, but this method increases the computation time and the resource needs. Thus less accurate methods, related to queueing networks and Markov chain analysis, are preferred. When the approximation methods can not be applied to certain problems or when they are not accurate enough, DES or CTMC is used. Nowadays, the computational power has increased significantly as well as the effectiveness of the algorithms. Thus, the CTMC approach has started gaining more and more importance. [7]&lt;br /&gt;The 12th chapter of the book written by Gunter Bolch, Stefan Greiner, Hermann de Meer, and Kishor S. Trivedi, "Queuing Networks and Markov Chains (Modeling and Performance Evaluation with Computer Science Applications)" introduces four representative performance modelling and analysis tools: PEPSY, SPNP, MOSES and SHARPE. [7]&lt;br /&gt;&lt;br /&gt;An interesting compilation of papers related to performance engineering methods, which includes 6 tool presentations has published in 2002, after the 12th International Conference called TOOLS 2002. Between these tools, the most relative to the purposes of the proposed project are: “The ProC/B Toolset for the Modelling and Analysis of Process Chains”, “PRISM: Probabilistic Symbolic Model Checker”, “MAMSolver: A Matrix Analytic Methods Tool”, and “DrawNET++: Model Objects to Support Performance Analysis and Simulation of Systems”. Additionally, less relevant to the topic or more specialised to a specific kind of problems tools are presented to this book such as: “The MOMBASA Software Environment – A Toolkit for Performance Evaluation of Multicast-Based Mobility Support”, “GULK: A Dynamic Instrumentation Tool for the Linux Kernel” and “Geist: a Web Traffic Generation Tool” [24]. &lt;br /&gt;All the above tools are used for computer performance evaluation, using a variety of different methodologies and algorithms in order to provide accurate solutions to problems, each of them has been designed for. Some of them are more general while some others are focused on specific kind of systems and solve only specific kind of problems. Additionally, most of them provide a graphical user interface (GUI) and the approach that each of these tools follows, in matters of design, is going to be taken seriously into account when designing the GUI for this proposed dissertation project. Finally, the produced solutions of the proposed implementation can to be compared with the results that some of the above tools provide, in order to test the efficiency  of the developed toolset which is going to make use of the PQD software library. &lt;br /&gt;&lt;br /&gt;The structure of performability modelling and evaluation tools should allow the system designer to specify the model in a simple and efficient way, hiding the mathematical details as much as possible. Additionally, the output of the tool should demonstrate the results in a comprehensive way that does not demand detailed knowledge of the underlined mathematical model. [2] The 10th chapter  of the book “Performability Modelling (Techniques and Tools)” edited by  Boudewijn R. Haverkort, Raymond Marie, Gerardo Rubino, and Kishor Trivedi, presents and compares a number of tools designed for performability modelling and evaluation. In this comparison aspects like the class of models the tool can handle (from a mathematical point of view), the modelling language employed, and aspects related to the usability and effectiveness of their user interface and implementation are discussed. The list of the performance evaluation modelling tools, that the book presents and compares, includes: DSPN Express, DYQN Tool+, METAPHOR, METASAN, METFAC, NUMAS, PANDA, PENELOPE and COSTPN, PENPET, SAVE, SHARPE and GISHARPE, SPNP, SURF-2, TANGRAM-II, TIMENET, TIPPTOOL, and ULTRASAN. [2] The presentation of the above implemented tools as well as the comparison between them, is going to demonstrate several design and implementation aspects for the proposed GUI,  which is going to be based on the PDQ library. &lt;br /&gt;&lt;br /&gt;Additional presentations and descriptions of the several implemented tools for performance system evaluation can be found in separate papers in the literature. &lt;br /&gt;The development of an efficient and practical software package  called QST is reported by Lester Lipsky, Dilip Tagare and Edward Bigos, in the paper called  "Evaluation of Queueing System Parameters Using Linear Algebraic Queueing Theory - An Implementation". The above package has been developed within the MATLAB environment and it aims to produce data or graphs of various performance attributes for a particular class of queueing systems it can be applied. [10]&lt;br /&gt;&lt;br /&gt;An implementation which uses the DNAmaca Markov Chain Analyser interface language, is presented by Peter G. Harrison and William J. Knottenbelt, in a paper "Passage Time Distributions in Large Markov Chains". This implementation has been rigorously validated and it has already been applied in large Markov Chains with over one million states. [18] &lt;br /&gt;&lt;br /&gt;The procedure of constructing queues is explored in the paper “From Switching Theory to Queueing Theory” written by Cheng-Shang Chang, Yi-Ting Chen, Jay Cheng, Po-Kai Huang and Duan-Shin Lee. The purpose of this text is to explore the potential of constructing various types of queues applying the switching theory. [4] This paper is representative to the work that has been done around the various ways of representing a queueing system, and it indicates helpful aspects in the field of designing and representing queues. How queues are going to be represented in the proposed GUI is under consideration and papers like this can provide several ideas of the potential approaches that can be followed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5.The PDQ software&lt;br /&gt;&lt;br /&gt;The purpose of this dissertation project is the design and development of a program with a graphical user interface (GUI) which makes use of an open source software called Pretty Damn Quick (PDQ). PDQ uses queue-theoretic paradigms to represent computer systems.&lt;br /&gt;Firstly, the queueing model which represents the computer system resources should be constructed. Then queueing model can be solved using a combination of algorithmic and numerical procedures (analytically). In PDQ queues are invoked as functions as they make calls to the appropriate library functions. As soon as the system is expressed as a queueing network,  it can be solved almost instantaneously by calling the PDQ_Solve() function. A report is then generated which includes all the corresponding performance metrics such as system throughput and system response time. Additionally, details about queue lengths and utilizations at each of the defined queues are generated.&lt;br /&gt; &lt;br /&gt;For example, in a simple M/M/1 queueing network we can define as input the average Arrival Rate into the queue: λ and the average Service Time at the server: S. With these input parameters we can calculate all other performance quantities (outputs) of interest such as the average Residence Time a customer spends getting through the queueing system: R = S / (1 − λS), the Utilization of the server: U = λS, the average Queue Length of the system: Q = λR, and the average Waiting Time a customer can expect to spend before getting service: W = R − U. [14]&lt;br /&gt;&lt;br /&gt;The first version of PDQ library, which is written in C programming language, is described in the book of Neil J. Gunther, "The Practical Performance Analyst, Performance-By-Design Techniques For Distributed Systems" [15], while the more recent Perl edition of the library is described in is book "Analyzing Computer Systems Performance: With Perl: PDQ" [14]. There are more distributions of the PDQ software available in other languages such as Python and PHP, while a Java version has been recently released. This Java version of the PDQ library is going to be used for the needs of this project. &lt;br /&gt;&lt;br /&gt;6.Summary&lt;br /&gt; &lt;br /&gt;To sum up, the need to analyse and evaluate the performance of the even and more complex modern systems, has encouraged the development of different techniques such as benchmarking, simulation and analytic modelling. The present research is focused mostly on the last of these techniques. Queueing theory is behind the analytical method, and more specifically the study of queueing networks. Firstly, the queueing model which represents the computer system resources should be constructed. Then queueing model can be solved using a combination of algorithmic and numerical procedures. The mathematical concepts around the probabilistic theory and Markov Chains have lead to the development of several algorithms that solve queueing networks  Among the most effective of these algorithms is the Mean Value Analysis (MVA). Software tools that use algorithms like MVA have been developed complementary to already existing simulation tools. Some of them provide a GUI  or a special input language or both. Pretty Damn Quick (PDQ) is a free open source library which contains s collection of functions that solve (using MVA) queueing networks. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;References&lt;br /&gt;&lt;br /&gt;[1] A. E. Conway, N. D. Georganas, "RECAL - A New Efficient Algorithm for the Exact Analysis of Multiple-Chain Closed Queuing Networks", Journal of the ACM (JACM), Volume 33 Issue 4, ACM Press, 1989.&lt;br /&gt;&lt;br /&gt;[2] Boudewijn R. Haverkort, Raymond Marie, Gerardo Rubino, Kishor Trivedi (Eds.), "Performability Modelling (Techniques and Tools)", John Wiley &amp; Sons, Ltd, 2001.&lt;br /&gt;&lt;br /&gt;[3] Charles H. Sauer, "Computational Algorithms For State-Dependent Queueing Networks", ACM Transactions on Computer Systems (TOCS), Volume 1 Issue 1, ACM Press, 1983.&lt;br /&gt;&lt;br /&gt;[4] Cheng-Shang Chang, Yi-Ting Chen, Jay Cheng, Po-Kai Huang and Duan-Shin Lee, "From Switching Thory to Queueing Theory", ACM SIGMETRICS Performance Evaluation Review, Volume 34 Issue 2, ACM Press, September 2006.&lt;br /&gt;&lt;br /&gt;[5] Daniel A. Menasce, Lawrence W. Dowdy, Virgilio A.F. Almeida, "Performance by Design: Computer Capacity Planning By Example", Prentice Hall PTR, January 2004.&lt;br /&gt;&lt;br /&gt;[6] Erol Gelenbe and Guy Pujolle, "Introduction To Queueing Networks", John Wiley &amp; Sons Ltd, second edition, 1998.&lt;br /&gt;&lt;br /&gt;[7] Gunter Bolch, Stefan Greiner, Hermann de Meer, and Kishor S. Trivedi, "Queuing Networks and Markov Chains (Modeling and Performance Evaluation with Computer Science Applications)", John Wiley &amp; Sons, Inc, 1998.&lt;br /&gt;&lt;br /&gt;[8] K. Kant, "Introduction to Computer System Performance Evaluation", McGraw-Hill Inc, 1992.&lt;br /&gt;&lt;br /&gt;[9] Kyle j. Nesbit, Nidhi Aggarwal, James Laudon, James E. Smith, "Fair Queuing Memory Systems", Proceedings of the 39 Annual IEEE/ACM International Symposium on Microarchitecture MICRO 39, IEEE Computer Sociaty, 2006.&lt;br /&gt;&lt;br /&gt;[10] Lester Lipsky, Dilip Tagare and Edward Bigos, "Evaluation of Queueing System Parameters Using Linear Algebraic Queueing Theory - An Implementation", Proceedings of the 1990 ACM SIGSMALL/PC symposium on Small systems SIGSMALL '90, ACM Press, February 1990. &lt;br /&gt;&lt;br /&gt;[11] Liber Amicorum for J. W. Cohen, O. J. Boxma, R. Syski (Eds.), "Queueing Theory and its Applications", CWI Monograph, 1988.&lt;br /&gt;&lt;br /&gt;[12] Mario Naugebauer, Jorn Plonnigs, Klaus Kabitzsch, “Prediction of Network Load in Building Automation”, In 5th IFAC International Conference on Fielbus Systems and Their Applications (FeT 2003), Aveiro, Portugal, 2003.&lt;br /&gt;&lt;br /&gt;[13] Michele Garetto, Renato Lo Cigno, Michela Meo, Marco Ajmone Marsan, "Closed Queueing Network Models Of Interacting Long-Lived TCP flows", IEEE/ACM Transactions on Networking (TON), Volume 12 Issue 2, IEEE Press, April 2004.&lt;br /&gt;&lt;br /&gt;[14] Neil J. Gunther, "Analyzing Computer Systems Performance: With Perl: PDQ", Springer, 2005.&lt;br /&gt;&lt;br /&gt;[15] Neil J. Gunther, "The Practical Performance Analyst, Performance-By-Design Techniques For Distributed Systems", McGraw-Hill, 1998.&lt;br /&gt;&lt;br /&gt;[16] Nico M. Van Dijk, "Queueing Networks and Product Forms (A Systems Approach)", John Wiley &amp; Sons Ltd, 1993.&lt;br /&gt;&lt;br /&gt;[17] Paul Fortier, Howard Michel, "Computer Systems Performance Evaluation and Prediction", Digital Press, 1st edition, October 2002.&lt;br /&gt;&lt;br /&gt;[18] Peter G. Harrison, William J. Knottenbelt, "Passage Time Distributions in Large Markov Chains", ACM SIGMETRICS Performance Evaluation Review, Proceedings of the 2002 ACM SIGMETRICS International conference on Measurement and Modeling of Computer Systems SIGMETRICS '02, Volume 30 Issue 1, ACM Press, June 2002.&lt;br /&gt;&lt;br /&gt;[19] Peter J. B. King. "Computer and Communication Systems Performance Modelling", Prentice Hall International (UK) Ltd, 1990.&lt;br /&gt;&lt;br /&gt;[20] Piet Van Mieghem, "Performance Analysis of Communication Networks and Systems", Cambridge University Press, 2006.&lt;br /&gt;&lt;br /&gt;[21] Raj Jain, "The Art Of Computer Systems Performance Analysis", John Wiley &amp; Sons, Inc, 1991.&lt;br /&gt;&lt;br /&gt;[22] R. D. van der Mei, E. M. M. Winands, "Mean Value Analysis For Polling Systems in Heavy Traffic", Proceedings of the 1st international conference on Performance evaluation methodologies&lt;br /&gt;and tools valuetools '06, ACM Press, 2006.&lt;br /&gt;&lt;br /&gt;[23] Tehany A. Fergany and Howard A. Sholl, "Performance-Based Multiple Server Support for Distributed Real-Time Applications", Proceedings of the 1990 ACM SIGSMALL/PC symposium on Small systems SIGSMALL '90, ACM Press, February 1990.&lt;br /&gt;&lt;br /&gt;[24] Tony Field, Peter G. Harrison, Jeremy Bradley, Uli Harder (Eds.), 12th International Conference, TOOLS 2002 London, UK April 14-17, 2002 Proceedings, Springer, 2002.&lt;br /&gt;&lt;br /&gt;[25] Weiping Zhu, "An Approximate Analysis of the Shortest Queue Policy on Soft Real-Time Scheduling", ACM SIGMETRICS Performance Evaluation Review, Volume 28 Issue 3, ACM Press, December 2000.&lt;br /&gt;&lt;br /&gt;[26] Wu-Lin Chen, Colm Art O'Cinneide, "Towards a Polynomial-Time Randomized Algorithm for Closed Product-Form Networks", ACM Transactions on Modeling and Computer Simulation (TOMACS), Volume 8 Issue 3, ACM Press, July 1998.&lt;br /&gt;&lt;br /&gt;[27] Xiouli Chao, Maskiyo Miyazawa and Michael Pinedo, "Queueing Networks (Customers, Signals and Product Form Solutions)", John Wiley &amp; Sons Ltd, 1999.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-140345305030143577?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/140345305030143577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=140345305030143577' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/140345305030143577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/140345305030143577'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/05/literature-review_26.html' title='LITERATURE REVIEW'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-1452724764817233227</id><published>2007-05-25T19:02:00.000-07:00</published><updated>2007-05-25T19:04:01.578-07:00</updated><title type='text'>References (alphabetically)</title><content type='html'>References&lt;br /&gt;&lt;br /&gt;[1] A. E. Conway, N. D. Georganas, "RECAL - A New Efficient Algorithm for the Exact Analysis of Multiple-Chain Closed Queuing Networks", Journal of the ACM (JACM), Volume 33 Issue 4, ACM Press, 1989.&lt;br /&gt;&lt;br /&gt;[2] Boudewijn R. Haverkort, Raymond Marie, Gerardo Rubino, Kishor Trivedi (Eds.), "Performability Modelling (Techniques and Tools)", John Wiley &amp; Sons, Ltd, 2001.&lt;br /&gt;&lt;br /&gt;[3] Charles H. Sauer, "Computational Algorithms For State-Dependent Queueing Networks", ACM Transactions on Computer Systems (TOCS), Volume 1 Issue 1, ACM Press, 1983.&lt;br /&gt;&lt;br /&gt;[4] Cheng-Shang Chang, Yi-Ting Chen, Jay Cheng, Po-Kai Huang and Duan-Shin Lee, "From Switching Thory to Queueing Theory", ACM SIGMETRICS Performance Evaluation Review, Volume 34 Issue 2, ACM Press, September 2006.&lt;br /&gt;&lt;br /&gt;[5] Daniel A. Menasce, Lawrence W. Dowdy, Virgilio A.F. Almeida, "Performance by Design: Computer Capacity Planning By Example", Prentice Hall PTR, January 2004.&lt;br /&gt;&lt;br /&gt;[6] Erol Gelenbe and Guy Pujolle, "Introduction To Queueing Networks", John Wiley &amp; Sons Ltd, second edition, 1998.&lt;br /&gt;&lt;br /&gt;[7] Gunter Bolch, Stefan Greiner, Hermann de Meer, and Kishor S. Trivedi, "Queuing Networks and Markov Chains (Modeling and Performance Evaluation with Computer Science Applications)", John Wiley &amp; Sons, Inc, 1998.&lt;br /&gt;&lt;br /&gt;[8] K. Kant, "Introduction to Computer System Performance Evaluation", McGraw-Hill Inc, 1992.&lt;br /&gt;&lt;br /&gt;[9] Kyle j. Nesbit, Nidhi Aggarwal, James Laudon, James E. Smith, "Fair Queuing Memory Systems", Proceedings of the 39 Annual IEEE/ACM International Symposium on Microarchitecture MICRO 39, IEEE Computer Sociaty, 2006.&lt;br /&gt;&lt;br /&gt;[10] Lester Lipsky, Dilip Tagare and Edward Bigos, "Evaluation of Queueing System Parameters Using Linear Algebraic Queueing Theory - An Implementation", Proceedings of the 1990 ACM SIGSMALL/PC symposium on Small systems SIGSMALL '90, ACM Press, February 1990. &lt;br /&gt;&lt;br /&gt;[11] Liber Amicorum for J. W. Cohen, "Queueing Theory and its Applications", CWI Monograph, 1988.&lt;br /&gt;&lt;br /&gt;[12] Michele Garetto, Renato Lo Cigno, Michela Meo, Marco Ajmone Marsan, "Closed Queueing Network Models Of Interacting Long-Lived TCP flows", IEEE/ACM Transactions on Networking (TON), Volume 12 Issue 2, IEEE Press, April 2004.&lt;br /&gt;&lt;br /&gt;[13] Neil J. Gunther, "Analyzing Computer Systems Performance: With Perl: PDQ", Springer, 2005.&lt;br /&gt;&lt;br /&gt;[14] Neil J. Gunther, "The Practical Performance Analyst, Performance-By-Design Techniques For Distributed Systems", McGraw-Hill, 1998.&lt;br /&gt;&lt;br /&gt;[15] Nico M. Van Dijk, "Queueing Networks and Product Forms (A Systems Approach)", John Wiley &amp; Sons Ltd, 1993.&lt;br /&gt;&lt;br /&gt;[16] Paul Fortier, Howard Michel, "Computer Systems Performance Evaluation and Prediction", Digital Press, 1st edition, October 2002.&lt;br /&gt;&lt;br /&gt;[17] Peter G. Harrison, William J. Knottenbelt, "Passage Time Distributions in Large Markov Chains", ACM SIGMETRICS Performance Evaluation Review, Proceedings of the 2002 ACM SIGMETRICS International conference on Measurement and Modeling of Computer Systems SIGMETRICS '02, Volume 30 Issue 1, ACM Press, June 2002.&lt;br /&gt;&lt;br /&gt;[18] Peter J. B. King. "Computer and Communication Systems Performance Modelling", Prentice Hall International (UK) Ltd, 1990.&lt;br /&gt;&lt;br /&gt;[19] Piet Van Mieghem, "Performance Analysis of Communication Networks and Systems", Cambridge University Press, 2006.&lt;br /&gt;&lt;br /&gt;[20] Raj Jain, "The Art Of Computer Systems Performance Analysis", John Wiley &amp; Sons, Inc, 1991.&lt;br /&gt;&lt;br /&gt;[21] R. D. van der Mei, E. M. M. Winands, "Mean Value Analysis For Polling Systems in Heavy Traffic", Proceedings of the 1st international conference on Performance evaluation methodologies&lt;br /&gt;and tools valuetools '06, ACM Press, 2006.&lt;br /&gt;&lt;br /&gt;[22] Tehany A. Fergany and Howard A. Sholl, "Performance-Based Multiple Server Support for Distributed Real-Time Applications", Proceedings of the 1990 ACM SIGSMALL/PC symposium on Small systems SIGSMALL '90, ACM Press, February 1990.&lt;br /&gt;&lt;br /&gt;[23] Tony Field, Peter G. Harrison, Jeremy Bradley, Uli Harder (Eds.), 12th International Conference, TOOLS 2002 London, UK April 14-17, 2002 Proceedings, Springer, 2002.&lt;br /&gt;&lt;br /&gt;[24] Weiping Zhu, "An Approximate Analysis of the Shortest Queue Policy on Soft Real-Time Scheduling", ACM SIGMETRICS Performance Evaluation Review, Volume 28 Issue 3, ACM Press, December 2000.&lt;br /&gt;&lt;br /&gt;[25] Wu-Lin Chen, Colm Art O'Cinneide, "Towards a Polynomial-Time Randomized Algorithm for Closed Product-Form Networks", ACM Transactions on Modeling and Computer Simulation (TOMACS), Volume 8 Issue 3, ACM Press, July 1998.&lt;br /&gt;&lt;br /&gt;[26] Xiouli Chao, Maskiyo Miyazawa and Michael Pinedo, "Queueing Networks (Customers, Signals and Product Form Solutions)", John Wiley &amp; Sons Ltd, 1999.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-1452724764817233227?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/1452724764817233227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=1452724764817233227' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/1452724764817233227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/1452724764817233227'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/05/references-alphabetically.html' title='References (alphabetically)'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-2711196757450493593</id><published>2007-05-25T13:48:00.001-07:00</published><updated>2007-05-25T13:48:36.505-07:00</updated><title type='text'>OVERVIEW</title><content type='html'>OUTLINE OF DISSERTATION PROJECT&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Modeling Queuing Networks for Decision Making and System's Performance Analysis using the PDQ library&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1 Introduction&lt;br /&gt;&lt;br /&gt;1.1 Aims and objectives      &lt;br /&gt;&lt;br /&gt;* The aim of this project is to provide a general tool with a GUI, which helps the user to define models of closed queuing networks using simple graphical "drag and drop" elements and then solve the defined problem using the PDQ library, which is a free open source software. The solution should be represented in a graphical way as well (plot diagrams, color use, etc).&lt;br /&gt;* To investigate the possibly different existing approaches in designing an interface for representing closed queuing network problems, then analyze the alternatives, and finally select one of these approaches or propose a new approach, explaining the rationale and the reasons of choosing this design approach (potential benefits, advantages and disadvantages of the selected approach).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.2 Queuing Theory&lt;br /&gt;&lt;br /&gt;1.2.1 Definition&lt;br /&gt;&lt;br /&gt;* Queuing Theory is the mathematical study of waiting lines (or queues), and it is generally considered a branch of operations research because the outcomes of the theory are applicable to make business decisions about the resources needed to provide service.&lt;br /&gt;&lt;br /&gt;1.2.2 Problems with Queues&lt;br /&gt;&lt;br /&gt;* Properties of queues and queue problems&lt;br /&gt;* Common Algorithms (like FIFO LIFO, etc) and their properties&lt;br /&gt;* Applications of queuing theory in everyday life and in cybernetics (PSTN example)&lt;br /&gt;&lt;br /&gt;1.2.3 Queuing Networks&lt;br /&gt;* Open Queuing Networks and Closed Queuing Networks&lt;br /&gt;* Queuing Networks and Markov Chains&lt;br /&gt;* Mathematical Background and Algorithms.&lt;br /&gt;Queuing systems use Markov Chains which model the system in each state. Incoming traffic is modeled via a Poisson distribution and is a subject to Erlang's queuing theory assumptions.&lt;br /&gt;&lt;br /&gt;1.3 Performance Analysis and Decision Making (introduction to the problem)&lt;br /&gt;* Performance Analysis Techniques&lt;br /&gt;* Systems' Modeling and Performance Evaluation&lt;br /&gt;* Existing tools in the area of decision making based on queuing networks modeling (PDQ library)&lt;br /&gt;* Which approach do these tools follow in matters of design&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2 Literature Review/Survey/Requirements&lt;br /&gt;&lt;br /&gt;2.1 Previous work on queuing networks and available software&lt;br /&gt;&lt;br /&gt;2.2 Theories and applications (tools) related to queuing problems and decision making&lt;br /&gt;&lt;br /&gt;2.3 How this approach differs from, or extends previous work in this area&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3 Modeling of Closed Queuing Networks using the PDQ software&lt;br /&gt;&lt;br /&gt;3.1 Description of the library characteristics, capabilities and functions&lt;br /&gt;&lt;br /&gt;3.2 How this software can be used to help in modeling and solving closed queuing networks&lt;br /&gt;&lt;br /&gt;3.3 Designing the GUI (analyzing properties, aims, requirements, alternatives, implementation and evaluation issues)&lt;br /&gt;&lt;br /&gt;3.4 Implementation&lt;br /&gt;* Programming language(s)&lt;br /&gt;* Additional software that has been used (APIs)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4 Results&lt;br /&gt;&lt;br /&gt;4.1 In which way the user defines the problem (queuing network model) using the features of the program&lt;br /&gt;&lt;br /&gt;4.2 Which is the range of problems that this program finally solves?&lt;br /&gt;* Large queuing networks and how they can be modeled and solved using the program.&lt;br /&gt;&lt;br /&gt;4.3 Demonstration of how the program solves these problems and how the solution(results) is presented to the final user&lt;br /&gt;* Graphical representation of the model&lt;br /&gt;* Plots and Tables of the results&lt;br /&gt;* Demonstration of the solution using colors&lt;br /&gt;&lt;br /&gt;5 Conclusions&lt;br /&gt;&lt;br /&gt;5.2 Evaluation of the final program in matters of effectiveness, usability, performance and design&lt;br /&gt;* How close to reality is the proposed from the program solution&lt;br /&gt;* How fast this solution is calculated from the program&lt;br /&gt;* Compatibility and extensibility&lt;br /&gt;* Drawbacks and bottlenecks&lt;br /&gt;&lt;br /&gt;5.3 Comparison of the developed program with previous implementations that model and solve queuing networks&lt;br /&gt;&lt;br /&gt;* Advantages and Disadvantages of the selected design and implementation approach&lt;br /&gt;&lt;br /&gt;5.4 In which extend the achievements meet the requirements? Discussion&lt;br /&gt;&lt;br /&gt;* Initial objectives and how they have been achieved or not&lt;br /&gt;* What is the contribution in the area of queuing networks that has been made by this piece of work&lt;br /&gt;&lt;br /&gt;5.5 Future work&lt;br /&gt;&lt;br /&gt;* How the developed tool could be extended&lt;br /&gt;* What should be done by anyone who would like to continue this project&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-2711196757450493593?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/2711196757450493593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=2711196757450493593' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/2711196757450493593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/2711196757450493593'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/05/overview.html' title='OVERVIEW'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-4226326520415730944</id><published>2007-05-25T11:41:00.000-07:00</published><updated>2007-05-26T05:22:11.071-07:00</updated><title type='text'>References (topic related)</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Performance Modeling&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[1] Peter J. B. King. "Computer and Communication Systems Performance Modelling", &lt;span style="font-style:italic;"&gt;Prentice Hall International (UK) Ltd&lt;/span&gt;, 1990.&lt;br /&gt;&lt;br /&gt;[2] Neil J. Gunther, "The Practical Performance Analyst, Performance-By-Design Techniques For Distributed Systems", &lt;span style="font-style:italic;"&gt;McGraw-Hill&lt;/span&gt;, 1998.&lt;br /&gt;&lt;br /&gt;[2.5] Neil J. Gunther, "Analyzing Computer Systems Performance: With Perl: PDQ", Springer, 2005.&lt;br /&gt;&lt;br /&gt;[2.7] Daniel A. Menasce, Lawrence W. Dowdy, Virgilio A.F. Almeida, "Performance by Design: Computer Capacity Planning By Example", Prentice Hall PTR, January 2004.&lt;br /&gt;&lt;br /&gt;[2.8] Paul Fortier, Howard Michel, "Computer Systems Performance Evaluation and Prediction", Digital Press, 1st edition, October 2002.&lt;br /&gt;&lt;br /&gt;[3] Raj Jain, "The Art Of Computer Systems Performance Analysis", John Wiley &amp; Sons, Inc, 1991.&lt;br /&gt;&lt;br /&gt;[4] K. Kant, "Introduction to Computer System Performance Evaluation", McGraw-Hill Inc, 1992.&lt;br /&gt;&lt;br /&gt;[5] Tehany A. Fergany and Howard A. Sholl, "Performance-Based Multiple Server Support for Distributed Real-Time Applications", Proceedings of the 1990 ACM SIGSMALL/PC symposium on Small systems SIGSMALL '90, ACM Press, February 1990.&lt;br /&gt;&lt;br /&gt;[6] Piet Van Mieghem, "Performance Analysis of Communication Networks and Systems", Cambridge University Press, 2006.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Queuing Theory&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[7] Nico M. Van Dijk, "Queueing Networks and Product Forms (A Systems Approach)", John Wiley &amp; Sons Ltd, 1993.&lt;br /&gt;&lt;br /&gt;[8] Xiouli Chao, Maskiyo Miyazawa and Michael Pinedo, "Queueing Networks (Customers, Signals and Product Form Solutions)", John Wiley &amp; Sons Ltd, 1999.&lt;br /&gt;&lt;br /&gt;[9] Erol Gelenbe and Guy Pujolle, "Introduction To Queueing Networks", John Wiley &amp; Sons Ltd, second edition, 1998.&lt;br /&gt;&lt;br /&gt;[10] Liber Amicorum for J. W. Cohen, "Queueing Theory and its Applications", CWI Monograph, 1988.&lt;br /&gt;&lt;br /&gt;[11] Wu-Lin Chen, Colm Art O'Cinneide, "Towards a Polynomial-Time Randomized Algorithm for Closed Product-Form Networks", ACM Transactions on Modeling and Computer Simulation (TOMACS), Volume 8 Issue 3, ACM Press, July 1998.&lt;br /&gt;&lt;br /&gt;[12] Michele Garetto, Renato Lo Cigno, Michela Meo, Marco Ajmone Marsan, "Closed Queueing Network Models Of Interacting Long-Lived TCP flows", IEEE/ACM Transactions on Networking (TON), Volume 12 Issue 2, IEEE Press, April 2004.&lt;br /&gt;&lt;br /&gt;[13] R. D. van der Mei, E. M. M. Winands, "Mean Value Analysis For Polling Systems in Heavy Traffic", Proceedings of the 1st international conference on Performance evaluation methodologies&lt;br /&gt;and tools valuetools '06, ACM Press, 2006.&lt;br /&gt;&lt;br /&gt;[14] Kyle j. Nesbit, Nidhi Aggarwal, James Laudon, James E. Smith, "Fair Queuing Memory Systems", Proceedings of the 39 Annual IEEE/ACM International Symposium on Microarchitecture MICRO 39, IEEE Computer Sociaty, 2006.&lt;br /&gt;&lt;br /&gt;[15] Charles H. Sauer, "Computational Algorithms For State-Dependent Queueing Networks", ACM Transactions on Computer Systems (TOCS), Volume 1 Issue 1, ACM Press, 1983.&lt;br /&gt; &lt;br /&gt;[16] Weiping Zhu, "An Approximate Analysis of the Shortest Queue Policy on Soft Real-Time Scheduling", ACM SIGMETRICS Performance Evaluation Review, Volume 28 Issue 3, ACM Press, December 2000.&lt;br /&gt;&lt;br /&gt;[17] A. E. Conway, N. D. Georganas, "RECAL - A New Efficient Algorithm for the Exact Analysis of Multiple-Chain Closed Queuing Networks", Journal of the ACM (JACM), Volume 33 Issue 4, ACM Press, 1989.&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Tools&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[18] Cheng-Shang Chang, Yi-Ting Chen, Jay Cheng, Po-Kai Huang and Duan-Shin Lee, "From Switching Thory to Queueing Theory", ACM SIGMETRICS Performance Evaluation Review,  Volume 34 Issue 2, ACM Press, September 2006.&lt;br /&gt;&lt;br /&gt;[19] Boudewijn R. Haverkort, Raymond Marie, Gerardo Rubino, Kishor Trivedi (Eds.), "Performability Modelling (Techniques and Tools)", John Wiley &amp; Sons, Ltd, 2001.&lt;br /&gt;&lt;br /&gt;[20] Gunter Bolch, Stefan Greiner, Hermann de Meer, and Kishor S. Trivedi, "Queuing Networks and Markov Chains (Modeling and Performance Evaluation with Computer Science Applications)", John Wiley &amp; Sons, Inc, 1998.&lt;br /&gt;&lt;br /&gt;[21] Tony Field, Peter G. Harrison, Jeremy Bradley, Uli Harder (Eds.), 12th International Conference, TOOLS 2002 London, UK April 14-17, 2002 Proceedings, Springer, 2002.&lt;br /&gt;&lt;br /&gt;[22] Peter G. Harrison, William J. Knottenbelt, "Passage Time Distributions in Large Markov Chains", ACM SIGMETRICS Performance Evaluation Review, Proceedings of the 2002 ACM SIGMETRICS International conference on Measurement and Modeling of Computer Systems SIGMETRICS '02, Volume 30 Issue 1, ACM Press, June 2002.&lt;br /&gt;&lt;br /&gt;[23] Lester Lipsky, Dilip Tagare and Edward Bigos, "Evaluation of Queueing System Parameters Using Linear Algebraic Queueing Theory - An Implementation", Proceedings of the 1990 ACM SIGSMALL/PC symposium on Small systems SIGSMALL '90, ACM Press, February 1990.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-4226326520415730944?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/4226326520415730944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=4226326520415730944' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/4226326520415730944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/4226326520415730944'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/05/bibliography.html' title='References (topic related)'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-7433286108853116810</id><published>2007-05-24T17:45:00.000-07:00</published><updated>2007-05-25T06:00:02.348-07:00</updated><title type='text'>Literature Review Sections</title><content type='html'>&lt;span style="font-weight:bold;"&gt;1. Introduction&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2. Performance Modeling&lt;/span&gt;&lt;br /&gt;   (the 3 approaches and the focus on the 3rd)&lt;br /&gt;   - Benchmarking&lt;br /&gt;   - Simulation&lt;br /&gt;   - Analytical&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;3. Queuing Theory&lt;/span&gt;&lt;br /&gt;   - mathematical background (Probability theory, Stochastic processes)&lt;br /&gt;   - queuing networks (M/M/1, M/G/1, M/M/c, M/M/%)&lt;br /&gt;   - computational algorithms (Convolution algorithm, MVA, LBANC, RECAL -&gt; P.Kings book) &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;4. Existing Tools in the area&lt;/span&gt;&lt;br /&gt;   (ProC/B, DrawNET++, ...)&lt;br /&gt;   - What kind of problems they solve&lt;br /&gt;   - Which methodology/algorithms they use&lt;br /&gt;   - Which of them is considered to be more effective&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;5. The PDQ software&lt;/span&gt;&lt;br /&gt;   (C and Perl version until the newer Java version of the library)&lt;br /&gt;   - C version&lt;br /&gt;   - Pearl/Python/PHP versions&lt;br /&gt;   - Java recent version&lt;br /&gt;   - How the library is used(functions, characteristics, capabilities, ...)&lt;br /&gt;   - Reference to the web site and the manual of the library&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;6. Conclusion&lt;/span&gt;&lt;br /&gt;   - How is the situation in this area&lt;br /&gt;   - What has been done&lt;br /&gt;   - How this is going to help me for my project&lt;br /&gt;   - What else is expected to be done&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-7433286108853116810?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/7433286108853116810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=7433286108853116810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/7433286108853116810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/7433286108853116810'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/05/literature-review-sections.html' title='Literature Review Sections'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-3809452769856457175</id><published>2007-05-24T17:30:00.000-07:00</published><updated>2007-05-24T17:44:45.715-07:00</updated><title type='text'>Additional Aim of the dissertation project</title><content type='html'>To create a tool set, which will provide a more high level approach to the existing low level PDQ software. Users that are not familiar with the underlined API, should be able to make use of the PDQ library capabilities in a simple and straightforward way, through the designed GUI of the tool. The purpose of this tool is mostly educational rather than commercial.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-3809452769856457175?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/3809452769856457175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=3809452769856457175' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/3809452769856457175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/3809452769856457175'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/05/aim.html' title='Additional Aim of the dissertation project'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-7415171246642844903</id><published>2007-05-24T13:35:00.000-07:00</published><updated>2007-05-24T13:43:27.546-07:00</updated><title type='text'>Inputs &amp; Outputs in a simple PDQ Example</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.prettydamnquick.net/images/9/99/Qmm1.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://www.prettydamnquick.net/images/9/99/Qmm1.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt; M/M/1 Formula&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It is more convenient to think in terms of inputs and outputs. In other words, which parameters do we need to provide to the formulae versus those values we will calculate as the result of applying the formulae? We list them here:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Inputs:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    * The average Arrival Rate into the queue: λ.&lt;br /&gt;    * The average Service Time at the server: S. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;With these input parameters we can calculate all other performance quantities (outputs) of interest.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Outputs:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    * The average Residence Time a customer spends getting through the queueing system: R = S / (1 − λS).&lt;br /&gt;    * The Utilization of the server: U = λS.&lt;br /&gt;    * The average Queue Length of the system: Q = λR.&lt;br /&gt;    * The average Waiting Time a customer can expect to spend before getting service: W = R − U. &lt;br /&gt;&lt;br /&gt;To apply these relationships, we need to choose some values for λ and S. We choose the following values so as to keep the arithmetic simple. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.prettydamnquick.net/index.php/Main_Page"&gt;Reference&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-7415171246642844903?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/7415171246642844903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=7415171246642844903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/7415171246642844903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/7415171246642844903'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/05/inputs-outputs-in-simple-pdq-example.html' title='Inputs &amp; Outputs in a simple PDQ Example'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-384075426144509810</id><published>2007-05-24T12:45:00.000-07:00</published><updated>2007-05-24T13:21:00.252-07:00</updated><title type='text'>The 3 approaches in Computer Performance Evaluation</title><content type='html'>1. &lt;span style="font-weight:bold;"&gt;Benchmarking:&lt;/span&gt; The system can be built then modified and finally measured &lt;br /&gt;&lt;br /&gt;   + "performance estimate is perfectly accurate"&lt;br /&gt;   + it is based on a real system so it is sure that there haven't been introduced any errors that are not in the real system.&lt;br /&gt;&lt;br /&gt;   - high cost&lt;br /&gt;   - not flexible&lt;br /&gt;   - time consuming&lt;br /&gt;&lt;br /&gt;2. &lt;span style="font-weight:bold;"&gt;Simulation:&lt;/span&gt; to build a simulation model of the system, which can be validated against the already existing system. After the validation several needed modifications can be derived.&lt;br /&gt;&lt;br /&gt;   This approach permits an arbitrary level of detail to be included:&lt;br /&gt;   + any system feature can be included and checked&lt;br /&gt;   - there is the danger to include too many features(which are not so essential for the performance of the required system) of the real system to the simulation increasing complexity and cost&lt;br /&gt;&lt;br /&gt;3. &lt;span style="font-weight:bold;"&gt;Analytic Modeling:&lt;/span&gt; to construct a mathematical model (via a combination of algorithmic and numerical procedures) of the system and then perform validation, as in simulation. &lt;br /&gt;&lt;br /&gt;  + The model is constructed faster&lt;br /&gt;  + The solution is calculated faster than in simulation or benchmarking for the final system&lt;br /&gt;  + it provides a significant estimation of the behavior of the potential system without first implementing it. Thus it is a much cheaper technique.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-384075426144509810?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/384075426144509810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=384075426144509810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/384075426144509810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/384075426144509810'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/05/3-approaches-in-computer-performance.html' title='The 3 approaches in Computer Performance Evaluation'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-3845383049422147003</id><published>2007-05-24T12:02:00.000-07:00</published><updated>2007-05-25T06:12:51.889-07:00</updated><title type='text'>Notes for the Book: "Computer and Comunication Systems Performance Modelling" by Peter J. B. King</title><content type='html'>This book introduces the fundamental knowledge a student or professional should have around queuing theory. It provides the basic background of mathematical concepts such as probability theory, stochastic processes(Poison Processes, Markov Processes, Markov Chains, etc.), simple queues(M/M/1), single server(M/G/1) and multi server queues(M/M/c). Queuing problems and their significance in the field of system analysis and communication system performance is discussed. Several approaches of modeling and solving that kind of problems are presented, including algorithms and mathematical tools that are used commonly. Each chapter contains a bibliography which is very helpful for someone who is interested in further research. It is probably one of the first books that someone, who doesn't have a stable background in queuing theory and its relevant mathematical concepts, should read.&lt;br /&gt;The book also includes a demonstration of some computational algorithms for product form queuing networks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-3845383049422147003?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/3845383049422147003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=3845383049422147003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/3845383049422147003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/3845383049422147003'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/05/notes-for-book-computer-and.html' title='Notes for the Book: &quot;Computer and Comunication Systems Performance Modelling&quot; by Peter J. B. King'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-4804723523537816347</id><published>2007-05-22T17:01:00.000-07:00</published><updated>2007-05-24T14:36:57.092-07:00</updated><title type='text'>Notes of Book: "The Practical Performance Analyst" of Neil J. Gunther</title><content type='html'>High-speed networking, which has been recently developed placed in a demanding business market, has resulted into changing the approach of performance analysis techniques applied to a system. Simple models, even if less precise, are preferred of complex and more accurate models, . A more modern approach compared to simulation is to create simple and easier to define models -even if less precise-, rather than complex and more accurate, because decisions are expected to be taken up right away so the answers to problems should not take too long to be formed.&lt;br /&gt;&lt;br /&gt;This book presents in a simple and understandable way the main ideas of queuing theory (single and multi server queues, finite and infinite source queues, Markovian and non-Markovian models), including examples and sampling programs in a disk. The software in which the book is referred to is the same that is going to be used for the implementation of the dissertation project except from the fact that this version (it is the first one) of the PDQ library has been written in C, while the implementation makes use of the more recent Java version of the software. Pretty Damn Quick (PDQ) software library is presented in an Appendix in the end of the book. This book is highly associated to the library, so it constitutes the basic guide for the programmer who wants to create, using the PDQ open source software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-4804723523537816347?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/4804723523537816347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=4804723523537816347' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/4804723523537816347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/4804723523537816347'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/05/notes-of-book-practical-performance.html' title='Notes of Book: &quot;The Practical Performance Analyst&quot; of Neil J. Gunther'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-1520116131175174290</id><published>2007-05-20T07:28:00.000-07:00</published><updated>2007-05-26T06:32:16.594-07:00</updated><title type='text'>How to write the Literature Review</title><content type='html'>In writing the literature review, your purpose is to convey to your reader what knowledge and ideas have been established on a topic, and what their strengths and weaknesses are. As a piece of writing, the literature review must be defined by a guiding concept (e.g., your research objective, the problem or issue you are discussing, or your argumentative thesis). It is not just a descriptive list of the material available, or a set of summaries.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Once you've settled on a general pattern of organization, you're ready to write each section. There are a few guidelines you should follow during the writing stage as well. Here is a sample paragraph from a literature review about sexism and language to illuminate the following discussion:&lt;br /&gt;&lt;br /&gt; &lt;span style="font-weight:bold;"&gt;   However, other studies have shown that even gender-neutral antecedents are more likely to produce masculine images than feminine ones (Gastil, 1990). Hamilton (1988) asked students to complete sentences that required them to fill in pronouns that agreed with gender-neutral antecedents such as "writer," "pedestrian," and "persons." The students were asked to describe any image they had when writing the sentence. Hamilton found that people imagined 3.3 men to each woman in the masculine "generic" condition and 1.5 men per woman in the unbiased condition. Thus, while ambient sexism accounted for some of the masculine bias, sexist language amplified the effect. (Source: Erika Falk and Jordan Mills, "Why Sexist Language Affects Persuasion: The Role of Homophily, Intended Audience, and Offense," Women and Language19:2.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Use evidence&lt;br /&gt;&lt;br /&gt;In the example above, the writers refer to several other sources when making their point. A literature review in this sense is just like any other academic research paper. Your interpretation of the available sources must be backed up with evidence to show that what you are saying is valid.&lt;br /&gt;&lt;br /&gt;Be selective&lt;br /&gt;&lt;br /&gt;Select only the most important points in each source to highlight in the review. The type of information you choose to mention should relate directly to the review's focus, whether it is thematic, methodological, or chronological.&lt;br /&gt;&lt;br /&gt;Use quotes sparingly&lt;br /&gt;&lt;br /&gt;Falk and Mills do not use any direct quotes. That is because the survey nature of the literature review does not allow for in-depth discussion or detailed quotes from the text. Some short quotes here and there are okay, though, if you want to emphasize a point, or if what the author said just cannot be rewritten in your own words. Notice that Falk and Mills do quote certain terms that were coined by the author, not common knowledge, or taken directly from the study. But if you find yourself wanting to put in more quotes, check with your instructor.&lt;br /&gt;&lt;br /&gt;Summarize and synthesize&lt;br /&gt;&lt;br /&gt;Remember to summarize and synthesize your sources within each paragraph as well as throughout the review. The authors here recapitulate important features of Hamilton's study, but then synthesize it by rephrasing the study's significance and relating it to their own work.&lt;br /&gt;&lt;br /&gt;Keep your own voice&lt;br /&gt;&lt;br /&gt;While the literature review presents others' ideas, your voice (the writer's) should remain front and center. Notice that Falk and Mills weave references to other sources into their own text, but they still maintain their own voice by starting and ending the paragraph with their own ideas and their own words. The sources support what Falk and Mills are saying.&lt;br /&gt;&lt;br /&gt;Use caution when paraphrasing&lt;br /&gt;&lt;br /&gt;When paraphrasing a source that is not your own, be sure to represent the author's information or opinions accurately and in your own words. In the preceding example, Falk and Mills either directly refer in the text to the author of their source, such as Hamilton, or they provide ample notation in the text when the ideas they are mentioning are not their own, for example, Gastil's. For more information, please see our handout on plagiarism.&lt;br /&gt;&lt;br /&gt;Revise, revise, revise&lt;br /&gt;&lt;br /&gt;Draft in hand? Now you're ready to revise. Spending a lot of time revising is a wise idea, because your main objective is to present the material, not the argument. So check over your review again to make sure it follows the assignment and/or your outline. Then, just as you would for most other academic forms of writing, rewrite or rework the language of your review so that you've presented your information in the most concise manner possible. Be sure to use terminology familiar to your audience; get rid of unnecessary jargon or slang. Finally, double check that you've documented your sources and formatted the review appropriately for your discipline. For tips on the revising and editing process, see our handout Straight Talk about Revision&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-1520116131175174290?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/1520116131175174290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=1520116131175174290' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/1520116131175174290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/1520116131175174290'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/05/literature-review.html' title='How to write the Literature Review'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-2008286556560560068</id><published>2007-05-17T09:12:00.000-07:00</published><updated>2007-05-26T05:43:51.477-07:00</updated><title type='text'>NOTES: Book: "The Art of Computer Systems Performance Analysis"</title><content type='html'>purpose: to give the basic modeling, simulation, and analysis background to system analysts in order to understand performance terminology and the various analysis techniques such as statistics, probability theory, experimental design, and queuing theory. It indicates how to use queuing or simulation models, how to combine skills, applying techniques of measurement and modeling, to solve queuing problems and how to interpret the results.&lt;br /&gt;This book is mostly practical than queuing theoretic. It suggests that "in practice, one needs to use both measurements as well as modeling techniques to solve performance problems", and both aspects of the field are thoroughly demonstrated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-2008286556560560068?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/2008286556560560068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=2008286556560560068' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/2008286556560560068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/2008286556560560068'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/05/notes-book-art-of-computer-systems.html' title='NOTES: Book: &quot;The Art of Computer Systems Performance Analysis&quot;'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-3066485875298895914</id><published>2007-05-17T07:44:00.000-07:00</published><updated>2007-05-25T05:15:14.339-07:00</updated><title type='text'>Notes: Book: "Queueing networks and Markov Chains"</title><content type='html'>Queuing Networks and Markov Chains are commonly used for the performance and reliability evaluation of computer, communication and manufacturing systems.&lt;br /&gt;&lt;br /&gt;Aim of the book to offer a detailed treatment of queuing systems, queuing networks and continues and discrete Markov chains.&lt;br /&gt;&lt;br /&gt;provides:&lt;br /&gt;- in depth numerical solution algorithms.&lt;br /&gt;- set of examples.&lt;br /&gt;- discuss stochastic Petri nets - solution of Markov Chains&lt;br /&gt;- describe and apply 4 software packages (PEPSY, SPNP, MOSES, SHARPE)&lt;br /&gt;- provide problems as exercises&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-3066485875298895914?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/3066485875298895914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=3066485875298895914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/3066485875298895914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/3066485875298895914'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/05/notes-book-queueing-networks-and-markov.html' title='Notes: Book: &quot;Queueing networks and Markov Chains&quot;'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-6507721617273873435</id><published>2007-05-11T06:04:00.000-07:00</published><updated>2007-05-11T06:07:47.735-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='notes: queuing networks'/><title type='text'>Notes about Queueing Networks</title><content type='html'>2.4 Queuing Networks&lt;br /&gt;Queuing network analysis is a well-known technique&lt;br /&gt;to estimate the performance of systems. As&lt;br /&gt;long as the process to investigate is in some way&lt;br /&gt;to model in queues, this powerful analysis method&lt;br /&gt;can help to design, gain experience about and&lt;br /&gt;optimize it. The main idea of this theory is to&lt;br /&gt;describe the system with interconnected queues&lt;br /&gt;and servers. Of course, for large systems the representing&lt;br /&gt;queuing model becomes rather large as&lt;br /&gt;well.&lt;br /&gt;To cope with these problems, tools for the automated&lt;br /&gt;queuing network analysis can be used. One&lt;br /&gt;example is the function library PDQ (pretty damn&lt;br /&gt;quick)(Gunther, 2000). It provides the ability to&lt;br /&gt;compute relatively large queuing networks in a&lt;br /&gt;short time. Though, generating and specifying a&lt;br /&gt;model is rather circumstantial. It has to be done in&lt;br /&gt;C-les. As a result of the computation, PDQ oers&lt;br /&gt;manifold information about the analyzed system&lt;br /&gt;(e.g. utilization of the servers, residence times and&lt;br /&gt;delays). But only with the knowledge of the environmental&lt;br /&gt;behavior and the corresponding impact&lt;br /&gt;on the queuing model, common-sense results can&lt;br /&gt;be achieved.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://web.inf.tu-dresden.de/~mn7/publications/neugebauer03prediction.pdf "&gt;http://web.inf.tu-dresden.de/~mn7/publications/neugebauer03prediction.pdf &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-6507721617273873435?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/6507721617273873435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=6507721617273873435' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/6507721617273873435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/6507721617273873435'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/05/notes-about-queueing-networks.html' title='Notes about Queueing Networks'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5489210309954185487.post-4464957502790928716</id><published>2007-05-11T04:03:00.000-07:00</published><updated>2007-05-11T04:34:12.957-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='introductory ideas and objectives of the dissertation project'/><title type='text'>Intro to PDQ Dissertation Idea</title><content type='html'>PDQ (Pretty Damn Quick) is a library, originally created in C, which helps the user to model and solve queueing problems. The aim of this open source software is to provide a performance analysis tool for computer systems and not only. Newer versions of the library have been written in other languages as well (Perl, Python, Java, PHP). Probably the java version is going to be used for the needs of this project. The purpose of this java approach would be: efficiency(easier to create a GUI in Java) and portability (a Java project runs in every system). Additionally, Java is a Object Oriented language (modern compared to C)and the library PDQ written in Java is newer, so there is the motivation for testing and evaluation of this approach.&lt;br /&gt;&lt;br /&gt;The objectives of this project are: &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;- research in the area of queueing networks:&lt;/span&gt;&lt;br /&gt;what kind of mathematics and stochastic algorithms are used to solve that kind of      problems? (Poison Distribution, Markov chains, memoryless techniques in general).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;- development of a user friendly tool, with a GUI (probably implemented in Java), which solves simple queueing problems using the functions of PDQ library.&lt;/span&gt;&lt;br /&gt;which alternatives exist in designing a graphical user interface, which provide benefits in matters of usability, efficiency, accuracy, elaboration etc. A comparison of the different identified approaches in design and evaluation of the selected approach.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5489210309954185487-4464957502790928716?l=prettydamnquick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://prettydamnquick.blogspot.com/feeds/4464957502790928716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5489210309954185487&amp;postID=4464957502790928716' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/4464957502790928716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5489210309954185487/posts/default/4464957502790928716'/><link rel='alternate' type='text/html' href='http://prettydamnquick.blogspot.com/2007/05/intro-to-pdq-dissertation-idea.html' title='Intro to PDQ Dissertation Idea'/><author><name>thanasys</name><uri>http://www.blogger.com/profile/03196775076210100865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
