I think the design of Windows is as a single-user system, where Unix type
systems are multi-user. Multi-user systems are designed to handle thrashing
caused by over committing memory. They can suspend low priority activities,
moving entire activity to swap freeing up real memory until the remaining
activities run efficiently. I say activity as there are many names for it
depending on the system. Thread, task, address space, job. In Windows
everything seems to be considered as a foreground activity. Handling the
display or keyboard has no higher priority than a task run for a user. The
interrupt to handle the mouse or keyboard or display may be accepted but
the thread or whatever to actually act on the interrupt seems to have no
higher priority than the user's work. But it seems that Unix type systems
do handle the interrupts at a higher priority than the user's work.

In my case I have an Intel I7. But even though there were processors
available, the interrupts couldn't be processed because their handlers were
not in real memory and had to wait behind all the swapping out caused by my
8G array. The page in request by the handlers were no higher priority than
J's priority for paging. The delay was probably minutes. Long enough for me
to think that the system was hung.

At least that's my theory. I have noticed that Windows becomes very
sluggish when the paging rate gets very high. But this is the first time it
got so sluggish that I thought it was dead. UBUNTU and other Unix-like
systems seem to handle the mouse, keyboard and screen quite nicely even
when the system memory is way over committed. Why? Maybe because such
handlers are considered important enough to be fixed in memory, not
pageable.

Still just guessing.


On Tue, Jan 21, 2014 at 6:06 PM, Joey K Tuttle <[email protected]> wrote:

> Not sure what the problem in Windows might be, or for that matter in OS X
> 10.9 (with 16 Gbyte RAM)
>
> Tue Jan 21 16:51:43
> iMi7:system jkt$ j8
>    +/i.1e8
> 4999999950000000
>    timex '+/i.1e8'
> 0.542757 1073744000
>    JVERSION
> Engine: j701/2011-01-10/11:25 build: Feb  6 2011 16:16:29
> Library: 8.01.017
> Platform: Darwin 64
> Installer: j801 beta install
> InstallPath: /Applications/j64-801
>    +/i.1e9
> 499999999500000000
>
> NB. took a bit longer, but finished without complaint
>
> in Ubuntu (only 4 Gbytes RAM)
>
> jkt@set1:~$ ja
>    JVERSION
> Engine: j701/2011-01-10/11:25
> Library: 7.01.086
> Platform: Linux 64
> Installer: j701a_linux64.sh
> InstallPath: /usr/local/lib/j64-701
>    timex '+/i.1e8'
> 0.477237 1.07374e9
>    exit 0
> exit 0
>
> jkt@set1:~$ cat /proc/meminfo
> MemTotal:        4039608 kB
> MemFree:         2186156 kB
> Buffers:          229532 kB
> Cached:           909780 kB
> SwapCached:            0 kB
> Active:           908916 kB
> Inactive:         587912 kB
>
> but +/i.1e9 is doing a LOT of swapping, but looks like it might eventually
> finish...
>
>
> On 2014/01/21, 13:58 , Murray Eisenberg wrote:
>
>> With same version except for Mac OS X 10.9 (on machine with 16GB RAM),
>> also no problem getting +/ i. 10E8, but +/ i. 10E9 caused OS to run out of
>> memory.
>>
>> By contrast, on same machine, with Mathematica 9.0.1 (where indexing
>> origin is 1, not 0):
>>
>>         Total[Range[10^9 - 1]]
>>     499999999500000000
>>
>>         Total[Range[10^10 - 1]]
>>     (crashes OS with out-of-memory)
>>
>>         (* another way: *)
>>         Sum[i, {i, 10^10 - 1}]
>>      49999999995000000000
>>
>> There was no real point with Mathematica trying to go to higher orders of
>> magnitude, since Mathematica can do this symbolically:
>>
>>         Sum[i, {i, 10^n - 1}]
>>      2^(-1 + n)*5^n*(-1 + 10^n)
>>
>>
>>
>> At 21 Jan 2014 07:21:35 -0700, Don Guinn <[email protected]> wrote:
>>
>>>
>>> Just tried the expression +/ i. 10E8 for fun and crashed Windows 7 twice.
>>> Locked the machine and had to reboot.
>>>
>>> Engine: j701/2011-01-10/11:25
>>> Library: 801.017
>>> Qt IDE: 1.0.22/4.8.5
>>> Platform: Win 64
>>>
>>> Windows 7 Home Premium
>>> Service Pack 1
>>>
>>
>> ——
>> Murray Eisenberg                                [email protected]
>> Mathematics & Statistics Dept.
>> Lederle Graduate Research Tower      phone 240 246-7240 (H)
>> University of Massachusetts
>> 710 North Pleasant Street
>> Amherst, MA 01003-9305
>>
>>
>>
>>
>>
>>
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>>
>>  ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to