Assignment1 FN
Assignment1 FN
Assignment1 FN
Assignment 1
The Queuing Systems-based
Performance Evaluation Project
Course: System Performance Evaluation
Phuong-Duy Nguyen
1 Assignment 1 2
1.1 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Project descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Single queuing system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Multiple-queuing system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.3 Queuing system reference design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.4 Build the mapping/translating between the problem and the associated model . . 5
1.3 Working plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1
Chapter 1
Assignment 1
1.1 Objectives
Build a queuing system application according to a predefined parameter set. The developed queuing
system can be built on top of popular libraries. One common library is SimPY, a discrete-event simulator.
Build the mapping or translation between your real-life problem parameters and the associated queuing
system parameters.
• M/M/1 queue
• M/M/∞ queue
• M/M/n queue
An illustration of parameter setting in sample code as listed in the listing 1.1. The translated values
from Kendall notation system
• maxServers=m
• maxQueueSize=K
• arrivalRate ∼A distribution
• serviceRate ∼B distribution
2
1.2. PROJECT DESCRIPTIONS CHAPTER 1. ASSIGNMENT 1
In order to invoke a further event generator inside the current event handling, it is recommended to
refer to the following API:
c l a s s simpy . e v e n t s . P r o c e s s ( env : Environment , g e n e r a t o r : G en e r a t o r [ Event , Any
, Any ] )
• Arrival Event: generate the arriving data with the given distribution and parameter setting (i.e.
mean inter arrivaltime).
• Server: the number and capacity of the server are associated with the 3 or 4-tuple param.
• Processing Event: create event for notification or logging in event processing step.
3
1.2. PROJECT DESCRIPTIONS CHAPTER 1. ASSIGNMENT 1
s y s = MMcKn ( . . . )
s y s . run ( )
The (input) data generation will be performed in the first step of the system declaration, in which the
step init() will be triggered. The execution of run(), in turn, will activate the system.run() to start the
event processing or scheduling to be performed.
Event list/queue may be unlimited size (with NULL or 0 size) or be limited by the input number of queue
length.
Operations
4
1.2. PROJECT DESCRIPTIONS CHAPTER 1. ASSIGNMENT 1
beginService() this starts the processing of the event that occurred. It can be performed immedi-
ately or postponed to another schedule.
def b e g i n S e r v i c e ( s e l f ) :
s e l f . n u m A v a i l a b l e S e r v e r s -= 1
s e l f . s c h e d u l e ( s e l f . e n d S e r v i c e , s e r v e r i d , d e l a y=np . random . e x p o n e n t i a l ( s e l f .
mean service time ) )
1.2.4 Build the mapping/translating between the problem and the associated model
Some sample projects We provide some suggestions, but do not limit your problem to these samples.
At this stage, we are currently limited by one type of model, the queuing system. So you need to figure out
whether the tackling problem is compatible with the associated queuing system. The associated system is
mandatory to be a multiple-queuing system; simple M/M/1 is not approved. Each single-queuing system
is encouraged to be a multiple-server M/M/c at least.
Here is the suggestion list:
1. Write a simulation of hierarchical paging memory allocation; it might include many cache levels,
external storage, etc.
2. Write a simulation of contiguous memory allocation with variable partitions; it might include many
cache levels, external storage, etc.
3. Write a simulation of multiple feedback queues in CPU scheduling; it can employ the internal
application scheduler among threads in the whole application or sub-module in each application.
4. Write a simulation of indexed allocation (based on the i-node of UNIX) of a file system. A distributed
file system with multiple levels of storage space is a good case study.
6. Write a simulation of buffet self-service at multiple entrances to different food sections’ tables.
5
1.3. WORKING PLAN CHAPTER 1. ASSIGNMENT 1
7. Write a simulation of a multiple dentist chair/minor surgery system. It is not limited to empowering
your topic by increasing server capacity by more than one, such as in a healthcare check-up system
where many slots can be processed at each department.
8. Write a simulation of a phone teller system employing multiple departments, i.e., customer service,
product guarantee team, and technical support. For more variants of system settings, you can
employ the up-to-date robotics/AI-enabled teller to increase the system capacity.
Mapping the input data and system parameters to the associated queuing system To make
a systematic map, you need to ensure that your work satisfy some basic requirements, which include:
Mapping the output simulation measurement and mathematical formula calculation Since
we are learning, we need to verify and match all our estimations in both simulation and mathematical
ways. This step helps you make a co-relation between the two different kinds of estimations.
In this project, we design for a large group, so the workload must be proportional to the number of
group members. We aim to get the outcomes of superior design, whereas:
• Support the stress test with a high number of data points to make the probability approach the
expected numbering. Many formulas are based on the law of Little then they should be performed
well when the time goes to infinity.
• Separable testing of each part of the system since our base is multiple-queuing should be able to do
partial tests on each elemental queue.
• Support automation integration as we work in a large team; each member’s work can be performed
individually, and the integration needs to be well designed.
• Events are traversed between or among queues, just as signals pass. Support for signal management,
i.e., redundant, intermediate canceling, is a plus.
• Testing members in the group should show one superior and at least 2-3 limitations of your design.
6
1.4. RESULTS CHAPTER 1. ASSIGNMENT 1
– Implement and refine the application according to the functions and protocols defined in Phase
1.
1.4 Results
• Phase 1 (softcopy):
– Phase 1 content
– Describe each specific function of the application
– Detailed application design (architecture, class diagrams, main classes,dots)
– Validation (sanity test) and evaluation of actual result (performance)
– Extension functions of the system in addition to the requirements specified in section 2
– Participants’ roles and responsibilities
– Manual document
– The report must be all designed illustration or (abstractful) prototype of the code. All copied
code to the report document will has penalty
– Souce code is separated in a different folder.
1.5 Evaluation
Time The submission is only accepted the announced deadline on BKeL.