日本欧洲视频一区_国模极品一区二区三区_国产熟女一区二区三区五月婷_亚洲AV成人精品日韩一区18p

代寫GA.2250、Python/Java程序語言代做

時間:2024-08-14  來源:  作者: 我要糾錯



Programming Assignment #4 (Lab 4): IO Scheduling Professor Hubertus Franke 
Class CSCI-GA.2250-001 Summer 2024 
 
In this lab you will implement and simulate the scheduling and optimization of I/O operations for a hard disk. Applications 
submit their block IO requests (bio) to the IO subsystem [ Block Layer ] (potentially via the filesystem), where they are 
maintained in an IO-queue until the disk device is ready for servicing another request. The IO-scheduler then selects a request 
from the IO-queue and submits it to the disk device. This selection is commonly known as the strategy() routine in 
operating systems and shown in the figure below. On completion, another request can be taken from the IO-queue and 
submitted to the disk. The scheduling policies will allow for some optimization as to reduce disk head movement or overall 
wait time in the system. 
 
The schedulers that need to be implemented are FIFO (N), SSTF (S), LOOK (L), CLOOK (C), and FLOOK (F) 
(the letters in bracket define which parameter must be given in the –s program flag shown below). 
 
You are to implement these different IO-schedulers in C or C++ and submit the source code and Makefile as a *.zip, *.tar or 
*.tar.Z, which we will compile and run. Please test on linserv*.cims.nyu.edu before submission. 
 
 
Invocation is as follows: 
 ./iosched [ –s<schedalgo> | -v | -q | -f ] <inputfile> 
 
Only the “-s” option is required. The default scheduler is fifo is “-s” is not supplied. Options as usual can be in any order. 
The input file is structured as follows: Lines starting with ‘#’ are comment lines and should be ignored. 
Any other line describes an IO operation where the 1
st
 integer is the time step at which the IO operation is issued and the 2
nd
 
integer is the track that is accesses. Since IO operation latencies are largely dictated by seek delay (i.e. moving the head to the 
correct track), we ignore rotational and transfer delays for simplicity. The inputs are well formed. 
 
#io generator 
#numio=32 maxtracks=512 lambda=10.000000 
1 339 
131 401 
 
We assume that moving the head by one track will cost one time unit. As a result, your simulation can/should be done using 
integers. The disk can only consume/process one IO request at a time. Once a request is active on the disk it cannot be 
interrupted by any other incoming request. Hence these requests must be maintained in an IO queue and managed according 
to the scheduling policy. The initial direction of the LOOK algorithms is from 0-tracks to higher tracks. The head is initially 
positioned at track=0 at time=0. Note that you do not have to know the maxtrack (think SCAN vs. LOOK). Programming Assignment #4 (Lab 4): IO Scheduling Professor Hubertus Franke 
Class CSCI-GA.2250-001 Summer 2024 
 
Each simulation should print information on individual IO requests followed by a SUM line that has computed some statistics 
of the overall run. (see reference outputs). 
 
For each IO request create an info line (5 requests shown) in the order of appearance in the input file. 
 0: 1 1 431 
 1: 87 467 533 
 2: 280 431 467 
 3: 321 533 762 
 4: 505 762 791 
 
Created by 
 printf("%5d: %5d %5d %5dn", iop, req->arr_time, r->start_time, r->end_time); 
 
args: IO-op#, its arrival to the system (same as from inputfile), its disk service start time, its disk service end time 
 
Please remember “ %5d” is not “%6d” !!! For C++ formatting refer back to lab2 and lab3 where similar outputs were created. 
 
and for the statistics of the simulation provide a SUM line ( note variables printed as “%lf” are double floats ). 
 
Created by: printf("SUM: %d %d %.4lf %.2lf %.2lf %dn", 
 total_time, tot_movement, io_utilization, 
 avg_turnaround, avg_waittime, max_waittime); 
total_time: total simulated time, i.e. until the last I/O request has completed. 
tot_movement: total number of tracks the head had to be moved 
io_utilization: ratio of time_io_was_busy / total_time 
avg_turnaround: average turnaround time per operation from time of submission to time of completion 
avg_waittime: average wait time per operation (time from submission to issue of IO request to start disk operation) 
max_waittime: maximum wait time for any IO operation. 
 
