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
