• Enunciado
  • Perguntas Frequentes
  • Ficheiros usados durante a visualização do checkpoint
  • In order to ease the development of the project and to allow students to develop faster solutions to the project, we have updated the parameters of the submit command.


    The parameters of the client submit command will be:

    • The path to an input file, stored on the local file system, which will be used as input

    for the job. Note that the input file is accessible only on the local node on which

    the application and its client are running. The input file, instead, is not accessible by

    worker nodes, which need to retrieve the input data by the client.

    • The number S of splits in which the input file shall be partitioned.

    • The path of an output directory on the local file system, which will be used to store

    the files containing the output of the processing of the input splits, and which shall be

    named“1.out”, “2.out”, ..., “S.out”.

    • A class implementing the IMapper interface, which exposes a single method, i.e.:

    namespace PADIMapNoReduce {
    
          public interface IMapper {
    
                IList<KeyValuePair<string, string>> Map(string fileLine);
    
          }
    
    }

    • The path to the class library (dll) where the IMapper implementation is.



    The parameters to the PuppetMaster's SUBMIT command were also updated and are now:

    SUBMIT <ENTRY-URL> <FILE> <OUTPUT> <S> <MAP> <DLL>: Creates an application on the

    local node. The application submits a job to the PADIMapNoReduce platform by system by contacting the worker at <ENTRY-URL>. The job is defined by the following parameters:

    – <FILE> is the path to the input file. The file will be subdivided into <S> splits across the machines in W.

    – <OUTPUT> is the path to an output directory on the local filesystem of the application, which will store one output file for each split of the input file name “S1.out”, “S2.out”, ..., “S.out”.

    – <S>, i.e. the number of splits of the input file, which corresponds to the total number of worker tasks to be executed.

    – <MAP> is the name of the class implementing the IMapper interface.

    – <DLL> is the path to the class library (dll) where the implementation of IMapper is stored.


    Remember that the IMapper implementation MUST be independent from the PADIMapNoReduce code.


    Here you can find an example of how you can pass any class library to a .Net Remoting server and, on the server side, dynamically load the assembly, instantiate a class and call the instantiated object's Map method. As you can see in this example, the LibMapper DLL containing the Mapper is not referenced by any of the other projects and therefore may only be known at run-time.

  • In order to simplify the project testing, we are normalizing the ports where all the nodes will be running. Therefore, all groups should run their nodes on the following URLs.

    - Clients. The client .Net Remoting services should be located in the 10001-19999 range and be served by an object called "C". Normally, there will be only one running client which (assuming it is running on a machine with the 1.2.3.4 IP address) it would have the following URL: tcp://1.2.3.4:10001/C

    - PuppetMasters. The puppet master .Net Remoting services should be located in the 20001-29999 range and be served by an object called "PM". Assuming a particular puppet master is running on a machine with the 1.2.3.4 IP address, it would have the following URL: tcp://1.2.3.4:20001/PM . The second puppet master that is started, e.g. on machine 1.2.3.5 would have the URL tcp://1.2.3.5:20002/PM and so on. The port number should grow with the order in which they are started.


    - Workers. The worker .Net Remoting services should be located in the 30001-39999 range and be served by an object called "W". Assuming a particular worker is running on a machine with the 1.2.3.4 IP address, it would have the following URL: tcp://1.2.3.4:30001/W . The second worker that is started, e.g. on machine 1.2.3.5 would have the URL tcp://1.2.3.5:30002/W and so on. The port number should by default grow with the order in which they are started.
  • Modelo de artigo em LaTeX
  • Exemplos de Artigos: