MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: How to kill slave kernel securely?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg117209] Re: How to kill slave kernel securely?
  • From: "Alexey Popkov" <lehin.p at gmail.com>
  • Date: Fri, 11 Mar 2011 04:35:40 -0500 (EST)

Todd,

In really I just need a function that kills the slave kernel securely and
returns only when the process of the slave kernel has already killed and its
memory has already released.

Alexey Popkov


----- Original Message ----- 
From: "Alexey Popkov" <lehin.p at gmail.com>
To: <mathgroup at smc.vnet.net>; "Todd Gayley" <tgayley at wolfram.com>
Sent: Friday, March 11, 2011 4:56 AM
Subject: [mg117209] Re: [mg117082] How to kill slave kernel securely?


> Todd,
>
> I have discovered that in standard cases when using LinkInterrupt[link, 1]
> my operating system (Windows 2000 at the moment) releases physical memory
> only in 0.05-0.1 second beginning with a moment of execution of
> LinkInterrupt[link, 1] while with LinkClose[link] it releases physical
> memory in 0.01-0.03 second (both values include the time, spent on
execution
> of the command itself). Time intervals were measured by using
SessionTime[]
> under equal conditions and are steadily reproduced.
>
> Is there a way to make LinkInterrupt[link, 1] faster?
>
> Alexey Popkov
>
>
> ----- Original Message ----- 
> From: "Todd Gayley" <tgayley at wolfram.com>
> To: "Alexey" <lehin.p at gmail.com>; <mathgroup at smc.vnet.net>
> Sent: Thursday, March 10, 2011 4:09 AM
> Subject: Re: [mg117082] How to kill slave kernel securely?
>
>
> > At 06:00 AM 3/9/2011, Alexey wrote:
> > >Good day,
> > >
> > >LinkClose[link] "does not necessarily terminate the program at the
> > >other end of the connection" as it is said in the Documentation. Is
> > >there a way to kill the process of the slave kernel securely?
> >
> >
> > Alexey,
> >
> > As you note, the kernel doesn't always die immediately when the link
> > to it closes. That requires some cooperation from the kernel, and if
> > the kernel is deep in some computational library function, it might
> > not be in a position to respond. A much stronger step than just
> > closing the link is to send the kernel an MLTerminateMessage. From
> > top-level code (which is what I know you are using):
> >
> >    LinkInterrupt[link, 1] (* An undocumented form that lets you pick
> > the message type *)
> >
> > In C:
> >
> >    MLPutMessage(link, MLTerminateMessage);
> >
> > In Java using J/Link:
> >
> >    link.terminateKernel();
> >
> > In .NET using .NET/Link:
> >
> >    link.TerminateKernel();
> >
> >
> > Todd Gayley
> > Wolfram Research
> >
> >
>



  • Prev by Date: Re: determining boundary of a region in n-dimensional euclidean space
  • Next by Date: Re: Finding Clusters
  • Previous by thread: Re: How to kill slave kernel securely?
  • Next by thread: Re: How to kill slave kernel securely?