草庐IT

mpi_send

全部标签

c# - SmtpClient.Send 不适用于 linux 环境

以下代码,在.netcore2环境下编写,在windows环境下运行,在linux环境下运行。stringhost="10.99.99.10";intport=25;stringuserName="user@user.com";stringpassword="password";stringfrom=userName;varclient=newSmtpClient{Host=host,Port=port,EnableSsl=false,DeliveryMethod=SmtpDeliveryMethod.Network,UseDefaultCredentials=false,Creden

linux - POSIX 消息队列 - mq_send 线程唤醒顺序

有人可以向我解释消息队列如何处理多个唤醒线程阻塞在单个消息队列上?我的情况是我有多个作者阻塞了一条完整的消息队列,每个发布消息的优先级等于线程优先。我想确保他们醒来并按优先顺序发帖,然而,我的应用程序表现得好像它们以先进先出的顺序醒来(即他们阻止的顺序)。每个阻塞线程是使用具有不同优先级的SCHED_FIFO策略进行调度系统级范围。我在Internet上上下搜索了一些描述如何这应该可以工作,我能找到的只是描述它的POSIX手册页如果优先级调度是支持。由于内核调度程序是优先调度程序我会认为线程会按优先顺序唤醒并发布到队列,但是情况似乎并非如此。我确定我是只是缺少一些细微的细节,希望这里的

linux - POSIX 消息队列 - mq_send 线程唤醒顺序

有人可以向我解释消息队列如何处理多个唤醒线程阻塞在单个消息队列上?我的情况是我有多个作者阻塞了一条完整的消息队列,每个发布消息的优先级等于线程优先。我想确保他们醒来并按优先顺序发帖,然而,我的应用程序表现得好像它们以先进先出的顺序醒来(即他们阻止的顺序)。每个阻塞线程是使用具有不同优先级的SCHED_FIFO策略进行调度系统级范围。我在Internet上上下搜索了一些描述如何这应该可以工作,我能找到的只是描述它的POSIX手册页如果优先级调度是支持。由于内核调度程序是优先调度程序我会认为线程会按优先顺序唤醒并发布到队列,但是情况似乎并非如此。我确定我是只是缺少一些细微的细节,希望这里的

linux - mq_send 是原子的吗?

谁能告诉我如果多线程程序在执行mq_send期间收到SIGSTOP信号会发生什么? 最佳答案 mq_send的手册页表明它是在mq_timedsend之上实现的,它是Linux中的系统调用。系统调用通常是原子的,因为它们要么成功,要么不成功。如果系统调用被信号中断,通常的行为是返回-1并将errno设置为EINTR。看起来mq_send有这种行为。基本上,您应该检查EINTR,如果以这种方式失败,则重试调用。这对于像recv或select这样可能阻塞的系统调用尤为重要,因为它们被中断的可能性更高。

linux - mq_send 是原子的吗?

谁能告诉我如果多线程程序在执行mq_send期间收到SIGSTOP信号会发生什么? 最佳答案 mq_send的手册页表明它是在mq_timedsend之上实现的,它是Linux中的系统调用。系统调用通常是原子的,因为它们要么成功,要么不成功。如果系统调用被信号中断,通常的行为是返回-1并将errno设置为EINTR。看起来mq_send有这种行为。基本上,您应该检查EINTR,如果以这种方式失败,则重试调用。这对于像recv或select这样可能阻塞的系统调用尤为重要,因为它们被中断的可能性更高。

c - C : sending data to the parent process 中的进程管理

我正在为OperativeSytems类编写一个程序,我需要一种将整数从子进程传递到其父进程的好方法,最好不使用管道。经过一些尝试和错误,我得到了这样的东西来完成这项工作:pid_tpid_son;intstatus;if((pid_son=fork())>=0){if(pid_son==0){intresult=0;//Makesomearithmeticexit(result);}else{while(pid_son!=wait(&status));printf("Theresultis%d\n",result);}}但这对我来说看起来不“正确”(exit应该返回进程的错误处理退出

c - C : sending data to the parent process 中的进程管理

我正在为OperativeSytems类编写一个程序,我需要一种将整数从子进程传递到其父进程的好方法,最好不使用管道。经过一些尝试和错误,我得到了这样的东西来完成这项工作:pid_tpid_son;intstatus;if((pid_son=fork())>=0){if(pid_son==0){intresult=0;//Makesomearithmeticexit(result);}else{while(pid_son!=wait(&status));printf("Theresultis%d\n",result);}}但这对我来说看起来不“正确”(exit应该返回进程的错误处理退出

linux - 使用 MPI.NET 和 Mono 框架在 super 计算机的 linux 节点上执行分布式计算

我想知道是否可以使用MPI.NET+Mono框架在所有基于Linux的super计算机节点上运行分布式计算?我知道Mono运行时在集群上可用,使用标准库的单声道编译程序运行良好。但是MPI.NET呢?还有一个问题,我对MPI.NET和MPIch2等之间的区别有点困惑。MPI.NET是标准MPIch2的包装器吗?如果MPIch2可用,它可以在Linux上运行吗?或者它是MPIch2的替代品并且需要安装MPI.NET客户端?如果您对此有任何经验,我非常感谢您对此的投入。谢谢。 最佳答案 我终于找到了MPI.NET网站上关于此事的一些问题

linux - 使用 MPI.NET 和 Mono 框架在 super 计算机的 linux 节点上执行分布式计算

我想知道是否可以使用MPI.NET+Mono框架在所有基于Linux的super计算机节点上运行分布式计算?我知道Mono运行时在集群上可用,使用标准库的单声道编译程序运行良好。但是MPI.NET呢?还有一个问题,我对MPI.NET和MPIch2等之间的区别有点困惑。MPI.NET是标准MPIch2的包装器吗?如果MPIch2可用,它可以在Linux上运行吗?或者它是MPIch2的替代品并且需要安装MPI.NET客户端?如果您对此有任何经验,我非常感谢您对此的投入。谢谢。 最佳答案 我终于找到了MPI.NET网站上关于此事的一些问题

linux - 为什么 MPI 给出运行时错误

在我输入之后sudoapt-getinstallmpich2mpich已安装,但第一个问题是我不知道文件安装在哪里。另一方面,当我写的时候mpirun-np3./hello.o它给了我:mpiexec_hani-laptop:cannotconnecttolocalmpd(/tmp/mpd2.console_hani);possiblecauses:1.nompdisrunningonthishost2.anmpdisrunningbutwasstartedwithouta"console"(-noption)Incase1,youcanstartanmpdonthishostwith