1 / 19

XtremWeb Simulation with SimGrid

Felipe L. Severino flseverino@inf.ufrgs.br. XtremWeb Simulation with SimGrid. Alan Malta Rodrigues alan.malta@inf.ufrgs.br. Summary. SimGrid XtremWeb SimGrid on XtremWeb XtremWeb on SimGrid Current Work. SimGrid. Toolkit for development of Distributed Environments. SimGrid.

elaina
Download Presentation

XtremWeb Simulation with SimGrid

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Felipe L. Severino flseverino@inf.ufrgs.br XtremWeb Simulation with SimGrid Alan Malta Rodrigues alan.malta@inf.ufrgs.br

  2. Summary SimGrid XtremWeb SimGrid on XtremWeb XtremWeb on SimGrid Current Work

  3. SimGrid Toolkit for development of Distributed Environments.

  4. SimGrid Requirements for simulation on MSG API: Platform XML file Power, bandwidth and latency; Routing table. Deployment XML file Process roles (function); Number of tasks, CPU and Network requirement. C code linking with the msg and xbt SimGrid libraries.

  5. XtremWeb Open source grid platform for distributed computing; Focus in volunteer computing and Desktop Grid; Many entries for a single task (e.g., distinct xml files); Bag-of-tasks; Related work: BOINC.

  6. XtremWeb Worker Computational resource; Client User: sends applications and jobs (tasks) to be computed; Server Manages clients, workers, applications and jobs; Pull and Steal model Pull: worker requires a job; Steal: cycle-stealing (computation interruptions).

  7. XtremWeb All communication started by the worker Get and Put primitives; One-sided communication (used in MPP). In distributed systems, one-sided communications use RPC or RMI (XW).

  8. XtremWeb - commands XW commands: --xwapps: list of registered applications; --xwaddapps: add a new application (app name, arch, SO, bin file); --xwsubmit: submit a new job; --xwenv: environment file; --xwlabel: name of the job; --xwtasks: list of jobs; --xwresult: get results (output).

  9. SimGrid on XtremWeb XW Modeling; Code compiled with static linking; Binary file ≈10 MB Platform and deployment in a zip file Platform with 100k nodes ≈44 MB; Only worker-server communication;

  10. SimGrid on XtremWeb • xtremweb.client --xwapps • xtremweb.client --xwaddapp xwmodel ix86 Linux XWModel • xtremweb.client --xwsubmit xwmodel --xwenv plat_deploy.zip / --xwlabel xwmodelJob0 plat.xml deploy.xml • xtremweb.client --xwtasks • xtremweb.client --xwresult

  11. XtremWeb on SimGrid Scenario: Desktop Grid (volunteer computing) Simulation variables: All combinations of tests; Thirty times for each test;

  12. XtremWeb on SimGrid Randomly generation platforms, following the arguments: Power (generated with the same probability):* Minimum: 35Mflops (P3 600MHz) Maximum: 181Mflops (Pentium M 1.83GHz) Bandwidth: Minimum: 250/128Kbps Maximum: 14/1Mbps Latency: Minimum: 5ms Maximum: 2000ms Server: 300Mflops, 50/10Mbps, 100ms. * Based on http://www.roylongbottom.org.uk/linpack%20results.htm#anchorStart

  13. XtremWeb on SimGrid Modeling of nodes’ unavailability: When a worker can sleep: before a request task (25%); and/or just after receive a task; How long a worker can sleep: From 60 seconds; Until 86400 seconds (1 day).

  14. XtremWeb on SimGrid (Source code - server) int server(int argc, char *argv[]) { server_host = MSG_host_self(); /* return location on which the current process is executed */ num_workers = argc – 4; xbt_assert1(sscanf(argv[1],"%d", &tasks_count), "Invalid parameter %s\n",argv[1]); xbt_assert1(sscanf(argv[2],"%lg", &task_cpu_size), "Invalid parameter %s\n",argv[2]); xbt_assert1(sscanf(argv[3],"%lg", &task_net_size), "Invalid parameter %s\n",argv[3]); todo = create_tasks(); /* function to allocate and create tasks */ workers = create_hosts(argv); /* function to allocate and create hosts */ scheduler(tasks_count, num_workers, workers); /* scheduling algorithm */ free(workers); free(todo); return 0; } /* end_of_server */

  15. XtremWeb on SimGrid (Source code - scheduler) int scheduler(int tasks_count, int workers_count, m_host_t* workers) { for (i = 0; i < tasks_count; i++) { requester = NULL; requester = receive_request_task(); if(requester == NULL) continue; else a = send_task_to_worker(i, requester); } for (; i < (tasks_count+tasks_losted); i++) { (...) } for(i=0; i<workers_count; i++) { (...) } INFO1("NUMBER OF TASKS LOSTED %d", tasks_losted); return 0; } /* end_of_scheduler */

  16. XtremWeb on SimGrid (Source code - worker) int worker(int argc, char *argv[]) { srand(time(NULL)+pid); /* generation of node’s unavailable */ while(1) { if(rand()%4 == 1) /* 25% can sleep */ { to_sleep = rand()%86401; if(to_sleep >= 60) MSG_process_sleep(to_sleep); } a = request_task_to_server(); switch(a) { case MSG_OK: b = receive_task_from_server(); /* execute_task(task); */ break; } } /* end_of_while */ return 0; } /* end_of_worker */

  17. Current Work Current XW Scheduler: FIFO (v. 1.8) or Round Robin (v. 2.0); Eder S. Fontoura proposes a newScheduler Resource availability profile; Based on resource utilization; Detects availability windows (idle periods); Schedules applications which better fit the available time;

  18. Current Work Simulate G5K with Eder’s scheduler; Simulate G5K with XW’s scheduler; Execute Eder’s scheduler in actual G5K; Execute XW’s scheduler in actual G5K; Analisys: Eder’s scheduler vs XW’s scheduler Simulation vs Real Execution;

  19. Felipe L. Severino flseverino@inf.ufrgs.br XtremWeb Simulation with SimGrid Alan Malta Rodrigues alan.malta@inf.ufrgs.br

More Related