10 sample inputs and outputs and runit/gradeit scripts are provided with the assignment on NYU brightspace. 
Please look at the sum results and identify what different characteristics the schedulers exhibit. 
 
You can make the following assumptions (enforced and caught by the reference program). 
- at most 10000 IO operations will be tested, so its OK (recommended) to first read all requests from file before processing. 
- all io-requests are provided in increasing time order (no sort needed) 
- you never have two IO requests arrive at the same time (so input is monotonically increasing) 
 
I strongly suggest, you do not use discrete event simulation this time. You can write a simple loop that increments simulation 
time by one and checks whether any action is to be taken. In that case you have to check in the following order. 
The code structure should look something like this (there are some edge conditions you have to consider, such as the next I/O 
is for the track the head currently is at, etc. ): 
 
 while (true) 
if a new I/O arrived at the system at this current time 
 → add request to IO-queue 
if an IO is active and completed at this time 
 → Compute relevant info and store in the IO request for final summary 
if no IO request active now 
 if requests are pending 
 → Fetch the next request from IO-queue and start the new IO. 
 else if all IO from input file processed 
 → exit simulation 
if an IO is active 
 → Move the head by one unit in the direction its going (to simulate seek) 
Increment time by 1 
 
When switching queues in FLOOK you always continue in the direction you were going from the current position, until the 
queue is empty. Then you switch direction until empty and then switch the queues continuing into that direction and so forth. 
While other variants are possible, I simply chose this one this time though other variants make also perfect sense. Programming Assignment #4 (Lab 4): IO Scheduling Professor Hubertus Franke 
Class CSCI-GA.2250-001 Summer 2024 
 
Additional Information: 
 
As usual, I provide some more detailed tracing information to help you overcome problems. Note your code only needs to 
provide the result line per IO request and the ‘SUM line’. 
 
The reference program under ~frankeh/Public/lab4/iosched on the cims machine implements three additional options: –v, -q, 
-f to debug deeper into IO tracing and IO queues. 
 
The –v execution trace contains 3 different operations (add a request to the IO-queue, issue an operation to the disk and 
finish a disk operation). Following is an example of tracking IO-op 18 through the times 1151..1307 from submission to 
completion. 
 
1151: 18 add 221 // 18 is the IO-op # (starting with 0) and 221 is the track# requested 
1239: 18 issue 221 289 // 18 is the IO-op #, 221 is the track# requested, 289 is the current track# 
1307: 18 finish 68 // 18 is the IO-op #, 68 is total length/time of the io from request to completion 
 
-q shows the details of the IO queue and direction of movement ( 1==up , -1==down) and 
–f shows additional queue information during the FLOOK. 
 
