process - Is there any limitations to number of running processes on host? -
in platform file have 1 host:
<host id="worker1" speed="100mf" core="101"/>
then in worker.c create 101 (or > 100) processes expecting each on each core 1 process launched. noticed 100 first processes able execute task or write xbt_info
:
int worker(int argc, char *argv[]) { (int = 0; < 101; ++i) { msg_process_create("x", slave, null, msg_host_self()); } return 0; } int slave(){ msg_task_execute(msg_task_create("kotok", 1e6, 0, null)); msg_process_kill(msg_process_self()); return 0; }
other processes above 100 first ones unable manage , kill:
[ 1.000000] (0:maestro@) oops ! deadlock or code not clean. [ 1.000000] (0:maestro@) 1 processes still running, waiting something. [ 1.000000] (0:maestro@) legend of following listing: "process <pid> (<name>@<host>): <status>" [ 1.000000] (0:maestro@) process 102 (x@worker1): waiting execution synchro 0x26484d0 (kotok) in state 2 finish
update here code functions are:
main
int main(int argc, char *argv[]) { msg_init(&argc, argv); msg_create_environment(argv[1]); /** - load platform description */ msg_function_register("worker", worker); msg_launch_application(argv[2]); /** - deploy application */ msg_error_t res = msg_main(); /** - run simulation */ xbt_info("simulation time %g", msg_get_clock()); return res != msg_ok; }
deployment.xml
<?xml version='1.0'?> <!doctype platform system "http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd"> <platform version="4"> <process host="worker1" function="worker"> <argument value="0"/> </process> </platform>
there internal limit size of maxmin system (the core of simgrid), 100, , may hit in case. added flag make limit configurable. pull last version, , try setting maxmin/concurrency_limit 1000 , see if fixes issue?
Comments
Post a Comment