SlideShare a Scribd company logo
1 of 8
Download to read offline
HCMC University Of Technology
Faculty of Computer Science & Engineering
Assignment 1
The Queuing Systems-based
Performance Evaluation Project
Course: System Performance Evaluation
Phuong-Duy Nguyen
September 20, 2023
Contents
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.
1.2 Project descriptions
1.2.1 Single queuing system
Notations A queuing system is described using Kendall’s notation: A / B / m / K / n/ D.
We can verify that the combination of different sets of values represents a different model. The work
involves implementing the queuing system with these pre-defined parameters.
• M/M/1 queue
• M/M/1/K queue, system with finite capacity
• M/M/∞ queue
• M/M/n/n queue, Erlang-Lost system
• M/M/n queue
• M/M/c/K queue, multiserver, finite capacity system
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
Listing 1.1: Application setting parameters
#
##Server###
# I f server capacity i s a v a i l a b l e
s e l f . maxSize = maxQueueSize
# By i n i t i a l i z a t i o n
s e l f . maxServers = maxServers
s e l f . mean interarrival timeTime = 1.0 / arrivalRate
s e l f . mean service time = 1.0 / serviceRate
1.2.2 Multiple-queuing system
A multiple-queuing system includes many single-queuing systems connected together serially, parallelly,
or to form a network. An illustration of a multiple-queuing system is presented in Figure 1.1.
Figure 1.1: An example of multiple-queuing system.
In order to invoke a further event generator inside the current event handling, it is recommended to
refer to the following API:
class simpy . events . Process ( env : Environment , generator : Generator [ Event , Any
, Any ] )
1.2.3 Queuing system reference design
The project referenced design is based on 3 components as in Figure 1.2.
• 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.
In general, the application is called by 2 basic steps:
3
1.2. PROJECT DESCRIPTIONS CHAPTER 1. ASSIGNMENT 1
Figure 1.2: Referenced Queuing System.
sys = MMcKn( . . . )
sys . 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 the sample code
e v e n t l i s t = PriorityQueue ()
Event list/queue may be unlimited size (with NULL or 0 size) or be limited by the input number of queue
length.
Operations
init() the sample code
def i n i t () :
while event < n event s :
i n t e r a r r i v a l e t i m e = np . random . exponential ( s e l f .
mean interarrival timeTime )
n e x t a r r i v a l t i m e = n e x t a r r i v a l t i m e + i n t e r a r r i v a l e t i m e
s e l f . schedule ( s e l f . arrival , . . . )
arrival() the sample code
def a r r i v a l ()
s e l f . customer number += 1
i f s e l f . numAvailableServers > 0:
s e r v e r i d = getServer ()
s e l f . schedule ( event=s e l f . beginService , serverid , delay=0)
4
1.2. PROJECT DESCRIPTIONS CHAPTER 1. ASSIGNMENT 1
This is a prototype-like suggestion, but it is not limited to this design.
schedule() this handles the occurred event.
def schedule ( event , s e r v e r i d ) :
i f validate ( s e r v e r i d ) = OK:
s e l f . Event ( event , . . . )
If there is no Kendall K=maxQueueSize argument then validate(serverid) is always OK
beginService() this starts the processing of the event that occurred. It can be performed immedi-
ately or postponed to another schedule.
def beginService ( s e l f ) :
s e l f . numAvailableServers -= 1
s e l f . schedule ( s e l f . endService , serverid , delay=np . random . exponential ( s e l f .
mean service time ) )
endService() finalize the processing step.
def endService ( s e l f ) :
s e l f . numAvailableServers += 1
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.
5. Write a simulation of packet arrival processing at a gateway router in a multi-hop network.
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:
1. Following the steps fora performance evaluation project.
2. Technique to be used is simulation.
3. Selecting at least 2 kinds of workload to test the simulation models
4. Analyzing experimental data and interpreting it.
5. All code and report are written in a Jupiter Notebook.
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.
• Support distribution management among components of the system is a plus.
• 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.
1.3 Working plan
Working in a team
• Each group has up to 6 members
• Phase 1 (First 2 weeks):
6
1.4. RESULTS CHAPTER 1. ASSIGNMENT 1
– Define specifiction of the queuing system.
– Define the interfaces and params/argument passing used for each function.
• Phase 2 (Next 2 weeks):
– Implement and refine the application according to the functions and protocols defined in Phase
1.
1.4 Results
• Phase 1 (softcopy):
– Submit the report file of the first phase to shared folder
– File format is ASS1-P1<<Group name>>.ipynb (Jupiter Notebook) or pdf
– This report includes:
∗ Define and describe the functions of the application.
∗ Define the programming interface used for each function.
• Phase 2 (hard and soft copy)
• Submit the report file of the assignment to shared folder
• File format (.rar) ASS1-<<Group name>>.rar
• This report includes:
– 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.
Scoring Assignment 1 is worth 50% of the assignment grade.
7

