########################################## The MRUtil module includes adts of MapperTask, ReducerTask, TaskTrackerInfo and TaskTracker.# # @author Kai Yao(yaokai)######################################### MRUtil : module { PATH : con "/appl/MR/mapreduce/mrutil.dis"; SUCCESS : con 0; PENDING : con 1; INIT : con 2; FAILED : con -1; MapperTask : adt{ # common task properties id : int; jobId : int; status : int; attemptCount : int; taskTrackerAddr : string; taskTrackerPort : int; mrClassName : string; toString : fn(mp : self ref MapperTask) : string; eq : fn(a, b : ref MapperTask) : int; # mapper reducerAmount : int; combinable : int; inputFileBlock : ref IOUtil->FileBlock; }; ReducerTask : adt{ # common task properties id : int; jobId : int; status : int; attemptCount : int; taskTrackerAddr : string; taskTrackerPort : int; mrClassName : string; toString : fn(rd : self ref ReducerTask) : string; eq : fn(a, b : ref ReducerTask) : int; # reducer mapperAmount : int; partitionIndex : int; outputFile : string; outputRep : int; outputSize : int; }; TaskTrackerInfo : adt { addr : string; port : int; mapperTaskNum : int; reducerTaskNum : int; isWorking : int; timeStamp : int; toString : fn(tt : self ref TaskTrackerInfo) : string; }; TaskTracker : adt { info : ref TaskTrackerInfo; mappers : list of ref MapperTask; reducers : list of ref ReducerTask; }; init : fn(); mapper2msg : fn(mapper : ref MapperTask) : string; reducer2msg : fn(reducer : ref ReducerTask) : string; tracker2msg : fn(tracker : ref TaskTrackerInfo) : string; msg2mapper : fn(msg : list of string) : ref MapperTask; msg2reducer : fn(msg : list of string) : ref ReducerTask; msg2tracker : fn(msg : list of string) : ref TaskTrackerInfo; };
########################################
#
# The MRUtil module includes adts of MapperTask, ReducerTask, TaskTrackerInfo and TaskTracker.
#
# @author Kai Yao(yaokai)
#
########################################
MRUtil : module {
PATH : con "/appl/MR/mapreduce/mrutil.dis";
SUCCESS : con 0;
PENDING : con 1;
INIT : con 2;
FAILED : con -1;
MapperTask : adt{
# common task properties
id : int;
jobId : int;
status : int;
attemptCount : int;
taskTrackerAddr : string;
taskTrackerPort : int;
mrClassName : string;
toString : fn(mp : self ref MapperTask) : string;
eq : fn(a, b : ref MapperTask) : int;
# mapper
reducerAmount : int;
combinable : int;
inputFileBlock : ref IOUtil->FileBlock;
};
ReducerTask : adt{
# common task properties
id : int;
jobId : int;
status : int;
attemptCount : int;
taskTrackerAddr : string;
taskTrackerPort : int;
mrClassName : string;
toString : fn(rd : self ref ReducerTask) : string;
eq : fn(a, b : ref ReducerTask) : int;
# reducer
mapperAmount : int;
partitionIndex : int;
outputFile : string;
outputRep : int;
outputSize : int;
};
TaskTrackerInfo : adt {
addr : string;
port : int;
mapperTaskNum : int;
reducerTaskNum : int;
isWorking : int;
timeStamp : int;
toString : fn(tt : self ref TaskTrackerInfo) : string;
};
TaskTracker : adt {
info : ref TaskTrackerInfo;
mappers : list of ref MapperTask;
reducers : list of ref ReducerTask;
};
init : fn();
mapper2msg : fn(mapper : ref MapperTask) : string;
reducer2msg : fn(reducer : ref ReducerTask) : string;
tracker2msg : fn(tracker : ref TaskTrackerInfo) : string;
msg2mapper : fn(msg : list of string) : ref MapperTask;
msg2reducer : fn(msg : list of string) : ref ReducerTask;
msg2tracker : fn(msg : list of string) : ref TaskTrackerInfo;
};