Last Wednesday I had one of those headaches that result in too much aspirin and an overwhelming need to sit the four year old in front of the automated babysitter pretty much no matter what's on. In this case an episode of Dora the Explora; followed, in his case by Thomas the Tank Engine and in mine by a nice dream that started out to be about machine gunning the entire Dora cast and editorial team while pushing a D9 around her landscape, but magically became about using SunOS 3.1 on a "Rock" workstation to simulate the whole affair.
SunOS 3.1 is, of course, what Solaris 11 ought to be called and it, like the hardware scout enabled "Rock" UltraSPARC generation, is expected late next year.
(Note: SunOS 1 (BSD Unix) went to 4.1.4; SunOS 2 (Solaris) went from 2.7 to 8 and 9; SunOS 3.0 (Solaris 10) is just starting.)
% swap -e
% swap: Command not found
Photonic crossbars and multi-point connectors could enable the use of cheap, high volume, memory without significant power and speed penalties - finally allowing Unix to eliminate the use of disk as a cheap but slow memory extender.
% ps -elfir cal2
F L BIN UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
8 cal2 amd murph.l 9498 1213 0 40 20 ? 2378 ? May 27 ? 13:14 /usr/local/microsoft/bin/excel
If Plan9 can do this, why not Solaris? (Start a local non SPARC binary on the "nearest" appropriate affiliate CPU)
% cat sqr.c
#include
#include
main()
{
int i;
double f=0.0;
double sqrt();
for(i=1;i<1000000000; i++)
{
f+=sqrt( (double) i);
}
printf("Finished %20.14f\n",f);
}
%
% cc sqr.c -lm
% time ./a.out
Finished 21081851083600.37596259382529
0.0u 0.0s 0:00 0% 0+0k 0+0io 0pf+0w
Embedded array processor with extensive vectorisation support in the standard compiler. ;-)
The PC community failed for years to admit the value of the PPC Altivec short array processor - probably as a way of avoiding having to learn to use it - but here comes AMD with a plan to integrate ATI's array on Opterons after next year's K8L. More intriguingly, even Microsoft has muttered about supporting Intel's plan to take over the graphics processing business by providing computational access to GPU arrays.
Gee, you don't think they see Cell coming at them, do you? But it'll be interesting to see how this adventure in re-inventing previously reviled technologies turns out given that the PC community drives programming practice and hasn't even begun to assimilate much simpler parallelisation strategies like multi-threading.
% pathchar `connect cathy | awk '{print $2;}'`
pathchar to SR21.edm1 (xxx.x8.16.116)
doing 32 probes at each of 64 to 1500 by 32
0 localhost hme0:1 (192.168.1.19)
1 3.4 Mb/s, 3.23 ms (10.5 ms)
2 rd1lb-ge5-0-0-10.lb.shawcable.net (64.59.140.225)
| 105 Mb/s, 3.06 ms (16.7 ms), +q 3.15 ms (41.2 KB)
3 rc1no-atm1-0-1.cg.shawcable.net (66.163.76.17)
| 17 Mb/s, -104 us (17.2 ms), +q 3.48 ms (7.48 KB) *2
...
7 hops, rtt 105 us (109 us), bottleneck 2602 Mb/s, pipe 35581 bytes
More useful open source code entering the standard package: in this case van Jacobson's second generation traceroute.
% lufslist `uname -n`
Filesystem fstype size(Gb) Mounted on
-----------------------------------------------------------
/dev/zvol/syspool zfs 483.291 /
/dev/zvol/dbpool zfs 2938.913 /pg
/dev/zvol/usrpool zfs 974.117 /usr/locals
ZFS boot and default multi-disk install as mirrored pool.
mdb -k
Loading modules: [ unix krtld genunix ip usba zfs logindmux ptm cpc ipc random nfs ]
> ::memstat
Page Summary Pages GB %Tot
------------ ---------------- ------- ----
Kernel 14104 0.10 0.1%
Exec and libs 7713 0.06 0.1%
zfs 70851 0.55 0.8%
Anon 8090105 63.29 99.1%
Total 8182773 64.00 100.0%
No page cache: zfs memory usage adapts on the fly to I/O requirements - here dreamt as S[olaris]AMP plus personal workstation use.
And that's the catch - so far, it's only a dream.