More Related Content

Similar to assignment1_fn.pdf

Sheet1Address60741024Offsetaddress0102450506074120484026230723002p.docx
Sheet1Address60741024Offsetaddress0102450506074120484026230723002p.docxSheet1Address60741024Offsetaddress0102450506074120484026230723002p.docx
Sheet1Address60741024Offsetaddress0102450506074120484026230723002p.docxbagotjesusa
 
Summarizing Software API Usage Examples Using Clustering Techniques
Summarizing Software API Usage Examples Using Clustering TechniquesSummarizing Software API Usage Examples Using Clustering Techniques
Summarizing Software API Usage Examples Using Clustering TechniquesNikos Katirtzis
 
Chapter 1 Data structure.pptx
Chapter 1 Data structure.pptxChapter 1 Data structure.pptx
Chapter 1 Data structure.pptxwondmhunegn
 
Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)
Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)
Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)Peter Tröger
 
ECET 360 help A Guide to career/Snaptutorial
ECET 360 help A Guide to career/SnaptutorialECET 360 help A Guide to career/Snaptutorial
ECET 360 help A Guide to career/Snaptutorialpinck2380
 
ECET 360 help A Guide to career/Snaptutorial
ECET 360 help A Guide to career/SnaptutorialECET 360 help A Guide to career/Snaptutorial
ECET 360 help A Guide to career/Snaptutorialpinck200
 
Lab 4 final report
Lab 4 final reportLab 4 final report
Lab 4 final reportKyle Villano
 
Ecet 360 Enthusiastic Study / snaptutorial.com
Ecet 360 Enthusiastic Study / snaptutorial.comEcet 360 Enthusiastic Study / snaptutorial.com
Ecet 360 Enthusiastic Study / snaptutorial.comStephenson34
 
Ecet 360 Success Begins / snaptutorial.com
Ecet 360  Success Begins / snaptutorial.comEcet 360  Success Begins / snaptutorial.com
Ecet 360 Success Begins / snaptutorial.comWilliamsTaylorzl
 
Ecet 360 Massive Success / snaptutorial.com
Ecet 360 Massive Success / snaptutorial.comEcet 360 Massive Success / snaptutorial.com
Ecet 360 Massive Success / snaptutorial.comHarrisGeorgx
 
Efficient Resource Allocation to Virtual Machine in Cloud Computing Using an ...
Efficient Resource Allocation to Virtual Machine in Cloud Computing Using an ...Efficient Resource Allocation to Virtual Machine in Cloud Computing Using an ...
Efficient Resource Allocation to Virtual Machine in Cloud Computing Using an ...ijceronline
 
VCE Unit 01 (1).pptx
VCE Unit 01 (1).pptxVCE Unit 01 (1).pptx
VCE Unit 01 (1).pptxskilljiolms
 
An Algorithm for Optimized Cost in a Distributed Computing System
An Algorithm for Optimized Cost in a Distributed Computing SystemAn Algorithm for Optimized Cost in a Distributed Computing System
An Algorithm for Optimized Cost in a Distributed Computing SystemIRJET Journal
 
A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...
A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...
A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...Soumya Banerjee
 
Distributed Performance testing by funkload
Distributed Performance testing by funkloadDistributed Performance testing by funkload
Distributed Performance testing by funkloadAkhil Singh
 
Proposed pricing model for cloud computing
Proposed pricing model for cloud computingProposed pricing model for cloud computing
Proposed pricing model for cloud computingAdeel Javaid
 
Python Control library
Python Control libraryPython Control library
Python Control libraryMassimo Talia
 
Pipelining and vector processing
Pipelining and vector processingPipelining and vector processing
Pipelining and vector processingKamal Acharya
 

