日本欧洲视频一区_国模极品一区二区三区_国产熟女一区二区三区五月婷_亚洲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





 

標簽:

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

    昆明圖文信息
    蝴蝶泉(4A)-大理旅游
    蝴蝶泉(4A)-大理旅游
    油炸竹蟲
    油炸竹蟲
    酸筍煮魚(雞)
    酸筍煮魚(雞)
    竹筒飯
    竹筒飯
    香茅草烤魚
    香茅草烤魚
    檸檬烤魚
    檸檬烤魚
    昆明西山國家級風(fēng)景名勝區(qū)
    昆明西山國家級風(fēng)景名勝區(qū)
    昆明旅游索道攻略
    昆明旅游索道攻略
  • NBA直播 短信驗證碼平臺 幣安官網(wǎng)下載 歐冠直播 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

              欧美系列亚洲系列| 亚洲国产国产亚洲一二三| 亚洲欧美日韩国产中文 | 国产精品一区毛片| 亚洲视频成人| 黑人中文字幕一区二区三区| 久久这里只精品最新地址| 99精品国产在热久久下载| 国产精品视频免费观看| 久久久久久亚洲精品不卡4k岛国| 欧美日韩一区二区在线| 欧美一区二区三区视频在线观看| 亚洲国产精品久久久久婷婷老年 | 亚洲欧美综合网| 在线观看欧美日本| 国产精品乱子久久久久| 久久精品国产99国产精品澳门| 国产日韩欧美在线一区| 欧美大色视频| 久久av一区二区| 一本色道精品久久一区二区三区| 国产欧美视频一区二区| 欧美日韩第一区| 久久久久se| 午夜视频在线观看一区二区| 国产精品久久久久久久午夜片| 久久精品国产综合精品| 日韩一级欧洲| 亚洲日本一区二区三区| 国产一区免费视频| 国产美女精品人人做人人爽| 欧美另类变人与禽xxxxx| 欧美一区二区三区在| av不卡免费看| 亚洲日产国产精品| 亚洲成在线观看| 狠狠做深爱婷婷久久综合一区| 国产精品老牛| 国产精品jizz在线观看美国| 欧美成在线视频| 欧美.www| 麻豆精品精华液| 玖玖精品视频| 久热精品视频在线观看一区| 久久久精品999| 久久蜜桃av一区精品变态类天堂| 欧美一级一区| 99国产精品久久久久久久久久| 国产午夜精品理论片a级大结局| 国产精品萝li| 国产精品亚洲片夜色在线| 国产精品久久久久影院色老大 | 亚洲欧美国产日韩天堂区| 亚洲激情亚洲| 最新精品在线| 亚洲美女在线一区| 一区二区三区四区精品| 亚洲视频网在线直播| 亚洲视频在线观看免费| 亚洲欧美日韩精品久久亚洲区| 亚洲一区二区三区免费视频| 亚洲视频第一页| 亚洲欧美日韩国产| 久久国产视频网| 免费看成人av| 欧美日本一区| 国产精品日韩一区二区| 狠狠狠色丁香婷婷综合久久五月 | 亚洲国产成人精品女人久久久 | 韩国av一区二区| 亚洲电影免费观看高清| 亚洲美女网站| 午夜精品亚洲一区二区三区嫩草| 亚洲欧美日韩国产综合| 欧美在线短视频| 欧美11—12娇小xxxx| 欧美性色综合| 国语精品一区| 一区二区三区日韩在线观看| 久久不射电影网| 欧美成人免费全部| 国产欧美精品一区| 亚洲欧洲精品成人久久奇米网| 一本色道久久88亚洲综合88| 久久精品理论片| 欧美三区在线视频| 在线日韩视频| 一区二区久久久久久| 久久久久免费视频| 欧美午夜精品电影| 亚洲激情国产| 欧美伊人久久久久久午夜久久久久| 免费人成网站在线观看欧美高清| 国产精品美女久久福利网站| 国产精品一区二区在线观看不卡| 在线观看视频一区二区欧美日韩| 午夜精品影院在线观看| 欧美精品激情在线观看| 精品av久久707| 久久成人资源| 国产精品一区二区女厕厕| 亚洲成人中文| 久热精品视频在线观看| 国产精品美女久久久久久2018 | 国产在线高清精品| 亚洲欧美另类综合偷拍| 免费观看久久久4p| 国产啪精品视频| 亚洲一级电影| 欧美日韩三级视频| 夜夜嗨av一区二区三区网站四季av | 中日韩美女免费视频网站在线观看| 久久裸体艺术| 激情懂色av一区av二区av| 亚洲欧美日韩精品在线| 国产精品久久久对白| 99精品国产一区二区青青牛奶| 欧美在线播放| 激情婷婷欧美| 免费在线观看精品| 亚洲肉体裸体xxxx137| 男男成人高潮片免费网站| 怡红院av一区二区三区| 免播放器亚洲一区| 亚洲精品久久嫩草网站秘色| 欧美国产日韩精品| 一区二区三区成人| 国产精品日韩高清| 亚洲女同同性videoxma| 欧美日韩中文字幕综合视频| 亚洲自拍偷拍麻豆| 国产午夜亚洲精品羞羞网站| 欧美影院成年免费版| 精品二区视频| 欧美专区在线观看一区| 好吊妞**欧美| 欧美日韩另类国产亚洲欧美一级| 亚洲一区二区三区四区在线观看 | 一区二区三区在线观看视频| 欧美日韩精品一区二区三区四区| 亚洲欧美日韩精品一区二区| 亚洲欧洲精品成人久久奇米网| 国产精品一区二区久久| 欧美激情一区二区三区高清视频 | 一区二区三区毛片| 亚洲国产成人精品视频| 国产日韩欧美视频| 欧美日韩精品久久| 欧美大片在线观看一区| 久久国产欧美精品| 亚洲午夜视频在线| 亚洲午夜黄色| 亚洲精品美女在线| 国产精品99久久久久久www| 亚洲欧美日韩精品在线| 一区二区视频欧美| 老司机免费视频久久| 欧美在线影院在线视频| 亚洲欧美日韩精品久久| 亚洲视频观看| 中文有码久久| 亚洲视频一区二区在线观看| 亚洲精品国精品久久99热| 亚洲国产日韩欧美| 亚洲成人资源网| 影音先锋国产精品| 红桃视频一区| 在线观看成人小视频| 在线看日韩av| 亚洲国产精品成人综合色在线婷婷| 精品av久久707| 禁断一区二区三区在线| 黄色成人av网站| 在线日韩电影| 亚洲精品小视频| 亚洲卡通欧美制服中文| 日韩视频中文| 这里只有视频精品| 亚洲免费在线看| 亚洲自拍偷拍视频| 在线观看日韩国产| 在线看日韩av| 久久成人av少妇免费| 欧美日韩亚洲一区二区三区在线观看 | 久久综合色婷婷| 免费成人激情视频| 欧美成人四级电影| 欧美日韩一区二区精品| 国产精品久久久久aaaa| 亚洲一区在线视频| 欧美日韩国产成人在线91| 一区在线免费| 欧美影院午夜播放| 在线观看欧美激情| 国内成+人亚洲+欧美+综合在线| 在线国产精品播放| 亚洲午夜电影| 久久久久久亚洲综合影院红桃| 美女国内精品自产拍在线播放| 欧美日韩激情网|