国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看

合肥生活安徽新聞合肥交通合肥房產(chǎn)生活服務(wù)合肥教育合肥招聘合肥旅游文化藝術(shù)合肥美食合肥地圖合肥社保合肥醫(yī)院企業(yè)服務(wù)合肥法律

CS 551代寫(xiě)、c/c++設(shè)計(jì)編程代做
CS 551代寫(xiě)、c/c++設(shè)計(jì)編程代做

時(shí)間:2024-11-28  來(lái)源:合肥網(wǎng)hfw.cc  作者:hfw.cc 我要糾錯(cuò)



CS 551 Systems Programming, Fall 2024
Programming Project 2
In this project we are going to simulate the MapReduce framework on a single machine using
multi-process programming.
1 Introduction
In 2004, Google (the paper “MapReduce: Simplified Data Processing on Large Clusters” by J.
Dean and S. Ghemawat) introduced a general programming model for processing and generating
large data sets on a cluster of computers.
The general idea of the MapReduce model is to partition large data sets into multiple splits,
each of which is small enough to be processed on a single machine, called a worker. The data
splits will be processed in two phases: the map phase and the reduce phase. In the map phase, a
worker runs user-defined map functions to parse the input data (i.e., a split of data) into multiple
intermediate key/value pairs, which are saved into intermediate files. In the reduce phase, a
(reduce) worker runs reduce functions that are also provided by the user to merge the intermediate
files, and outputs the result to result file(s).
We now use a small data set (the first few lines of a famous poem by Robert Frost, see Figure
1) to explain to what MapReduce does.
Figure 1: A small data set to be processed by MapReduce.
To run MapReduce, we first split the dataset into small pieces. For this example, we will split
the dataset by the four lines of the poem (Figure 2).
Figure 2: Partitioning the input data set into multiple splits.
The MapReduce framework will have four workers (in our project, the four workers are four
processes that are forked by the main program. In reality, they will be four independent machines)
to work on the four splits (each worker is working on a split). These four map worker will each
run a user-defined map function to process the split. The map function will map the input into
a series of (key, value) pairs. For this example, let the map function simply count the number of
each letter (A-Z) in the data set.
Figure 3: The outputs of the map phase, which are also the inputs to the reduce phase.
The map outputs in our example are shown in Figure 3. They are also the inputs for the
reduce phase. In the reduce phase, a reduce worker runs a user-defined reduce function to merge
the intermediate results output by the map workers, and generates the final results (Figure 4).
Figure 4: The final result
2 Simulating the MapReduce with multi-process programming
2.1 The base code
Download the base code from the Brightspace. You will need to add your implementation into
this base code. The base code also contains three input data sets as examples.
2.2 The working scenario
In this project, we will use the MapReduce model to process large text files. The input will be a
file that contains many lines of text. The base code folder contains three example input data files.
We will be testing using the example input data files, or data files in similar format.
A driver program is used to accept user inputs and drive the MapReduce processing. The
main part of driver program is already implemented in main.c. You will need to complete the
mapreduce() function, which is defined in mapreduce.c and is called by the driver program.
A Makefile has already been given. Running the Makefile can give you the executable of the driver
program, which is named as “run-mapreduce”. The driver program is used in the following way:
./run-mapreduce "counter"|"finder" file_path split_num [word_to_find]
where the arguments are explained as follows.
• The first argument specifies the type of the task, it can be either the “Letter counter” or
the “Word conter” (explained later).
• The second argument “file path” is the path to the input data file.
• The third argument “split num” specifies how many splits the input data file should be
partitioned into for the map phase.
• The fourth argument is used only for the “Word finder” task. This argument specifies the
word that the user is trying to find in the input file.
The mapreduce() function will first partition the input file into N roughly equal-sized splits,
where N is determined by the split num argument of the driver program. Note that the sizes of
each splits do not need to be exactly the same, otherwise a word may be divided into two different
splits.
Then the mapreduce() forks one worker process per data split, and the worker process will
run the user-defined map function on the data split. After all the splits have been processed, the
first worker process forked will also need to run the user-defined reduce function to process all the
intermediate files output by the map phase. Figure 5 below gives an example about this process.
split 0
split 1
split 2
Driver
Program
map
worker 0
reduce
worker
map
worker 2
map
worker 3
“mr-0.itm”
“mr-1.itm”
“mr-2.itm”
“mr-3.itm”
map
worker 1
(1) partition
(2) fork
(3) userdefined
map
(5) userdefined
reduce
“mr.rst”
Input
data file
Intermediate
files
Result
file
PID=1001
PID=1002
PID=1003
PID=1004
PID=1001
split 3
Figure 5: An example of the working scenario.
2.3 The two tasks
The two tasks that can be performed by the driver program are described as follows.
The “Letter counter” task is similar to the example we showed in Section 1, which is counting
the number of occurrence of the 26 letters in the input file. The difference is the intermediate file
and the final result file should be written in the following format:
A number-of-occurrences
B number-of-occurrences
...
Y number-of-occurrences
Z number-of-occurrences
The “Word finder” task is to find the word provided by user (specified by the “word to find”
argument of the driver program) in the input file, and outputs to the result file all the lines that
contain the target word in the same order as they appear in the input file. For this task, you
should implement the word finder as a whole word match, meaning that the function should only
recognize complete words that match exactly(case-sensitive) with the specified search terms. And
if multiple specified words are found in the same line, you only need to output that line once.
2.4 Other requirements
• Besides the mapreduce() function defined in mapreduce.c, you will also need to complete the map/reduce functions of the two tasks (in usr functions.c.)
• About the interfaces listed in “user functions.h” and “mapreduce.h”:
– Do not change any function interfaces.
– Do not change or delete any fields in the structure interfaces (but you may add additional fields in the structure interface if necessary).
The above requirements allow the TA to test your implementations of worker logic and user
map/reduce functions separately. Note that violation to these requirements will result in 0
point for this project.
• Use fork() to spawn processes.
• Be careful to avoid fork bomb (check on Wikipedia if you are not familiar with it). A fork
bomb will result in 0 point for this project.
• The fd in the DATA SPLIT structure should be a file descriptor to the original input data
file.
• The intermediate file output by the first map worker process should be named as “mr-0.itm”,
the intermediate file by the second map worker process should be named as “mr-1.itm”, ...
The result file is named as “mr.rst” (already done in main.c).
• Program should not automatically delete the intermediate files once they are created. They
will be checked when grading. But your submission should not contain any intermediate
files as they should be created dynamically.
3 Submit your work
Compress the files: compress your README file, all the files in the base code folder, and
any additional files you add into a ZIP file. Name the ZIP file based on your BU email ID. For
example, if your BU email is “abc@binghamton.edu”, then the zip file should be “proj2 abc.zip”.
Submission: submit the ZIP file to Brightspace before the deadline.
3.1 Grading guidelines
(1) Prepare the ZIP file on a Linux machine. If your zip file cannot be uncompressed, 5 points
off.
(2) If the submitted ZIP file/source code files included in the ZIP file are not named as specified
above (so that it causes problems for TA’s automated grading scripts), 10 points off.
(3) If the submitted code does not compile:
1 TA will try to fix the problem (for no more than 3 minutes);
2 if (problem solved)
3 1%-10% points off (based on how complex the fix is, TA’s discretion);
4 else
5 TA may contact the student by email or schedule a demo to fix the problem;
6 if (problem solved)
7 11%-20% points off (based on how complex the fix is, TA’s discretion);
8 else
9 All points off;
So in the case that TA contacts you to fix a problem, please respond to TA’s email promptly
or show up at the demo appointment on time; otherwise the line 9 above will be effective.
(4) If the code is not working as required in this spec, the TA should take points based on the
assigned full points of the task and the actual problem.
(5) Lastly but not the least, stick to the collaboration policy stated in the syllabus: you may
discuss with your fellow students, but code should absolutely be kept private.