Here Queue entries are tuples during add [ ior# : #io-track ] or triplets during get [ ior# : io-track# : distance ], 
where distance is negative if it goes into the opposite direction (where applicable ). 
 
Please use these debug flags and the reference program to get more insights on debugging the ins and outs (no punt intended) 
of this assignment and answering certain “why” questions. 
 
Generating your own input for further testing: 
 
A generator program is available under ~frankeh/Public/lab4/iomake and can be used to create additional inputs if you like to 
expand your testing. You will have to run this against the reference program ~frankeh/Public/lab4/iosched yourself. 
 
Usage: iomake [-v] [-t maxtracks] [-i num_ios] [-L lambda] [-f interarrival_factor] 
 
maxtracks is the tracks the disks will have, default is 512 
num_ios is the number of ios to generate, default is 32 
lambda is parameter to create a poisson distribution, default is 1.0 ( consider ranges from 0.01 .. 10.0 ) 
interarrival_factor is time factor how rapidly IOs will arrive, default is 1.0 ( consider values 0.5 .. 1.5 ), too small and the 
system will be overloaded and too large it will be underloaded and scheduling is mute as often only one i/o is outstanding. 
 
Below are the parameters for the 10 inputs files provided in the assignment so you don’t pick the same. 
 
1. iomake -v -t 128 -i 10 -L0.11 -f 0.4 
2. iomake -v -t 512 -i 20 -L0.51 
3. iomake -v -t 128 -i 50 -L0.51 
4. iomake -v -t 512 -i 100 -L0.01 
5. iomake -v -t 256 -i 50 -L1.1 
6. iomake -v -t 256 -i 20 -L0.3 
7. iomake -v -t 512 -i 100 -L0.9 
8. iomake -v -t 300 -i 80 -L3.4 -f 0.6 
9. iomake -v -t 1000 -i 80 -L3.4 -f 0.6 
10. iomake -v -t 512 -i 500 -L2.4 -f 0.6 

請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp





 

標(biāo)簽:

掃一掃在手機(jī)打開當(dāng)前頁
  • 上一篇:代寫MTH5510、代做Matlab程序語言
  • 下一篇:CSCI 2600代做、代寫Java設(shè)計程序
  • 無相關(guān)信息
    昆明生活資訊

    昆明圖文信息
    蝴蝶泉(4A)-大理旅游
    蝴蝶泉(4A)-大理旅游
    油炸竹蟲
    油炸竹蟲
    酸筍煮魚(雞)
    酸筍煮魚(雞)
    竹筒飯
    竹筒飯
    香茅草烤魚
    香茅草烤魚
    檸檬烤魚
    檸檬烤魚
    昆明西山國家級風(fēng)景名勝區(qū)
    昆明西山國家級風(fēng)景名勝區(qū)
    昆明旅游索道攻略
    昆明旅游索道攻略
  • 短信驗證碼平臺 理財 WPS下載

    關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 kmw.cc Inc. All Rights Reserved. 昆明網(wǎng) 版權(quán)所有
    ICP備06013414號-3 公安備 42010502001045

    日本欧洲视频一区_国模极品一区二区三区_国产熟女一区二区三区五月婷_亚洲AV成人精品日韩一区18p

              9000px;">

                        一二三av在线| 国产福利视频导航| 中文字幕99页| 99视频在线观看免费| 国产一级一片免费播放| 久久久久久久久久99| 日韩成人黄色片| 亚洲一区在线不卡| 黄色在线观看av| 午夜影院免费视频| 成人h动漫精品一区| 91theporn国产在线观看| 亚洲av成人片色在线观看高潮 | 最近日本中文字幕| 殴美一级黄色片| 精品999在线| 91国内精品久久久| 丰满人妻一区二区三区四区| 国产午夜免费福利| 日本国产在线视频| 亚洲在线精品视频| 国产午夜福利精品| 少妇喷水在线观看| 欧美亚洲精品在线观看| 国产又粗又爽视频| 久久福利小视频| 久久久久中文字幕亚洲精品| 国产成人精品片| 国产精品国产精品88| 亚洲欧美日本一区二区三区| 亚州视频一区二区三区| 岳乳丰满一区二区三区| av在线免费播放网址| 国内精品国产三级国产aⅴ久| 熟妇人妻系列aⅴ无码专区友真希| 亚洲综合一二三| 免费观看国产视频| 91成人国产综合久久精品| 精品999在线| 亚洲欧洲国产综合| 免费在线视频观看| 91精品国产高清一区二区三蜜臀 | 天天干天天草天天| 亚洲欧美日本一区| 亚洲国产综合网| 亚洲无人区码一码二码三码的含义| a级黄色免费视频| 一本色道久久综合亚洲| 日本黄色福利视频| 一本一道无码中文字幕精品热 | 在线a免费观看| 欧美日韩亚洲国产另类| 国产又粗又猛又黄又爽| 99中文字幕在线| 中文字幕免费在线播放| 天天操夜夜操视频| 青青视频在线免费观看| 亚洲精品午夜国产va久久成人| 亚洲狠狠婷婷综合久久久久图片| 在线视频欧美亚洲| 日日躁夜夜躁aaaabbbb| 在线免费播放av| 国产sm主人调教女m视频| 男女视频免费看| 亚洲天堂一级片| 精品国自产在线观看| 中国美女黄色一级片| 超碰在线公开97| 91高清国产视频| 国产欧美熟妇另类久久久| 国产成人精品一区二区在线小狼| 最近中文字幕av| 日韩毛片一区二区三区| 青青草原国产视频| 日本不卡一二区| 日韩美女视频网站| 欧美性猛交xxxx乱大交91| 欧美熟妇激情一区二区三区| 免费a在线观看播放| 国产中文字幕一区二区| 久久久久亚洲视频| 欧美亚韩一区二区三区| 欧美bbbbbbbbbbbb精品| 神马午夜一区二区| 丰满熟女人妻一区二区三区| 五月天av在线播放| 无码人妻av免费一区二区三区| 日韩精品一区三区| 亚洲 欧美 精品| 日本一二三四区视频| 亚洲女人久久久| 91小视频网站| 久久精品国产av一区二区三区| 欧美精品韩国精品| 亚洲图片小说视频| 免费日韩一级片| 亚洲av成人片无码| 欧美大片xxxx| 五月婷婷狠狠操| 青青青国产在线| 中文字幕你懂的| 午夜美女福利视频| 波多野结衣av在线观看| 农村妇女精品一区二区| 亚洲熟妇无码av| 欧美人妻精品一区二区免费看| 91久久免费视频| 国产香蕉视频在线| 中文久久久久久| 亚洲一区二区三区综合| 中文字幕一区二区三区人妻在线视频| 中文字幕成人免费视频| 亚洲精品国产片| 国产成人av免费在线观看| 国产成人啪精品午夜在线观看| 国产91在线免费观看| 麻豆精品一区二区三区视频| 青青青国产在线| 制服丝袜第二页| 一道本在线免费视频| 国产免费美女视频| 青草视频在线观看免费| 欧美成人手机在线视频| 亚洲精品一区二区三区蜜桃 | 国产免费的av| 一级二级三级视频| 一区二区三区四区免费| 探花国产精品一区二区| 五月婷婷一区二区| 亚洲av成人无码网天堂| 午夜精品久久久久久久99热影院| 中文字幕一区二区人妻在线不卡| 色悠悠久久综合网| 中文字幕人妻精品一区| 无码人中文字幕| 少妇荡乳情欲办公室456视频| 国产人妻精品午夜福利免费| 国产 xxxx| 青青草成人免费| 午夜免费一区二区| 国产青青草视频| 一本一道精品欧美中文字幕| 五月激情六月婷婷| 天天影视色综合| 中文字幕日韩第一页| 亚洲一级视频在线观看| 中国xxxx性xxxx产国| 性xxxx视频播放免费| 99久久综合网| 成人精品在线播放| 国产67194| 国产91av视频| 精品视频在线观看免费| 69xxxx国产| 一级黄色大片免费看| 五月激情丁香婷婷| 天天操天天干天天舔| 中文字幕一区久久| 国产精品福利导航| 视频一区二区三区四区五区| 在线观看岛国av| 亚洲av片一区二区三区| 毛片在线免费视频| 嫩草av久久伊人妇女超级a| 精品亚洲视频在线| 亚洲精品国产精品国自产网站按摩| 不卡av免费在线| 色悠悠久久综合网| 国产黄色的视频| 五月天色婷婷丁香| 国产一区二区99| 亚洲国产精品欧美久久| 久久黄色片网站| av免费播放网站| 深夜福利网站在线观看| 国产精品99久久久久久成人| 麻豆一区二区三区视频| 中文字幕在线免费看线人| 亚洲av综合色区无码另类小说| 少妇喷水在线观看| 婷婷免费在线观看| 伊人国产在线视频| 亚洲中文字幕无码av| 91精品久久久久久久久久久久| av官网在线观看| 国产精品111| 黄色一级片免费的| 欧美色图亚洲激情 | 午夜激情福利电影| 中文 日韩 欧美| 99久久精品日本一区二区免费| 99国产精品免费视频| 国产又黄又粗又硬| 国产欧美小视频| av网页在线观看| 中文字幕一区二区三区乱码不卡| www.四虎精品| 99久久精品久久亚洲精品| 911美女片黄在线观看游戏| 中文字幕免费观看视频|