亚洲精品人人_日韩视频在线一区二区三区_欧美剧在线免费观看网站_亚洲国产91

代寫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





 

標簽:

掃一掃在手機打開當前頁
  • 上一篇:代寫MTH5510、代做Matlab程序語言
  • 下一篇:CSCI 2600代做、代寫Java設計程序
  • 無相關信息
    昆明生活資訊

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

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 kmw.cc Inc. All Rights Reserved. 昆明網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    亚洲精品人人_日韩视频在线一区二区三区_欧美剧在线免费观看网站_亚洲国产91
    欧美性一区二区| 欧美伊人精品成人久久综合97 | 欧美一级午夜免费电影| 欧美色网一区二区| 欧美日韩中文字幕一区二区| 欧美精品精品一区| 亚洲精品在线观看网站| 亚洲国产精品激情在线观看| 一区二区中文视频| 亚洲第一搞黄网站| 美女mm1313爽爽久久久蜜臀| 激情六月婷婷久久| 91尤物视频在线观看| 精品污污网站免费看| 欧美成人一区二区三区| 中日韩免费视频中文字幕| 一区二区久久久久| 久久精品国产免费| 91丝袜美腿高跟国产极品老师| 在线视频一区二区三| 91精品国模一区二区三区| 国产网站一区二区| 亚洲综合激情另类小说区| 黄网站免费久久| 日本高清不卡在线观看| 精品国产乱码久久久久久蜜臀 | 欧美色精品在线视频| 2020国产精品| 亚洲一本大道在线| 国产成人亚洲精品青草天美| 欧美日韩国产电影| 中文字幕 久热精品 视频在线| 亚洲电影一级片| voyeur盗摄精品| 精品久久久久香蕉网| 亚洲国产一区二区视频| 顶级嫩模精品视频在线看| 9191成人精品久久| 亚洲精品国产一区二区精华液| 美女一区二区视频| 欧洲生活片亚洲生活在线观看| 久久亚洲综合色| 日韩成人免费看| 欧美自拍丝袜亚洲| 国产精品久久久99| 国产乱人伦偷精品视频免下载| 538在线一区二区精品国产| 日韩毛片视频在线看| 国产成人亚洲综合色影视| 精品人在线二区三区| 婷婷开心久久网| 欧美色精品在线视频| 亚洲欧美日韩电影| 91影视在线播放| 国产精品欧美经典| 成人午夜短视频| 久久久久久久国产精品影院| 久久精品国产99| 欧美va天堂va视频va在线| 日日欢夜夜爽一区| 欧美精品国产精品| 亚洲成人自拍偷拍| 欧美日韩国产一级| 亚洲bt欧美bt精品777| 欧美亚洲综合网| 一区二区三区电影在线播| 色一情一伦一子一伦一区| 亚洲婷婷综合久久一本伊一区| 成人丝袜18视频在线观看| 国产精品麻豆欧美日韩ww| 成人国产一区二区三区精品| 国产精品你懂的在线欣赏| 成人av先锋影音| 亚洲精品日韩一| 欧美日韩精品一区二区| 婷婷综合久久一区二区三区| 91精品国产综合久久久蜜臀粉嫩| 日本亚洲欧美天堂免费| 欧美大片一区二区| 国产一区二区91| 国产精品国产三级国产普通话三级| 99精品桃花视频在线观看| 亚洲精品精品亚洲| 91麻豆精品国产自产在线观看一区| 日韩av网站在线观看| 久久精品人人爽人人爽| av在线不卡网| 日韩电影在线看| 国产欧美精品一区二区色综合 | 日韩中文字幕一区二区三区| 日韩精品在线看片z| 国产精品一区二区在线看| 亚洲美女区一区| 日韩视频免费观看高清完整版在线观看| 久久国产精品露脸对白| 国产人妖乱国产精品人妖| 欧美在线观看视频一区二区三区| 日韩精品一二三四| 国产精品乱人伦| 欧美日韩国产另类不卡| 国产成人精品一区二区三区网站观看 | 午夜久久电影网| 久久久精品欧美丰满| 在线观看日韩毛片| 国内久久精品视频| 亚洲成av人片在线观看无码| 欧美精品一区男女天堂| 91美女蜜桃在线| 精品一区二区三区在线播放 | 91麻豆精品国产无毒不卡在线观看| 国产一区二区三区美女| 亚洲成人精品影院| 国产精品每日更新| 亚洲精品一区二区三区蜜桃下载| 日本韩国欧美一区二区三区| 国产激情视频一区二区在线观看 | 亚洲欧美日韩久久| 国产午夜精品久久久久久久| 欧美精品久久天天躁| 91首页免费视频| 国产黄色精品视频| 久久99国内精品| 亚洲va欧美va人人爽午夜| 国产精品国产自产拍高清av王其| 91精品国产福利在线观看| 日本高清不卡视频| voyeur盗摄精品| 成人性视频网站| 国产一区二区三区在线观看免费| 日韩精品国产欧美| 亚洲在线免费播放| 一区二区在线观看视频| 国产精品久久久一本精品| 国产亚洲欧美激情| 亚洲精品一区二区精华| 欧美成人video| 欧美mv日韩mv| 26uuu久久天堂性欧美| 日韩手机在线导航| 日韩一区二区免费在线电影| 欧美人妇做爰xxxⅹ性高电影| 91激情在线视频| 欧美性一区二区| 欧美日韩精品专区| 正在播放一区二区| 欧美一区二区在线播放| 欧美一区二区三区在线电影 | 成人欧美一区二区三区在线播放| 国产农村妇女毛片精品久久麻豆| 精品国产91九色蝌蚪| 国产日韩av一区| 国产精品国产三级国产a| 中文字幕一区三区| 亚洲免费在线观看| 亚洲福中文字幕伊人影院| 日韩和欧美的一区| 久久爱www久久做| 国产精品一线二线三线| 成人在线视频一区| 色婷婷久久99综合精品jk白丝| 欧美主播一区二区三区| 91精品蜜臀在线一区尤物| 精品电影一区二区| 国产精品伦理在线| 亚洲曰韩产成在线| 免费精品视频最新在线| 国产精品18久久久久久vr| 成人激情视频网站| 欧美日韩一区二区不卡| 欧美成人精品1314www| 国产精品欧美极品| 日本午夜一区二区| hitomi一区二区三区精品| 欧美视频你懂的| 久久综合九色综合欧美就去吻| 国产精品久久久久久久蜜臀| 亚洲成人7777| 粉嫩av亚洲一区二区图片| 欧美在线观看视频一区二区三区| 欧美大肚乱孕交hd孕妇| 国产精品人人做人人爽人人添| 香蕉成人伊视频在线观看| 国内久久婷婷综合| 欧美伊人久久大香线蕉综合69 | 久久久亚洲精品石原莉奈 | 国产精品入口麻豆九色| 日韩制服丝袜先锋影音| 成人一区二区视频| 欧美日韩国产综合一区二区| 国产日产欧美一区二区三区| 视频在线观看91| 色综合天天天天做夜夜夜夜做| 日韩精品一区二区三区视频在线观看| 国产精品区一区二区三| 久久精品国产亚洲高清剧情介绍| 一本到不卡精品视频在线观看| 久久久亚洲午夜电影| 欧美aa在线视频| 欧美三级电影在线观看| 中文字幕欧美激情一区|