請(qǐng)加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp




 

掃一掃在手機(jī)打開(kāi)當(dāng)前頁(yè)
  • 上一篇:COMP4134代做、Java程序語(yǔ)言代寫(xiě)
  • 下一篇:代做CSC3050、代寫(xiě)C/C++程序語(yǔ)言
  • 無(wú)相關(guān)信息
    合肥生活資訊

    合肥圖文信息
    流體仿真外包多少錢(qián)_專(zhuān)業(yè)CFD分析代做_友商科技CAE仿真
    流體仿真外包多少錢(qián)_專(zhuān)業(yè)CFD分析代做_友商科
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路流場(chǎng)仿真外包
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路
    流體CFD仿真分析_代做咨詢(xún)服務(wù)_Fluent 仿真技術(shù)服務(wù)
    流體CFD仿真分析_代做咨詢(xún)服務(wù)_Fluent 仿真
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢(xún)外包_剛強(qiáng)度疲勞振動(dòng)
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢(xún)外包_剛強(qiáng)度疲
    流體cfd仿真分析服務(wù) 7類(lèi)仿真分析代做服務(wù)40個(gè)行業(yè)
    流體cfd仿真分析服務(wù) 7類(lèi)仿真分析代做服務(wù)4
    超全面的拼多多電商運(yùn)營(yíng)技巧,多多開(kāi)團(tuán)助手,多多出評(píng)軟件徽y1698861
    超全面的拼多多電商運(yùn)營(yíng)技巧,多多開(kāi)團(tuán)助手
    CAE有限元仿真分析團(tuán)隊(duì),2026仿真代做咨詢(xún)服務(wù)平臺(tái)
    CAE有限元仿真分析團(tuán)隊(duì),2026仿真代做咨詢(xún)服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內(nèi)
    釘釘簽到打卡位置修改神器,2026怎么修改定
  • 短信驗(yàn)證碼 豆包網(wǎng)頁(yè)版入口 破天一劍 目錄網(wǎng) 排行網(wǎng)

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

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網(wǎng) 版權(quán)所有
    ICP備06013414號(hào)-3 公安備 42010502001045

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    国产激情在线观看视频| 日韩在线免费视频| 国产精品入口免费| 狠狠干 狠狠操| 精品蜜桃传媒| y111111国产精品久久婷婷| 国产在线拍偷自揄拍精品| 狠狠色综合欧美激情| 久久久久久久久一区| 日本午夜在线亚洲.国产| 97人人模人人爽人人喊中文字| 粉嫩av一区二区三区免费观看| 国产成人精品无码播放| 琪琪亚洲精品午夜在线| 国产精品久久久久久久天堂| 国产在线视频2019最新视频| 国产精品美女在线| 国内成人精品视频| 国产精品美女无圣光视频| 欧美精品欧美精品| 日韩在线观看高清| 欧美一区二区大胆人体摄影专业网站| 二级片在线观看| 在线视频精品一区| 97精品国产97久久久久久| 亚洲欧美影院| 777久久精品一区二区三区无码| 亚洲一区三区视频在线观看| 91久久久精品| 亚洲黄色网址在线观看| 91国产一区在线| 亚洲乱码国产一区三区| 国产精华一区二区三区| 日韩免费观看高清| 久久精品国产亚洲精品2020| 欧美大陆一区二区| 国产aaa一级片| 国产免费观看久久黄| 国产aⅴ夜夜欢一区二区三区| 国产一区二区三区播放| 自拍另类欧美| 91av在线不卡| 青青在线免费视频| 国产精品久久999| 国产免费裸体视频| 天堂v在线视频| 日韩中文综合网| 国产综合香蕉五月婷在线| 欧美久久精品一级黑人c片 | 国产欧美精品在线| 亚洲国产精品毛片| 三级精品视频久久久久| 国产一区在线播放| 午夜精品久久久久久久99热浪潮| 久久国产精品免费一区| 国产在线观看精品一区二区三区| 一区二区视频在线播放| 国产a级片免费看| 国产日韩在线免费| 欧美一级免费播放| 精品久久久久久无码国产| 国产精成人品localhost| 黑人中文字幕一区二区三区| 一区二区三区欧美成人| 国产mv免费观看入口亚洲| 精品网站在线看| 日本不卡一区| 一区二区在线观看网站| 俺去啦;欧美日韩| 91免费视频国产| 精品一区二区三区自拍图片区| 亚洲精品一区二区毛豆| 国产精品老女人视频| 久久久神马电影| 国产一区二区自拍| 日韩视频 中文字幕| 欧美激情在线有限公司| 日韩中文在线不卡| 成人a视频在线观看| 免费在线观看亚洲视频| 色视频一区二区三区| 精品国产免费久久久久久尖叫| 日韩专区在线播放| 国产极品jizzhd欧美| 成人久久精品视频| 国产资源第一页| 青青草成人在线| 亚洲精品电影在线一区| 精品久久久久久中文字幕动漫| 日韩在线免费高清视频| 81精品国产乱码久久久久久| 国产青草视频在线观看| 欧美日本韩国在线| 日本精品久久久| 欧美精品久久久久| 国产精品对白一区二区三区| 精品国产一区二区三区久久狼5月| 国产精品91在线| 99视频精品全部免费看| 国产尤物99| 黄色网在线视频| 欧美一区二视频在线免费观看| 懂色av一区二区三区四区五区| 久久这里有精品视频| 国产精品欧美激情在线播放| 久久久久亚洲精品成人网小说| 91看片淫黄大片91| 99精品视频网站| 国产特级淫片高清视频| 欧美在线欧美在线| 日韩精品av一区二区三区| 日本最新一区二区三区视频观看| 亚洲国产精品一区在线观看不卡| 伊人久久在线观看| 亚洲永久免费观看| 亚洲欧洲三级| 亚洲成人午夜在线| 性色av香蕉一区二区| 亚洲mm色国产网站| 亚洲熟妇av一区二区三区| 亚洲一区二区三区乱码| 亚洲午夜高清视频| 亚洲综合色激情五月| 亚洲欧美丝袜| 亚洲欧洲日夜超级视频| 亚洲v欧美v另类v综合v日韩v| 亚洲国产欧洲综合997久久| 偷拍视频一区二区| 日韩中文字幕一区| 青青草影院在线观看| 黄色一级片网址| 国产在线播放不卡| 国产免费观看高清视频| 丰满少妇久久久| 68精品国产免费久久久久久婷婷| 国产成人精品999| 日韩中文在线视频| 国产精品久久久久久久天堂| 国产精品久久久久9999小说| 国产精品国产精品国产专区蜜臀ah| 欧美成人性色生活仑片| 伊人婷婷久久| 熟女少妇在线视频播放| 日韩人妻精品一区二区三区| 欧美日韩在线观看一区| 国产尤物99| 91精品国产自产在线| 国产l精品国产亚洲区久久| 久久久精品电影| 美日韩精品免费视频| 少妇av一区二区三区无码| 欧美另类一区| 国产精品一区二区久久| 久久人妻无码一区二区| 九一国产精品视频| 国产精品区一区| 亚洲一区二区自拍| 日韩精品一区二区三区四 | 亚洲一区在线直播| 日韩精品视频久久| 国产三区二区一区久久| 91黄在线观看| 免费不卡av在线| 国产精品亚洲网站| 久久免费视频2| 亚洲欧洲日夜超级视频| 欧美日韩一区二区视频在线| 国产中文字幕二区| 国产精品一区电影| 久久久久久艹| 国产精品福利无圣光在线一区| 一本久久a久久精品vr综合| 婷婷精品国产一区二区三区日韩 | 国产精品人成电影在线观看| 伊人久久在线观看| 欧美性猛交久久久乱大交小说| 国产日韩av在线| 国产v亚洲v天堂无码久久久| 精品自在线视频| 日韩区国产区| 国产欧美久久久久久| 日韩一区av在线| 亚洲欧美日产图| 免费99视频| 久久久久久九九九| 亚洲伊人久久综合| 精品视频一区二区在线| 国产成人自拍视频在线观看| 精品国产一区二区三区日日嗨| 日本乱人伦a精品| 国产精品午夜一区二区欲梦| 久久精品视频在线| 欧美一区二区三区电影在线观看| 国产日韩在线观看av| 日韩有码片在线观看| 亚洲综合欧美日韩| 国产性生活免费视频| 日韩中文字幕视频在线观看| 亚洲人久久久| 粉嫩av一区二区三区天美传媒|