Similar to assignment1_fn.pdf (20)

Sheet1Address60741024Offsetaddress0102450506074120484026230723002p.docx
Sheet1Address60741024Offsetaddress0102450506074120484026230723002p.docxSheet1Address60741024Offsetaddress0102450506074120484026230723002p.docx
Sheet1Address60741024Offsetaddress0102450506074120484026230723002p.docx
 
Summarizing Software API Usage Examples Using Clustering Techniques
Summarizing Software API Usage Examples Using Clustering TechniquesSummarizing Software API Usage Examples Using Clustering Techniques
Summarizing Software API Usage Examples Using Clustering Techniques
 
PID2143641
PID2143641PID2143641
PID2143641
 
Chapter 1 Data structure.pptx
Chapter 1 Data structure.pptxChapter 1 Data structure.pptx
Chapter 1 Data structure.pptx
 
Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)
Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)
Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)
 
ECET 360 help A Guide to career/Snaptutorial
ECET 360 help A Guide to career/SnaptutorialECET 360 help A Guide to career/Snaptutorial
ECET 360 help A Guide to career/Snaptutorial
 
ECET 360 help A Guide to career/Snaptutorial
ECET 360 help A Guide to career/SnaptutorialECET 360 help A Guide to career/Snaptutorial
ECET 360 help A Guide to career/Snaptutorial
 
Lab 4 final report
Lab 4 final reportLab 4 final report
Lab 4 final report
 
Ecet 360 Enthusiastic Study / snaptutorial.com
Ecet 360 Enthusiastic Study / snaptutorial.comEcet 360 Enthusiastic Study / snaptutorial.com
Ecet 360 Enthusiastic Study / snaptutorial.com
 
Ecet 360 Success Begins / snaptutorial.com
Ecet 360  Success Begins / snaptutorial.comEcet 360  Success Begins / snaptutorial.com
Ecet 360 Success Begins / snaptutorial.com
 
Ecet 360 Massive Success / snaptutorial.com
Ecet 360 Massive Success / snaptutorial.comEcet 360 Massive Success / snaptutorial.com
Ecet 360 Massive Success / snaptutorial.com
 
Efficient Resource Allocation to Virtual Machine in Cloud Computing Using an ...
Efficient Resource Allocation to Virtual Machine in Cloud Computing Using an ...Efficient Resource Allocation to Virtual Machine in Cloud Computing Using an ...
Efficient Resource Allocation to Virtual Machine in Cloud Computing Using an ...
 
VCE Unit 01 (1).pptx
VCE Unit 01 (1).pptxVCE Unit 01 (1).pptx
VCE Unit 01 (1).pptx
 
An Algorithm for Optimized Cost in a Distributed Computing System
An Algorithm for Optimized Cost in a Distributed Computing SystemAn Algorithm for Optimized Cost in a Distributed Computing System
An Algorithm for Optimized Cost in a Distributed Computing System
 
A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...
A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...
A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...
 
Distributed Performance testing by funkload
Distributed Performance testing by funkloadDistributed Performance testing by funkload
Distributed Performance testing by funkload
 
Proposed pricing model for cloud computing
Proposed pricing model for cloud computingProposed pricing model for cloud computing
Proposed pricing model for cloud computing
 
Python Control library
Python Control libraryPython Control library
Python Control library
 
Pipelining and vector processing
Pipelining and vector processingPipelining and vector processing
Pipelining and vector processing
 
11 whiteboxtesting
11 whiteboxtesting11 whiteboxtesting
11 whiteboxtesting
 

Recently uploaded

Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 

Recently uploaded (20)

🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 

assignment1_fn.pdf

  • 1. HCMC University Of Technology Faculty of Computer Science & Engineering Assignment 1 The Queuing Systems-based Performance Evaluation Project Course: System Performance Evaluation Phuong-Duy Nguyen September 20, 2023
  • 2. Contents 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
  • 3. 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. 1.2 Project descriptions 1.2.1 Single queuing system Notations A queuing system is described using Kendall’s notation: A / B / m / K / n/ D. We can verify that the combination of different sets of values represents a different model. The work involves implementing the queuing system with these pre-defined parameters. • M/M/1 queue • M/M/1/K queue, system with finite capacity • M/M/∞ queue • M/M/n/n queue, Erlang-Lost system • M/M/n queue • M/M/c/K queue, multiserver, finite capacity system 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
  • 4. 1.2. PROJECT DESCRIPTIONS CHAPTER 1. ASSIGNMENT 1 Listing 1.1: Application setting parameters # ##Server### # I f server capacity i s a v a i l a b l e s e l f . maxSize = maxQueueSize # By i n i t i a l i z a t i o n s e l f . maxServers = maxServers s e l f . mean interarrival timeTime = 1.0 / arrivalRate s e l f . mean service time = 1.0 / serviceRate 1.2.2 Multiple-queuing system A multiple-queuing system includes many single-queuing systems connected together serially, parallelly, or to form a network. An illustration of a multiple-queuing system is presented in Figure 1.1. Figure 1.1: An example of multiple-queuing system. In order to invoke a further event generator inside the current event handling, it is recommended to refer to the following API: class simpy . events . Process ( env : Environment , generator : Generator [ Event , Any , Any ] ) 1.2.3 Queuing system reference design The project referenced design is based on 3 components as in Figure 1.2. • 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. In general, the application is called by 2 basic steps: 3
  • 5. 1.2. PROJECT DESCRIPTIONS CHAPTER 1. ASSIGNMENT 1 Figure 1.2: Referenced Queuing System. sys = MMcKn( . . . ) sys . 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 the sample code e v e n t l i s t = PriorityQueue () Event list/queue may be unlimited size (with NULL or 0 size) or be limited by the input number of queue length. Operations init() the sample code def i n i t () : while event < n event s : i n t e r a r r i v a l e t i m e = np . random . exponential ( s e l f . mean interarrival timeTime ) n e x t a r r i v a l t i m e = n e x t a r r i v a l t i m e + i n t e r a r r i v a l e t i m e s e l f . schedule ( s e l f . arrival , . . . ) arrival() the sample code def a r r i v a l () s e l f . customer number += 1 i f s e l f . numAvailableServers > 0: s e r v e r i d = getServer () s e l f . schedule ( event=s e l f . beginService , serverid , delay=0) 4
  • 6. 1.2. PROJECT DESCRIPTIONS CHAPTER 1. ASSIGNMENT 1 This is a prototype-like suggestion, but it is not limited to this design. schedule() this handles the occurred event. def schedule ( event , s e r v e r i d ) : i f validate ( s e r v e r i d ) = OK: s e l f . Event ( event , . . . ) If there is no Kendall K=maxQueueSize argument then validate(serverid) is always OK beginService() this starts the processing of the event that occurred. It can be performed immedi- ately or postponed to another schedule. def beginService ( s e l f ) : s e l f . numAvailableServers -= 1 s e l f . schedule ( s e l f . endService , serverid , delay=np . random . exponential ( s e l f . mean service time ) ) endService() finalize the processing step. def endService ( s e l f ) : s e l f . numAvailableServers += 1 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. 5. Write a simulation of packet arrival processing at a gateway router in a multi-hop network. 6. Write a simulation of buffet self-service at multiple entrances to different food sections’ tables. 5
  • 7. 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: 1. Following the steps fora performance evaluation project. 2. Technique to be used is simulation. 3. Selecting at least 2 kinds of workload to test the simulation models 4. Analyzing experimental data and interpreting it. 5. All code and report are written in a Jupiter Notebook. 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. • Support distribution management among components of the system is a plus. • 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. 1.3 Working plan Working in a team • Each group has up to 6 members • Phase 1 (First 2 weeks): 6
  • 8. 1.4. RESULTS CHAPTER 1. ASSIGNMENT 1 – Define specifiction of the queuing system. – Define the interfaces and params/argument passing used for each function. • Phase 2 (Next 2 weeks): – Implement and refine the application according to the functions and protocols defined in Phase 1. 1.4 Results • Phase 1 (softcopy): – Submit the report file of the first phase to shared folder – File format is ASS1-P1<<Group name>>.ipynb (Jupiter Notebook) or pdf – This report includes: ∗ Define and describe the functions of the application. ∗ Define the programming interface used for each function. • Phase 2 (hard and soft copy) • Submit the report file of the assignment to shared folder • File format (.rar) ASS1-<<Group name>>.rar • This report includes: – 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. Scoring Assignment 1 is worth 50% of the assignment grade. 7