-#include "Master.hpp"\r
-#include "BasicTask.hpp"\r
-#include "FinalizeTask.hpp"\r
-\r
-#include <Host.hpp>\r
-#include <HostNotFoundException.hpp>\r
-\r
-#include <Msg.hpp>\r
-\r
-MSG_IMPLEMENT_DYNAMIC(Master, Process);\r
-\r
-int Master::main(int argc, char** argv)\r
-{\r
- int taskCount; \r
- double taskComputeSize; \r
- double taskCommunicateSize;\r
- \r
- info("Hello");\r
- \r
- info(TEXT_("argc=") + TEXT_(argc));\r
- \r
- for (int i = 0; i< argc; i++) \r
- info(TEXT_("argv:") + TEXT_(argv[i]));\r
- \r
- sscanf(argv[0],"%d", &taskCount);\r
- sscanf(argv[1],"%lg", &taskComputeSize);\r
- sscanf(argv[2],"%lg", &taskCommunicateSize);\r
- \r
- BasicTaskPtr* basicTasks = new BasicTaskPtr[taskCount];\r
- \r
- for (int i = 0; i < taskCount; i++) \r
- basicTasks[i] = new BasicTask((TEXT_("Task_") + TEXT_(i)), taskComputeSize, taskCommunicateSize); \r
- \r
- int aliasCount = argc - 3;\r
- \r
- char** aliases = (char**) calloc(aliasCount, sizeof(char*));\r
- \r
- for(int i = 3; i < argc ; i++) \r
- aliases[i - 3] = _strdup(argv[i]);\r
- \r
- info(TEXT_("Got ") + TEXT_(aliasCount) + TEXT_(" alias(es) :"));\r
- \r
- for (int i = 0; i < aliasCount; i++)\r
- info(TEXT_("\t") + TEXT_(aliases[i]));\r
- \r
- info(TEXT_("Got ") + TEXT_(taskCount) + TEXT_(" task to process."));\r
- \r
- for (int i = 0; i < taskCount; i++) \r
- { \r
- info(TEXT_("Sending \"") + TEXT_(basicTasks[i]->getName()) + TEXT_("\" to \"") + TEXT_(aliases[i % aliasCount]) + TEXT_("\""));\r
- \r
- /*if((Host::currentHost().getName()).equals((aliases[i % aliasCount].split(":"))[0]))\r
- info("Hey ! It's me ! ");\r
- */\r
- \r
- basicTasks[i]->send(aliases[i % aliasCount]);\r
- }\r
- \r
- info("Send completed");\r
- \r
- info("All tasks have been dispatched. Let's tell everybody the computation is over.");\r
- \r
- FinalizeTask* finalizeTask;\r
- \r
- for (int i = 0; i < aliasCount; i++) \r
- {\r
- finalizeTask = new FinalizeTask();\r
- finalizeTask->send(aliases[i]);\r
- \r
- }\r
- \r
- info("Goodbye now!");\r
-\r
- delete[] basicTasks;\r
- delete[] aliases;\r
-\r
- delete this;\r
-\r
- return 0;\r
-}
\ No newline at end of file
+#include "Master.hpp"
+#include "BasicTask.hpp"
+#include "FinalizeTask.hpp"
+
+#include <MsgHost.hpp>
+#include <HostNotFoundException.hpp>
+
+#include <Msg.hpp>
+
+MSG_IMPLEMENT_DYNAMIC(Master, Process)
+
+int Master::main(int argc, char** argv)
+{
+ int taskCount;
+ double taskComputeSize;
+ double taskCommunicateSize;
+
+ info("Hello");
+
+ info(TEXT_("argc=") + TEXT_(argc));
+
+ for (int i = 0; i< argc; i++)
+ info(TEXT_("argv:") + TEXT_(argv[i]));
+
+ sscanf(argv[0],"%d", &taskCount);
+ sscanf(argv[1],"%lg", &taskComputeSize);
+ sscanf(argv[2],"%lg", &taskCommunicateSize);
+
+ BasicTaskPtr* basicTasks = new BasicTaskPtr[taskCount];
+
+ for (int i = 0; i < taskCount; i++)
+ basicTasks[i] = new BasicTask((TEXT_("Task_") + TEXT_(i)), taskComputeSize, taskCommunicateSize);
+
+ int aliasCount = argc - 3;
+
+ char** aliases = (char**) calloc(aliasCount, sizeof(char*));
+
+ for(int i = 3; i < argc ; i++)
+ aliases[i - 3] = _strdup(argv[i]);
+
+ info(TEXT_("Got ") + TEXT_(aliasCount) + TEXT_(" alias(es) :"));
+
+ for (int i = 0; i < aliasCount; i++)
+ info(TEXT_("\t") + TEXT_(aliases[i]));
+
+ info(TEXT_("Got ") + TEXT_(taskCount) + TEXT_(" task to process."));
+
+ for (int i = 0; i < taskCount; i++)
+ {
+ info(TEXT_("Sending \"") + TEXT_(basicTasks[i]->getName()) + TEXT_("\" to \"") + TEXT_(aliases[i % aliasCount]) + TEXT_("\""));
+
+ /*if((Host::currentHost().getName()).equals((aliases[i % aliasCount].split(":"))[0]))
+ info("Hey ! It's me ! ");
+ */
+
+ basicTasks[i]->send(aliases[i % aliasCount]);
+ }
+
+ info("Send completed");
+
+ info("All tasks have been dispatched. Let's tell everybody the computation is over.");
+
+ FinalizeTask* finalizeTask;
+
+ for (int i = 0; i < aliasCount; i++)
+ {
+ finalizeTask = new FinalizeTask();
+ finalizeTask->send(aliases[i]);
+
+ }
+
+ info("Goodbye now!");
+
+ delete[] basicTasks;
+ delete[] aliases;
+
+ delete this;
+
+ return 0;
+}